public class SchemaAttributeTest extends NodeTest implements SchemaNodeTest
ItemType.WithSequenceTypeCache
Constructor and Description |
---|
SchemaAttributeTest(AttributeDecl attributeDecl)
Constructor
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other) |
java.lang.String |
generateJavaScriptItemTypeTest(ItemType knownToBe,
int targetVersion)
Generate Javascript code to test whether an item conforms to this item type
|
SchemaType |
getContentType()
Get the content type allowed by this NodeTest (that is, the type annotation of the matched nodes).
|
double |
getDefaultPriority()
Determine the default priority of this node test when used on its own as a Pattern
|
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.
|
int |
getNodeKindMask()
Get a mask indicating which kinds of nodes this NodeTest can match.
|
int |
getPrimitiveType()
Determine the types of nodes to which this pattern applies.
|
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 |
matchesNode(NodeInfo node)
Test whether this node test is satisfied by a given node.
|
java.lang.String |
toString() |
void |
visitNamedSchemaComponents(SchemaComponentVisitor visitor)
Visit all the schema components used in this ItemType definition
|
copy, generateJavaScriptItemTypeAcceptor, getAtomizedItemType, getFingerprint, getMatchingNodeName, getPrimitiveItemType, isAtomicType, isAtomizable, isNillable, isPlainType, matches, one, oneOrMore, toExportString, zeroOrMore, zeroOrOne
public SchemaAttributeTest(AttributeDecl attributeDecl) throws MissingComponentException
attributeDecl
- The attribute declaration of the named attributeMissingComponentException
- if the type of the attribute is missing from the schemapublic UType getUType()
UType
. A UType is a union of primitive item
types.public boolean matches(int nodeKind, NodeName name, SchemaType annotation)
matches
in class NodeTest
nodeKind
- 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 IntPredicate getMatcher(NodeVectorTree tree)
NodeTest
matchesNode(tree.getNode(nodeNr))
, but it may well be faster).getMatcher
in class NodeTest
tree
- the tree against which the returned function will operatepublic boolean matchesNode(NodeInfo node)
matchesNode
in class NodeTest
node
- the node to be matchedpublic final double getDefaultPriority()
getDefaultPriority
in class NodeTest
public int getPrimitiveType()
getPrimitiveType
in interface ItemType
getPrimitiveType
in class NodeTest
public int getNodeKindMask()
getNodeKindMask
in class NodeTest
public IntSet getRequiredNodeNames()
getRequiredNodeNames
in class NodeTest
public SchemaType getContentType()
getContentType
in class NodeTest
public void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitNamedSchemaComponents
in interface ItemType
visitNamedSchemaComponents
in class NodeTest
visitor
- the visitor class to be called when each component is visitedXPathException
- if an error occurspublic java.lang.String toString()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public java.lang.String generateJavaScriptItemTypeTest(ItemType knownToBe, int targetVersion) throws XPathException
generateJavaScriptItemTypeTest
in interface ItemType
knownToBe
- targetVersion
- XPathException
- if JS code cannot be generated for this item type, for example because
the test is schema-aware.Copyright (c) 2004-2018 Saxonica Limited. All rights reserved.