XIII. -//TIREME//MODEL XS2DTD HANDLER//FR

Element xs2dtd — Root of the structure, including n schema2dtd structures 
Element nsDefs — Global definitions of all used namespaces 
Element nsDef — Namespace/prefix declaration 
Element xs2dtdHandler — structure handling information from a Schema : contains only parameter entity definitions and element declaration 
Element globalProperties — Properties for the main structure 
Element xsProperties — Properties extracted from XML Schema file relevant to the xs namespace itself 
Element xsFileProperties — XML Schema file properties 
Element targetNamespace — TargetNamespace : value must be found in one nsDef element 
Element noTargetNamespace — The schema has no target namespace 
Element qualificationScope — Misc informations about qualification (elemFormDefault, attributeFormDefault) 
Element sdProperties — Properties extracted from XML Schema file relevant to the SchemaDoc namespace 
Element sdProperty — Generic SchemaDoc property management 
Element declarations — All declarations : parameter entities and element declarations, comment -from xs annotation- may be found. 
Element peDef — Parameter Entity declaration. May be a simple content model (from simpleType), a complex content model (from complexType, group), attributes declarations (complexType, attribute, attributeGroup)  
Complex type peType — parameterEntities 
Element elementDecl — element declaration 
Element attributesDecl — case of complex type redefinition, a new attribute is defined. In this cas, it generates a peDef and an attribute declaration -for an elemRef- with a peRef. The attributes decl refers to an element declared somewhere (referenced by elementRef) 
Element notation — TODO !!! 
Element systemLocation — file path 
Element publicEntitySetName — Reference to a public declared name, in the case where inclusion is not managed by xs2dtd 
Element qName — qualified name : namespace, localName 
Complex type qNameType — qualified name (namespace and local name) 
Element comment — comment : may include any XSD structure, and particulary : xs:annotation elements and original xs structures (complexTypes, simpleTypes, ect...) 
Element lostFacets — Defines all facets that are contained within the declaration and lost 
Element contentModelMadeEMPTY — Generated as soon as the content model was emptied and replaced by EMPTY 
Element contentModelMadeANY — Generated as soon as the content model was emptied and replaced by ANY 
Element lostFacet — One specific lost facet. 
Element initialContentModel — Store the original content model as soon as it has been modified by xs2dtd. 
Element usedInOtherEntitySet — Generated as soon as an entity declaration has references in other entity sets and which location could not be resolved by the re-ordering mechanisms 
Element para — Pure text comments to be output as line comments 
Element contentModel —  
Complex type contentModelType — content model :  
Element choice — choice of elements  
Element sequence — sequence of elements 
Complex type nestedParticleType — all information that may appear within a choice or a sequence 
Complex type nestedParticle4MixedType — information used for mixed content. only choice structure can be found. a complementary test must check that peRef used in sub-structure refers to "choice content model' peDef elements 
Attribute group occurrence —  
Element attributes — List of attribute declarations : related to parent elementDecl, includes peRef (to attributePeType peDef) and/or local declared attributes 
Complex type attributesType —  
Complex type attributeType — an attribute 
Element attributeTypeContent —  
Group attributeTypeContent — patt: definition of the type of an attribute 
Complex type externalPeType — external parameter entity ; patt: ajout d'un attribut pour appeler l'entité paramètre au moment de sa déclaration (à voir plus tard) 
Complex type contentModelPeType — internal parameter entity containig content model definition 
Complex type attributePeType — internal parameter entity containig attribute definitions 
Complex type attributeContentPEType — patt: internal parameter entity containing attribute type 
Element externalRef — Reference to an external entity 
Element peRef — reference to a peDef 
Element elementRef — Reference to an element definition 
Element xs2DtdHandlerRef — reference to the imported/included xs2dtdHandler 
Element schemaOrigin — link to the schema original element 

Contents

XS2DTD Handler definition

Managing imports for the need of comment elements

Set of handlers

handler top level

Top level for declarations

Reused contents

Reused contents

Comments

Content model

Attributes

Parameter entities

References

Tracking information from original schema

XS2DTD Handler definition

Managing imports for the need of comment elements

Set of handlers

Element xs2dtd

xs2dtd — Root of the structure, including n schema2dtd structures 

nsDefsxs2dtdHandlermapNB7540

Source

<xs:element name="xs2dtd">

  <xs:complexType mixed="false">

    <xs:sequence>

      <xs:element ref="nsDefs">      </xs:element>

      <xs:element maxOccurs="unbounded" ref="xs2dtdHandler">      </xs:element>

    </xs:sequence>

  </xs:complexType>

</xs:element>

Element nsDefs

nsDefs — Global definitions of all used namespaces 

nsDefmapNB7630

Element nsDef

nsDef — Namespace/prefix declaration 

mapNB7706

handler top level

Element xs2dtdHandler

xs2dtdHandler — structure handling information from a Schema : contains only parameter entity definitions and element declaration 

globalPropertiesdeclarationsmapNB7855

Source

<xs:element name="xs2dtdHandler">

  <xs:complexType mixed="false">

    <xs:sequence>

      <xs:element minOccurs="0" ref="globalProperties">      </xs:element>

      <xs:element ref="declarations">      </xs:element>

    </xs:sequence>

    <xs:attribute name="handlerId" type="xs:ID" use="optional"/>

    <xs:attribute name="type">

      <xs:simpleType>

        <xs:restriction base="xs:string">

          <xs:enumeration value="main"/>

          <xs:enumeration value="include"/>

          <xs:enumeration value="import"/>

        </xs:restriction>

      </xs:simpleType>

    </xs:attribute>

  </xs:complexType>

</xs:element>

Element globalProperties

globalProperties — Properties for the main structure 

xsPropertiessdPropertiesmapNB7A91

Source

<xs:element name="globalProperties">

  <xs:complexType mixed="false">

    <xs:sequence>

      <xs:element ref="xsProperties">      </xs:element>

      <xs:element minOccurs="0" ref="sdProperties">      </xs:element>

    </xs:sequence>

  </xs:complexType>

</xs:element>

Element xsProperties

xsProperties — Properties extracted from XML Schema file relevant to the xs namespace itself 

xsFilePropertiestargetNamespacenoTargetNamespacequalificationScopemapNB7B93

Source

<xs:element name="xsProperties">

  <xs:complexType mixed="false">

    <xs:sequence>

      <xs:element ref="xsFileProperties">      </xs:element>

      <xs:choice>

        <xs:element ref="targetNamespace">        </xs:element>

        <xs:element ref="noTargetNamespace">        </xs:element>

      </xs:choice>

      <xs:element ref="qualificationScope">      </xs:element>

    </xs:sequence>

  </xs:complexType>

</xs:element>

Element xsFileProperties

xsFileProperties — XML Schema file properties 

mapNB7CF8

Element targetNamespace

targetNamespace — TargetNamespace : value must be found in one nsDef element 

mapNB7DF7

Element noTargetNamespace

noTargetNamespace — The schema has no target namespace 

mapNB7EF6

Element qualificationScope

qualificationScope — Misc informations about qualification (elemFormDefault, attributeFormDefault) 

mapNB7F55

Element sdProperties

sdProperties — Properties extracted from XML Schema file relevant to the SchemaDoc namespace 

sdPropertymapNB807F

Element sdProperty

sdProperty — Generic SchemaDoc property management 

mapNB8155

Top level for declarations

Element declarations

declarations — All declarations : parameter entities and element declarations, comment -from xs annotation- may be found. 

peDefpeTypeelementDeclattributesDeclpeRefqNameTypecommentnotationmapNB82A4

Source

<xs:element name="declarations">

  <xs:complexType mixed="false">

    <xs:choice maxOccurs="unbounded">

      <xs:element ref="peDef">      </xs:element>

      <xs:element ref="elementDecl">      </xs:element>

      <xs:element ref="attributesDecl">      </xs:element>

      <xs:element ref="peRef">      </xs:element>

      <xs:element ref="comment">      </xs:element>

      <xs:element ref="notation">      </xs:element>

    </xs:choice>

  </xs:complexType>

</xs:element>

Element peDef

peDef — Parameter Entity declaration. May be a simple content model (from simpleType), a complex content model (from complexType, group), attributes declarations (complexType, attribute, attributeGroup)  

Complex type peType

peType — parameterEntities 

qNameqNameTypecommentschemaOriginexternalRefcontentModelcontentModelTypeattributesattributesTypeattributeTypeContentmapNB850E

Source

<xs:complexType mixed="false" name="peType">

  <xs:sequence>

    <xs:element ref="qName">    </xs:element>

    <xs:element minOccurs="0" ref="comment">    </xs:element>

    <xs:element maxOccurs="unbounded" minOccurs="0" ref="schemaOrigin">    </xs:element>

    <xs:choice minOccurs="0">

      <xs:element ref="externalRef">      </xs:element>

      <xs:element ref="contentModel">      </xs:element>

      <xs:element ref="attributes">      </xs:element>

      <xs:element ref="attributeTypeContent">      </xs:element>

    </xs:choice>

  </xs:sequence>

</xs:complexType>

Element elementDecl

elementDecl — element declaration 

qNameqNameTypeschemaOrigincommentcontentModelcontentModelTypeattributesattributesTypemapNB873A

Source

<xs:element name="elementDecl">

  <xs:complexType mixed="false">

    <xs:sequence>

      <xs:element ref="qName">      </xs:element>

      <xs:element maxOccurs="unbounded" minOccurs="0" ref="schemaOrigin">      </xs:element>

      <xs:element minOccurs="0" ref="comment">      </xs:element>

      <xs:element ref="contentModel">      </xs:element>

      <xs:element minOccurs="0" ref="attributes">      </xs:element>

    </xs:sequence>

  </xs:complexType>

</xs:element>

Element attributesDecl

attributesDecl — case of complex type redefinition, a new attribute is defined. In this cas, it generates a peDef and an attribute declaration -for an elemRef- with a peRef. The attributes decl refers to an element declared somewhere (referenced by elementRef) 

elementRefqNameTypeschemaOriginattributesattributesTypemapNB88F6

Source

<xs:element name="attributesDecl">

  <xs:complexType mixed="false">

    <xs:sequence>

      <xs:element ref="elementRef">      </xs:element>

      <xs:element maxOccurs="unbounded" minOccurs="0" ref="schemaOrigin">      </xs:element>

      <xs:element ref="attributes">      </xs:element>

    </xs:sequence>

  </xs:complexType>

</xs:element>

Element notation

notation — TODO !!! 

mapNB8A3B

Element systemLocation

systemLocation — file path 

mapNB8A9A

Element publicEntitySetName

publicEntitySetName — Reference to a public declared name, in the case where inclusion is not managed by xs2dtd 

mapNB8BA5

Reused contents

Reused contents

Element qName

qName — qualified name : namespace, localName 

Complex type qNameType

qNameType — qualified name (namespace and local name) 

mapNB8D77

Comments

Element comment

comment — comment : may include any XSD structure, and particulary : xs:annotation elements and original xs structures (complexTypes, simpleTypes, ect...) 

lostFacetsparainitialContentModelcontentModelMadeEMPTYcontentModelMadeANYusedInOtherEntitySetmapNB8EB6