public class UseWhenFilter extends ProxyReceiver
Originally, with XSLT 2.0, this class did use-when filtering and very little else. In XSLT 3.0 its role has expanded: it evaluates shadow attributes and static variables, and collects information about package dependencies.
nextReceiver
pipelineConfiguration, previousAtomic, systemId
Constructor and Description |
---|
UseWhenFilter(Compilation compilation,
Receiver next,
NestedIntegerValue precedence)
Create a UseWhenFilter
|
Modifier and Type | Method and Description |
---|---|
void |
attribute(NodeName attName,
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 |
comment(java.lang.CharSequence chars,
Location locationId,
int properties)
Output a comment
|
XPathException |
createXPathException(java.lang.String message,
java.lang.String errorCode,
Location location) |
void |
endElement()
End of element
|
Sequence<?> |
evaluateStatic(java.lang.String expression,
Location locationId,
UseWhenStaticContext staticContext)
Evaluate a static expression (to initialize a static variable)
|
boolean |
evaluateUseWhen(java.lang.String expression,
AttributeLocation location,
java.lang.String baseUri)
Evaluate a use-when attribute
|
void |
namespace(NamespaceBindingSet namespaceBindings,
int properties)
Notify a namespace.
|
void |
open()
Start of document
|
void |
processingInstruction(java.lang.String target,
java.lang.CharSequence data,
Location locationId,
int properties)
Processing Instruction
|
void |
setStartTagBuffer(StartTagBuffer startTag)
Set the start tag buffer
|
void |
startContent()
Notify the start of the content, that is, the completion of all attributes and namespaces.
|
void |
startElement(NodeName elemName,
SchemaType typeCode,
Location location,
int properties)
Notify the start of an element.
|
append, close, endDocument, getNamePool, getNextReceiver, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startDocument, usesTypeAnnotations
append, decompose, flatten, getConfiguration, getErrorCodeForDecomposingFunctionItems, getPipelineConfiguration, getSystemId, handlesAppend
public UseWhenFilter(Compilation compilation, Receiver next, NestedIntegerValue precedence)
compilation
- the compilation episodenext
- the next receiver in the pipelineprecedence
- the import precedence expressed as a dotted-decimal integer, e.g. 1.4.6public void setStartTagBuffer(StartTagBuffer startTag)
startTag
- a preceding filter on the pipeline that buffers the attributes of a start tagpublic void open() throws XPathException
open
in interface Receiver
open
in class ProxyReceiver
XPathException
- if an error occurspublic void startElement(NodeName elemName, SchemaType typeCode, Location location, int properties) throws XPathException
startElement
in interface Receiver
startElement
in class ProxyReceiver
elemName
- the name of the element.typeCode
- integer code identifying the element's type within the name pool.location
- location where the event originatedproperties
- bit-significant properties of the element nodeXPathException
- if an error occurspublic XPathException createXPathException(java.lang.String message, java.lang.String errorCode, Location location)
public void namespace(NamespaceBindingSet namespaceBindings, int properties) throws XPathException
namespace
in interface Receiver
namespace
in class ProxyReceiver
namespaceBindings
- the namespace to be notifiedproperties
- 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 attribute(NodeName attName, SimpleType typeCode, java.lang.CharSequence value, Location locationId, int properties) throws XPathException
attribute
in interface Receiver
attribute
in class ProxyReceiver
attName
- 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 startContent() throws XPathException
startContent
in interface Receiver
startContent
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 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 processingInstruction(java.lang.String target, java.lang.CharSequence data, Location locationId, int properties)
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.public 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 boolean evaluateUseWhen(java.lang.String expression, AttributeLocation location, java.lang.String baseUri) throws XPathException
expression
- the expression to be evaluatedlocation
- identifies the location of the expression in case error need to be reportedbaseUri
- the base URI of the element containing the expressionXPathException
- if evaluation of the expression failspublic Sequence<?> evaluateStatic(java.lang.String expression, Location locationId, UseWhenStaticContext staticContext) throws XPathException
expression
- the expression to be evaluatedlocationId
- identifies the location of the expression in case error need to be reportedstaticContext
- the static context for evaluation of the expressionXPathException
- if evaluation of the expression failsCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.