org.apache.ws.jaxme.xs.xml
Interface XsTComplexType

All Superinterfaces:
XsGAttrDecls, XsGTypeDefParticle, XsObject, XsRedefinable, XsTAnnotated, XsTOpenAttrs
All Known Subinterfaces:
XsTLocalComplexType, XsTTopLevelComplexType
All Known Implementing Classes:
XsTComplexTypeImpl, XsTLocalComplexTypeImpl, XsTTopLevelComplexTypeImpl

public interface XsTComplexType
extends XsTAnnotated, XsGTypeDefParticle, XsGAttrDecls, XsRedefinable

Interface of a complex type, to be shared by XsTLocalComplexType and XsTComplexType. Follows this specification:

  <xs:complexType name="complexType" abstract="true">
    <xs:complexContent>
      <xs:extension base="xs:annotated">
        <xs:group ref="xs:complexTypeModel"/>
        <xs:attribute name="name" type="xs:NCName">
          <xs:annotation>
            <xs:documentation>
              Will be restricted to required or forbidden
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
          <xs:annotation>
            <xs:documentation>
              Not allowed if simpleContent child is chosen.
              May be overriden by setting on complexContent child.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
        <xs:attribute name="final" type="xs:derivationSet"/>
        <xs:attribute name="block" type="xs:derivationSet"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:group name="complexTypeModel">
    <xs:choice>
      <xs:element ref="xs:simpleContent"/>
      <xs:element ref="xs:complexContent"/>
      <xs:sequence>
        <xs:annotation>
          <xs:documentation>
            This branch is short for &lt;complexContent&gt;
            &lt;restriction base="xs:anyType"&gt;
            ...
            &lt;/restriction&gt;
            &lt;/complexContent&gt;
          </xs:documentation>
        </xs:annotation>
        <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
        <xs:group ref="xs:attrDecls"/>
      </xs:sequence>
    </xs:choice>
  </xs:group>

  <xs:group name="typeDefParticle">
    <xs:annotation>
      <xs:documentation>
        'complexType' uses this
      </xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element name="group" type="xs:groupRef"/>
      <xs:element ref="xs:all"/>
      <xs:element ref="xs:choice"/>
      <xs:element ref="xs:sequence"/>
    </xs:choice>
  </xs:group>
 

Author:
Jochen Wiedmann

Method Summary
 XsEComplexContent createComplexContent()
           
 XsESimpleContent createSimpleContent()
           
 XsEComplexContent getComplexContent()
           
 XsNCName getName()
           
 XsESimpleContent getSimpleContent()
           
 boolean isAbstract()
           
 boolean isMixed()
           
 void setAbstract(boolean pAbstract)
           
 void setMixed(boolean pMixed)
           
 void setName(XsNCName pName)
           
 
Methods inherited from interface org.apache.ws.jaxme.xs.xml.XsTAnnotated
createAnnotation, getAnnotation, getId, setId
 
Methods inherited from interface org.apache.ws.jaxme.xs.xml.XsTOpenAttrs
getOpenAttributes
 
Methods inherited from interface org.apache.ws.jaxme.xs.xml.XsObject
getLocator, getObjectFactory, getParentObject, getXsESchema, isTopLevelObject, validate
 
Methods inherited from interface org.apache.ws.jaxme.xs.xml.XsGTypeDefParticle
createAll, createChoice, createGroup, createSequence, getTypeDefParticle
 
Methods inherited from interface org.apache.ws.jaxme.xs.xml.XsGAttrDecls
createAnyAttribute, createAttribute, createAttributeGroup, getAllAttributes, getAnyAttribute, getAttributeGroups, getAttributes
 

Method Detail

setMixed

public void setMixed(boolean pMixed)

isMixed

public boolean isMixed()

setAbstract

public void setAbstract(boolean pAbstract)

isAbstract

public boolean isAbstract()

createSimpleContent

public XsESimpleContent createSimpleContent()

getSimpleContent

public XsESimpleContent getSimpleContent()

createComplexContent

public XsEComplexContent createComplexContent()

getComplexContent

public XsEComplexContent getComplexContent()

setName

public void setName(XsNCName pName)

getName

public XsNCName getName()