Package net.sf.saxon.om
Class SelectedElementsSpaceStrippingRule
- java.lang.Object
-
- net.sf.saxon.om.SelectedElementsSpaceStrippingRule
-
- All Implemented Interfaces:
SpaceStrippingRule
public class SelectedElementsSpaceStrippingRule extends java.lang.Object implements SpaceStrippingRule
A whitespace stripping rule that strips elected elements unless xml:space indicates that whitespace should be preserved.
-
-
Constructor Summary
Constructors Constructor Description SelectedElementsSpaceStrippingRule(boolean rejectDuplicates)Create the ruleset
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRule(NodeTestPattern pattern, Stripper.StripRuleTarget action, int precedence, int minImportPrecedence)voidaddRule(NodeTest test, Stripper.StripRuleTarget action, StylesheetModule module, int lineNumber)Add a rulevoidexport(ExpressionPresenter presenter)Export this rule as part of an exported stylesheetjava.util.Iterator<Rule>getRankedRules()Get all the rules in rank order, highest-ranking rules firstRulegetRule(NodeName nodeName)Get the rule corresponding to a given element node, by finding the best pattern match.intisSpacePreserving(NodeName fingerprint, SchemaType schemaType)Decide whether an element is in the set of white-space preserving element namesProxyReceivermakeStripper(Receiver next)Make a filter to implement these space-stripping rules, or null if no filtering is necessary
-
-
-
Method Detail
-
isSpacePreserving
public int isSpacePreserving(NodeName fingerprint, SchemaType schemaType) throws XPathException
Decide whether an element is in the set of white-space preserving element names- Specified by:
isSpacePreservingin interfaceSpaceStrippingRule- Parameters:
fingerprint- identifies the name of the element whose whitespace is to be preservedschemaType- the type annotation of the element- Returns:
- ALWAYS_PRESERVE if the element is in the set of white-space preserving element types, ALWAYS_STRIP if the element is to be stripped regardless of the xml:space setting, and STRIP_DEFAULT otherwise
- Throws:
XPathException- if the rules are ambiguous and ambiguities are to be reported as errors
-
addRule
public void addRule(NodeTest test, Stripper.StripRuleTarget action, StylesheetModule module, int lineNumber) throws XPathException
Add a rule- Parameters:
test- a NodeTest (*, *:local, prefix:*, or QName)action- StripRuleTarget.STRIP or StripRuleTarget.PRESERVEmodule- the stylesheet module containing the rulelineNumber- the line where the strip-space or preserve-space instruction appears- Throws:
XPathException- if this rule is a conflicting duplicate
-
addRule
public void addRule(NodeTestPattern pattern, Stripper.StripRuleTarget action, int precedence, int minImportPrecedence) throws XPathException
- Throws:
XPathException
-
getRule
public Rule getRule(NodeName nodeName)
Get the rule corresponding to a given element node, by finding the best pattern match.- Parameters:
nodeName- the name of the element node to be matched- Returns:
- the best matching rule, if any (otherwise null).
-
getRankedRules
public java.util.Iterator<Rule> getRankedRules()
Get all the rules in rank order, highest-ranking rules first- Returns:
- the rules in rank order
-
makeStripper
public ProxyReceiver makeStripper(Receiver next)
Make a filter to implement these space-stripping rules, or null if no filtering is necessary- Specified by:
makeStripperin interfaceSpaceStrippingRule- Parameters:
next- the Receiver that is to receive the filtered event stream- Returns:
- a filter in the form of a ProxyReceiver, or null
-
export
public void export(ExpressionPresenter presenter) throws XPathException
Export this rule as part of an exported stylesheet- Specified by:
exportin interfaceSpaceStrippingRule- Parameters:
presenter- the output handler- Throws:
XPathException- if an error is detected
-
-