Class StartElementEvent

java.lang.Object
net.sf.saxon.evpull.StartElementEvent
All Implemented Interfaces:
PullEvent

public class StartElementEvent extends 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 Details

    • StartElementEvent

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

    • 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 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