[XML] Inclure un fichier XML

Fermé
matrixfan - 3 juin 2002 à 14:54
Mutos Messages postés 103 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 14 mai 2010 - 14 mai 2010 à 08:58
Salut à tous !

Je débute en XML et je souhaite inclure un fichier XML dans un autre fichier XML. Je ne trouve aucun exemple sur le net et je commence à me demander si c'est possible.

Merci d'avance
A voir également:

4 réponses

J'ai trouvé la solution :

Fichier à inclure: test1.xml
<TEST_INCLUDE>
<NODE1>Valeur1</NODE1>
<NODE2>Valeur2</NODE2>
</TEST_INCLUDE>

Fichier principal:
<?xml version="1.0"?>
<!DOCTYPE TESTS [
<!ENTITY test1 SYSTEM "test1.xml">
]>
<TESTS>
&test1;
</TESTS>

Le résultat est le suivant:

<TESTS>
<TEST_INCLUDE>
<NODE1>Valeur1</NODE1>
<NODE2>Valeur2</NODE2>
</TEST_INCLUDE>
</TESTS>
2
Utilisateur anonyme
5 juin 2002 à 00:44
Tu m'as devancé, c'est exactement ce que j'allais répondre (sans fausse vantardise). D'ailleurs je dévoile mes sources :

J'ai trouvé ça dans un livre chez O'Reilly :
Compredre XSLT
de Bernd Amann et Philippe Rigaux.

Ce livre a le bon goût d'être écrit en français (directement) ce qui évite les erreurs de traduction... :o)
0
Utilisateur anonyme
5 juin 2002 à 00:45
Et puis comme c'est un O'Reilly, on sait dès le départ que C du bon...
0
Mutos Messages postés 103 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 14 mai 2010
14 mai 2010 à 08:58
Bonjour à tous,


J'ai la même problème, mais j'utilise un XSD pour définir mon schéma. Or, il me donne une erreur comme quoi mon élément racine n'est pas déclaré dans le schéma/DTD.

Je valide par exemple avec MSXML 4.0 sous l'éditeur Cooktop, si çà peut aider, mais j'ai la même réponse avec d'autres moteurs de validation, puisque Cooktop laisse le choix du moteur..

Donc, sous MSXML4, Erreur 0xC00CE00D "The element 'StellarSystem' is used but not declared in the DTD/Schema".

Mon code est le suivant (je vous fais grâce des chemins exacts, je les ai vérifié) :

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE StellarSystem [
<!ENTITY IncludeDefinitions SYSTEM "file:///IncludeDefinitions.xml.inc">
]>

<!-- ============================================================================ -->
<!-- Stellar System definition -->
<!-- ============================================================================ -->
<!-- -->

<StellarSystem name="Test-012-DoubleStar"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="file:///DataModel-StellarSystemEditorSpecs-008.xsd"
>

<!-- ============================================================================ -->
<!-- Type definitions for physical values -->
<!-- ============================================================================ -->
<!-- -->

&IncludeDefinitions;

<!-- -->
<!-- ============================================================================ -->

<!-- Autre code pour définir le système stellaire... -->

</StellarSystem>

<!-- -->
<!-- ============================================================================ -->


J'ai l'impression que c'est la combinaison de DOCTYPE et d'un XSD qui ne lui plaît pas.

Donc, là je ne vois pour l'instant que deux solutions possibles :
- Soit on arrive à faire cohabiter les deux déclarations,
- Soit il existe une autre manière d'inclure du XML dans du XML sans utiliser DOCTYPE.

Si aucune des deux n'est possible, çà limite quand même très fortement l'utilité de XML ! Je n'ose pas croire que çà n'ait pas été prévu...


@+

Benoît 'Mutos' ROBIN
Projet Hoshikaze 2250
Univers de Science-Fiction
http://hoshikaze.net/portail/index.php
0