class

XAttr

@Js
const class XAttr : Obj

XAttr models an XML attribute in an element. Attributes are immutable and may be shared across multiple XElem parents.

constructors makeNs

Construct an attribute which defines a namespace with "xmlns:<prefix>" name and uri value

make

Construct an element with unqualified local name, value, and optional XML namespace

fields val

Value of the attribute

ns

The XML namespace which qualified this attribute's name

name

Unqualified local name of the attribute

methods toStr

Return this attribute name/value pair as string

prefix

If this attribute is qualified by an XML namespace then return the namespace's prefix

qname

Qualified name of the attribute

uri

If this element is qualified by an XML namespace then return the namespace's uri

write

Write this attribute to the output stream

make new make(Str name, Str val, XNs? ns)

Construct an element with unqualified local name, value, and optional XML namespace. The XNs instance should be defined as an attribute on an ancestor element. Throw ArgErr if an attempt is made to qualify the attribute by the default namespace with prefix of "".

makeNs new makeNs(XNs ns)

Construct an attribute which defines a namespace with "xmlns:<prefix>" name and uri value. If prefix is "" then construct the default namespace attribute named "xmlns".

name const Str : name

Unqualified local name of the attribute. If an XML namespace prefix was specified, then this is everything after the colon:

foo='val'   =>  foo
x:foo='val' =>  foo

Note that attributes which start with "xml:" and "xmlns:" are not treated as a namespace:

xml:lang='en' => xml:lang
XML:lang='en' => xml:lang

ns const XNs? : ns

The XML namespace which qualified this attribute's name. If the attribute name is unqualified return null.

prefix Str? prefix()

If this attribute is qualified by an XML namespace then return the namespace's prefix. Otherwise return null. Note an attribute can never be qualified by the default namespace.

qname Str qname()

Qualified name of the attribute. This is the full name including the XML namespace prefix:

foo='val'   =>  foo
x:foo='val' =>  x:foo

toStr virtual Str toStr()

Return this attribute name/value pair as string.

uri Uri? uri()

If this element is qualified by an XML namespace then return the namespace's uri. Otherwise return null.

val const Str : val

Value of the attribute.

write Void write(OutStream out)

Write this attribute to the output stream.

Haxall 4.0.5 ∙ 24-Feb-2026 14:33 EST