Class XSComplexTypeDecl

  • All Implemented Interfaces:
    org.apache.xerces.xs.XSComplexTypeDefinition, org.apache.xerces.xs.XSObject, org.apache.xerces.xs.XSTypeDefinition, org.w3c.dom.TypeInfo

    public class XSComplexTypeDecl
    extends java.lang.Object
    implements org.apache.xerces.xs.XSComplexTypeDefinition, org.w3c.dom.TypeInfo
    The XML representation for a complexType schema component is a <complexType> element information item

    INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.
    Version:
    $Id: XSComplexTypeDecl.java 965250 2010-07-18 16:04:58Z mrglavas $
    Author:
    Elena Litani, IBM, Sandy Gao, IBM
    • Field Summary

      • Fields inherited from interface org.apache.xerces.xs.XSComplexTypeDefinition

        CONTENTTYPE_ELEMENT, CONTENTTYPE_EMPTY, CONTENTTYPE_MIXED, CONTENTTYPE_SIMPLE
      • Fields inherited from interface org.apache.xerces.xs.XSTypeDefinition

        COMPLEX_TYPE, SIMPLE_TYPE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean containsTypeID()  
      boolean derivedFrom​(java.lang.String ancestorNS, java.lang.String ancestorName, short derivationMethod)
      Convenience method which checks if this type is derived from the given ancestor type.
      boolean derivedFromType​(org.apache.xerces.xs.XSTypeDefinition ancestor, short derivationMethod)
      Convenience method which checks if this type is derived from the given ancestorType.
      boolean getAbstract()
      {abstract} A boolean.
      org.apache.xerces.xs.XSObjectList getAnnotations()
      Optional.
      boolean getAnonymous()
      A boolean that specifies if the type definition is anonymous.
      XSAttributeGroupDecl getAttrGrp()  
      org.apache.xerces.xs.XSAttributeUse getAttributeUse​(java.lang.String namespace, java.lang.String name)  
      org.apache.xerces.xs.XSObjectList getAttributeUses()
      {attribute uses} A set of attribute uses.
      org.apache.xerces.xs.XSWildcard getAttributeWildcard()
      {attribute wildcard} Optional.
      org.apache.xerces.xs.XSTypeDefinition getBaseType()
      {base type definition} Either a simple type definition or a complex type definition.
      XSCMValidator getContentModel​(CMBuilder cmBuilder)  
      XSCMValidator getContentModel​(CMBuilder cmBuilder, boolean forUPA)  
      short getContentType()
      {content type} One of empty, a simple type definition (see simpleType, or mixed, element-only (see cmParticle).
      short getDerivationMethod()
      {derivation method} Either extension or restriction.
      short getFinal()
      {final} For complex type definition it is a subset of {extension, restriction}.
      short getFinalSet()  
      java.lang.String getName()
      The name of this XSObject depending on the XSObject type.
      java.lang.String getNamespace()
      The namespace URI of this node, or null if it is unspecified.
      org.apache.xerces.xs.XSNamespaceItem getNamespaceItem()
      A namespace schema information item corresponding to the target namespace of the component, if it is globally declared; or null otherwise.
      org.apache.xerces.xs.XSParticle getParticle()
      A particle for mixed or element-only content model, otherwise null
      short getProhibitedSubstitutions()
      {prohibited substitutions}
      org.apache.xerces.xs.XSSimpleTypeDefinition getSimpleType()
      A simple type definition corresponding to simple content model, otherwise null
      java.lang.String getTargetNamespace()  
      short getType()
      Get the type of the object, i.e ELEMENT_DECLARATION.
      short getTypeCategory()
      Return whether this type definition is a simple type or complex type.
      java.lang.String getTypeName()  
      java.lang.String getTypeNamespace()  
      boolean isDerivedFrom​(java.lang.String typeNamespaceArg, java.lang.String typeNameArg, int derivationMethod)  
      boolean isDOMDerivedFrom​(java.lang.String ancestorNS, java.lang.String ancestorName, int derivationMethod)
      Checks if a type is derived from another given the the name, namespace and derivation method.
      boolean isFinal​(short derivation)
      {final} For complex type definition it is a subset of {extension, restriction}.
      boolean isProhibitedSubstitution​(short prohibited)
      {prohibited substitutions} A subset of {extension, restriction}.
      void reset()  
      void setContainsTypeID()  
      void setIsAbstractType()  
      void setIsAnonymous()  
      void setName​(java.lang.String name)  
      void setValues​(java.lang.String name, java.lang.String targetNamespace, org.apache.xerces.xs.XSTypeDefinition baseType, short derivedBy, short schemaFinal, short block, short contentType, boolean isAbstract, XSAttributeGroupDecl attrGrp, XSSimpleType simpleType, XSParticleDecl particle, XSObjectListImpl annotations)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • XSComplexTypeDecl

        public XSComplexTypeDecl()
    • Method Detail

      • setValues

        public void setValues​(java.lang.String name,
                              java.lang.String targetNamespace,
                              org.apache.xerces.xs.XSTypeDefinition baseType,
                              short derivedBy,
                              short schemaFinal,
                              short block,
                              short contentType,
                              boolean isAbstract,
                              XSAttributeGroupDecl attrGrp,
                              XSSimpleType simpleType,
                              XSParticleDecl particle,
                              XSObjectListImpl annotations)
      • setName

        public void setName​(java.lang.String name)
      • getTypeCategory

        public short getTypeCategory()
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        Return whether this type definition is a simple type or complex type.
        Specified by:
        getTypeCategory in interface org.apache.xerces.xs.XSTypeDefinition
      • getTypeName

        public java.lang.String getTypeName()
        Specified by:
        getTypeName in interface org.w3c.dom.TypeInfo
      • getFinalSet

        public short getFinalSet()
      • getTargetNamespace

        public java.lang.String getTargetNamespace()
      • containsTypeID

        public boolean containsTypeID()
      • setIsAbstractType

        public void setIsAbstractType()
      • setContainsTypeID

        public void setContainsTypeID()
      • setIsAnonymous

        public void setIsAnonymous()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • derivedFromType

        public boolean derivedFromType​(org.apache.xerces.xs.XSTypeDefinition ancestor,
                                       short derivationMethod)
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        Convenience method which checks if this type is derived from the given ancestorType.
        Specified by:
        derivedFromType in interface org.apache.xerces.xs.XSTypeDefinition
        Parameters:
        ancestor - An ancestor type definition.
        derivationMethod - A bit combination representing a subset of { DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST }.
        Returns:
        True if this type is derived from ancestorType using only derivation methods from the derivationMethod .
      • derivedFrom

        public boolean derivedFrom​(java.lang.String ancestorNS,
                                   java.lang.String ancestorName,
                                   short derivationMethod)
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        Convenience method which checks if this type is derived from the given ancestor type.
        Specified by:
        derivedFrom in interface org.apache.xerces.xs.XSTypeDefinition
        Parameters:
        ancestorNS - An ancestor type namespace.
        ancestorName - An ancestor type name.
        derivationMethod - A bit combination representing a subset of { DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST }.
        Returns:
        True if this type is derived from ancestorType using only derivation methods from the derivationMethod .
      • isDOMDerivedFrom

        public boolean isDOMDerivedFrom​(java.lang.String ancestorNS,
                                        java.lang.String ancestorName,
                                        int derivationMethod)
        Checks if a type is derived from another given the the name, namespace and derivation method. See: http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#TypeInfo-isDerivedFrom
        Parameters:
        ancestorNS - The namspace of the ancestor type declaration
        ancestorName - The name of the ancestor type declaration
        derivationMethod - The derivation method
        Returns:
        boolean True if the ancestor type is derived from the reference type by the specifiied derivation method.
      • reset

        public void reset()
      • getType

        public short getType()
        Get the type of the object, i.e ELEMENT_DECLARATION.
        Specified by:
        getType in interface org.apache.xerces.xs.XSObject
      • getName

        public java.lang.String getName()
        The name of this XSObject depending on the XSObject type.
        Specified by:
        getName in interface org.apache.xerces.xs.XSObject
      • getAnonymous

        public boolean getAnonymous()
        A boolean that specifies if the type definition is anonymous. Convenience attribute. This is a field is not part of XML Schema component model.
        Specified by:
        getAnonymous in interface org.apache.xerces.xs.XSTypeDefinition
      • getNamespace

        public java.lang.String getNamespace()
        The namespace URI of this node, or null if it is unspecified. defines how a namespace URI is attached to schema components.
        Specified by:
        getNamespace in interface org.apache.xerces.xs.XSObject
      • getBaseType

        public org.apache.xerces.xs.XSTypeDefinition getBaseType()
        {base type definition} Either a simple type definition or a complex type definition.
        Specified by:
        getBaseType in interface org.apache.xerces.xs.XSTypeDefinition
      • getDerivationMethod

        public short getDerivationMethod()
        {derivation method} Either extension or restriction. The valid constant value for this XSConstants EXTENTION, RESTRICTION.
        Specified by:
        getDerivationMethod in interface org.apache.xerces.xs.XSComplexTypeDefinition
      • isFinal

        public boolean isFinal​(short derivation)
        {final} For complex type definition it is a subset of {extension, restriction}. For simple type definition it is a subset of {extension, list, restriction, union}.
        Specified by:
        isFinal in interface org.apache.xerces.xs.XSTypeDefinition
        Parameters:
        derivation - Extension, restriction, list, union constants (defined in XSConstants).
        Returns:
        True if derivation is in the final set, otherwise false.
      • getFinal

        public short getFinal()
        {final} For complex type definition it is a subset of {extension, restriction}.
        Specified by:
        getFinal in interface org.apache.xerces.xs.XSTypeDefinition
        Returns:
        A bit flag that represents: {extension, restriction) or none for complexTypes; {extension, list, restriction, union} or none for simpleTypes;
      • getAbstract

        public boolean getAbstract()
        {abstract} A boolean. Complex types for which {abstract} is true must not be used as the {type definition} for the validation of element information items.
        Specified by:
        getAbstract in interface org.apache.xerces.xs.XSComplexTypeDefinition
      • getAttributeUses

        public org.apache.xerces.xs.XSObjectList getAttributeUses()
        {attribute uses} A set of attribute uses.
        Specified by:
        getAttributeUses in interface org.apache.xerces.xs.XSComplexTypeDefinition
      • getAttributeWildcard

        public org.apache.xerces.xs.XSWildcard getAttributeWildcard()
        {attribute wildcard} Optional. A wildcard.
        Specified by:
        getAttributeWildcard in interface org.apache.xerces.xs.XSComplexTypeDefinition
      • getContentType

        public short getContentType()
        {content type} One of empty, a simple type definition (see simpleType, or mixed, element-only (see cmParticle).
        Specified by:
        getContentType in interface org.apache.xerces.xs.XSComplexTypeDefinition
      • getSimpleType

        public org.apache.xerces.xs.XSSimpleTypeDefinition getSimpleType()
        A simple type definition corresponding to simple content model, otherwise null
        Specified by:
        getSimpleType in interface org.apache.xerces.xs.XSComplexTypeDefinition
      • getParticle

        public org.apache.xerces.xs.XSParticle getParticle()
        A particle for mixed or element-only content model, otherwise null
        Specified by:
        getParticle in interface org.apache.xerces.xs.XSComplexTypeDefinition
      • isProhibitedSubstitution

        public boolean isProhibitedSubstitution​(short prohibited)
        {prohibited substitutions} A subset of {extension, restriction}.
        Specified by:
        isProhibitedSubstitution in interface org.apache.xerces.xs.XSComplexTypeDefinition
        Parameters:
        prohibited - extention or restriction constants (defined in XSConstants).
        Returns:
        True if prohibited is a prohibited substitution, otherwise false.
      • getProhibitedSubstitutions

        public short getProhibitedSubstitutions()
        {prohibited substitutions}
        Specified by:
        getProhibitedSubstitutions in interface org.apache.xerces.xs.XSComplexTypeDefinition
        Returns:
        A bit flag corresponding to prohibited substitutions
      • getAnnotations

        public org.apache.xerces.xs.XSObjectList getAnnotations()
        Optional. Annotation.
        Specified by:
        getAnnotations in interface org.apache.xerces.xs.XSComplexTypeDefinition
      • getNamespaceItem

        public org.apache.xerces.xs.XSNamespaceItem getNamespaceItem()
        Description copied from interface: org.apache.xerces.xs.XSObject
        A namespace schema information item corresponding to the target namespace of the component, if it is globally declared; or null otherwise.
        Specified by:
        getNamespaceItem in interface org.apache.xerces.xs.XSObject
        See Also:
        XSObject.getNamespaceItem()
      • getAttributeUse

        public org.apache.xerces.xs.XSAttributeUse getAttributeUse​(java.lang.String namespace,
                                                                   java.lang.String name)
      • getTypeNamespace

        public java.lang.String getTypeNamespace()
        Specified by:
        getTypeNamespace in interface org.w3c.dom.TypeInfo
      • isDerivedFrom

        public boolean isDerivedFrom​(java.lang.String typeNamespaceArg,
                                     java.lang.String typeNameArg,
                                     int derivationMethod)
        Specified by:
        isDerivedFrom in interface org.w3c.dom.TypeInfo