org.apache.ws.jaxme.xs.xml

Interface XsERestriction

All Superinterfaces:
XsGSimpleRestrictionModel, XsObject, XsTAnnotated, XsTOpenAttrs
Known Implementing Classes:
XsERestrictionImpl

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

XsTLocalSimpleType
createSimpleType()
XsQName
getBase()
XsTLocalSimpleType
getSimpleType()
void
setBase(XsQName pBase)

Methods inherited from interface org.apache.ws.jaxme.xs.xml.XsGSimpleRestrictionModel

createEnumeration, createFractionDigits, createLength, createMaxExclusive, createMaxInclusive, createMaxLength, createMinExclusive, createMinInclusive, createMinLength, createPattern, createSimpleType, createTotalDigits, createWhiteSpace, getEnumerations, getFacets, getFractionDigits, getLength, getMaxExclusive, getMaxInclusive, getMaxLength, getMinExclusive, getMinInclusive, getMinLength, getPatterns, getSimpleType, getTotalDigits, getWhiteSpace, hasFacets

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

createSimpleType

public XsTLocalSimpleType createSimpleType()
            throws SAXException
Specified by:
createSimpleType in interface XsGSimpleRestrictionModel

getBase

public XsQName getBase()

getSimpleType

public XsTLocalSimpleType getSimpleType()
Specified by:
getSimpleType in interface XsGSimpleRestrictionModel

setBase

public void setBase(XsQName pBase)