net.sf.saxon.type
Interface ComplexType

All Known Implementing Classes:
AnyType, Untyped

public interface ComplexType

A complex type as defined in XML Schema: either a user-defined complex type, or xs:anyType. In the non-schema-aware version of the Saxon product, the only complex type encountered is xs:anyType.


Method Summary
 SchemaType getBaseType()
          The base type that this type is derived from.
 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
 

Method Detail

getBaseType

public SchemaType getBaseType()
The base type that this type is derived from.

Returns:
the base type

isAbstract

public boolean isAbstract()
Test whether this complex type has been marked as abstract.

Returns:
true if this complex type is abstract.

isComplexContent

public boolean isComplexContent()
Test whether this complex type has complex content

Returns:
true if this complex type has a complex content model, false if it has a simple content model

isSimpleContent

public boolean isSimpleContent()
Test whether this complexType has simple content

Returns:
true if this complex type has a simple content model, false if it has a complex content model

isAllContent

public boolean isAllContent()
Test whether this complex type has "all" content, that is, a content model using an xs:all compositor


getSimpleContentType

public SimpleType getSimpleContentType()
Get the simple content type

Returns:
For a complex type with simple content, returns the simple type of the content. Otherwise, returns null.

isRestricted

public boolean isRestricted()
Test whether this complex type is derived by restriction

Returns:
true if this complex type is derived by restriction

isEmptyContent

public boolean isEmptyContent()
Test whether the content model of this complex type is empty

Returns:
true if the content model is defined as empty

isEmptiable

public boolean isEmptiable()
                    throws SchemaException
Test whether the content model of this complex type allows empty content

Returns:
true if empty content is valid
SchemaException

isMixedContent

public boolean isMixedContent()
Test whether this complex type allows mixed content

Returns:
true if mixed content is allowed