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
Constructor and Description |
---|
TypeCheckingFilter(Receiver next) |
Modifier and Type | Method and Description |
---|---|
void |
append(Item item,
Location locationId,
int copyNamespaces)
Output an item (atomic value or node) to the sequence
|
void |
attribute(NodeName nameCode,
SimpleType typeCode,
java.lang.CharSequence value,
Location locationId,
int properties)
Notify an attribute.
|
void |
characters(java.lang.CharSequence chars,
Location locationId,
int properties)
Character data
|
void |
close()
End of event stream
|
void |
comment(java.lang.CharSequence chars,
Location locationId,
int properties)
Output a comment
|
void |
endDocument()
Notify the end of a document node
|
void |
endElement()
End of element
|
void |
namespace(NamespaceBindingSet namespaceBindings,
int properties)
Notify a namespace.
|
void |
processingInstruction(java.lang.String target,
java.lang.CharSequence data,
Location locationId,
int properties)
Processing Instruction
|
void |
setRequiredType(ItemType type,
int cardinality,
RoleDiagnostic role,
Location locator) |
void |
startDocument(int properties)
Start of a document node.
|
void |
startElement(NodeName nodeName,
SchemaType typeCode,
Location location,
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, getNextReceiver, open, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent
append, decompose, flatten, getConfiguration, getErrorCodeForDecomposingFunctionItems, getPipelineConfiguration, getSystemId, handlesAppend
public TypeCheckingFilter(Receiver next)
public void setRequiredType(ItemType type, int cardinality, RoleDiagnostic role, Location locator)
public void attribute(NodeName nameCode, SimpleType typeCode, java.lang.CharSequence value, Location locationId, int properties) throws XPathException
attribute
in interface Receiver
attribute
in class ProxyReceiver
nameCode
- The name of the attributetypeCode
- The type of the attributelocationId
- the location of the node in the source, or of the instruction that created itproperties
- Bit significant value. The following bits are defined:
value
- the string value of the attributeIllegalStateException:
- attempt to output an attribute when there is no open element
start tagXPathException
- if an error occurspublic void characters(java.lang.CharSequence chars, Location locationId, int properties) throws XPathException
characters
in interface Receiver
characters
in class ProxyReceiver
chars
- The characterslocationId
- provides information such as line number and system ID.properties
- Bit significant value. The following bits are defined:
XPathException
- if an error occurspublic void comment(java.lang.CharSequence chars, Location locationId, int properties) throws XPathException
comment
in interface Receiver
comment
in class ProxyReceiver
chars
- The content of the commentlocationId
- provides information such as line number and system ID.properties
- Additional information about the comment.XPathException
- if an error occurspublic void namespace(NamespaceBindingSet namespaceBindings, int properties) throws XPathException
namespace
in interface Receiver
namespace
in class ProxyReceiver
namespaceBindings
- 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(java.lang.String target, java.lang.CharSequence data, Location 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
- provides information such as line number and system ID.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 nodeName, SchemaType typeCode, Location location, int properties) throws XPathException
startElement
in interface Receiver
startElement
in class ProxyReceiver
nodeName
- the name of the elementtypeCode
- the element's typelocation
- the location of the elementproperties
- properties of the element nodeXPathException
- 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, Location locationId, int copyNamespaces) throws XPathException
append
in interface Receiver
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 ReceiverOptions.ALL_NAMESPACES
,
ReceiverOptions.LOCAL_NAMESPACES
; the default (0) means
no namespacesXPathException
public boolean usesTypeAnnotations()
usesTypeAnnotations
in interface Receiver
usesTypeAnnotations
in class ProxyReceiver
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.