Package net.sf.saxon.style
Class UseWhenFilter
- java.lang.Object
-
- net.sf.saxon.event.SequenceReceiver
-
- net.sf.saxon.event.ProxyReceiver
-
- net.sf.saxon.style.UseWhenFilter
-
- All Implemented Interfaces:
javax.xml.transform.Result,Receiver
public class UseWhenFilter extends ProxyReceiver
This is a filter inserted into the input pipeline for processing stylesheet modules, whose task is to evaluate use-when expressions and discard those parts of the stylesheet module for which the use-when attribute evaluates to false.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.
-
-
Field Summary
-
Fields inherited from class net.sf.saxon.event.ProxyReceiver
nextReceiver
-
Fields inherited from class net.sf.saxon.event.SequenceReceiver
pipelineConfiguration, previousAtomic, systemId
-
-
Constructor Summary
Constructors Constructor Description UseWhenFilter(Compilation compilation, Receiver next, NestedIntegerValue precedence)Create a UseWhenFilter
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcharacters(java.lang.CharSequence chars, Location locationId, int properties)Character datavoidcomment(java.lang.CharSequence chars, Location locationId, int properties)Output a commentvoidendElement()End of elementSequenceevaluateStatic(java.lang.String expression, Location locationId, UseWhenStaticContext staticContext)Evaluate a static expression (to initialize a static variable)voidopen()Start of documentvoidprocessingInstruction(java.lang.String target, java.lang.CharSequence data, Location locationId, int properties)Processing InstructionvoidstartElement(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties)Notify the start of an element.-
Methods inherited from class net.sf.saxon.event.ProxyReceiver
append, close, endDocument, getNamePool, getNextReceiver, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startDocument, usesTypeAnnotations
-
Methods inherited from class net.sf.saxon.event.SequenceReceiver
append, decompose, flatten, getConfiguration, getErrorCodeForDecomposingFunctionItems, getPipelineConfiguration, getSystemId, handlesAppend
-
-
-
-
Constructor Detail
-
UseWhenFilter
public UseWhenFilter(Compilation compilation, Receiver next, NestedIntegerValue precedence)
Create a UseWhenFilter- Parameters:
compilation- the compilation episodenext- the next receiver in the pipelineprecedence- the import precedence expressed as a dotted-decimal integer, e.g. 1.4.6
-
-
Method Detail
-
open
public void open() throws XPathExceptionStart of document- Specified by:
openin interfaceReceiver- Overrides:
openin classProxyReceiver- Throws:
XPathException- if an error occurs
-
startElement
public void startElement(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties) throws XPathException
Notify the start of an element.- Specified by:
startElementin interfaceReceiver- Overrides:
startElementin classProxyReceiver- Parameters:
elemName- the name of the element.type- the type annotation of the element.attributes- the attributes of this elementnamespaces- the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elementslocation- an object providing information about the module, line, and column where the node originatedproperties- bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in classReceiverOption- Throws:
XPathException- if an error occurs
-
endElement
public void endElement() throws XPathExceptionEnd of element- Specified by:
endElementin interfaceReceiver- Overrides:
endElementin classProxyReceiver- Throws:
XPathException- if an error occurs
-
characters
public void characters(java.lang.CharSequence chars, Location locationId, int properties) throws XPathExceptionCharacter data- Specified by:
charactersin interfaceReceiver- Overrides:
charactersin classProxyReceiver- Parameters:
chars- The characterslocationId- provides information such as line number and system ID.properties- Bit significant value. The following bits are defined:- DISABLE_ESCAPING
- Disable escaping for this text node
- USE_CDATA
- Output as a CDATA section
- Throws:
XPathException- if an error occurs
-
processingInstruction
public void processingInstruction(java.lang.String target, java.lang.CharSequence data, Location locationId, int properties)Processing Instruction- Specified by:
processingInstructionin interfaceReceiver- Overrides:
processingInstructionin classProxyReceiver- Parameters:
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.
-
comment
public void comment(java.lang.CharSequence chars, Location locationId, int properties) throws XPathExceptionOutput a comment- Specified by:
commentin interfaceReceiver- Overrides:
commentin classProxyReceiver- Parameters:
chars- The content of the commentlocationId- provides information such as line number and system ID.properties- Additional information about the comment.- Throws:
XPathException- if an error occurs
-
evaluateStatic
public Sequence evaluateStatic(java.lang.String expression, Location locationId, UseWhenStaticContext staticContext) throws XPathException
Evaluate a static expression (to initialize a static variable)- Parameters:
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 expression- Returns:
- the effective boolean value of the result of evaluating the expression
- Throws:
XPathException- if evaluation of the expression fails
-
-