net.sf.jaxme.xs.xml.impl
Class XsESchemaImpl

java.lang.Object
  extended bynet.sf.jaxme.xs.xml.impl.XsObjectImpl
      extended bynet.sf.jaxme.xs.xml.impl.XsTOpenAttrsImpl
          extended bynet.sf.jaxme.xs.xml.impl.XsESchemaImpl
All Implemented Interfaces:
XsESchema, XsObject, XsTOpenAttrs
Direct Known Subclasses:
JAXBXsSchemaImpl

public class XsESchemaImpl
extends XsTOpenAttrsImpl
implements XsESchema

Implementation of xs:schema. Follows this specification:

  <xs:element name="schema" id="schema">
    <xs:annotation>
      <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="xs:openAttrs">
          <xs:sequence>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element ref="xs:include"/>
              <xs:element ref="xs:import"/>
              <xs:element ref="xs:redefine"/>
              <xs:element ref="xs:annotation"/>
            </xs:choice>
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:group ref="xs:schemaTop"/>
              <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
          </xs:sequence>
          <xs:attribute name="targetNamespace" type="xs:anyURI"/>
          <xs:attribute name="version" type="xs:token"/>
          <xs:attribute name="finalDefault" type="xs:derivationSet" use="optional" default=""/>
          <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
          <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
          <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
          <xs:attribute name="id" type="xs:ID"/>
          <xs:attribute ref="xml:lang"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

    <xs:key name="element">
      <xs:selector xpath="xs:element"/>
      <xs:field xpath="@name"/>
    </xs:key>
    <xs:key name="attribute">
      <xs:selector xpath="xs:attribute"/>
      <xs:field xpath="@name"/>
    </xs:key>
    <xs:key name="type">
      <xs:selector xpath="xs:complexType|xs:simpleType"/>
      <xs:field xpath="@name"/>
    </xs:key>
    <xs:key name="group">
      <xs:selector xpath="xs:group"/>
      <xs:field xpath="@name"/>
    </xs:key>
    <xs:key name="attributeGroup">
      <xs:selector xpath="xs:attributeGroup"/>
      <xs:field xpath="@name"/>
    </xs:key>
    <xs:key name="notation">
      <xs:selector xpath="xs:notation"/>
      <xs:field xpath="@name"/>
    </xs:key>
    <xs:key name="identityConstraint">
      <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
      <xs:field xpath="@name"/>
    </xs:key>
  </xs:element>

  <xs:group name="schemaTop">
    <xs:annotation>
      <xs:documentation>
        This group is for the
        elements which occur freely at the top level of schemas.
        All of their types are based on the "annotated" type by extension.
      </xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:group ref="xs:redefinable"/>
      <xs:element ref="xs:element"/>
      <xs:element ref="xs:attribute"/>
      <xs:element ref="xs:notation"/>
    </xs:choice>
  </xs:group>
 

Author:
Jochen Wiedmann

Constructor Summary
protected XsESchemaImpl(XSContext pContext)
           
 
Method Summary
 XsEAnnotation createAnnotation()
           
 XsTAttribute createAttribute()
           
 XsTAttributeGroup createAttributeGroup()
           
 XsTComplexType createComplexType()
           
 XsTTopLevelElement createElement()
           
 XsTNamedGroup createGroup()
           
 XsEImport createImport()
           
 XsEInclude createInclude()
           
 XsENotation createNotation()
           
 XsERedefine createRedefine()
           
 XsETopLevelSimpleType createSimpleType()
           
 XsFormChoice getAttributeFormDefault()
           
 XsBlockSet getBlockDefault()
           
 java.lang.Object[] getChilds()
          Returns the schema's childs.
 XSContext getContext()
          Returns the schema context.
 XsFormChoice getElementFormDefault()
           
 XsDerivationSet getFinalDefault()
           
 XsID getId()
           
 XmlLang getLang()
           
 XsAnyURI getTargetNamespace()
           
 java.lang.String getTargetNamespacePrefix()
          Returns a prefix associated with the target namespace or null, if no such prefix is available.
 XsToken getVersion()
           
 boolean setAttribute(java.lang.String pQName, java.lang.String pNamespaceURI, java.lang.String pLocalName, java.lang.String pValue)
          This method receives all the attributes, including those from the XML schema namespace.
 void setAttributeFormDefault(XsFormChoice pChoice)
           
 void setBlockDefault(XsBlockSet pSet)
           
 void setElementFormDefault(XsFormChoice pChoice)
           
 void setFinalDefault(XsDerivationSet pSet)
           
 void setId(XsID pId)
           
 void setLang(XmlLang pLanguage)
           
 void setTargetNamespace(XsAnyURI pAnyURI)
           
 void setVersion(XsToken pToken)
           
 
Methods inherited from class net.sf.jaxme.xs.xml.impl.XsTOpenAttrsImpl
getOpenAttributes
 
Methods inherited from class net.sf.jaxme.xs.xml.impl.XsObjectImpl
asXsQName, getLocator, getNamespaceSupport, getObjectFactory, getParentObject, getXsESchema, isTopLevelObject, isValidated, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.jaxme.xs.xml.XsTOpenAttrs
getOpenAttributes
 
Methods inherited from interface net.sf.jaxme.xs.xml.XsObject
getLocator, getObjectFactory, getParentObject, getXsESchema, isTopLevelObject, validate
 

Constructor Detail

XsESchemaImpl

protected XsESchemaImpl(XSContext pContext)
Method Detail

getContext

public XSContext getContext()
Description copied from interface: XsESchema

Returns the schema context.

Specified by:
getContext in interface XsESchema
Overrides:
getContext in class XsObjectImpl

createInclude

public XsEInclude createInclude()
Specified by:
createInclude in interface XsESchema

createImport

public XsEImport createImport()
Specified by:
createImport in interface XsESchema

createRedefine

public XsERedefine createRedefine()
Specified by:
createRedefine in interface XsESchema

createAnnotation

public XsEAnnotation createAnnotation()
Specified by:
createAnnotation in interface XsESchema

createSimpleType

public XsETopLevelSimpleType createSimpleType()
Specified by:
createSimpleType in interface XsESchema

createComplexType

public XsTComplexType createComplexType()
Specified by:
createComplexType in interface XsESchema

createGroup

public XsTNamedGroup createGroup()
Specified by:
createGroup in interface XsESchema

createAttributeGroup

public XsTAttributeGroup createAttributeGroup()
Specified by:
createAttributeGroup in interface XsESchema

createElement

public XsTTopLevelElement createElement()
Specified by:
createElement in interface XsESchema

createAttribute

public XsTAttribute createAttribute()
Specified by:
createAttribute in interface XsESchema

createNotation

public XsENotation createNotation()
Specified by:
createNotation in interface XsESchema

getAttributeFormDefault

public XsFormChoice getAttributeFormDefault()
Specified by:
getAttributeFormDefault in interface XsESchema

setAttributeFormDefault

public void setAttributeFormDefault(XsFormChoice pChoice)
Specified by:
setAttributeFormDefault in interface XsESchema

getBlockDefault

public XsBlockSet getBlockDefault()
Specified by:
getBlockDefault in interface XsESchema

setBlockDefault

public void setBlockDefault(XsBlockSet pSet)
Specified by:
setBlockDefault in interface XsESchema

getElementFormDefault

public XsFormChoice getElementFormDefault()
Specified by:
getElementFormDefault in interface XsESchema

setElementFormDefault

public void setElementFormDefault(XsFormChoice pChoice)
Specified by:
setElementFormDefault in interface XsESchema

getFinalDefault

public XsDerivationSet getFinalDefault()
Specified by:
getFinalDefault in interface XsESchema

setFinalDefault

public void setFinalDefault(XsDerivationSet pSet)
Specified by:
setFinalDefault in interface XsESchema

getId

public XsID getId()
Specified by:
getId in interface XsESchema

setId

public void setId(XsID pId)
Specified by:
setId in interface XsESchema

getTargetNamespace

public XsAnyURI getTargetNamespace()
Specified by:
getTargetNamespace in interface XsESchema

getTargetNamespacePrefix

public java.lang.String getTargetNamespacePrefix()
Description copied from interface: XsESchema

Returns a prefix associated with the target namespace or null, if no such prefix is available.

Specified by:
getTargetNamespacePrefix in interface XsESchema

setTargetNamespace

public void setTargetNamespace(XsAnyURI pAnyURI)
Specified by:
setTargetNamespace in interface XsESchema

getVersion

public XsToken getVersion()
Specified by:
getVersion in interface XsESchema

setVersion

public void setVersion(XsToken pToken)
Specified by:
setVersion in interface XsESchema

getLang

public XmlLang getLang()

setLang

public void setLang(XmlLang pLanguage)

setAttribute

public boolean setAttribute(java.lang.String pQName,
                            java.lang.String pNamespaceURI,
                            java.lang.String pLocalName,
                            java.lang.String pValue)
                     throws org.xml.sax.SAXException
Description copied from class: XsTOpenAttrsImpl

This method receives all the attributes, including those from the XML schema namespace. The method refuses to handle the attribute, if it has the XML schema namespace by returning the value false. Otherwise, the attribute is added to the list returned by XsTOpenAttrsImpl.getOpenAttributes() and the value true is returned.

Overrides:
setAttribute in class XsTOpenAttrsImpl
Throws:
org.xml.sax.SAXException

getChilds

public java.lang.Object[] getChilds()
Description copied from interface: XsESchema

Returns the schema's childs. These are instances of XsEInclude, XsEImport, XsERedefine, XsEAnnotation, XsETopLevelSimpleType, XsTComplexType, XsTGroup, XsTAttributeGroup, XsTTopLevelElement, or XsENotation, in the order of the document. This order is the same order than by invocation of the corresponding XsESchema.createInclude(), XsESchema.createImport(), ... method calls.

Be aware, that a subclass of XsESchema may very well include other objects.

Specified by:
getChilds in interface XsESchema