public class SchemaElementTest extends NodeTest implements SchemaNodeTest
Constructor and Description |
---|
SchemaElementTest(ElementDecl element)
Constructor
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other) |
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 |
getBasicAlphaCode()
Get an alphabetic code representing the type, or at any rate, the nearest built-in type
from which this type is derived.
|
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
|
IntPredicateProxy |
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 |
getNodeName() |
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 |
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 |
test(NodeInfo node)
Test whether this node test is satisfied by a given node.
|
java.lang.String |
toString() |
copy, getAtomizedItemType, getFingerprint, getGenre, getMatchingNodeName, getPrimitiveItemType, isAtomicType, isAtomizable, isPlainType, matches, one, oneOrMore, toShortString, zeroOrMore, zeroOrOne
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getFullAlphaCode, getNormalizedDefaultPriority, toExportString
public SchemaElementTest(ElementDecl element) throws MissingComponentException
element
- The element declaration of the named elementMissingComponentException
public ElementDecl getElementDeclaration()
public StructuredQName getNodeName()
getNodeName
in interface SchemaNodeTest
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 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 IntPredicateProxy 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 test(NodeInfo node)
test
in interface NodePredicate
test
in class NodeTest
node
- 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 interface ItemType
getDefaultPriority
in class NodeTest
public int getPrimitiveType()
getPrimitiveType
in interface ItemType
getPrimitiveType
in class NodeTest
public java.util.Optional<IntSet> getRequiredNodeNames()
getRequiredNodeNames
in class NodeTest
public SchemaType getContentType()
getContentType
in class NodeTest
public boolean isNillable()
isNillable
in class NodeTest
public boolean isNillable(int fingerprint)
fingerprint
- the element namepublic int getHeadFingerprint()
public java.lang.String toString()
toString
in class java.lang.Object
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 getBasicAlphaCode()
NodeTest
getBasicAlphaCode
in interface ItemType
getBasicAlphaCode
in class NodeTest
public java.util.Optional<java.lang.String> explainMismatch(Item item, TypeHierarchy th)
explainMismatch
in interface ItemType
explainMismatch
in class NodeTest
item
- the item that doesn't match this typeth
- the type hierarchy cacheCopyright (c) 2004-2022 Saxonica Limited. All rights reserved.