From: Jérôme Lehuen (Jerome.Lehuen@lium.univ-lemans.fr)
Date: 08/11/2001 - 12:08
Je précise ma question d'hier à laquelle personne n'a
répondu : Voici un exemple de validation donné par Microsoft
(fichier doc.xml) qui effectivement marche bien.
Mais lorsqu'on essaye cet exempel sur un autre fichier
(carnet.xml) la parseur ne trouve pas d'erreur alors qu'il
aurait dû invalider le document !
Validation du fichier "doc.xml" :
"Erreur ligne 7 : The element 'x:notDeclared' is used but not declared in the DTD/Schema."
Validation du fichier "carnet.xml" :
"Le document est valide"
---------- L'appel de MSXML4 en Jscript :
<HTML>
<script type="text/javascript">
function valider(xmlFile)
{
var xmldoc = new ActiveXObject("MSXML2.DOMDocument.4.0");
xmldoc.async = false;
xmldoc.validateOnParse = true;
xmldoc.load(xmlFile);
err = xmldoc.parseError;
if (err.errorCode == 0)alert("Le document est valide");
else alert("Erreur ligne " + err.line + " : " + err.reason);
}
</script>
<BODY>
<input type="button" value="Valider" onclick="valider('doc.xml')"/>
</BODY>
</HTML>
----------[doc.xml]
<?xml version="1.0"?>
<x:doc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:x="http://xsdtesting"
xsi:schemaLocation="http://xsdtesting doc.xsd">
<x:notDeclared/>
</x:doc>
----------[doc.xsd]
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://xsdtesting"
xmlns:x="http://xsdtesting"
elementFormDefault="qualified">
<xs:element name="doc"></xs:element>
</xs:schema>
----------[carnet.xml]
<?xml version="1.0"?>
<x:carnet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:x="http://xsdtesting"
xsi:schemaLocation="http://xsdtesting carnet.xsd">
</x:carnet>
----------[carnet.xsd]
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://xsdtesting"
xmlns:x="http://xsdtesting"
elementFormDefault="qualified">
<xs:element name="carnet">
<xs:complexType>
<xs:sequence>
<xs:element ref="adresse"
minOccurs="1"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|