Inclure un fichier XML dans un autre fichier XML Probleme ! - XML/XSL - Programmation
Marsh Posté le 21-10-2003 à 14:10:09
Oui il faut utiliser une entité ( external entity) comme dans cet example :
<?xml version="1.0" standalone="no"?>
<!DOCTYPE DOCUMENT [
<!ENTITY SIG SYSTEM "signature.xml">
]>
<DOCUMENT>
<TITLE>Entity references</TITLE>
&SIG;
</DOCUMENT>
Marsh Posté le 21-10-2003 à 14:45:31
ok merci beaucoup, javais trouvé une exemple equivalent mais on m'a parler d'une propriété
xml:link et je trouve rien dessus
Marsh Posté le 21-10-2003 à 16:30:45
mais une chose c pas bon ca
pcke jaimerais que le fichier soit include et qu'on puisse le lire en C# c a dire en lisant les noeud un par un
et la c pas possible
Marsh Posté le 23-10-2003 à 15:50:23
quelle est la tailles des différents fichiers à inclure, quel parseur utilises tu, quel est l'utilisation faite (t'as besoin d'une inclusion dynamique ou pas) ?
Marsh Posté le 23-10-2003 à 15:56:00
en fait j'aimerais integrer un fichier dans un autre sans avoir a me ballader et a copier ligne a ligne (donc est ce qu'une methode existe pour ca ?)
et si cette methode existe permet t'elle une lecture noeud a noeud du resultat ?
Marsh Posté le 23-10-2003 à 16:06:32
y a xinclude... mais ca marche qu'avec certains parser... j'avais le même problème à un moment et j'avais fait des recherches.
y a aussi la fonction document().... mais ca oblige à préciser le chemin d'accès en paramètre et c'est un peu lourdingue à gérer.
y a plus bourrin mais ca marche aussi, c'est de pré-fusionner les différent document XML en 1 seul avant traitement... donc, un fichier XSL du genre :
Code :
|
suffit de créer un fichier XML contenant simplement <root /> par exemple, et de générer le résultat avec Saxon par exemple.
Ca c'est valable pour un prototypage ou si les différents fichiers à fusionner sont pas trop lourd et changent pas souvent.
Tu peux faire la même chose en dynamique (3 lignes de code) avec les frameworks Cocoon 2 ou OXF.
Sinon, dans une optique différente, plutot que d'inclure plusieurs fichiers XML en un seul... tu peux pointer vers des éléments de plusieurs fichiers XML distinct avec xpointer (par exemple avec OXF, c'est très simple)...
Je sais pas si ca t'aide, mais ce sont quelques pistes différentes...
Marsh Posté le 23-10-2003 à 16:12:06
hummmm ya dlidée la dedans
cependant une chose que javais pas preciser, il faut que tout ca soit possible sous .Net/C# (visual studio .net)
Marsh Posté le 23-10-2003 à 16:16:21
massamu a écrit : hummmm ya dlidée la dedans |
... je sais pas les détails de ton truc, mais au pire, tu fais un batch de fusion...
Marsh Posté le 25-10-2003 à 22:30:22
massamu a écrit : hummmm ya dlidée la dedans |
La faudrait arreter de melanger des trucs differents: XML a rien a voir avec .NET ou C# (bon, il se peut que dans certaines circonstances, .NET utilise du XML, mais ca se limite a ca comme relation)
Donc les includes a la XML qui marchent soit avec des entites XML externes (cas le plus courant) soit avec des XInclude (cas peu implementé actuellement) soit avec des XLink (pour des liens de type embed) n'ont pas de dependance sur du code .Net ou C#
Si ton parseur favori ne fait pas ce qu'il faut, a toi d'en modifier le comportement.
A+,
Marsh Posté le 21-10-2003 à 13:23:16
Existerais t'il la possibilité de faire ca en XML ?
Un sorte de include koi ?
Merci
EDIT : ce que je cherche reelement a faire c inclure un fichier XML dans un autre mais que cette inclusion soit visible si l'on fait une lecture par noeud en se balladant dans le fichier
(bien evidement sans copier betement le contenu a l'interieur)
Message édité par massamu le 23-10-2003 à 15:24:04