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

void setMixed(boolean pMixed)

isMixed

boolean isMixed()

setAbstract

void setAbstract(boolean pAbstract)

isAbstract

boolean isAbstract()

createSimpleContent

XsESimpleContent createSimpleContent()

getSimpleContent

XsESimpleContent getSimpleContent()

createComplexContent

XsEComplexContent createComplexContent()

getComplexContent

XsEComplexContent getComplexContent()

setName

void setName(XsNCName pName)

getName

XsNCName getName()