Example #1
0
        static void ConvertAndAddNode(NodeSyntax syntax, Func <string, XNamespace> prefixToNamespace, XContainer container)
        {
            switch (syntax)
            {
            case InlineScriptElementSyntax script:
                container.Add(new XCData(script.Script.Text));
                break;

            case ElementSyntaxBase element:
                ConvertAndAddElement(element, prefixToNamespace, container);
                break;

            case CDataSyntax cdata:
                container.Add(new XCData(cdata.Value.Text));
                break;

            case TextSyntax text:
                container.Add(new XText(text.Value.Text));
                break;

            case CommentSyntax comment:
                container.Add(new XComment(comment.Value.Text));
                break;

            default:
                throw new InvalidOperationException("Syntax " + syntax.GetType() + " not recognized");
            }
        }
Example #2
0
 public UxInsertNodeChange(UxNodePath path, NodeSyntax node)
 {
     Node     = node ?? throw new ArgumentNullException(nameof(node));
     NodePath = path ?? throw new ArgumentNullException(nameof(path));
 }
Example #3
0
 public UxReplaceNodeChange(UxNodePath nodePath, NodeSyntax oldNode, NodeSyntax newNode)
 {
     NodePath = nodePath;
     OldNode  = oldNode;
     NewNode  = newNode;
 }