public class SchemaElementTest extends NodeTest implements SchemaNodeTest
ItemType.WithSequenceTypeCache| Constructor and Description |
|---|
SchemaElementTest(ElementDecl element)
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
|
ElementDecl |
getElementDeclaration()
Get the element declaration
|
int |
getHeadFingerprint()
Get the fingerprint of the head of the substitution group
|
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 |
isNillable()
Determine whether nilled nodes can match this node test
|
boolean |
isNillable(int fingerprint)
Determine if nilled nodes named N can match this node test
|
boolean |
matches(int nodeKind,
NodeName name,
SchemaType annotation)
Test whether this node test is satisfied by a given node.
|
static boolean |
matchesAnnotation(SchemaType required,
SchemaType actual,
TypeHierarchy th)
Determine whether the type annotation of an element or attribute instances matches the required
type of the element or attribute declaration named in a schema-element() or schema-attribute() test
|
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, isPlainType, matches, one, oneOrMore, toExportString, zeroOrMore, zeroOrOnepublic SchemaElementTest(ElementDecl element) throws MissingComponentException
element - The element declaration of the named elementMissingComponentExceptionpublic ElementDecl getElementDeclaration()
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 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 static boolean matchesAnnotation(SchemaType required, SchemaType actual, TypeHierarchy th)
required - the required type of the declaration named in the schema-element() or schema-attribute testactual - the actual type annotation of the instanceth - the type hierarchy cachepublic final double getDefaultPriority()
getDefaultPriority in class NodeTestpublic int getPrimitiveType()
getPrimitiveType in interface ItemTypegetPrimitiveType in class NodeTestpublic int getNodeKindMask()
getNodeKindMask in class NodeTestpublic IntSet getRequiredNodeNames()
getRequiredNodeNames in class NodeTestpublic SchemaType getContentType()
getContentType in class NodeTestpublic boolean isNillable()
isNillable in class NodeTestpublic boolean isNillable(int fingerprint)
fingerprint - the element namepublic int getHeadFingerprint()
public void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitNamedSchemaComponents in interface ItemTypevisitNamedSchemaComponents in class NodeTestvisitor - 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.Objectpublic boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic java.lang.String generateJavaScriptItemTypeTest(ItemType knownToBe, int targetVersion) throws XPathException
generateJavaScriptItemTypeTest in interface ItemTypeknownToBe - 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.