This documentation is also published as Markdown for efficient machine reading: the whole site is indexed at /llms.txt, and every page has a clean Markdown copy under /_llms/. These are generated from the same source and cost far fewer tokens to read than this rendered HTML.

Skip to main content Skip to navigation

XmlDocNode Pennington.ApiMetadata

Discriminated union of node kinds that make up a parsed xmldoc tree.

Cases

CodeBlockNode CodeBlockNode
Fenced code block from a <code> element.
CrefNode CrefNode
Cross-reference from a <see cref="..."/> or <see href="..."/> element.
InlineCodeNode InlineCodeNode
Inline code span from a <c> element.
ListNode ListNode
List block from a <list> element.
ParamRefNode ParamRefNode
Parameter reference from a <paramref name="..."/> element.
ParaNode ParaNode
Paragraph block from a <para> element.
TextNode TextNode
Literal text content within an xmldoc node tree.
TypeParamRefNode TypeParamRefNode
Type parameter reference from a <typeparamref name="..."/> element.

Properties

Value object
Wrapped case instance; inspect via pattern matching on the case types.

Constructors

XmlDocNode

#
public XmlDocNode(TextNode value)

Wraps a TextNode.

Parameters

value TextNode

XmlDocNode

#
public XmlDocNode(InlineCodeNode value)

Wraps an InlineCodeNode.

Parameters

value InlineCodeNode

XmlDocNode

#
public XmlDocNode(CodeBlockNode value)

Wraps a CodeBlockNode.

Parameters

value CodeBlockNode

XmlDocNode

#
public XmlDocNode(ParaNode value)

Wraps a ParaNode.

Parameters

value ParaNode

XmlDocNode

#
public XmlDocNode(CrefNode value)

Wraps a CrefNode.

Parameters

value CrefNode

XmlDocNode

#
public XmlDocNode(ParamRefNode value)

Wraps a ParamRefNode.

Parameters

value ParamRefNode

XmlDocNode

#
public XmlDocNode(TypeParamRefNode value)

Wraps a TypeParamRefNode.

Parameters

value TypeParamRefNode

XmlDocNode

#
public XmlDocNode(ListNode value)

Wraps a ListNode.

Parameters

value ListNode

Pennington.ApiMetadata.XmlDocNode

namespace Pennington.ApiMetadata;

/// Discriminated union of node kinds that make up a parsed xmldoc tree.
public struct XmlDocNode
{
    /// Fenced code block from a <code> element.
    
public record CodeBlockNode(string Language, string Text) : object, IEquatable<CodeBlockNode>
/// Cross-reference from a <see cref="..."/> or <see href="..."/> element.
public record CrefNode(string CrefId, string DisplayText) : object, IEquatable<CrefNode>
/// Inline code span from a <c> element.
public record InlineCodeNode(string Text) : object, IEquatable<InlineCodeNode>
/// List block from a <list> element.
public record ListNode(string Kind, ImmutableArray<XmlDocListItem> Items) : object, IEquatable<ListNode>
/// Parameter reference from a <paramref name="..."/> element.
public record ParamRefNode(string ParamName) : object, IEquatable<ParamRefNode>
/// Paragraph block from a <para> element.
public record ParaNode(ImmutableArray<XmlDocNode> Children) : object, IEquatable<ParaNode>
/// Literal text content within an xmldoc node tree.
public record TextNode(string Text) : object, IEquatable<TextNode>
/// Type parameter reference from a <typeparamref name="..."/> element.
public record TypeParamRefNode(string ParamName) : object, IEquatable<TypeParamRefNode>
/// Wrapped case instance; inspect via pattern matching on the case types.
public object Value { get; }
/// Wraps a TextNode.
public XmlDocNode(TextNode value)
; /// Wraps an InlineCodeNode.
public XmlDocNode(InlineCodeNode value)
; /// Wraps a CodeBlockNode.
public XmlDocNode(CodeBlockNode value)
; /// Wraps a ParaNode.
public XmlDocNode(ParaNode value)
; /// Wraps a CrefNode.
public XmlDocNode(CrefNode value)
; /// Wraps a ParamRefNode.
public XmlDocNode(ParamRefNode value)
; /// Wraps a TypeParamRefNode.
public XmlDocNode(TypeParamRefNode value)
; /// Wraps a ListNode.
public XmlDocNode(ListNode value)
; }