net.sf.saxon.type
Interface ComplexType
- SchemaComponent, SchemaType, Serializable
- AnyType, Untyped
public interface ComplexType
A complex type as defined in XML Schema: either a user-defined complex type, or xs:anyType, or xs:untyped.
In the non-schema-aware version of the Saxon product, the only complex type encountered is xs:untyped.
void | gatherAllPermittedChildren(IntHashSet children) - Get a list of all the names of elements that can appear as children of an element having this
complex type, as integer fingerprints.
|
void | gatherAllPermittedDescendants(IntHashSet descendants) - Get a list of all the names of elements that can appear as descendants of an element having this
complex type, as integer fingerprints.
|
SchemaType | getAttributeUseType(int fingerprint) - Find an attribute use within this complex type definition having a given attribute name
(identified by fingerprint), and return the schema type associated with that attribute.
|
int | getElementParticleCardinality(int fingerprint) - Find an element particle within this complex type definition having a given element name
(identified by fingerprint), and return the cardinality associated with that element particle,
that is, the number of times the element can occur within this complex type.
|
SchemaType | getElementParticleType(int fingerprint) - Find an element particle within this complex type definition having a given element name
(identified by fingerprint), and return the schema type associated with that element particle.
|
SimpleType | getSimpleContentType() - Get the simple content type.
|
boolean | isAbstract() - Test whether this complex type has been marked as abstract.
|
boolean | isAllContent() - Test whether this complex type has "all" content, that is, a content model
using an xs:all compositor
|
boolean | isComplexContent() - Test whether this complex type has complex content.
|
boolean | isEmptiable() - Test whether the content model of this complex type allows empty content.
|
boolean | isEmptyContent() - Test whether the content model of this complex type is empty.
|
boolean | isMixedContent() - Test whether this complex type allows mixed content.
|
boolean | isRestricted() - Test whether this complex type is derived by restriction.
|
boolean | isSimpleContent() - Test whether this complexType has simple content.
|
allowsDerivation , analyzeContentExpression , atomize , checkTypeDerivationIsOK , getBaseType , getBlock , getDerivationMethod , getDescription , getDisplayName , getFingerprint , getName , getNameCode , getSystemId , getTargetNamespace , getTypedValue , isAnonymousType , isAtomicType , isComplexType , isSameType , isSimpleType |
gatherAllPermittedChildren
public void gatherAllPermittedChildren(IntHashSet children)
throws SchemaException
Get a list of all the names of elements that can appear as children of an element having this
complex type, as integer fingerprints. If the list is unbounded (because of wildcards or the use
of xs:anyType), return null.
children
- an integer set, initially empty, which on return will hold the fingerprints of all permitted
child elements; if the result contains the value -1, this indicates that it is not possible to enumerate
all the children, typically because of wildcards. In this case the other contents of the set should
be ignored.
gatherAllPermittedDescendants
public void gatherAllPermittedDescendants(IntHashSet descendants)
throws SchemaException
Get a list of all the names of elements that can appear as descendants of an element having this
complex type, as integer fingerprints. If the list is unbounded (because of wildcards or the use
of xs:anyType), include a -1 in the result.
descendants
- an integer set, initially empty, which on return will hold the fingerprints of all permitted
descendant elements; if the result contains the value -1, this indicates that it is not possible to enumerate
all the descendants, typically because of wildcards. In this case the other contents of the set should
be ignored.
getAttributeUseType
public SchemaType getAttributeUseType(int fingerprint)
throws SchemaException,
ValidationException
Find an attribute use within this complex type definition having a given attribute name
(identified by fingerprint), and return the schema type associated with that attribute.
If there is no such attribute use, return null. If the fingerprint matches an attribute wildcard,
return the type of the global attribute declaration with the given name if one exists, or AnySimpleType
if none exists and lax validation is permitted by the wildcard.
If there are types derived from this type by extension, search those too.
fingerprint
- Identifies the name of the child element within this content model
- the schema type associated with the attribute use identified by the fingerprint.
If there is no such attribute use, return null.
getElementParticleCardinality
public int getElementParticleCardinality(int fingerprint)
throws SchemaException,
ValidationException
fingerprint
- Identifies the name of the child element within this content model
- the cardinality associated with the child element particle with the given name.
If there is no such particle, return
StaticProperty.EMPTY
.
getElementParticleType
public SchemaType getElementParticleType(int fingerprint)
throws SchemaException,
ValidationException
Find an element particle within this complex type definition having a given element name
(identified by fingerprint), and return the schema type associated with that element particle.
If there is no such particle, return null. If the fingerprint matches an element wildcard,
return the type of the global element declaration with the given name if one exists, or AnyType
if none exists and lax validation is permitted by the wildcard.
fingerprint
- Identifies the name of the child element within this content model
- the schema type associated with the child element particle with the given name.
If there is no such particle, return null.
getSimpleContentType
public SimpleType getSimpleContentType()
Get the simple content type. This represents one aspect of the
{content type} property in the schema component model.
- For a complex type with simple content, returns the simple type of the content.
Otherwise, returns null.
isAbstract
public boolean isAbstract()
Test whether this complex type has been marked as abstract. This corresponds to
the {abstract} property in the schema component model.
- true if this complex type is abstract.
isAllContent
public boolean isAllContent()
Test whether this complex type has "all" content, that is, a content model
using an xs:all compositor
- true if the type has an "all" content model
isComplexContent
public boolean isComplexContent()
Test whether this complex type has complex content. This represents one aspect of the
{content type} property in the schema component model.
- true if this complex type has a complex content model, false if it has a simple content model
isEmptiable
public boolean isEmptiable()
throws SchemaException
Test whether the content model of this complex type allows empty content. This property applies only if
this is a complex type with complex content.
- true if empty content is valid
isEmptyContent
public boolean isEmptyContent()
Test whether the content model of this complex type is empty. This represents one aspect of the
{content type} property in the schema component model.
- true if the content model is defined as empty
isMixedContent
public boolean isMixedContent()
Test whether this complex type allows mixed content. This represents one aspect of the
{content type} property in the schema component model. This property applies only if
this is a complex type with complex content.
- true if mixed content is allowed
isRestricted
public boolean isRestricted()
Test whether this complex type is derived by restriction. This corresponds to one
aspect of the {derivation method} property in the schema component model.
- true if this complex type is derived by restriction
isSimpleContent
public boolean isSimpleContent()
Test whether this complexType has simple content. This represents one aspect of the
{content type} property in the schema component model.
- true if this complex type has a simple content model, false if it has a complex content model