ONYX - 9.0 - Utilisation - Designer XML Schema Definition (XSD)

Différence entre versions

De MappingDoc
(Ce document décrit au travers un fichier XSD, le schéma d'un flux XML pouvant être pris en charge par Mapping Designer)
 
(8 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 +
=== Ce document décrit au travers un fichier XSD, le schéma d'un flux XML pouvant être pris en charge par Mapping Designer ===
 +
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by SHOCK (SHOCK) -->
 
 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
 
   <xs:element name="doc">
 
   <xs:element name="doc">
Ligne 17 : Ligne 18 :
 
               <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
 
               <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
 
                 <xs:annotation>
 
                 <xs:annotation>
                   <xs:documentation>Represents a simple field (a kind of attribute) for the whole page.</xs:documentation>
+
                   <xs:documentation>Represents a simple field (a simple data) for the whole page.</xs:documentation>
 
                 </xs:annotation>
 
                 </xs:annotation>
 
                 <xs:complexType>
 
                 <xs:complexType>
Ligne 24 : Ligne 25 :
 
                       <xs:attribute name="name" type="nonEmptyString" use="required">
 
                       <xs:attribute name="name" type="nonEmptyString" use="required">
 
                         <xs:annotation>
 
                         <xs:annotation>
                           <xs:documentation>Required to identify different types of 'field'. Value must be unique at this level (preceding and following sibling)</xs:documentation>
+
                           <xs:documentation>Required to identify each 'field'. Value must be unique at this level.</xs:documentation>
 
                         </xs:annotation>
 
                         </xs:annotation>
 
                       </xs:attribute>
 
                       </xs:attribute>
Ligne 33 : Ligne 34 :
 
               <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
 
               <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
 
                 <xs:annotation>
 
                 <xs:annotation>
                   <xs:documentation>A 'group' is a collection of lines and offers a convenient way to create tables</xs:documentation>
+
                   <xs:documentation>A 'group' is a collection of lines (records) and offers a convenient way to create tables</xs:documentation>
 
                 </xs:annotation>
 
                 </xs:annotation>
 
                 <xs:complexType>
 
                 <xs:complexType>
Ligne 39 : Ligne 40 :
 
                     <xs:element name="line" minOccurs="0" maxOccurs="unbounded">
 
                     <xs:element name="line" minOccurs="0" maxOccurs="unbounded">
 
                       <xs:annotation>
 
                       <xs:annotation>
                         <xs:documentation>Represents a row in a table</xs:documentation>
+
                         <xs:documentation>Represents a row (a record) in a table. The order of the lines in the group requires special attention</xs:documentation>
 
                       </xs:annotation>
 
                       </xs:annotation>
 
                       <xs:complexType>
 
                       <xs:complexType>
Ligne 45 : Ligne 46 :
 
                           <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
 
                           <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
 
                             <xs:annotation>
 
                             <xs:annotation>
                               <xs:documentation>Represents a field in a row</xs:documentation>
+
                               <xs:documentation>Represents a field (a data) in a row</xs:documentation>
 
                             </xs:annotation>
 
                             </xs:annotation>
 
                             <xs:complexType>
 
                             <xs:complexType>
Ligne 52 : Ligne 53 :
 
                                   <xs:attribute name="name" type="nonEmptyString" use="required">
 
                                   <xs:attribute name="name" type="nonEmptyString" use="required">
 
                                     <xs:annotation>
 
                                     <xs:annotation>
                                       <xs:documentation>Required to identify different types of 'field' in a line. Value must be unique at this level (preceding and following sibling)</xs:documentation>
+
                                       <xs:documentation>Required to identify each 'field' in the line. Value must be unique at this level</xs:documentation>
 
                                     </xs:annotation>
 
                                     </xs:annotation>
 
                                   </xs:attribute>
 
                                   </xs:attribute>
Ligne 77 : Ligne 78 :
 
                   <xs:attribute name="name" use="required">
 
                   <xs:attribute name="name" use="required">
 
                     <xs:annotation>
 
                     <xs:annotation>
                       <xs:documentation>Intended to identify different types of 'group' in a given 'page'</xs:documentation>
+
                       <xs:documentation>Intended to identify a 'group' in a given 'page'</xs:documentation>
 
                     </xs:annotation>
 
                     </xs:annotation>
                    <xs:simpleType>
 
                      <xs:restriction base="xs:string">
 
                        <xs:minLength value="1"/>
 
                        <xs:maxLength value="10"/>
 
                      </xs:restriction>
 
                    </xs:simpleType>
 
 
                   </xs:attribute>
 
                   </xs:attribute>
 
                 </xs:complexType>
 
                 </xs:complexType>

Version actuelle datée du 31 juillet 2020 à 17:16

Ce document décrit au travers un fichier XSD, le schéma d'un flux XML pouvant être pris en charge par Mapping Designer

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="doc">
    <xs:annotation>
      <xs:documentation>ROOT element with no other semantic</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="page" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Represents a document or a single page in a document. The order between 'group' and 'field' child elements doesn't matter, but the order between 'group' elements of same name requires special attention </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Represents a simple field (a simple data) for the whole page.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="nonEmptyString">
                      <xs:attribute name="name" type="nonEmptyString" use="required">
                        <xs:annotation>
                          <xs:documentation>Required to identify each 'field'. Value must be unique at this level.</xs:documentation>
                        </xs:annotation>
                      </xs:attribute>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>A 'group' is a collection of lines (records) and offers a convenient way to create tables</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="line" minOccurs="0" maxOccurs="unbounded">
                      <xs:annotation>
                        <xs:documentation>Represents a row (a record) in a table. The order of the lines in the group requires special attention</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
                            <xs:annotation>
                              <xs:documentation>Represents a field (a data) in a row</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="nonEmptyString">
                                  <xs:attribute name="name" type="nonEmptyString" use="required">
                                    <xs:annotation>
                                      <xs:documentation>Required to identify each 'field' in the line. Value must be unique at this level</xs:documentation>
                                    </xs:annotation>
                                  </xs:attribute>
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="name" type="nonEmptyString" use="required">
                          <xs:annotation>
                            <xs:documentation>Intended to identify different types of 'line' in a given group</xs:documentation>
                          </xs:annotation>
                        </xs:attribute>
                      </xs:complexType>
                      <xs:unique name="UniqueLineFieldName">
                        <xs:annotation>
                          <xs:documentation>group/line/field/@name uniqueness</xs:documentation>
                        </xs:annotation>
                        <xs:selector xpath="./field"/>
                        <xs:field xpath="@name"/>
                      </xs:unique>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" use="required">
                    <xs:annotation>
                      <xs:documentation>Intended to identify a 'group' in a given 'page'</xs:documentation>
                    </xs:annotation>
                  </xs:attribute>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attribute name="name" type="nonEmptyString" use="required">
              <xs:annotation>
                <xs:documentation>Intended to identify different types of 'page' in the overall document</xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
          <xs:unique name="UniqueFieldName">
            <xs:annotation>
              <xs:documentation>/doc/page/field/@name uniqueness</xs:documentation>
            </xs:annotation>
            <xs:selector xpath="./field"/>
            <xs:field xpath="@name"/>
          </xs:unique>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="nonEmptyString">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>