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.
nextReceiverpipelineConfiguration, 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, usesTypeAnnotationsappend, decompose, flatten, getConfiguration, getErrorCodeForDecomposingFunctionItems, getPipelineConfiguration, getSystemId, handlesAppendpublic 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 Receiveropen in class ProxyReceiverXPathException - if an error occurspublic void startElement(NodeName elemName, SchemaType typeCode, Location location, int properties) throws XPathException
startElement in interface ReceiverstartElement in class ProxyReceiverelemName - 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 Receivernamespace in class ProxyReceivernamespaceBindings - 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 Receiverattribute in class ProxyReceiverattName - 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 ReceiverstartContent in class ProxyReceiverXPathException - if an error occurspublic void endElement()
                throws XPathException
endElement in interface ReceiverendElement in class ProxyReceiverXPathException - if an error occurspublic void characters(java.lang.CharSequence chars,
                       Location locationId,
                       int properties)
                throws XPathException
characters in interface Receivercharacters in class ProxyReceiverchars - 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 ReceiverprocessingInstruction in class ProxyReceivertarget - 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 Receivercomment in class ProxyReceiverchars - 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.