com.saxonica.validate
Class XSIAttributeHandler
java.lang.Object
net.sf.saxon.event.SequenceReceiver
net.sf.saxon.event.ProxyReceiver
com.saxonica.validate.XSIAttributeHandler
- All Implemented Interfaces:
- Receiver, javax.xml.transform.Result
- public class XSIAttributeHandler
- extends ProxyReceiver
This class processes attributes such as xsi:schemaLocation and xsi:type.
To achieve this, it needs to be preceded in the pipeline by a StartTagBuffer, which
buffers all attributes and namespaces, because the xsi:type and schemaLocation
need to be processed before the start element event. Apart from the
StartTagBuffer, this is the first class in the validation pipeline.
The main work of this class can be done in the startElement event, because
the StartTagBuffer ensures that by this time, all the namespaces and attributes
for the element are known and accessible.
Fields inherited from interface javax.xml.transform.Result |
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING |
Method Summary |
void |
attribute(int nameCode,
int typeCode,
java.lang.CharSequence value,
int locationId,
int properties)
Notify an attribute. |
void |
startElement(int nameCode,
int typeCode,
int locationId,
int properties)
Notify the start of an element |
Methods inherited from class net.sf.saxon.event.ProxyReceiver |
characters, close, comment, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getSystemId, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XSIAttributeHandler
public XSIAttributeHandler(StartTagBuffer buffer,
ValidationStack out)
startElement
public void startElement(int nameCode,
int typeCode,
int locationId,
int properties)
throws XPathException
- Notify the start of an element
- Specified by:
startElement
in interface Receiver
- Overrides:
startElement
in class ProxyReceiver
- Parameters:
nameCode
- integer code identifying the name of the element within the name pool.typeCode
- integer code identifying the element's type within the name pool.properties
- for future use. Should be set to zero.
- Throws:
XPathException
attribute
public void attribute(int nameCode,
int typeCode,
java.lang.CharSequence value,
int locationId,
int properties)
throws XPathException
- Notify an attribute. Attributes are notified after the startElement event, and before any
children. Namespaces and attributes may be intermingled.
- Specified by:
attribute
in interface Receiver
- Overrides:
attribute
in class ProxyReceiver
- Parameters:
nameCode
- The name of the attribute, as held in the name pooltypeCode
- The type of the attribute, as held in the name poolproperties
- Bit significant value. The following bits are defined:
- DISABLE_ESCAPING
- Disable escaping for this attribute
- NO_SPECIAL_CHARACTERS
- Attribute value contains no special characters
- Throws:
IllegalStateException:
- attempt to output an attribute when there is no open element
start tag
XPathException