public IComment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { if (options.PreserveWhitespace) return new InlineText(node.InnerText.NormaliseIndent()); return new InlineText(node.InnerText.TrimComment(first, last)); }
public IList<IComment> ParseNode(XmlNode node, ParseOptions options) { var blocks = new List<IComment>(); blocks.AddRange(Parse(node.ChildNodes, options)); return blocks.AsReadOnly(); }
public Comment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { IReferencable reference = new NullReference(); if (node.Attributes["cref"] == null) return new See(reference); var referenceTarget = IdentifierFor.XmlString(node.Attributes["cref"].Value); if (referenceTarget is NamespaceIdentifier) reference = Namespace.Unresolved((NamespaceIdentifier)referenceTarget); else if (referenceTarget is TypeIdentifier) reference = DeclaredType.Unresolved((TypeIdentifier)referenceTarget, Namespace.Unresolved(referenceTarget.CloneAsNamespace())); else if (referenceTarget is MethodIdentifier) reference = Method.Unresolved( (MethodIdentifier)referenceTarget, DeclaredType.Unresolved( referenceTarget.CloneAsType(), Namespace.Unresolved(referenceTarget.CloneAsNamespace()) ) ); else if (referenceTarget is PropertyIdentifier) reference = Property.Unresolved( (PropertyIdentifier)referenceTarget, DeclaredType.Unresolved( referenceTarget.CloneAsType(), Namespace.Unresolved(referenceTarget.CloneAsNamespace()) ) ); else if (referenceTarget is EventIdentifier) reference = Event.Unresolved( (EventIdentifier)referenceTarget, DeclaredType.Unresolved( referenceTarget.CloneAsType(), Namespace.Unresolved(referenceTarget.CloneAsNamespace()) ) ); else if (referenceTarget is FieldIdentifier) reference = Field.Unresolved( (FieldIdentifier)referenceTarget, DeclaredType.Unresolved( referenceTarget.CloneAsType(), Namespace.Unresolved(referenceTarget.CloneAsNamespace()) ) ); return new See(reference); }
public IComment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { var typeAttribute = node.Attributes["type"]; var listTypeName = typeAttribute == null ? string.Empty : typeAttribute.Value; var list = createListForType(listTypeName); foreach (XmlNode itemNode in node.SelectNodes("item")) { Paragraph term = null; Paragraph definition = null; var termNode = itemNode.SelectSingleNode("term"); if (termNode != null) { term = new Paragraph(parser.Parse(termNode.ChildNodes)); } var definitionNode = itemNode.SelectSingleNode("description"); if (definitionNode != null) { definition = new Paragraph(parser.Parse(definitionNode.ChildNodes)); } list.Items.Add(new InlineListItem(term, definition)); } return list; }
public IList<Comment> Parse(XmlNodeList nodes, ParseOptions options) { var blocks = new List<Comment>(); var count = nodes.Count; for(var i = 0; i < count; i++) { var node = nodes[i]; var first = (i == 0); var last = (i == (count - 1)); var parser = _parsers.FirstOrDefault(p => p.CanParse(node)); if (parser == null) continue; var block = parser.Parse(this, node, first, last, options); if (block != null) { blocks.Add(block); } } return blocks; }
public Comment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { return new InlineCode(node.InnerText.TrimComment(first, last)); }
public Comment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { return new Paragraph(parser.Parse(node.ChildNodes)); }
public IComment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { var attribute = node.Attributes["name"]; var parameterName = attribute == null ? string.Empty : attribute.Value; return new ParameterReference(parameterName); }
public IList<Comment> ParseNode(XmlNode node, ParseOptions options) { return Parse(node.ChildNodes, options); }
public IComment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { if (options.PreserveWhitespace) { return(new InlineText(node.InnerText.NormaliseIndent())); } return(new InlineText(node.InnerText.TrimComment(first, last))); }
public IComment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { var typeAttribute = node.Attributes["type"]; var listTypeName = typeAttribute == null ? string.Empty : typeAttribute.Value; var list = createListForType(listTypeName); foreach (XmlNode itemNode in node.SelectNodes("item")) { Paragraph term = null; Paragraph definition = null; var termNode = itemNode.SelectSingleNode("term"); if (termNode != null) { term = new Paragraph(parser.Parse(termNode.ChildNodes)); } var definitionNode = itemNode.SelectSingleNode("description"); if (definitionNode != null) { definition = new Paragraph(parser.Parse(definitionNode.ChildNodes)); } list.Items.Add(new InlineListItem(term, definition)); } return(list); }
public IComment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { return(new InlineCode(node.InnerText.TrimComment(first, last))); }