public class NameTest extends NodeTest implements QNameTest
ItemType.WithSequenceTypeCache| Constructor and Description |
|---|
NameTest(int nodeKind,
int nameCode,
NamePool namePool)
Create a NameTest to match nodes by their nameCode allocated from the NamePool
|
NameTest(int nodeKind,
NodeName name,
NamePool pool)
Create a NameTest to match nodes by name
|
NameTest(int nodeKind,
java.lang.String uri,
java.lang.String localName,
NamePool namePool)
Create a NameTest to match nodes by name
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object other)
Determines whether two NameTests are equal
|
java.util.Optional<java.lang.String> |
explainMismatch(Item item,
TypeHierarchy th)
Get extra diagnostic information about why a supplied item does not conform to this
item type, if available.
|
java.lang.String |
generateJavaScriptItemTypeTest(ItemType knownToBe,
int targetVersion)
Generate Javascript code to test whether an item conforms to this item type
|
java.lang.String |
generateJavaScriptNameTest(int targetVersion)
Generate Javascript code to test if a name matches the test.
|
double |
getDefaultPriority()
Determine the default priority of this node test when used on its own as a Pattern
|
int |
getFingerprint()
Get the fingerprint required
|
java.lang.String |
getLocalPart()
Get the local name matched by this nametest
|
java.util.function.IntPredicate |
getMatcher(NodeVectorTree tree)
Get a matching function that can be used to test whether numbered nodes in a TinyTree
or DominoTree satisfy the node test.
|
StructuredQName |
getMatchingNodeName()
Get the name of the nodes matched by this nodetest, if it matches a specific name.
|
NamePool |
getNamePool()
Get the NamePool associated with this NameTest
|
java.lang.String |
getNamespaceURI()
Get the namespace URI matched by this nametest
|
int |
getNodeKind()
Get the node kind that this name test matches
|
int |
getPrimitiveType()
Determine the types of nodes to which this pattern applies.
|
java.util.Optional<IntSet> |
getRequiredNodeNames()
Get the set of node names allowed by this NodeTest.
|
UType |
getUType()
Get the corresponding
UType. |
int |
hashCode()
Returns a hash code value for the object.
|
boolean |
matches(int nodeKind,
NodeName name,
SchemaType annotation)
Test whether this node test is satisfied by a given node.
|
boolean |
matches(StructuredQName qname)
Test whether the NameTest matches a given QName
|
boolean |
matchesNode(NodeInfo node)
Test whether this node test is satisfied by a given node.
|
java.lang.String |
toShortString() |
java.lang.String |
toString() |
copy, generateJavaScriptItemTypeAcceptor, getAlphaCode, getAtomizedItemType, getContentType, getGenre, getPrimitiveItemType, isAtomicType, isAtomizable, isNillable, isPlainType, matches, one, oneOrMore, zeroOrMore, zeroOrOneclone, finalize, getClass, notify, notifyAll, wait, wait, waitisTrueItemType, toExportStringpublic NameTest(int nodeKind,
java.lang.String uri,
java.lang.String localName,
NamePool namePool)
nodeKind - the kind of node, for example Type.ELEMENTuri - the namespace URI of the required nodes. Supply "" to match nodes that are in
no namespacelocalName - the local name of the required nodes. Supply "" to match unnamed nodesnamePool - the namePool holding the name codespublic NameTest(int nodeKind,
int nameCode,
NamePool namePool)
nodeKind - the kind of node, for example Type.ELEMENTnameCode - the nameCode representing the name of the nodenamePool - the namePool holding the name codespublic NameTest(int nodeKind,
NodeName name,
NamePool pool)
nodeKind - the kind of node, for example Type.ELEMENTname - the name of the nodes that this NameTest will matchpool - the namePool holding the name codespublic NamePool getNamePool()
public int getNodeKind()
public UType getUType()
UType. A UType is a union of primitive item
types.public boolean matches(int nodeKind,
NodeName name,
SchemaType 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 nodepublic java.util.function.IntPredicate getMatcher(NodeVectorTree tree)
NodeTestmatchesNode(tree.getNode(nodeNr)), but it may well be faster).getMatcher in class NodeTesttree - the tree against which the returned function will operatepublic boolean matchesNode(NodeInfo node)
matchesNode in class NodeTestnode - the node to be matchedpublic boolean matches(StructuredQName qname)
public final double getDefaultPriority()
getDefaultPriority in class NodeTestpublic int getFingerprint()
getFingerprint in class NodeTestpublic StructuredQName getMatchingNodeName()
getMatchingNodeName in class NodeTestpublic int getPrimitiveType()
getPrimitiveType in interface ItemTypegetPrimitiveType in class NodeTestpublic java.util.Optional<IntSet> getRequiredNodeNames()
getRequiredNodeNames in class NodeTestpublic java.lang.String getNamespaceURI()
public java.lang.String getLocalPart()
public java.lang.String toString()
public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic java.lang.String generateJavaScriptNameTest(int targetVersion)
generateJavaScriptNameTest in interface QNameTesttargetVersion - the version of Saxon-JS being targetedpublic java.lang.String generateJavaScriptItemTypeTest(ItemType knownToBe, int targetVersion)
generateJavaScriptItemTypeTest in interface ItemTypeknownToBe - NodeTest that the item is known to conform to (no run-time test needed)targetVersion - the version of Saxon-JS being targetedpublic java.util.Optional<java.lang.String> explainMismatch(Item item, TypeHierarchy th)
explainMismatch in interface ItemTypeexplainMismatch in class NodeTestitem - the item that doesn't match this typeth - the type hierarchy cachepublic java.lang.String toShortString()
toShortString in class NodeTestCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.