Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XSD验证的XML文档中的节点顺序_Xml_Xsd_Xsd Validation - Fatal编程技术网

使用XSD验证的XML文档中的节点顺序

使用XSD验证的XML文档中的节点顺序,xml,xsd,xsd-validation,Xml,Xsd,Xsd Validation,我正在尝试使用XSD使用我的应用程序验证XML文件。 问题是我想要一个在节点中没有顺序的XML文件。 似乎我有两个选择来构建xsd 使用xs:all:在这种情况下,没有节点的顺序,而是maxOccurs=“1” 使用xs:sequence:在这种情况下,没有限制maxOccurs, 而是节点中的一个顺序 出现问题的节点示例:导出,留置项,onglet\u页面 <?xml version="1.0" encoding="UTF-8"?> <interface xmlns=

我正在尝试使用XSD使用我的应用程序验证XML文件。 问题是我想要一个在节点中没有顺序的XML文件。 似乎我有两个选择来构建xsd

  • 使用
    xs:all
    :在这种情况下,没有节点的顺序,而是
    maxOccurs=“1”

  • 使用
    xs:sequence
    :在这种情况下,没有限制
    maxOccurs
    , 而是节点中的一个顺序

  • 出现问题的节点示例:
    导出
    留置项
    onglet\u页面

        <?xml version="1.0" encoding="UTF-8"?>
    <interface xmlns="http://tempuri.org/Interface.xsd">
      <general>
        <theme>Windows8</theme>
        <photo>standard.png</photo>
        <version>1.1</version>
        <is_combo_interface_enabled>true</is_combo_interface_enabled>
        <appel champ="" tri="ASC" type="" visible="True" />
        <affiche_bloc_questionnaire>true</affiche_bloc_questionnaire>
        <affiche_kit_secours>false</affiche_kit_secours>
        <affiche_check_photos>true</affiche_check_photos>
        <affiche_btn_appel>true</affiche_btn_appel>
        <affiche_btn_auto>true</affiche_btn_auto>
        <affiche_btn_resultats_liste_resultats>true</affiche_btn_resultats_liste_resultats>
        <affichage_boutons_resultats>
          <tabexamen_btn_res_ind>true</tabexamen_btn_res_ind>
          <tabexamen_btn_res_col>true</tabexamen_btn_res_col>
          <tablistres_btn_res_ind>true</tablistres_btn_res_ind>
          <tablistres_btn_res_col>true</tablistres_btn_res_col>
          <tabtest_btn_res_ind>true</tabtest_btn_res_ind>
          <tabtest_btn_res_col>true</tabtest_btn_res_col>
        </affichage_boutons_resultats>
        <affiche_panel_bas>true</affiche_panel_bas>
        <affiche_btn_import>true</affiche_btn_import>
        <affiche_panel_examen>false</affiche_panel_examen>
        <edit_results>true</edit_results>
        <ajout_personne_autorise>true</ajout_personne_autorise>
        <suppression_personne_autorise>true</suppression_personne_autorise>
        <modifier_inscription_autorise>true</modifier_inscription_autorise>
        <signature_electronique>false</signature_electronique>
        <alerte_signature>false</alerte_signature>
        <nb_personnes_max>60</nb_personnes_max>
        <nb_menus>6</nb_menus>
        <nb_liens>4</nb_liens>
        <nb_champs_session>6</nb_champs_session>
        <nb_champs_personne>10</nb_champs_personne>
        <nb_champs_examen_res>0</nb_champs_examen_res>
        <export>
          <export_item num="1" adresse="" login="" password="" zip="true" chiffre="false" showform="true">MDB</export_item>
          <export_item num="2" adresse="" login="" password="" zip="true" chiffre="false" showform="true">XLS</export_item>
        </export>
        <menu>
          <menu_item num="1">
            <menu_action>CREER_SESSION</menu_action>
          </menu_item>
          <menu_item num="2">
            <menu_action>RECHERCHER</menu_action>
          </menu_item>
          <menu_item num="3">
            <menu_action>PARAMETRES</menu_action>
          </menu_item>
        </menu>
        <onglet>
          <onglet_page num="1">
            <onglet_visible>true</onglet_visible>
          </onglet_page>
          <onglet_page num="2">
            <onglet_visible>false</onglet_visible>
          </onglet_page>
        </onglet>
        <default_import_directory></default_import_directory>
        <default_import_file></default_import_file>
        <default_export_directory></default_export_directory>
        <lien>
          <lien_item num="1">
            <text>ASSISTANCE</text>
            <action>1.exe</action>
          </lien_item>
          <lien_item num="2">
            <text>WEB</text>
            <action>2.exe</action>
          </lien_item>
          <lien_item num="3">
            <text>NEWS</text>
            <action>version_contenu.txt</action>
          </lien_item>
          <lien_item num="4">
            <text>AIDE</text>
            <action>Aide\Qui.chm</action>
          </lien_item>
        </lien>
      </general>
      <!-- nom_champ_session = Libellé du label du groupbox session -->
      <session>
        <champ_session num="1">
          <nom_champ_session>LIB_SESSION</nom_champ_session>
          <controle_session num="1">
            <obligatoire_champ_session>true</obligatoire_champ_session>
            <type_controle_session>textbox</type_controle_session>
            <longueur_controle_session>150</longueur_controle_session>
            <donnees_controle_session>texte</donnees_controle_session>
            <propertie_session>Libelle</propertie_session>
            <modifiable_champ_session>true</modifiable_champ_session>
          </controle_session>
        </champ_session>
        <champ_session num="2">
          <nom_champ_session>CHOIX_EXAMEN</nom_champ_session>
          <controle_session num="1">
            <obligatoire_champ_session>false</obligatoire_champ_session>
            <type_controle_session>dropdownlist</type_controle_session>
            <longueur_controle_session>150</longueur_controle_session>
            <donnees_controle_session>texte</donnees_controle_session>
            <propertie_session>cboExamen</propertie_session>
            <modifiable_champ_session>true</modifiable_champ_session>
          </controle_session>
        </champ_session>
        <champ_session num="3">
          <nom_champ_session>LIB_FORMATION</nom_champ_session>
          <controle_session num="1">
            <obligatoire_champ_session>false</obligatoire_champ_session>
            <type_controle_session>textbox</type_controle_session>
            <longueur_controle_session>150</longueur_controle_session>
            <donnees_controle_session>texte</donnees_controle_session>
            <propertie_session>NomFormation</propertie_session>
            <modifiable_champ_session>true</modifiable_champ_session>
          </controle_session>
        </champ_session>
        <champ_session num="4">
          <nom_champ_session>DATES_SESSION</nom_champ_session>
          <controle_session num="1">
            <obligatoire_champ_session>false</obligatoire_champ_session>
            <type_controle_session>datetimepicker</type_controle_session>
            <longueur_controle_session>90</longueur_controle_session>
            <donnees_controle_session>date</donnees_controle_session>
            <propertie_session>DateDebut</propertie_session>
            <modifiable_champ_session>true</modifiable_champ_session>
          </controle_session>
          <controle_session num="2">
            <obligatoire_champ_session>false</obligatoire_champ_session>
            <type_controle_session>datetimepicker</type_controle_session>
            <longueur_controle_session>90</longueur_controle_session>
            <donnees_controle_session>date</donnees_controle_session>
            <propertie_session>DateFin</propertie_session>
            <modifiable_champ_session>true</modifiable_champ_session>
          </controle_session>
        </champ_session>
        <champ_session num="5">
          <nom_champ_session>LIEU_FORMATION</nom_champ_session>
          <controle_session num="1">
            <obligatoire_champ_session>false</obligatoire_champ_session>
            <type_controle_session>dropdown</type_controle_session>
            <longueur_controle_session>150</longueur_controle_session>
            <donnees_controle_session>texte</donnees_controle_session>
            <propertie_session>LieuFormation</propertie_session>
            <modifiable_champ_session>true</modifiable_champ_session>
            <type_datasource_session>BDD</type_datasource_session>
            <valeur_datasource_session>tSession.LieuFormation</valeur_datasource_session>
            <affichage_datasource_session>tSession.LieuFormation</affichage_datasource_session>
          </controle_session>
        </champ_session>
        <champ_session num="6">
          <nom_champ_session>RESPONSABLE_FORMATION</nom_champ_session>
          <controle_session num="1">
            <obligatoire_champ_session>false</obligatoire_champ_session>
            <type_controle_session>dropdown</type_controle_session>
            <longueur_controle_session>150</longueur_controle_session>
            <donnees_controle_session>texte</donnees_controle_session>
            <propertie_session>Formateur</propertie_session>
            <modifiable_champ_session>true</modifiable_champ_session>
            <type_datasource_session>BDD</type_datasource_session>
            <valeur_datasource_session>tSession.Formateur</valeur_datasource_session>
            <affichage_datasource_session>tSession.IdFormateur</affichage_datasource_session>
          </controle_session>
        </champ_session>
      </session>
      <personne>
        <champ_personne num="1">
          <nom_champ_personne>KEY</nom_champ_personne>
          <obligatoire_champ_personne>false</obligatoire_champ_personne>
          <mode_grille_fiche_personne>LES2</mode_grille_fiche_personne>
          <controle_personne>
            <type_controle_personne>textbox</type_controle_personne>
            <longueur_controle_personne>0</longueur_controle_personne>
            <donnees_controle_personne>texte</donnees_controle_personne>
            <propertie_personne>Key</propertie_personne>
            <modifiable_personne>true</modifiable_personne>
          </controle_personne>
        </champ_personne>
        <champ_personne num="2">
          <nom_champ_personne>PRESENCE</nom_champ_personne>
          <obligatoire_champ_personne>false</obligatoire_champ_personne>
          <mode_grille_fiche_personne>grille</mode_grille_fiche_personne>
          <controle_personne>
            <type_controle_personne>checkbox</type_controle_personne>
            <longueur_controle_personne>30</longueur_controle_personne>
            <donnees_controle_personne>texte</donnees_controle_personne>
            <propertie_personne>Present</propertie_personne>
            <modifiable_personne>true</modifiable_personne>
          </controle_personne>
        </champ_personne>
        <champ_personne num="3">
          <nom_champ_personne>PHOTO</nom_champ_personne>
          <obligatoire_champ_personne>false</obligatoire_champ_personne>
          <mode_grille_fiche_personne>FICHE</mode_grille_fiche_personne>
          <controle_personne>
            <type_controle_personne>image</type_controle_personne>
            <longueur_controle_personne>50</longueur_controle_personne>
            <donnees_controle_personne>texte</donnees_controle_personne>
            <propertie_personne>Photo</propertie_personne>
            <modifiable_personne>true</modifiable_personne>
          </controle_personne>
        </champ_personne>
        <champ_personne num="4">
          <nom_champ_personne>NOM</nom_champ_personne>
          <obligatoire_champ_personne>true</obligatoire_champ_personne>
          <mode_grille_fiche_personne>LES2</mode_grille_fiche_personne>
          <controle_personne>
            <type_controle_personne>textbox</type_controle_personne>
            <longueur_controle_personne>100</longueur_controle_personne>
            <donnees_controle_personne>texte</donnees_controle_personne>
            <propertie_personne>Nom</propertie_personne>
            <modifiable_personne>true</modifiable_personne>
          </controle_personne>
        </champ_personne>
      </personne>
        <examen>
            <examen_lib num="1">R372m</examen_lib>
            <examen_lib num="2">R386</examen_lib>
            <examen_lib num="3">R389</examen_lib>
            <examen_lib num="4">R390</examen_lib>
            <examen_lib num="5">LV 22 R389</examen_lib>
            <examen_lib num="6">LV 32 R389</examen_lib>
            <examen_lib num="7">LV 42 R389</examen_lib>
            <examen_lib num="8">LV 14 R386</examen_lib>
            <examen_lib num="9">LV 24 R386</examen_lib>
        </examen>
    </interface>
    
    
    窗口8
    standard.png
    1.1
    真的
    真的
    假的
    真的
    真的
    真的
    真的
    真的
    真的
    真的
    真的
    真的
    真的
    真的
    真的
    假的
    真的
    真的
    真的
    真的
    假的
    假的
    60
    6.
    4.
    6.
    10
    0
    MDB
    XLS
    克里尔会议
    回收机
    参数
    真的
    假的
    援助
    1.exe
    网状物
    2.exe
    新闻
    版本\u contenu.txt
    助手
    Aide\Qui.chm
    自由会议
    真的
    文本框
    150
    短信
    水蜻蜓
    真的
    乔伊斯曼
    假的
    下拉
    150
    短信
    cboExamen
    真的
    LIB_组
    假的
    文本框
    150
    短信
    命名信息
    真的
    会议日期
    假的
    日期时间选择器
    90
    日期
    首次登场
    真的
    假的
    日期时间选择器
    90
    日期
    达特芬
    真的
    利乌组
    假的
    下拉列表
    150
    短信
    造形
    真的
    BDD
    t会话格式
    t会话格式
    负责任的团队
    假的
    下拉列表
    150
    短信
    组阁者
    真的
    BDD
    T会话格式化程序
    tSession.i格式
    钥匙
    假的
    LES2
    文本框
    0
    短信
    钥匙
    真的
    在场
    假的
    格栅
    复选框
    30
    短信
    目前
    真的
    照片
    假的
    菲什
    形象
    50
    短信
    照片
    真的
    笔名
    真的
    LES2
    文本框
    100
    短信
    笔名
    真的
    372M南非兰特
    R386
    R389
    R390
    吕22 R389
    LV 32 R389
    LV 42 R389
    14级R386
    LV 24 R386
    
    用于验证上述XML的XSD是:

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema id="interface" targetNamespace="http://tempuri.org/Interface.xsd" xmlns:mstns="http://tempuri.org/Interface.xsd" xmlns="http://tempuri.org/Interface.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">
      <xs:element name="interface" msdata:IsDataSet="true" msdata:Locale="en-US">
        <xs:complexType>
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="general">
              <xs:complexType>
                <xs:all>
                  <xs:element name="theme" type="xs:string" minOccurs="0" />
                  <xs:element name="photo" type="xs:string" minOccurs="0" />
                  <xs:element name="version" type="xs:string" minOccurs="0" />
                  <xs:element name="is_combo_interface_enabled" type="xs:string" minOccurs="0" />
                  <xs:element name="appel" nillable="true" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                             <!-- <xs:extension base="xs:string">-->
                                <xs:attribute name="champ" form="unqualified" type="xs:string" />
                                <xs:attribute name="tri" form="unqualified" type="xs:string" />
                                <xs:attribute name="type" form="unqualified" type="xs:string" />
                                <xs:attribute name="visible" form="unqualified" type="xs:string" />
                              <!--</xs:extension>-->
                          </xs:complexType>
                        </xs:element>
                  <xs:element name="affiche_bloc_questionnaire" type="xs:string" minOccurs="0" />
                  <xs:element name="affiche_kit_secours" type="xs:string" minOccurs="0" />
                  <xs:element name="affiche_check_photos" type="xs:string" minOccurs="0" />
                  <xs:element name="affiche_btn_appel" type="xs:string" minOccurs="0" />
                  <xs:element name="affiche_btn_auto" type="xs:string" minOccurs="0" />
                  <xs:element name="affiche_btn_resultats_liste_resultats" type="xs:string" minOccurs="0" />
    
                  <xs:element name="affichage_boutons_resultats" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="tabexamen_btn_res_ind" type="xs:string" minOccurs="0" msdata:Ordinal="0"/>
                            <xs:element name="tabexamen_btn_res_col" type="xs:string" minOccurs="0" msdata:Ordinal="1"/>
                            <xs:element name="tablistres_btn_res_ind" type="xs:string" minOccurs="0" msdata:Ordinal="2"/>
                            <xs:element name="tablistres_btn_res_col" type="xs:string" minOccurs="0" msdata:Ordinal="3"/>
                            <xs:element name="tabtest_btn_res_ind" type="xs:string" minOccurs="0" msdata:Ordinal="4"/>
                            <xs:element name="tabtest_btn_res_col" type="xs:string" minOccurs="0" msdata:Ordinal="5"/>
                          </xs:sequence>
                     </xs:complexType>
                   </xs:element>
    
                  <xs:element name="affiche_panel_bas" type="xs:string" minOccurs="0" />
                  <xs:element name="affiche_btn_import" type="xs:string" minOccurs="0" />
                  <xs:element name="affiche_panel_examen" type="xs:string" minOccurs="0" />
                  <xs:element name="build" type="xs:string" minOccurs="0" />
                  <xs:element name="edit_results" type="xs:string" minOccurs="0" />
                  <xs:element name="ajout_personne_autorise" type="xs:string" minOccurs="0" />
                  <xs:element name="suppression_personne_autorise" type="xs:string" minOccurs="0" />
                  <xs:element name="modifier_inscription_autorise" type="xs:string" minOccurs="0" />
                  <xs:element name="signature_electronique" type="xs:string" minOccurs="0" />
                  <xs:element name="alerte_signature" type="xs:string" minOccurs="0" />
                  <xs:element name="nb_personnes_max" type="xs:string" minOccurs="0" />
                  <xs:element name="nb_menus" type="xs:string" minOccurs="0" />
                  <xs:element name="nb_liens" type="xs:string" minOccurs="0" />
                  <xs:element name="nb_champs_session" type="xs:string" minOccurs="0" />
                  <xs:element name="nb_champs_personne" type="xs:string" minOccurs="0" />
                  <xs:element name="nb_champs_examen_res" type="xs:string" minOccurs="0" />
                  <xs:element name="export" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                    <xs:sequence>
                        <xs:element name="export_item" nillable="true" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:simpleContent msdata:ColumnName="export_item_Text" msdata:Ordinal="4">
                              <xs:extension base="xs:string">
                                <xs:attribute name="num" form="unqualified" type="xs:string" />
                                <xs:attribute name="adresse" form="unqualified" type="xs:string" />
                                <xs:attribute name="login" form="unqualified" type="xs:string" />
                                <xs:attribute name="password" form="unqualified" type="xs:string" />
                                <xs:attribute name="zip" form="unqualified" type="xs:string" />
                                <xs:attribute name="chiffre" form="unqualified" type="xs:string" />
                                <xs:attribute name="showform" form="unqualified" type="xs:string" />
                                <xs:attribute name="maille" form="unqualified" type="xs:string" />
                                <xs:attribute name="argument1" form="unqualified" type="xs:string" />
                                <xs:attribute name="local_directory" form="unqualified" type="xs:string" />
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="menu" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="menu_item" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="menu_action" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                            </xs:sequence>
                            <xs:attribute name="num" form="unqualified" type="xs:string" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="onglet" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="onglet_page" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="onglet_visible" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                            </xs:sequence>
                            <xs:attribute name="num" form="unqualified" type="xs:string" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="import" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="import_item" nillable="true" minOccurs="0" maxOccurs="unbounded" msdata:Ordinal="1">
                          <xs:complexType>
                            <xs:simpleContent msdata:ColumnName="import_item_Text" msdata:Ordinal="2">
                              <xs:extension base="xs:string">
                                <xs:attribute name="num" form="unqualified" type="xs:string" />
                                <xs:attribute name="type" form="unqualified" type="xs:string" />
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="default_import_directory" type="xs:string" minOccurs="0" />
                  <xs:element name="default_import_file" type="xs:string" minOccurs="0" />
                  <xs:element name="default_export_directory" type="xs:string" minOccurs="0" />
                  <xs:element name="lien" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="lien_item" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="text" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
                              <xs:element name="action" type="xs:string" minOccurs="0" msdata:Ordinal="2" />
                            </xs:sequence>
                            <xs:attribute name="num" form="unqualified" type="xs:string" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:all>
              </xs:complexType>
            </xs:element>
            <xs:element name="session">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="champ_session" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="nom_champ_session" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                        <xs:element name="controle_session" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="obligatoire_champ_session" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                              <xs:element name="type_controle_session" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
                              <xs:element name="longueur_controle_session" type="xs:string" minOccurs="0" msdata:Ordinal="2" />
                              <xs:element name="donnees_controle_session" type="xs:string" minOccurs="0" msdata:Ordinal="3" />
                              <xs:element name="propertie_session" type="xs:string" minOccurs="0" msdata:Ordinal="4" />
                              <xs:element name="modifiable_champ_session" type="xs:string" minOccurs="0" msdata:Ordinal="5" />
                              <xs:element name="type_datasource_session" type="xs:string" minOccurs="0" msdata:Ordinal="6" />
                              <xs:element name="valeur_datasource_session" type="xs:string" minOccurs="0" msdata:Ordinal="7" />
                              <xs:element name="affichage_datasource_session" type="xs:string" minOccurs="0" msdata:Ordinal="8" />
                            </xs:sequence>
                            <xs:attribute name="num" form="unqualified" type="xs:string" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:attribute name="num" form="unqualified" type="xs:string" />
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="personne">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="champ_personne" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="nom_champ_personne" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                        <xs:element name="obligatoire_champ_personne" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
                        <xs:element name="mode_grille_fiche_personne" type="xs:string" minOccurs="0" msdata:Ordinal="2" />
                        <xs:element name="controle_personne" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="type_controle_personne" type="xs:string" minOccurs="0" />
                              <xs:element name="longueur_controle_personne" type="xs:string" minOccurs="0" />
                              <xs:element name="donnees_controle_personne" type="xs:string" minOccurs="0" />
                              <xs:element name="propertie_personne" type="xs:string" minOccurs="0" />
                              <xs:element name="type_datasource_personne" type="xs:string" minOccurs="0" />
                              <xs:element name="valeur_datasource_personne" type="xs:string" minOccurs="0" />
                              <xs:element name="affichage_datasource_personne" type="xs:string" minOccurs="0" />
                              <xs:element name="modifiable_personne" type="xs:string" minOccurs="0" />
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:attribute name="num" form="unqualified" type="xs:string" />
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="examen">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="examen_lib" nillable="true" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:simpleContent msdata:ColumnName="examen_lib_Text" msdata:Ordinal="1">
                        <xs:extension base="xs:string">
                          <xs:attribute name="num" form="unqualified" type="xs:string" />
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
    
        <xs:element name="examen_res">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="champ_examen_res" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="nom_champ_examen_res" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                        <xs:element name="obligatoire_champ_examen_res" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
                        <xs:element name="controle_examen_res" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="type_controle_examen_res" type="xs:string" minOccurs="0" />
                              <xs:element name="longueur_controle_examen_res" type="xs:string" minOccurs="0" />
                              <xs:element name="donnees_controle_examen_res" type="xs:string" minOccurs="0" />
                              <xs:element name="propertie_examen_res" type="xs:string" minOccurs="0" />
                              <xs:element name="type_datasource_examen_res" type="xs:string" minOccurs="0" />
                              <xs:element name="valeur_datasource_examen_res" type="xs:string" minOccurs="0" />
                              <xs:element name="affichage_datasource_examen_res" type="xs:string" minOccurs="0" />
                              <xs:element name="modifiable_examen_res" type="xs:string" minOccurs="0" />
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:attribute name="num" form="unqualified" type="xs:string" />
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
    
    
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:schema>
    
    
    
        <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
              <!-- XML Schema Generated from XML Document on Mon Jun 01 2015 16:20:21 GMT+0200 -->
              <!-- with XmlGrid.net Free Online Service http://xmlgrid.net -->
           <xs:element name="interface">
                  <xs:complexType>
                         <xs:sequence>
                                <xs:element name="general">
                                       <xs:complexType>
                                              <xs:sequence>
                                                     <xs:element name="theme" type="xs:string"></xs:element>
                                                     <xs:element name="photo" type="xs:string"></xs:element>
                                                     <xs:element name="version" type="xs:double"></xs:element>
                                                     <xs:element name="is_combo_interface_enabled" type="xs:string"></xs:element>
                                                     <xs:element name="appel">
                                                            <xs:complexType>
                                                                   <xs:attribute name="champ" type="xs:string"></xs:attribute>
                                                                   <xs:attribute name="tri" type="xs:string"></xs:attribute>
                                                                   <xs:attribute name="type" type="xs:string"></xs:attribute>
                                                                   <xs:attribute name="visible" type="xs:string"></xs:attribute>
                                                               </xs:complexType>
                                                        </xs:element>
                                                     <xs:element name="affiche_bloc_questionnaire" type="xs:string"></xs:element>
                                                     <xs:element name="affiche_kit_secours" type="xs:string"></xs:element>
                                                     <xs:element name="affiche_check_photos" type="xs:string"></xs:element>
                                                     <xs:element name="affiche_btn_appel" type="xs:string"></xs:element>
                                                     <xs:element name="affiche_btn_auto" type="xs:string"></xs:element>
                                                     <xs:element name="affiche_btn_resultats_liste_resultats" type="xs:string"></xs:element>
                                                     <xs:element name="affichage_boutons_resultats">
                                                            <xs:complexType>
                                                                   <xs:sequence>
                                                                          <xs:element name="tabexamen_btn_res_ind" type="xs:string"></xs:element>
                                                                          <xs:element name="tabexamen_btn_res_col" type="xs:string"></xs:element>
                                                                          <xs:element name="tablistres_btn_res_ind" type="xs:string"></xs:element>
                                                                          <xs:element name="tablistres_btn_res_col" type="xs:string"></xs:element>
                                                                          <xs:element name="tabtest_btn_res_ind" type="xs:string"></xs:element>
                                                                          <xs:element name="tabtest_btn_res_col" type="xs:string"></xs:element>
                                                                      </xs:sequence>
                                                               </xs:complexType>
                                                        </xs:element>
                                                     <xs:element name="affiche_panel_bas" type="xs:string"></xs:element>
                                                     <xs:element name="affiche_btn_import" type="xs:string"></xs:element>
                                                     <xs:element name="affiche_panel_examen" type="xs:string"></xs:element>
                                                     <xs:element name="edit_results" type="xs:string"></xs:element>
                                                     <xs:element name="ajout_personne_autorise" type="xs:string"></xs:element>
                                                     <xs:element name="suppression_personne_autorise" type="xs:string"></xs:element>
                                                     <xs:element name="modifier_inscription_autorise" type="xs:string"></xs:element>
                                                     <xs:element name="signature_electronique" type="xs:string"></xs:element>
                                                     <xs:element name="alerte_signature" type="xs:string"></xs:element>
                                                     <xs:element name="nb_personnes_max" type="xs:int"></xs:element>
                                                     <xs:element name="nb_menus" type="xs:int"></xs:element>
                                                     <xs:element name="nb_liens" type="xs:int"></xs:element>
                                                     <xs:element name="nb_champs_session" type="xs:int"></xs:element>
                                                     <xs:element name="nb_champs_personne" type="xs:int"></xs:element>
                                                     <xs:element name="nb_champs_examen_res" type="xs:int"></xs:element>
                                                     <xs:element name="export">
                                                            <xs:complexType>
                                                                   <xs:sequence>
                                                                          <xs:element name="export_item" maxOccurs="unbounded" type="xs:string">
                                                                                 <xs:complexType>
                                                                                        <xs:attribute name="num" type="xs:int"></xs:attribute>
                                                                                        <xs:attribute name="adresse" type="xs:string"></xs:attribute>
                                                                                        <xs:attribute name="login" type="xs:string"></xs:attribute>
                                                                                        <xs:attribute name="password" type="xs:string"></xs:attribute>
                                                                                        <xs:attribute name="zip" type="xs:string"></xs:attribute>
                                                                                        <xs:attribute name="chiffre" type="xs:string"></xs:attribute>
                                                                                        <xs:attribute name="showform" type="xs:string"></xs:attribute>
                                                                                    </xs:complexType>
                                                                             </xs:element>
                                                                      </xs:sequence>
                                                               </xs:complexType>
                                                        </xs:element>
                                                     <xs:element name="menu">
                                                            <xs:complexType>
                                                                   <xs:sequence>
                                                                          <xs:element name="menu_item" maxOccurs="unbounded">
                                                                                 <xs:complexType>
                                                                                        <xs:sequence>
                                                                                               <xs:element name="menu_action" type="xs:string"></xs:element>
                                                                                           </xs:sequence>
                                                                                        <xs:attribute name="num" type="xs:int"></xs:attribute>
                                                                                    </xs:complexType>
                                                                             </xs:element>
                                                                      </xs:sequence>
                                                               </xs:complexType>
                                                        </xs:element>
                                                     <xs:element name="onglet">
                                                            <xs:complexType>
                                                                   <xs:sequence>
                                                                          <xs:element name="onglet_page" maxOccurs="unbounded">
                                                                                 <xs:complexType>
                                                                                        <xs:sequence>
                                                                                               <xs:element name="onglet_visible" type="xs:string"></xs:element>
                                                                                           </xs:sequence>
                                                                                        <xs:attribute name="num" type="xs:int"></xs:attribute>
                                                                                    </xs:complexType>
                                                                             </xs:element>
                                                                      </xs:sequence>
                                                               </xs:complexType>
                                                        </xs:element>
                                                     <xs:element name="default_import_directory"></xs:element>
                                                     <xs:element name="default_import_file"></xs:element>
                                                     <xs:element name="default_export_directory"></xs:element>
                                                     <xs:element name="lien">
                                                            <xs:complexType>
                                                                   <xs:sequence>
                                                                          <xs:element name="lien_item" maxOccurs="unbounded">
                                                                                 <xs:complexType>
                                                                                        <xs:sequence>
                                                                                               <xs:element name="text" type="xs:string"></xs:element>
                                                                                               <xs:element name="action" type="xs:string"></xs:element>
                                                                                           </xs:sequence>
                                                                                        <xs:attribute name="num" type="xs:int"></xs:attribute>
                                                                                    </xs:complexType>
                                                                             </xs:element>
                                                                      </xs:sequence>
                                                               </xs:complexType>
                                                        </xs:element>
                                                 </xs:sequence>
                                          </xs:complexType>
                                   </xs:element>
                                <xs:element name="session">
                                       <xs:complexType>
                                              <xs:sequence>
                                                     <xs:element name="champ_session" maxOccurs="unbounded">
                                                            <xs:complexType>
                                                                   <xs:sequence>
                                                                          <xs:element name="nom_champ_session" type="xs:string"></xs:element>
                                                                          <xs:element name="controle_session">
                                                                                 <xs:complexType>
                                                                                        <xs:sequence>
                                                                                               <xs:element name="obligatoire_champ_session" type="xs:string"></xs:element>
                                                                                               <xs:element name="type_controle_session" type="xs:string"></xs:element>
                                                                                               <xs:element name="longueur_controle_session" type="xs:int"></xs:element>
                                                                                               <xs:element name="donnees_controle_session" type="xs:string"></xs:element>
                                                                                               <xs:element name="propertie_session" type="xs:string"></xs:element>
                                                                                               <xs:element name="modifiable_champ_session" type="xs:string"></xs:element>
                                                                                           </xs:sequence>
                                                                                        <xs:attribute name="num" type="xs:int"></xs:attribute>
                                                                                    </xs:complexType>
                                                                             </xs:element>
                                                                      </xs:sequence>
                                                                   <xs:attribute name="num" type="xs:int"></xs:attribute>
                                                               </xs:complexType>
                                                        </xs:element>
                                                 </xs:sequence>
                                          </xs:complexType>
                                   </xs:element>
                                <xs:element name="personne">
                                       <xs:complexType>
                                              <xs:sequence>
                                                     <xs:element name="champ_personne" maxOccurs="unbounded">
                                                            <xs:complexType>
                                                                   <xs:sequence>
                                                                          <xs:element name="nom_champ_personne" type="xs:string"></xs:element>
                                                                          <xs:element name="obligatoire_champ_personne" type="xs:string"></xs:element>
                                                                          <xs:element name="mode_grille_fiche_personne" type="xs:string"></xs:element>
                                                                          <xs:element name="controle_personne">
                                                                                 <xs:complexType>
                                                                                        <xs:sequence>
                                                                                               <xs:element name="type_controle_personne" type="xs:string"></xs:element>
                                                                                               <xs:element name="longueur_controle_personne" type="xs:int"></xs:element>
                                                                                               <xs:element name="donnees_controle_personne" type="xs:string"></xs:element>
                                                                                               <xs:element name="propertie_personne" type="xs:string"></xs:element>
                                                                                               <xs:element name="modifiable_personne" type="xs:string"></xs:element>
                                                                                           </xs:sequence>
                                                                                    </xs:complexType>
                                                                             </xs:element>
                                                                      </xs:sequence>
                                                                   <xs:attribute name="num" type="xs:int"></xs:attribute>
                                                               </xs:complexType>
                                                        </xs:element>
                                                 </xs:sequence>
                                          </xs:complexType>
                                   </xs:element>
                                <xs:element name="examen">
                                       <xs:complexType>
                                              <xs:sequence>
                                                     <xs:element name="examen_lib" maxOccurs="unbounded" type="xs:string">
                                                            <xs:complexType>
                                                                   <xs:attribute name="num" type="xs:int"></xs:attribute>
                                                               </xs:complexType>
                                                        </xs:element>
                                                 </xs:sequence>
                                          </xs:complexType>
                                   </xs:element>
                            </xs:sequence>
                         <xs:attribute name="xmlns" type="xs:string"></xs:attribute>
                     </xs:complexType>
              </xs:element>
       </xs:schema>
    
    <xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://foo.bar"
           xmlns:myprefix="http://foo.bar"
    >
    <!-- ... -->
    
    <xs:complexType name="export">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" name="export_item">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="num" type="xs:unsignedByte" use="required" />
              <xs:attribute name="adresse" type="xs:string" use="required" />
              <xs:attribute name="login" type="xs:string" use="required" />
              <xs:attribute name="password" type="xs:string" use="required" />
              <xs:attribute name="zip" type="xs:boolean" use="required" />
              <xs:attribute name="chiffre" type="xs:boolean" use="required" />
              <xs:attribute name="showform" type="xs:boolean" use="required" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    </xs:complexType>
    
    <!-- ... -->
    
    <xs:all>
      <!-- ... -->
      <xs:element minOccurs="0" name="relation" type="myprefix:lien"/>
      <xs:element minOccurs="0" name="export" type="myprefix:export"/>
      <!-- ... -->
    </xs:all>