org.apache.ws.jaxme.xs.xml

Interface XsERestriction

public interface XsERestriction extends XsTAnnotated, XsGSimpleRestrictionModel

Implementation of xs:restriction, following this specification:

  <xs:element name="restriction" id="restriction">
    <xs:complexType>
      <xs:annotation>
        <xs:documentation
            source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
          base attribute and simpleType child are mutually
          exclusive, but one or other is required
        </xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="xs:annotated">
          <xs:group ref="xs:simpleRestrictionModel"/>
          <xs:attribute name="base" type="xs:QName" use="optional"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>

  <xs:group name="simpleRestrictionModel">
    <xs:sequence>
      <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
      <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>

  <xs:group name="facets">
    <xs:annotation>
      <xs:documentation>
        We should use a substitution group for facets, but
        that's ruled out because it would allow users to
        add their own, which we're not ready for yet.
      </xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element ref="xs:minExclusive"/>
      <xs:element ref="xs:minInclusive"/>
      <xs:element ref="xs:maxExclusive"/>
      <xs:element ref="xs:maxInclusive"/>
      <xs:element ref="xs:totalDigits"/>
      <xs:element ref="xs:fractionDigits"/>
      <xs:element ref="xs:length"/>
      <xs:element ref="xs:minLength"/>
      <xs:element ref="xs:maxLength"/>
      <xs:element ref="xs:enumeration"/>
      <xs:element ref="xs:whiteSpace"/>
      <xs:element ref="xs:pattern"/>
    </xs:choice>
  </xs:group>
 

Author: Jochen Wiedmann

Method Summary
XsTLocalSimpleTypecreateSimpleType()
XsQNamegetBase()
XsTLocalSimpleTypegetSimpleType()
voidsetBase(XsQName pBase)

Method Detail

createSimpleType

public XsTLocalSimpleType createSimpleType()

getBase

public XsQName getBase()

getSimpleType

public XsTLocalSimpleType getSimpleType()

setBase

public void setBase(XsQName pBase)