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

All Superinterfaces:
XsGSimpleRestrictionModel, XsObject, XsTAnnotated, XsTOpenAttrs
All 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.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.XsGSimpleRestrictionModel
createEnumeration, createFractionDigits, createLength, createMaxExclusive, createMaxInclusive, createMaxLength, createMinExclusive, createMinInclusive, createMinLength, createPattern, createTotalDigits, createWhiteSpace, getEnumerations, getFacets, getFractionDigits, getLength, getMaxExclusive, getMaxInclusive, getMaxLength, getMinExclusive, getMinInclusive, getMinLength, getPatterns, getTotalDigits, getWhiteSpace, hasFacets
 

Method Detail

setBase

void setBase(XsQName pBase)

getBase

XsQName getBase()

createSimpleType

XsTLocalSimpleType createSimpleType()
                                    throws org.xml.sax.SAXException
Specified by:
createSimpleType in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getSimpleType

XsTLocalSimpleType getSimpleType()
Specified by:
getSimpleType in interface XsGSimpleRestrictionModel