PhoenixmlDb.Core

XdmElement

Represents an XML element node in the XDM tree, including its attributes, children, and namespace declarations.

#XdmElement

Namespace: PhoenixmlDb.Xdm.Nodes

Represents an XML element node in the XDM tree, including its attributes, children, and namespace declarations.

Children: An element's children are stored as a list of references in . Valid child node kinds are element, text, comment, and processing instruction. To access the actual child nodes, resolve each through the storage layer's node lookup function. Attributes: Attributes are separate nodes referenced by . Per the XDM spec, attributes are not children of the element — they exist on a separate axis. Use the attribute list to enumerate or look up attributes by name. Namespaces: Each element carries its own , which record the namespace declarations (xmlns:prefix="uri") that appear on this element. The element's own namespace is stored separately in . Construction: Elements are typically created by during XML parsing, or constructed directly using object initializers with the required properties. Use , , and for elements that have no attributes, children, or namespace declarations.

#Properties

Name Description
Attributes The references to this element's nodes.
Children The references to this element's child nodes (elements, text, comments, and processing instructions) in document order.
EmptyAttributes An empty, immutable attribute list for elements with no attributes.
EmptyChildren An empty, immutable children list for leaf elements (no child nodes).
EmptyNamespaceDeclarations An empty, immutable namespace declarations list for elements with no namespace declarations.
IsIdContent True if this element's simple-content type is xs:ID or a type derived from xs:ID by restriction. Populated during XSD schema validation. Used by fn:id and fn:element-with-id to locate elements whose typed content matches a candidate ID.
LocalName The element's local name (the part after the colon in a prefixed name).
Namespace The element's namespace URI, stored as an interned .
NamespaceDeclarations The namespace declarations (xmlns:prefix="uri") that appear on this element.
Prefix The namespace prefix used in the original document, preserved for round-trip serialization.
StringValue The string value of this element, which is the concatenation of all descendant text nodes.
TypeAnnotation The XSD type annotation for this element (default: xs:untyped).

#Fields

Name Description
_stringValue Internal backing field for the lazily-computed string value. Set by tree walkers after traversing descendant text nodes.