Bonjour,

J'ai un problème avec un méchant fichier XML dont la structure est la suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<root>
 <data>
    <record>
      <field name="Country or Area" key="ARB">Arab World</field>
      <field name="Item" key="AG.SRF.TOTL.K2">Surface area (sq. km)</field>
      <field name="Year">1960</field>
      <field name="Value" />
    </record>
    <record>
      <field name="Country or Area" key="ARB">Arab World</field>
      <field name="Item" key="AG.SRF.TOTL.K2">Surface area (sq. km)</field>
      <field name="Year">1961</field>
      <field name="Value">13781730</field>
    </record>
</data>
</root>
Et maintenant j'essaie (sans succès ? ) de créer un XSD définissant ma structure comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Country or Area                 Item                          Year         Value
Arab World                      Surface area (sq. km)     1960          13781730
Vous avez le droit de me répondre qu'un XSD ne sert pas à mettre en forme les données mais le XSD défini mon chargement en base de donnée.

Pour l'instant j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="root">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="data">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" maxOccurs="unbounded" name="record">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="field">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="name" type="xs:string" use="optional" />
                            <xs:attribute name="key" type="xs:string" use="optional" />
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Mais forcement je me retrouve avec une sortie suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Name                                      Key                         Text
Country or Area           ARB                         Arab World
Item                                        AG....                   Surface area
Year                                        NULL                     1960
Value                                       NULL           13781730
Merci de votre aide.