XML dans un XML

XML dans un XML - XML/XSL - Programmation

Marsh Posté le 14-05-2004 à 09:50:43    

bonjour, je souhaiterais faire une page XML, avec une importation d'un autre XML dans une des balises, comment ca se passe? est ce qu'il faut ecrire import dans le XML ou est ce que ca se passe dans le XSLT? :sweat:  
merci d'avance :)

Reply

Marsh Posté le 14-05-2004 à 09:50:43   

Reply

Marsh Posté le 14-05-2004 à 10:16:49    

merci bien ;)

Reply

Marsh Posté le 14-05-2004 à 12:02:58    

Code :
  1. structure.xml:10: namespace error : Namespace prefix xinclude for parse on include is not defined
  2. ^ structure.xml:10: namespace error : Namespace prefix xinclude for href on include is not defined


voila lerreur que ca me fait, et voici le code que jai mis :  

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1" xmlns:xinclude="http://www.w3.org/1999/XML/xinclude"  ?>

(entete du document)
 
voici ce que jai inclus dans le doc XML :  

Code :
  1. <menu> <include xinclude:parse="xml" xinclude:href="menu.xml"/> </menu>


 
merci  :pt1cable:

Reply

Marsh Posté le 14-05-2004 à 14:46:22    

Bon bah la j'ai fait ca :

Code :
  1. <menu xmlns:xinclude="http://www.w3.org/2001/XML/xinclude">
  2. <include xinclude:parse="xml" xinclude:href="menu.xml"/>
  3. </menu>


 
en passant par xinclude, mais j'ai aucune erreur mais rien ne s'affiche, on dirait qu'il ne capte pas mon include.
 
Vous avez une solution  :??:


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 14-05-2004 à 14:54:26    

en fait pour vous expliquer : J'utilise deux méthode via un etentité externe dans un DTD ou via xinclude
Par la dtd ca marche mais pas par le xinclude Comment expluquez vous cela ?
 
Voila le code :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"  ?>
  2. <!DOCTYPE menu [
  3.         <!ENTITY menu_h SYSTEM "menu.xml">     
  4. ]>
  5. <doc>
  6. <menu>
  7.         &menu_h;
  8. </menu>
  9.  <menu xmlns:xinclude="http://www.w3.org/2001/XML/xinclude">
  10. <include xinclude:parse="xml" xinclude:href="menu.xml"/>
  11. </menu>
  12. </doc>


 
et voila ce que j'obtiens via le parser du navigateur :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2.   <!DOCTYPE menu (View Source for full doctype...)>
  3. - <doc>
  4. - <menu>
  5. - <ul id="tabnav">
  6. - <li class="active">
  7.   <a href="#">PRESENTATION</a>
  8.   </li>
  9. - <li>
  10.   <a href="#">ACTUALITES</a>
  11.   </li>
  12. - <li>
  13.   <a href="#">PUBLICATION</a>
  14.   </li>
  15. - <li>
  16.   <a href="#">MANIFESTATION</a>
  17.   </li>
  18. - <li>
  19.   <a href="#">DIVERS</a>
  20.   </li>
  21.   </ul>
  22.   </menu>
  23. - <menu xmlns:xinclude="http://www.w3.org/2001/XML/xinclude">
  24.   <include xinclude:parse="xml" xinclude:href="menu.xml" />
  25.   </menu>
  26.   </doc>


 
vous voyez que le premier menu est bien intégré mais pas la deuxiemme....avez vous une solution ?


Message édité par Phive le 14-05-2004 à 14:59:47

---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 14-05-2004 à 15:01:01    

<?xml version="1.0" encoding="ISO-8859-1" xmlns:xinclude="http://www.w3.org/1999/XML/xinclude" ?>
Interdit: la declaration xml ne peut contenir que 3 choses: la version, l'encoding, le standalone, et rien d'autre.
 
A+,

Reply

Marsh Posté le 14-05-2004 à 15:01:45    

ese-aSH a écrit :

une solution ui : utilise pas le xinclude (et va lire les recommendations w3c sur le xinclude, ca se trouve c'est un truc qui a été jeeté a la poubelle)


 
oui c'est ce que j'avais lu aussi, je vais aller jeter un coup d'oeil precis la dessus


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 14-05-2004 à 15:07:58    

T'as essayé ca??

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"  ?>
  2. <!DOCTYPE menu [
  3.         <!ENTITY menu_h SYSTEM "menu.xml">     
  4. ]>
  5. <doc>
  6. <menu>
  7.         &menu_h;
  8. </menu>
  9.  <menu xmlns:xinclude="http://www.w3.org/2001/XML/xinclude">
  10. <xinclude:include href="menu.xml" parse="xml"/>
  11. </menu>
  12. </doc>


 
Parce que si tu prefixe pas l'element avec le namespace...
A+,


Message édité par gilou le 14-05-2004 à 15:10:02
Reply

Marsh Posté le 14-05-2004 à 15:08:48    

ese-aSH a écrit :

euh moi jaurai plutot fait ca comme ca :
<?xml version="1.0" encoding="ISO-8859-1"?>
<xmlns:xinclude="http://www.w3.org/1999/XML/xinclude">
les espaces de nommage ca se declare pas a la bourrin comme ca dans l'entete si ? (xmlns : name space)


Non. ca se declare sur un element.
A+,

Reply

Marsh Posté le 14-05-2004 à 15:08:53    

gilou a écrit :

<?xml version="1.0" encoding="ISO-8859-1" xmlns:xinclude="http://www.w3.org/1999/XML/xinclude" ?>
Interdit: la declaration xml ne peut contenir que 3 choses: la version, l'encoding, le standalone, et rien d'autre.
 
A+,


 
avec ca comme code :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1" xmlns:xinclude="http://www.w3.org/1999/XML/xinclude"  ?>
  2. <doc>
  3.  <menu>
  4. <include xinclude:parse="xml" xinclude:href="menu.xml"/>
  5. </menu>
  6. </doc>


 
j'ai ca comme erreur :
 

Code :
  1. xml/structure.xml:1: parser error : XML declaration allowed only at the start of the document
  2. <?xml version="1.0" encoding="ISO-8859-1" xmlns:xinclude="http://www.w3.org/199
  3.       ^
  4. xml/structure.xml:18: namespace error : Namespace prefix xinclude for parse on include is not defined
  5. <include xinclude:parse="xml" xinclude:href="menu.xml"/>
  6.                                                       ^
  7. xml/structure.xml:18: namespace error : Namespace prefix xinclude for href on include is not defined
  8. <include xinclude:parse=

"xml" xinclude:href="menu.xml"/>


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 14-05-2004 à 15:08:53   

Reply

Marsh Posté le 14-05-2004 à 15:12:15    

Mais je t'ai dit de virer la declaration du namespace de la declaration xml!! c'est interdit ce que tu fais!
 
D'autre part, dans mon exemple, j'ai vire les prefixes des attributs, puisque l'element a le prefixe du namespace.
 
A+,

Reply

Marsh Posté le 14-05-2004 à 15:16:41    

Perso, je ferais ceci, mais bon, tu fais comme bon te semble...
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"  ?>
  2.   <!DOCTYPE menu [ 
  3.           <!ENTITY menu_h SYSTEM "menu.xml">     
  4.   ]>
  5.   <doc>
  6.    <menu> 
  7.           &menu_h; 
  8.    </menu>
  9.    <menu>
  10.           <xi:include href="menu.xml" parse="xml"
  11.              xmlns:xi="http://www.w3.org/2001/XML/XInclude"/> 
  12.    </menu> 
  13.   </doc>


A+,


Message édité par gilou le 14-05-2004 à 15:17:27
Reply

Marsh Posté le 14-05-2004 à 15:17:36    

gilou a écrit :

Mais je t'ai dit de virer la declaration du namespace de la declaration xml!! c'est interdit ce que tu fais!
 
D'autre part, dans mon exemple, j'ai vire les prefixes des attributs, puisque l'element a le prefixe du namespace.
 
A+,


 
Oki :/
 
Donc actuellement j'ai ca comme code :
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <doc>
  3.    <menu xmlns:xinclude="http://www.w3.org/2001/XML/xinclude">
  4.       <xinclude:include href="menu.xml" parse="xml"/> 
  5.    </menu>
  6. </doc>


 
mais j'obtiens que ca :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. - <doc>
  3. - <menu xmlns:xinclude="http://www.w3.org/2001/XML/xinclude">
  4.   <xinclude:include href="menu.xml" parse="xml" />
  5.   </menu>
  6.   </doc>


 
Donc je vois pas... :??:  vous avez un autre idée... :whistle:


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 14-05-2004 à 15:18:59    

gilou a écrit :

Perso, je ferais ceci, mais bon, tu fais comme bon te semble...
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"  ?>
  2.   <!DOCTYPE menu [ 
  3.           <!ENTITY menu_h SYSTEM "menu.xml">     
  4.   ]>
  5.   <doc>
  6.    <menu> 
  7.           &menu_h; 
  8.    </menu>
  9.    <menu>
  10.           <xi:include href="menu.xml" parse="xml"
  11.              xmlns:xi="http://www.w3.org/2001/XML/XInclude"/> 
  12.    </menu> 
  13.   </doc>


A+,


 
Oki donc le xinclude c de la daube en boite si je comprend bien :D


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 14-05-2004 à 15:19:38    

http://www.w3.org/2001/XInclude
 
(y'a un XML en trop dans mes et tes exemples, et fait gaffe aux majuscules)
 
A+,


Message édité par gilou le 14-05-2004 à 15:20:52
Reply

Marsh Posté le 14-05-2004 à 15:24:08    

Phive a écrit :

Oki donc le xinclude c de la daube en boite si je comprend bien :D


 
Ah ce que tu veux, c'est ceci, alors:

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"  ?> 
  2.   <doc>
  3.    <menu>
  4.           <xi:include href="menu.xml" parse="xml"
  5.              xmlns:xi="http://www.w3.org/2001/XInclude"/> 
  6.    </menu> 
  7.   </doc>


T'étais pas clair. Ca ca devrait marcher. Si ca marche pas, c'est ton proc XML qui supporte pas le xinclude.
A+,


Message édité par gilou le 14-05-2004 à 15:28:34
Reply

Marsh Posté le 14-05-2004 à 15:29:21    

gilou a écrit :

Ah ce que tu veux, c'est ceci, alors:

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"  ?> 
  2.    <menu>
  3.           <xi:include href="menu.xml" parse="xml"
  4.              xmlns:xi="http://www.w3.org/2001/XInclude"/> 
  5.    </menu> 
  6.   </doc>


T'étais pas clair. Ca ca devrait marcher. Si ca marche pas, c'est ton proc XML qui supporte pas le xinclude.
A+,


 
Ok donc ca marche, en fait le probleme venait de mon proc XSLTPROC ou j'avais oublier un param pour faire supporter le xinclude.


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 14-05-2004 à 15:30:39    

Manquait un <doc> initial a mon exemple, vire en effacant la DTD.
A+,

Reply

Marsh Posté le 14-05-2004 à 15:35:14    

gilou a écrit :

Manquait un <doc> initial a mon exemple, vire en effacant la DTD.
A+,


 
Merci bien a tous !  :jap:  
Meric gilou  :jap:  
ca marche comme je le voulais   :hello:


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 19-05-2004 à 15:23:51    

ha oui encore une chtite kestion :
 
Quand je fait un  

Code :
  1. <xi:include href="fichier.xml" parse="xml"/>

 
 
j'importe tout le fichier, mais est ce que c'est possible d'en importer que les 3 ou 4 premiere balises ?


Message édité par Phive le 19-05-2004 à 16:14:52

---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 19-05-2004 à 16:15:26    

je sais ke en xsl je peux le faire mais est ce que directement dans le xml avec le include je peux le faire ?


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 19-05-2004 à 22:22:47    

Phive a écrit :

ha oui encore une chtite kestion :
 
Quand je fait un  

Code :
  1. <xi:include href="fichier.xml" parse="xml"/>

 
 
j'importe tout le fichier, mais est ce que c'est possible d'en importer que les 3 ou 4 premiere balises ?

Non. Par contre tu peux peut etre essayer de ne pas afficher leur contenu, mais bon, ca depend de comment est geré ton affichage.
A+,

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed