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"); } }
public UxInsertNodeChange(UxNodePath path, NodeSyntax node) { Node = node ?? throw new ArgumentNullException(nameof(node)); NodePath = path ?? throw new ArgumentNullException(nameof(path)); }
public UxReplaceNodeChange(UxNodePath nodePath, NodeSyntax oldNode, NodeSyntax newNode) { NodePath = nodePath; OldNode = oldNode; NewNode = newNode; }