net.sf.jaxme.xs.xml
Interface XsERestriction

All Superinterfaces:
XsGSimpleRestrictionModel, XsObject, XsTAnnotated
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 net.sf.jaxme.xs.xml.XsTAnnotated
createAnnotation, getAnnotation, getId, setId
 
Methods inherited from interface net.sf.jaxme.xs.xml.XsObject
getLocator, getObjectFactory, getParentObject, getXsESchema, isTopLevelObject, validate
 
Methods inherited from interface net.sf.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

public void setBase(XsQName pBase)

getBase

public XsQName getBase()

createSimpleType

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

getSimpleType

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