public class TypeCheckingFilter extends ProxyReceiver
Note that the TypeCheckingFilter cannot currently check document node tests of the form document-node(element(X,Y)), so it is not invoked in such cases. This isn't a big problem, because most instructions that return document nodes materialize them anyway.
nextReceiver
pipelineConfiguration, previousAtomic, systemId
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING
Constructor and Description |
---|
TypeCheckingFilter(Receiver next) |
Modifier and Type | Method and Description |
---|---|
void |
append(Item item,
int locationId,
int copyNamespaces)
Output an item (atomic value or node) to the sequence
|
void |
attribute(NodeName nameCode,
SimpleType typeCode,
CharSequence value,
int locationId,
int properties)
Notify an attribute.
|
void |
characters(CharSequence chars,
int locationId,
int properties)
Character data
|
void |
close()
End of event stream
|
void |
comment(CharSequence chars,
int locationId,
int properties)
Output a comment
|
void |
endDocument()
Notify the end of a document node
|
void |
endElement()
End of element
|
void |
namespace(NamespaceBinding namespaceBinding,
int properties)
Notify a namespace.
|
void |
processingInstruction(String target,
CharSequence data,
int locationId,
int properties)
Processing Instruction
|
void |
setRequiredType(ItemType type,
int cardinality,
RoleLocator role,
SourceLocator locator) |
void |
startDocument(int properties)
Start of a document node.
|
void |
startElement(NodeName nameCode,
SchemaType typeCode,
int locationId,
int properties)
Notify the start of an element
|
boolean |
usesTypeAnnotations()
Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations
supplied on element and attribute events
|
getNamePool, getUnderlyingReceiver, open, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent
append, getConfiguration, getPipelineConfiguration, getSystemId
public TypeCheckingFilter(Receiver next)
public void setRequiredType(ItemType type, int cardinality, RoleLocator role, SourceLocator locator)
public void attribute(NodeName nameCode, SimpleType typeCode, CharSequence value, int locationId, int properties) throws XPathException
attribute
in interface Receiver
attribute
in class ProxyReceiver
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:
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.IllegalStateException:
- attempt to output an attribute when there is no open element
start tagXPathException
- if an error occurspublic void characters(CharSequence chars, int locationId, int properties) throws XPathException
characters
in interface Receiver
characters
in class ProxyReceiver
chars
- The characterslocationId
- 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.properties
- Bit significant value. The following bits are defined:
XPathException
- if an error occurspublic void comment(CharSequence chars, int locationId, int properties) throws XPathException
comment
in interface Receiver
comment
in class ProxyReceiver
chars
- The content of the commentlocationId
- 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.properties
- Additional information about the comment.XPathException
- if an error occurspublic void namespace(NamespaceBinding namespaceBinding, int properties) throws XPathException
namespace
in interface Receiver
namespace
in class ProxyReceiver
namespaceBinding
- the prefix/uri pairproperties
- any special properties to be passed on this callIllegalStateException:
- attempt to output a namespace when there is no open element
start tagXPathException
- if an error occurspublic void processingInstruction(String target, CharSequence data, int locationId, int properties) throws XPathException
processingInstruction
in interface Receiver
processingInstruction
in class ProxyReceiver
target
- The PI name. This must be a legal name (it will not be checked).data
- The data portion of the processing instructionlocationId
- 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.properties
- Additional information about the PI.XPathException
- if an error occurspublic void startDocument(int properties) throws XPathException
startDocument
in interface Receiver
startDocument
in class ProxyReceiver
properties
- bit-significant integer indicating properties of the document node.
The definitions of the bits are in class ReceiverOptions
XPathException
- if an error occurspublic void startElement(NodeName nameCode, SchemaType typeCode, int locationId, int properties) throws XPathException
startElement
in interface Receiver
startElement
in class ProxyReceiver
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
- properties of the element nodelocationId
- 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.XPathException
- if an error occurspublic void endDocument() throws XPathException
endDocument
in interface Receiver
endDocument
in class ProxyReceiver
XPathException
- if an error occurspublic void endElement() throws XPathException
endElement
in interface Receiver
endElement
in class ProxyReceiver
XPathException
- if an error occurspublic void close() throws XPathException
close
in interface Receiver
close
in class ProxyReceiver
XPathException
- if an error occurspublic void append(Item item, int locationId, int copyNamespaces) throws XPathException
append
in class ProxyReceiver
item
- the item to be appendedlocationId
- the location of the calling instruction, for diagnosticscopyNamespaces
- if the item is an element node, this indicates whether its namespaces
need to be copied. Values are NodeInfo.ALL_NAMESPACES
,
NodeInfo.LOCAL_NAMESPACES
, NodeInfo.NO_NAMESPACES
XPathException
- if the operation failspublic boolean usesTypeAnnotations()
usesTypeAnnotations
in interface Receiver
usesTypeAnnotations
in class ProxyReceiver
Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.