Class StartElementEvent

  • All Implemented Interfaces:
    PullEvent

    public class StartElementEvent
    extends java.lang.Object
    implements PullEvent
    This is a PullEvent representing the start of an element node. It contains (or potentially contains) all the namespace declarations and attributes associated with the element.
    • Constructor Detail

      • StartElementEvent

        public StartElementEvent​(PipelineConfiguration pipe)
        Create a Start Element Event
        Parameters:
        pipe - the pipeline configuration
    • Method Detail

      • setNameCode

        public void setNameCode​(int nameCode)
        Set the nameCode of this element
        Parameters:
        nameCode - the namecode of the element (its name as identified in the NamePool)
      • getNameCode

        public int getNameCode()
        Get the nameCode of this element
        Returns:
        the nameCode representing the element's name
      • setTypeCode

        public void setTypeCode​(int typeCode)
        Set the typeCode of this element
        Parameters:
        typeCode - the name pool fingerprint of the element's type annotation
      • getTypeCode

        public int getTypeCode()
        Get the typeCode of this element
        Returns:
        the name pool fingerprint of the element's type annotation
      • setLocalNamespaces

        public void setLocalNamespaces​(int[] nscodes)
        Set the namespaces that are locally declared (or undeclared) on this element
        Parameters:
        nscodes - integer array of namespace codes
      • addNamespace

        public void addNamespace​(int nscode)
                          throws XPathException
        Add a namespace code representing a locally declared namespace
        Parameters:
        nscode - a namespace code
        Throws:
        XPathException
      • getLocalNamespaces

        public int[] getLocalNamespaces()
        Get the namespaces locally declared on this element
        Returns:
        an array of namespace codes
      • addAttribute

        public void addAttribute​(NodeInfo att)
                          throws XPathException
        Add an attribute to the element node
        Parameters:
        att - the attribute to be added
        Throws:
        XPathException - in the event of a dynamic error, for example a duplicate attribute in XQuery
      • hasAttributes

        public boolean hasAttributes()
        Ask whether the element has any attributes
        Returns:
        true if the element has one or more attributes
      • getAttributeCount

        public int getAttributeCount()
        Ask how may attributes the element has
        Returns:
        the number of attributes that the element has
      • iterateAttributes

        public java.util.Iterator iterateAttributes()
        Get an iterator over the attributes of this element
        Returns:
        an iterator which delivers NodeInfo objects representing the attributes of this element
      • getAttribute

        public NodeInfo getAttribute​(int index)
        Get the n'th attribute if there is one
        Parameters:
        index - the index of the attributes, starting from zero
        Returns:
        a NodeInfo representing the attribute, or null if there is no such attribute
      • namespaceFixup

        public void namespaceFixup()
        Perform namespace fixup. This is done after all the attributes and explicit namespaces have been added. Namespace fixup ensures that a namespace declaration is present for the element name and for every attribute name, and that the prefixes of the element and each attribute are consistent with the declared namespaces, changing any prefixes in the event of a conflict.
      • stripTypeAnnotations

        public void stripTypeAnnotations()
        Strip type annotations from the element and its attributes
      • getPipelineConfiguration

        public PipelineConfiguration getPipelineConfiguration()
        Get the PipelineConfiguration
        Returns:
        the PipelineConfiguration
      • setLocationId

        public void setLocationId​(int locationId)
        Set the location associated with the event
        Parameters:
        locationId - a location identifier, to be interpreted by the locationProvider associated with the PipelineConfiguration
      • getLocationId

        public int getLocationId()
        Get the location associated with the event
        Returns:
        a location identifier, to be interpreted by the locationProvider associated with the PipelineConfiguration, or -1 if none is available