|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.type.TypeHierarchy
public class TypeHierarchy
This class exists to provide answers to questions about the type hierarchy. Because such questions are potentially expensive, it caches the answers. There is one instance of this class for a Configuration.
Field Summary | |
---|---|
static int |
DISJOINT
Constant denoting relationship between two types: A is disjoint from B |
static int |
OVERLAPS
Constant denoting relationship between two types: A overlaps B |
static int |
SAME_TYPE
Constant denoting relationship between two types: A is the same type as B |
static int |
SUBSUMED_BY
Constant denoting relationship between two types: A is subsumed by B |
static int |
SUBSUMES
Constant denoting relationship between two types: A subsumes B |
Constructor Summary | |
---|---|
TypeHierarchy(Configuration config)
Create the type hierarchy cache for a configuration |
Method Summary | |
---|---|
Configuration |
getConfiguration()
Get the Saxon configuration to which this type hierarchy belongs |
boolean |
isIdCode(int typeCode)
Test whether a type annotation code represents the type xs:ID or one of its subtypes |
boolean |
isIdrefsCode(int typeCode)
Test whether a type annotation code represents the type xs:IDREF, xs:IDREFS or one of their subtypes |
boolean |
isSubType(ItemType subtype,
ItemType supertype)
Determine whether type A is type B or one of its subtypes, recursively |
int |
relationship(ItemType t1,
ItemType t2)
Determine the relationship of one item type to another. |
static int |
schemaTypeRelationship(SchemaType s1,
SchemaType s2)
Get the relationship of two schema types to each other |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int SAME_TYPE
public static final int SUBSUMES
public static final int SUBSUMED_BY
public static final int OVERLAPS
public static final int DISJOINT
Constructor Detail |
---|
public TypeHierarchy(Configuration config)
config
- the configurationMethod Detail |
---|
public Configuration getConfiguration()
public boolean isSubType(ItemType subtype, ItemType supertype)
subtype
- identifies the first typesupertype
- identifies the second type
public int relationship(ItemType t1, ItemType t2)
t1
- the first item typet2
- the second item type
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)public boolean isIdCode(int typeCode)
typeCode
- the type annotation to be tested
public boolean isIdrefsCode(int typeCode)
typeCode
- the type annotation to be tested
public static int schemaTypeRelationship(SchemaType s1, SchemaType s2)
s1
- the first types2
- the second type
SAME_TYPE
, SUBSUMES
,
SUBSUMED_BY
, DISJOINT
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |