Lier les fichiers .xml .xsd .xsl - XML/XSL - Programmation
Marsh Posté le 29-07-2005 à 10:55:02
Parce que ton parser ne valide pas le fichier XML face à son Schema...
Marsh Posté le 29-07-2005 à 11:00:29
FlorentG a écrit : Parce que ton parser ne valide pas le fichier XML face à son Schema... |
Bien sur! Et c'est ca le probleme. Qu'est ce que je dois faire pour ? J'utilise nedit pour ecrire mes fichiers et je l'execute sur Netscape 7.0
Marsh Posté le 29-07-2005 à 11:01:40
Netscape étant basé sur FireFox, je crois pas que FireFox connaissent les schémas xsd... Il connait les DTD, c'est tout. Faut que tu trouves un parser qui connaisse l'xsd, peut-être celui de microsoft
Marsh Posté le 29-07-2005 à 11:09:34
FlorentG a écrit : Netscape étant basé sur FireFox, je crois pas que FireFox connaissent les schémas xsd... Il connait les DTD, c'est tout. Faut que tu trouves un parser qui connaisse l'xsd, peut-être celui de microsoft |
Ouh la! J'ai alors un gros souci! Dans ma boite on utilise microsoft que pour faire du traitement de texte. Mais est ce que tu peux quand meme me dire comment est ce que je fais pour me choper un parser XML sur windows ?
Marsh Posté le 29-07-2005 à 11:11:06
http://msdn.microsoft.com/xml/ Dans les downloads, t'as le parser...
Marsh Posté le 02-08-2005 à 11:20:47
et pour une fois on peut dire qu'ils n'ont pas loupé leur parser chez M$, le MSXML 4 est très costaud, rapide et même dispo en ligne de commande avec l'utilitaire MSXSL.EXE
Marsh Posté le 29-07-2005 à 10:54:17
J'ai un petit souci. Je n'arrive pas a executer ce fichier xml avec les contraintes que lui impose Schema, dans ce sens que l'element "price" est de type="xs:integer" dans Schema. Lorsque dans le fichier xml, je mets des lettres a price (mle), il l'excute quand meme! Et pourtant il ne devrait pas! Est ce que quelqu'un peut m'aider a regler ce probleme svp?
Voici shiporder.xsd:
---------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- definition of simple elements -->
<xs:element name="orderperson" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="note" type="xs:string"/>
<xs:element name="quantity" type="xs:positiveInteger"/>
<xs:element name="price" type="xs:integer"/>
<!-- definition of attributes -->
<xs:attribute name="orderid" type="xs:string"/>
<!-- definition of complex elements -->
<xs:element name="shipto">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="address"/>
<xs:element ref="city"/>
<xs:element ref="country"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="note" minOccurs="0"/>
<xs:element ref="quantity"/>
<xs:element ref="price"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="shiporder">
<xs:complexType>
<xs:sequence>
<xs:element ref="orderperson"/>
<xs:element ref="shipto"/>
<xs:element ref="item" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="orderid" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
Et voila shiporder.xml:
-------------------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<shiporder orderid="889923"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
<orderperson>John Smith</orderperson>
<shipto>
<name>Ola Nordmann</name>
<address>Langgt 23</address>
<city>4000 Stavanger</city>
<country>Norway</country>
</shipto>
<item>
<title>Empire Burlesque</title>
<note>Special Edition</note>
<quantity>1</quantity>
<price>10.90</price>
</item>
<item>
<title>Hide your heart</title>
<quantity>1</quantity>
<price>mle</price>
</item>
</shiporder>
Merci d'avance! Je suis en stage et ce probleme bloque mon travail.