com.saxonica.validate
Class XSIAttributeHandler
java.lang.Object
net.sf.saxon.event.SequenceReceiver
net.sf.saxon.event.ProxyReceiver
com.saxonica.validate.ValidatingFilter
com.saxonica.validate.XSIAttributeHandler
- All Implemented Interfaces:
- Result, Receiver
public class XSIAttributeHandler
- extends ValidatingFilter
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.
Method Summary |
void |
attribute(int nameCode,
int typeCode,
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 |
append, characters, close, comment, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument |
XSIAttributeHandler
public XSIAttributeHandler(StartTagBuffer buffer,
ValidationStack out)
- Create a handler for xsi: attributes
- Parameters:
buffer
- the preceding filter in the pipeline, which provides namespace resolution servicesout
- the next filter in the pipeline
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.locationId
- an integer which can be interpreted using a LocationProvider
to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.
- Throws:
XPathException
attribute
public void attribute(int nameCode,
int typeCode,
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
value
- the string value of the attributelocationId
- an integer which can be interpreted using a LocationProvider
to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.
- Throws:
IllegalStateException:
- attempt to output an attribute when there is no open element
start tag
XPathException
Copyright (C) Michael H. Kay. All rights reserved.