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