DOM Creer ref XML et xsi

Support Technique 4D

Créer un flux XML avec DOM Creer ref XML en respectant la norme W3C. ♪

- Titre : DOM Creer ref XML et xsi

- Auteur : Support Technique 4D

- Parution : 16 mars 2006

- Licence : Copyright ® 2007 4D s.a. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

Produit : 4D 2004  ·  Plateforme : Mac, Win

Le code ci-dessous :

$root:= DOM Create XML Ref("xsi:VUXML";"http://www.w3.org/2001/XMLSchema-instance";
"noNamespaceSchemaLocation";"VUacctrans.xsd")
DOM EXPORT TO FILE($root;"myfile.xml")
DOM CLOSE XML($root)

donne le résultat suivant dans le fichier myfile.xml :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsi:VUXML
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
noNamespaceSchemaLocation="VUacctrans.xsd"/>

C'est d'ailleurs le résultat donné dans la documentation de la commande DOM Creer ref XML pour le code fourni dans l'exemple n°3.

Mais vous voulez obtenir un résultat selon la norme W3C.
http://www.w3.org/TR/xmlschema-1/#schema-loc

Ce résultat pour la racine VUXML devrait être :

<VUXML
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="VUacctrans.xsd">

Il vous suffit de modifier votre code comme suit :

$root:=DOM Create XML Ref("VUXML";"";"xmlns:xsi";"http://www.w3.org/2001/XMLSchema-instance";
"xsi:noNamespaceSchemaLocation";"VUacctrans.xsd")
DOM EXPORT TO FILE($root;"myfile_modif.xml")
DOM CLOSE XML($root)

Le résultat deviendra alors :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<VUXML
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="VUacctrans.xsd"/>

conforme à la norme W3C.

Documentation :
DOM Creer ref XML (commande 4D)
DOM EXPORTER VERS FICHIER (commande 4D)
W3C