|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.pattern.NodeTest
A NodeTest is a simple kind of pattern that enables a context-free test of whether a node has a particular name. There are several kinds of node test: a full name test, a prefix test, and an "any node of a given type" test, an "any node of any type" test, a "no nodes" test (used, e.g. for "@comment()").
As well as being used to support XSLT pattern matching, NodeTests act as predicates in axis steps, and also act as item types for type matching.
Constructor Summary | |
NodeTest()
|
Method Summary | |
AtomicType |
getAtomizedItemType()
Get the item type of the atomic values that will be produced when an item of this type is atomized (assuming that atomization succeeds) |
SchemaType |
getContentType()
Get the content type allowed by this NodeTest (that is, the type annotation of the matched nodes). |
abstract double |
getDefaultPriority()
Determine the default priority of this node test when used on its own as a Pattern |
int |
getFingerprint()
Get the name of the nodes matched by this nodetest, if it matches a specific name. |
abstract int |
getNodeKindMask()
Get a mask indicating which kinds of nodes this NodeTest can match. |
ItemType |
getPrimitiveItemType()
Get the primitive item type corresponding to this item type. |
int |
getPrimitiveType()
Get the basic kind of object that this ItemType matches: for a NodeTest, this is the kind of node, or Type.Node if it matches different kinds of nodes. |
java.util.Set |
getRequiredNodeNames()
Get the set of node names allowed by this NodeTest. |
ItemType |
getSuperType()
Get the type from which this item type is derived by restriction. |
abstract boolean |
matches(int nodeKind,
int fingerprint,
int annotation)
Test whether this node test is satisfied by a given node. |
abstract boolean |
matches(NodeInfo node)
Test whether this node test is satisfied by a given node. |
boolean |
matchesItem(Item item)
Test whether a given item conforms to this type. |
java.lang.String |
toString(NamePool pool)
Display the type descriptor for diagnostics |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public NodeTest()
Method Detail |
public boolean matchesItem(Item item)
matchesItem
in interface ItemType
item
- The item to be tested
public ItemType getSuperType()
ItemType
getSuperType
in interface ItemType
public abstract double getDefaultPriority()
public ItemType getPrimitiveItemType()
getPrimitiveItemType
in interface ItemType
public int getPrimitiveType()
getPrimitiveType
in interface ItemType
public int getFingerprint()
public AtomicType getAtomizedItemType()
getAtomizedItemType
in interface ItemType
public abstract boolean matches(int nodeKind, int fingerprint, int annotation)
nodeKind
- The kind of node to be matchedfingerprint
- identifies the expanded name of the node to be matched.
The value should be -1 for a node with no name.annotation
- The actual content type of the nodepublic abstract boolean matches(NodeInfo node)
node
- the node to be matchedpublic abstract int getNodeKindMask()
public SchemaType getContentType()
public java.util.Set getRequiredNodeNames()
public java.lang.String toString(NamePool pool)
toString
in interface ItemType
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |