| |||||
| Dernière réponse | ||
|---|---|---|
| Sujet : [XML] Problème avec l'ordre des éléments d'un fichier XML | ||
| Profil supprimé |
|
|
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
|
| therier |
|
| matrixfan2k1 | J'utilise le parseur MSXML 3.0 inclus dans IE et j'ai fait un petit programme sous C++ Builder 5.0 qui charge le fichier XML et le vérifie. |
| therier |
|
| matrixfan2k1 | Je pense avoir compris les schémas XML mais malheureusement, lorsque je fais des tests, aucune erreur apparait. Est-ce que c'est mon code qui ne fonctionne pas. Voici un exemple:
Schema XML: <?xml version="1.0" encoding="ISO-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="personne"> <xsd:complexType> <xsd:sequence> <xsd:element name="nom" type="xsd:string" minOccurs="0"/> <xsd:element name="prenom" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> Les fichiers XML: <?xml version="1.0" encoding="ISO-8859-1"?> <personne xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd"> <nom>Dupond</nom> <prenom>Antoine</prenom> </personne> <?xml version="1.0" encoding="ISO-8859-1"?> <personne xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd"> <nom>Dupond</nom> <adresse>Antoine</adresse> </personne> <?xml version="1.0" encoding="ISO-8859-1"?> <personne xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd"> <prenom>Dupond</prenom> <nom>Antoine</nom> </personne> Et tous les fichiers XML ne provoquent aucune erreur, alors qu'avec la DTD seul le 1er fonctionnait. Quelqu'un aurait-il une idée ? |
| matrixfan2k1 | OK, je regarde ça tout de suite. Merci. |
| therier |
|
| matrixfan2k1 | J'ai vu qu'on pouvait mettre "all" à la place de "sequence" pour ne pas prendre en compte de l'ordre. C'est d'ailleurs cela qui m'a attiré vers les schémas.
Mais je ne comprends pas l'intérêt de la ligne: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> A quoi sert l'url ? Et la propriété elementFormDefault? En tout cas, merci beaucoup de ton aide. |
| therier |
|
| matrixfan2k1 | Visiblement, cela doit fonctionner avec les schemas XML. Mais bon, ca m'a l'air assez compliqué et ça me ferait pas mal de changements.
Y'a quelqu'un qui pourrait me donner un exemple clair de schéma XML ? Ou alors c'est possible avec les DTD (ce qui me parait problable). Merci encore, c'est assez urgent. |
| matrixfan2k1 | up :( |
| darklord22 | up ca m'intéresse aussi. Je me souviens avoir eu le meme probleme et j'ai pas (encore) trouvé la réponse. |
| matrixfan2k1 | Bonjour à tous.
Voila mon problème. J'ai créé un document XML dont la structure est vérifié par un fichier DTD. Or, cette vérification m'impose un ordre des éléments. Par exemple, si le fichier DTD est: <!ELEMENT personne (nom,prenom)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> Ce fichier XML fonctionne: <personne> <nom>Dupond</nom> <prenom>Antoine</prenom> </personne> mais celui-ci ne fonctionne pas: <personne> <prenom>Antoine</prenom> <nom>Dupond</nom> </personne> Comment puis-je faire pour que la DTD ne se soucie pas de l'ordre ? Merci d'avance. PS: J'utilise le parseur MSXML 3.0 sous C++ Builder 5.0 |




