Adds a Value, Attribute, Tag (or array of such) as a member/child of this Tag. Returns this for chaining. Throws ValidationException if trying to add an Attribute or Tag that already has a parent.
Deep-copy this Tag. The clone does not have a parent, even if the original does.
Lookup an attribute of this tag by name, and retrieve a value of type T from it. Throws if not found.
Lookup a child tag by name. Throws if not found.
Lookup a child tag and attribute by name, and retrieve a value of type T from it. Throws if not found.
Lookup a child tag by name, and retrieve a value of type T from it. Throws if not found,
Retrieve a value of type T from this tag. Throws if not found.
Lookup an attribute of this tag by name, and retrieve a value of type T from it. Returns a default value if not found.
This tag's name, including namespace if one exists.
Lookup a child tag by name. Returns null if not found.
Lookup a child tag and attribute by name, and retrieve a value of type T from it. Returns a default value if not found.
Lookup a child tag by name, and retrieve all attributes in a chosen (or default) namespace from it.
Lookup a child tag by name, and retrieve a value of type T from it. Returns a default value if not found.
Lookup a child tag by name, and retrieve all values from it.
Retrieve a value of type T from this tag. Returns a default value if not found.
Removes this from its parent, if any. Returns this for chaining. Inefficient ATM, but it works.
Outputs full information on the tag.
Treats this as the root tag. Note that root tags cannot have values or attributes, and cannot be part of a namespace. If this isn't a valid root tag, sdlang.exception.ValidationException will be thrown.
Output this entire tag in SDL format. Does not treat this as a root tag. If you intend this to be the root of a standard SDL document, use toSDLDocument instead.
Access all attributes and tags regardless of namespace.
Access all attributes that don't have a namespace
This tag's name, including namespace if one exists.
Access attributes, tags, namespaces and all like normal, except that looking up a non-existant name/namespace with opIndex(string) results in an empty array instead of a thrown sdlang.exception.DOMRangeException.
This tag's name, not including namespace.
This tag's namespace. Empty string if no namespace.
Access all namespaces in this tag, and the attributes/tags within them.
Get parent tag. To set a parent, attach this Tag to its intended parent tag by calling Tag.add(...), or by passing it to the parent tag's constructor.
Access all direct-child tags that don't have a namespace.
File/Line/Column/Index information for where this tag was located in its original SDLang file.
Access all this tag's values, as an array of type sdlang.token.Value.