org.apache.ws.jaxme.xs.xml

Interface XsTComplexType

All Superinterfaces:
XsGAttrDecls, XsGTypeDefParticle, XsObject, XsRedefinable, XsTAnnotated, XsTOpenAttrs
Known Subinterfaces:
XsTLocalComplexType, XsTTopLevelComplexType
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.XsGAttrDecls

createAnyAttribute, createAttribute, createAttributeGroup, getAllAttributes, getAnyAttribute, getAttributeGroups, getAttributes

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.XsObject

getLocator, getObjectFactory, getParentObject, getXsESchema, isTopLevelObject, validate

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

Method Details

createComplexContent

public XsEComplexContent createComplexContent()

createSimpleContent

public XsESimpleContent createSimpleContent()

getComplexContent

public XsEComplexContent getComplexContent()

getName

public XsNCName getName()

getSimpleContent

public XsESimpleContent getSimpleContent()

isAbstract

public boolean isAbstract()

isMixed

public boolean isMixed()

setAbstract

public void setAbstract(boolean pAbstract)

setMixed

public void setMixed(boolean pMixed)

setName

public void setName(XsNCName pName)