Package net.sf.saxon.evpull
Class StartElementEvent
java.lang.Object
net.sf.saxon.evpull.StartElementEvent
- All Implemented Interfaces:
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAttribute
(NodeInfo att) Add an attribute to the element nodevoid
addNamespace
(int nscode) Add a namespace code representing a locally declared namespacegetAttribute
(int index) Get the n'th attribute if there is oneint
Ask how may attributes the element hasint[]
Get the namespaces locally declared on this elementint
Get the location associated with the eventint
Get the nameCode of this elementGet the PipelineConfigurationint
Get the typeCode of this elementboolean
Ask whether the element has any attributesGet an iterator over the attributes of this elementvoid
Perform namespace fixup.void
setLocalNamespaces
(int[] nscodes) Set the namespaces that are locally declared (or undeclared) on this elementvoid
setLocationId
(int locationId) Set the location associated with the eventvoid
setNameCode
(int nameCode) Set the nameCode of this elementvoid
setTypeCode
(int typeCode) Set the typeCode of this elementvoid
Strip type annotations from the element and its attributes
-
Constructor Details
-
StartElementEvent
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
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
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
Get an iterator over the attributes of this element- Returns:
- an iterator which delivers NodeInfo objects representing the attributes of this element
-
getAttribute
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
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
-