Package net.sf.saxon.type
Class TypeHierarchy
java.lang.Object
net.sf.saxon.type.TypeHierarchy
- All Implemented Interfaces:
Serializable
This class exists to provide answers to questions about the type hierarchy. Because
such questions are potentially expensive, it caches the answers.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Constant denoting relationship between two types: A is disjoint from Bstatic final int
Constant denoting relationship between two types: A overlaps Bstatic final int
Constant denoting relationship between two types: A is the same type as Bstatic final int
Constant denoting relationship between two types: A is subsumed by Bstatic final int
Constant denoting relationship between two types: A subsumes B -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
isIdCode
(int typeCode) Test whether a type annotation code represents the type xs:ID or one of its subtypesboolean
isIdrefsCode
(int typeCode) Test whether a type annotation code represents the type xs:IDREF, xs:IDREFS or one of their subtypesboolean
Determine whether type A is type B or one of its subtypes, recursivelyint
relationship
(ItemType t1, ItemType t2) Determine the relationship of one item type to another.
-
Field Details
-
SAME_TYPE
public static final int SAME_TYPEConstant denoting relationship between two types: A is the same type as B- See Also:
-
SUBSUMES
public static final int SUBSUMESConstant denoting relationship between two types: A subsumes B- See Also:
-
SUBSUMED_BY
public static final int SUBSUMED_BYConstant denoting relationship between two types: A is subsumed by B- See Also:
-
OVERLAPS
public static final int OVERLAPSConstant denoting relationship between two types: A overlaps B- See Also:
-
DISJOINT
public static final int DISJOINTConstant denoting relationship between two types: A is disjoint from B- See Also:
-
-
Constructor Details
-
TypeHierarchy
-
-
Method Details
-
getConfiguration
-
isSubType
Determine whether type A is type B or one of its subtypes, recursively- Parameters:
subtype
- identifies the first typesupertype
- identifies the second type- Returns:
- true if the first type is the second type or a (direct or indirect) subtype of the second type
-
relationship
Determine the relationship of one item type to another.- Parameters:
t1
- the first item typet2
- the second item type- Returns:
SAME_TYPE
if the types are the same;SUBSUMES
if the first type subsumes the second (that is, all instances of the second type are also instances of the first);SUBSUMED_BY
if the second type subsumes the first;OVERLAPS
if the two types overlap (have a non-empty intersection, but neither subsumes the other);DISJOINT
if the two types are disjoint (have an empty intersection)
-
isIdCode
public boolean isIdCode(int typeCode) Test whether a type annotation code represents the type xs:ID or one of its subtypes -
isIdrefsCode
public boolean isIdrefsCode(int typeCode) Test whether a type annotation code represents the type xs:IDREF, xs:IDREFS or one of their subtypes
-