Class AnyGNodeType

java.lang.Object
net.sf.saxon.type.gnode.GNodeType
net.sf.saxon.type.gnode.AnyGNodeType
All Implemented Interfaces:
NodePredicate, NodeTest, ItemType, ItemTypeWithSequenceTypeCache

public final class AnyGNodeType extends GNodeType
Class AnyGNodeType corresponds to the item type gnode(). It matches any XNode or JNode.
  • Method Details

    • getInstance

      public static AnyGNodeType getInstance()
      Get an instance of AnyNodeTest
      Returns:
      the singleton instance of this class
    • getUType

      public UType getUType()
      Get the corresponding UType. A UType is a union of primitive item types.
      Specified by:
      getUType in interface ItemType
      Specified by:
      getUType in interface NodeTest
      Overrides:
      getUType in class GNodeType
      Returns:
      the smallest UType that subsumes this item type
    • asXNodeTest

      public NodeTest asXNodeTest(Configuration config)
      Description copied from interface: NodeTest
      Get an XNodeTest that will match any XNode that this NodeTest matches: that is, eliminate the possibility of matching a JNode.
    • getCoercionPlan

      public CoercionPlan getCoercionPlan(int version)
      Get the coercion plan for use when this type is the required type for (say) coercion of arguments in a function call
      Specified by:
      getCoercionPlan in interface ItemType
      Overrides:
      getCoercionPlan in class GNodeType
      Parameters:
      version - the XPath language version (40 or 31)
    • asChoiceItemType

      public ChoiceItemType asChoiceItemType()
      Description copied from interface: ItemType
      Expand this item type to a choice item type. The default delivers a choice with this type as its only member. Implementations for abstract types return a choice of the corresponding concrete types, for example node() expands to a choice of the seven node kinds. The implementation for a choice type that includes abstract member types should expand these recursively.
    • matches

      public boolean matches(Item item)
      Test whether a given item conforms to this type
      Specified by:
      matches in interface ItemType
      Specified by:
      matches in class GNodeType
      Parameters:
      item - The item to be tested
      Returns:
      true if the item is an instance of this type; false otherwise
    • getDefaultPriority

      public final double getDefaultPriority()
      Determine the default priority of this node test when used on its own as a Pattern
      Returns:
      the default priority
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getBasicAlphaCode

      public String getBasicAlphaCode()
      Get an alphabetic code representing the type, or at any rate, the nearest built-in type from which this type is derived. The codes are designed so that for any two built-in types A and B, alphaCode(A) is a prefix of alphaCode(B) if and only if A is a supertype of B.
      Returns:
      the alphacode for the nearest containing built-in type. For example: for xs:string return "AS", for xs:boolean "AB", for node() "N", for element() "NE", for map(*) "FM", for array(*) "FA".
    • explainMismatch

      public Optional<String> explainMismatch(Item item, TypeHierarchy th)
      Get extra diagnostic information about why a supplied item does not conform to this item type, if available. If extra information is returned, it should be in the form of a complete sentence, minus the closing full stop. No information should be returned for obvious cases.
      Specified by:
      explainMismatch in interface ItemType
      Specified by:
      explainMismatch in interface NodeTest
      Overrides:
      explainMismatch in class GNodeType
      Parameters:
      item - the item that doesn't match this type
      th - the type hierarchy cache
      Returns:
      optionally, a message explaining why the item does not match the type
    • isNillable

      public boolean isNillable()
      Determine whether the content type (if present) is nillable
      Returns:
      true if the content test (when present) can match nodes that are nilled