Package net.sf.saxon.pattern
Class SubstitutionGroupTest
java.lang.Object
net.sf.saxon.pattern.NodeTest
net.sf.saxon.pattern.SubstitutionGroupTest
- All Implemented Interfaces:
Serializable,ItemType
NodeTest is an interface that enables a test of whether a node has a particular
name and type. A SubstitutionGroupTest matches element nodes whose name is one of
a given set of names: it is used for KindTests of the form schema-element(N) where all
elements in a substitution group are to be matched.
- Author:
- Michael H. Kay
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanfinal doubleDetermine the default priority of this node test when used on its own as a PatternintGet the fingerprint of the head of the substitution groupintGet a mask indicating which kinds of nodes this NodeTest can match.intDetermine the types of nodes to which this pattern applies.Get the set of node names allowed by this NodeTest.inthashCode()Returns a hash code value for the object.booleanmatches(int nodeKind, int nameCode, int annotation) Test whether this node test is satisfied by a given nodebooleanTest whether this node test is satisfied by a given node.booleanTest whether this node test is satisfied by a given node on a TinyTree.Display the type descriptor for diagnosticsMethods inherited from class net.sf.saxon.pattern.NodeTest
getAtomizedItemType, getContentType, getFingerprint, getPrimitiveItemType, getSuperType, isAtomicType, isNillable, matchesItem
-
Constructor Details
-
SubstitutionGroupTest
Constructor- Parameters:
group- An IntSet containing Integer values representing the fingerprints of element names included in the substitution group
-
-
Method Details
-
matches
public boolean matches(int nodeKind, int nameCode, int annotation) Test whether this node test is satisfied by a given node -
matches
Test whether this node test is satisfied by a given node on a TinyTree. The node must be a document, element, text, comment, or processing instruction node. This method is provided so that when navigating a TinyTree a node can be rejected without actually instantiating a NodeInfo object. -
matches
Test whether this node test is satisfied by a given node. This alternative method is used in the case of nodes where calculating the fingerprint is expensive, for example DOM or JDOM nodes. -
getDefaultPriority
public final double getDefaultPriority()Determine the default priority of this node test when used on its own as a Pattern- Specified by:
getDefaultPriorityin classNodeTest
-
getPrimitiveType
public int getPrimitiveType()Determine the types of nodes to which this pattern applies. Used for optimisation. For patterns that match nodes of several types, return Type.NODE- Specified by:
getPrimitiveTypein interfaceItemType- Overrides:
getPrimitiveTypein classNodeTest- Returns:
- the type of node matched by this pattern. e.g. Type.ELEMENT or Type.TEXT
-
getNodeKindMask
public int getNodeKindMask()Get a mask indicating which kinds of nodes this NodeTest can match. This is a combination of bits: 1invalid input: '<'invalid input: '<'Type.ELEMENT for element nodes, 1invalid input: '<'invalid input: '<'Type.TEXT for text nodes, and so on.- Specified by:
getNodeKindMaskin classNodeTest
-
getRequiredNodeNames
Get the set of node names allowed by this NodeTest. This is returned as a set of Integer fingerprints. A null value indicates that all names are permitted (i.e. that there are no constraints on the node name. The default implementation returns null.- Overrides:
getRequiredNodeNamesin classNodeTest
-
getHeadFingerprint
public int getHeadFingerprint()Get the fingerprint of the head of the substitution group- Returns:
- the fingerprint of the head of the substitution group
-
toString
Description copied from class:NodeTestDisplay the type descriptor for diagnostics -
hashCode
public int hashCode()Returns a hash code value for the object. -
equals
-