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)
 
(7 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"?>
Ligne 16 : 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 23 : 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 32 : 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 38 : 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 44 : 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 51 : 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 76 : 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>