Interface XSComplexType

All Superinterfaces:
XSAttContainer, XSComponent, XSDeclaration, XSType
All Known Implementing Classes:
ComplexTypeImpl, SchemaSetImpl.AnyType

public interface XSComplexType extends XSType, XSAttContainer
Complex type.
Author:
Kohsuke Kawaguchi ([email protected])
  • Method Details

    • isAbstract

      boolean isAbstract()
      Checks if this complex type is declared as an abstract type.
    • isFinal

      boolean isFinal(int derivationMethod)
    • isSubstitutionProhibited

      boolean isSubstitutionProhibited(int method)
      Roughly corresponds to the block attribute. But see the spec for gory detail.
    • getScope

      XSElementDecl getScope()
      Gets the scope of this complex type. This is not a property defined in the schema spec.
      Returns:
      null if this complex type is global. Otherwise return the element declaration that contains this anonymous complex type.
    • getContentType

      XSContentType getContentType()
      The content of this complex type.
      Returns:
      always non-null.
    • getExplicitContent

      XSContentType getExplicitContent()
      Gets the explicit content of a complex type with a complex content that was derived by extension.

      Informally, the "explicit content" is the portion of the content model added in this derivation. IOW, it's a delta between the base complex type and this complex type.

      For example, when a complex type T2 derives fom T1, then:

       content type of T2 = SEQUENCE( content type of T1, explicit content of T2 )
       
      Returns:
      If this complex type is derived by restriction or has a simple content, this method returns null. IOW, this method only works for a complex type with a complex content derived by extension from another complex type.
    • isMixed

      boolean isMixed()
    • getRedefinedBy

      XSComplexType getRedefinedBy()
      If this is redefined by another complex type, return that component.
      Specified by:
      getRedefinedBy in interface XSType
      Returns:
      null if this component has not been redefined.
    • getSubtypes

      List<XSComplexType> getSubtypes()
      Returns a list of direct subtypes of this complex type. If the type is not subtyped, returns empty list. Doesn't return null. Note that the complex type may be extended outside of the scope of the schemaset known to XSOM.
    • getElementDecls

      List<XSElementDecl> getElementDecls()
      Returns a list of element declarations of this type.