public UndupScriptAction(ImportEngine engine, IPostProcessor processor, XmlNode node) { originalNode = node; ScriptName = node.ReadStr("@script", null); ScriptBody = node.ReadStr(null, null); if (ScriptBody == null) { if (ScriptName == null) { throw new BMNodeException(node, "@script should be specified if there is no script in the body."); } } else { ScriptBody = ScriptBody.TrimWhiteSpaceToNull(); if (ScriptBody != null && ScriptName != null) { throw new BMNodeException(node, "Cannot have a script in the body when @script is specified."); } var scriptHolder = engine.ScriptExpressions; bodyFunc = ScriptExpressionHolder.GenerateScriptName("postprocessor_undup", processor.Name, node); scriptHolder.AddUndupExpression(bodyFunc, ScriptBody); } }
public DelayedScriptHolder(ImportEngine engine, XmlNode node, String name) { this.Node = node; String body = null; if (node != null) { ScriptName = ImportEngine.ReadScriptNameOrBody(node, "@script", out body); } if (body != null) { ScriptName = ScriptExpressionHolder.GenerateScriptName("postprocessor_", name, node); IsExpression = true; engine.ScriptExpressions.AddExpression(ScriptName, body); } }