## 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