@haxall/haxall
    Preparing search index...

    Class XElem

    Models an XML element: its name, attributes, and children nodes.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    type$: Type

    Methods

    • If child is a XAttr then add an attribute. Otherwise it must be a XElem, XText, or XPi and is added a child node. If the child node is already parented, then throw ArgErr. Return this.

      Parameters

      Returns this

    • Add an attribute to this element. Return this. This method is a convenience for:

      add(XAttr(name, val, ns))
      

      Parameters

      • name: string
      • val: string
      • Optionalns: XNs

      Returns this

    • Get an attribute by its non-qualified local name. If the attribute is not found and checked is false then return null otherwise throw XErr.

      Parameters

      • name: string
      • Optionalchecked: boolean

      Returns XAttr

    • Get this element's attributes as a readonly list.

      Returns List<XAttr>

    • Get this element's children elements, text, and PIs as a readonly list.

      Returns List<XNode>

    • Remove all the attributes. Return this.

      Returns this

    • Return a negative integer, zero, or a positive integer if this object is less than, equal to, or greater than the specified object:

      this < that   =>  <0
      this == that => 0
      this > that => >0

      This method may also be accessed via the < <= <=> >= and > shortcut operators. If not overridden the default implementation compares the toStr representations. Also see docLang.

      Examples:

      3.compare(8)  =>  -1
      8.compare(3) => 1
      8.compare(8) => 0
      3 <=> 8 => -1 // shortcut for 3.compare(8)

      Parameters

      Returns number

    • Make a shallow copy of this element.

      Returns this

    • Get the root document node or null if this node is not mounted under a XDoc instance.

      Returns XDoc

    • Iterate each child element, text, and PI node in the children list.

      Parameters

      • f: (arg0: XNode, arg1: number) => void

      Returns void

    • Iterate each attribute in the attrs list.

      Parameters

      • f: (arg0: XAttr, arg1: number) => void

      Returns void

    • Find an element by its non-qualified local name. If there are multiple child elements with the name, then the first one is returned. If the element is not found and checked is false then return null otherwise throw XErr.

      Parameters

      • name: string
      • Optionalchecked: boolean

      Returns XElem

    • Get the children elements. If this element contains text or PI nodes, then they are excluded in the result.

      Returns List<XElem>

    • Compare this object to the specified for equality. This method may be accessed via the == and != shortcut operators. If not overridden the default implementation compares for reference equality using the === operator. If this method is overridden, then hash() must also be overridden such that any two objects which return true for equals() must return the same value for hash(). This method must accept null and return false.

      Parameters

      Returns boolean

    • Get an attribute value by its non-qualified local name. If the attribute is not found and checked is false then return null otherwise throw XErr.

      Parameters

      • name: string
      • Optionalchecked: boolean

      Returns string

    • Return a unique hashcode for this object. If a class overrides hash() then it must ensure if equals() returns true for any two objects then they have same hash code.

      Returns number

    • Return if this Obj is immutable and safe to share between threads:

      • an instance of a const class
      • the result of toImmutable on List, Map, or Buf
      • a Func object may or may not be immutable - see sys::Func.
      • other instances are assumed mutable and return false

      Returns boolean

    • Line number of XML element in source file or zero if unknown.

      Returns number

    • Line number of XML element in source file or zero if unknown.

      Parameters

      • it: number

      Returns void

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

      <foo>    =>  foo
      <x:foo> => foo

      Returns string

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

      <foo>    =>  foo
      <x:foo> => foo

      Parameters

      • it: string

      Returns void

    • Return the XNodeType.elem. Note that during pull parsing XParser will return elemStart and elemEnd.

      Returns XNodeType

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

      Returns XNs

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

      Parameters

      Returns void

    • Get the parent of this node or null if unmounted.

      Returns XNode

    • Get the parent of this node or null if unmounted.

      Parameters

      Returns void

    • If this element is qualified by an XML namespace then return the namespace's prefix. Otherwise return null. If the namespace is the default namespace then prefix is "".

      Returns string

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

      <foo>    =>  foo
      <x:foo> => x:foo

      Returns string

    • Remove the child element, text, or PI from this element. The child is matched by reference, so you must pass in the same XNode contained by this element. Return the removed node or null if no match.

      Parameters

      Returns XNode

    • Remove the child element, text, or PI at the specified index into children. Return the removed node.

      Parameters

      • index: number

      Returns XNode

    • Remove the attribute from this element. The attribute is matched by reference, so you must pass in the same XAttr contained by this element. Return the removed attribute or null if no match.

      Parameters

      Returns XAttr

    • Remove the attribute at the specified index into attrs. Return the removed attribute.

      Parameters

      • index: number

      Returns XAttr

    • Return this element's child text node. If this element contains multiple text nodes then return the first one. If this element does not contain a text node return null.

      Returns XText

    • Get an immutable representation of this instance or throw NotImmutableErr if this object cannot be represented as an immutable:

      • if type is const, return this
      • if already an immutable List, Map, Buf, or Func return this
      • if a List, then attempt to perform a deep clone by calling toImmutable on all items
      • if a Map, then attempt to perform a deep clone by calling toImmutable on all values (keys are already immutable)
      • some Funcs can be made immutable - see sys::Func
      • if a Buf create immutable copy, see sys::Buf
      • any other object throws NotImmutableErr

      Returns Readonly<this>

    • String representation is as a start tag.

      Returns string

    • Trap a dynamic call for handling. Dynamic calls are invoked with the -> shortcut operator:

      a->x        a.trap("x", null)
      a->x() a.trap("x", null)
      a->x = b a.trap("x", [b])
      a->x(b) a.trap("x", [b])
      a->x(b, c) a.trap("x", [b, c])

      The default implementation provided by Obj attempts to use reflection. If name maps to a method, it is invoked with the specified arguments. If name maps to a field and args.size is zero, get the field. If name maps to a field and args.size is one, set the field and return args[0]. Otherwise throw UnknownSlotErr.

      Parameters

      Returns JsObj

    • Get the Type instance which represents this object's class. Also seeType.of or Pod.of.

      Returns Type

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

      Returns Uri

    • This method called whenever an it-block is applied to an object. The default implementation calls the function with this, and then returns this.

      Parameters

      • f: (arg0: this) => void

      Returns this

    • Write this node to the output stream.

      Parameters

      Returns void

    • Conveniece to write to an in-memory string.

      Returns string

    • Write x.toStr to standard output followed by newline. If x is null then print "null". If no argument is provided then print an empty line.

      Parameters

      Returns void

    • Construct an element with unqualified local name and optional XML namespace. The XNs instance should be defined as an attribute on this or an ancestor element (see XAttr.makeNs).

      Parameters

      • name: string
      • Optionalns: XNs
      • ...args: unknown[]

      Returns XElem