|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.saxon.pattern.NodeTest
net.sf.saxon.pattern.CombinedNodeTest
public class CombinedNodeTest
A CombinedNodeTest combines two nodetests using one of the operators union (=or), intersect (=and), difference (= "and not"). This arises when optimizing a union (etc) of two path expressions using the same axis. A CombinedNodeTest is also used to support constructs such as element(N,T), which can be expressed as (element(N,*) AND element(*,T))
| Constructor Summary | |
|---|---|
CombinedNodeTest(NodeTest nt1,
int operator,
NodeTest nt2)
Create a NodeTest that combines two other node tests |
|
| Method Summary | |
|---|---|
boolean |
equals(Object other)
Indicates whether some other object is "equal to" this one. |
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) |
NodeTest[] |
getComponentNodeTests()
Get the two parts of the combined node test |
SchemaType |
getContentType()
Get the content type allowed by this NodeTest (that is, the type annotation of the matched nodes). |
double |
getDefaultPriority()
Get the default priority of this nodeTest when used as a pattern. |
int |
getFingerprint()
Get the name of the nodes matched by this nodetest, if it matches a specific name. |
int |
getNodeKindMask()
Get a mask indicating which kinds of nodes this NodeTest can match. |
int |
getOperator()
Get the operator used to combine the two node tests: one of Token.UNION,
Token.INTERSECT, Token.EXCEPT, |
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. |
IntSet |
getRequiredNodeNames()
Get the set of node names allowed by this NodeTest. |
ItemType |
getSuperType(TypeHierarchy th)
Get the supertype of this type. |
int |
hashCode()
Returns a hash code value for the object. |
boolean |
isAtomizable()
Ask whether values of this type are atomizable |
boolean |
isNillable()
Determine whether the content type (if present) is nillable |
boolean |
matches(int nodeKind,
NodeName name,
int annotation)
Test whether this node test is satisfied by a given node. |
boolean |
matches(NodeInfo node)
Test whether this node test is satisfied by a given node. |
boolean |
matches(TinyTree tree,
int nodeNr)
Test whether this node test is satisfied by a given node on a TinyTree. |
String |
toString()
|
String |
toString(NamePool pool)
Display the type descriptor for diagnostics |
void |
visitNamedSchemaComponents(SchemaComponentVisitor visitor)
Visit all the schema components used in this ItemType definition |
| Methods inherited from class net.sf.saxon.pattern.NodeTest |
|---|
getPrimitiveItemType, isAtomicType, isPlainType, matches, matchesItem |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public CombinedNodeTest(NodeTest nt1,
int operator,
NodeTest nt2)
nt1 - the first operand. Note that if the defaultPriority of the pattern
is required, it will be taken from that of the first operand.operator - one of Token.UNION, Token.INTERSECT, Token.EXCEPTnt2 - the second operand| Method Detail |
|---|
public boolean matches(int nodeKind,
NodeName name,
int annotation)
matches in class NodeTestnodeKind - The kind of node to be matchedname - identifies the expanded name of the node to be matched.
The value should be null for a node with no name.annotation - The actual content type of the node
public boolean matches(TinyTree tree,
int nodeNr)
matches in class NodeTesttree - the TinyTree containing the nodenodeNr - the number of the node within the TinyTree
public boolean matches(NodeInfo node)
matches in class NodeTestnode - the node to be matchedpublic String toString(NamePool pool)
NodeTest
toString in interface ItemTypetoString in class NodeTestpool - the name pool
public String toString()
toString in class Objectpublic ItemType getSuperType(TypeHierarchy th)
getSuperType in interface ItemTypegetSuperType in class NodeTestth - the type hierarchy cache
public int getNodeKindMask()
getNodeKindMask in class NodeTestpublic int getPrimitiveType()
getPrimitiveType in interface ItemTypegetPrimitiveType in class NodeTestpublic IntSet getRequiredNodeNames()
getRequiredNodeNames in class NodeTestpublic SchemaType getContentType()
getContentType in class NodeTestpublic AtomicType getAtomizedItemType()
getAtomizedItemType in interface ItemTypegetAtomizedItemType in class NodeTestpublic boolean isAtomizable()
isAtomizable in interface ItemTypeisAtomizable in class NodeTestpublic int getFingerprint()
getFingerprint in class NodeTestpublic boolean isNillable()
isNillable in class NodeTestpublic int hashCode()
hashCode in class Objectpublic boolean equals(Object other)
equals in class Objectpublic double getDefaultPriority()
public NodeTest[] getComponentNodeTests()
public int getOperator()
Token.UNION,
Token.INTERSECT, Token.EXCEPT,
public void visitNamedSchemaComponents(SchemaComponentVisitor visitor)
throws XPathException
visitNamedSchemaComponents in interface ItemTypevisitNamedSchemaComponents in class NodeTestvisitor - the visitor class to be called when each component is visited
XPathException - if an error occurs
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||