2009-12-29 4 views
0

j'ai deux différents fichiers XML (installation IzPack pour être exact) dont une partie commune. Naturellement, je voudrais garder cette partie commune dans un fichier (externe) et l'inclure dans deux fichiers d'installation XML.XML XInclude et deux éléments avec le même nom

Je ne peux pas le faire fonctionner comme il semble que XInclude ne peut inclure des fichiers avec des éléments XML. Pour illustrer l'exemple, voici un code:

Fichier 1:

<packs> 
<pack name="1"> 
... 
</pack> 
<pack name="2"> 
... 
</pack> 
<packs> 

Fichier 2:

<packs> 
<pack name="1"> 
... 
</pack> 
<pack name="2"> 
... 
</pack> 
<pack name="3"> 
... 
</pack> 
<packs> 

Je voudrais que le fichier inclus pour contenir uniquement

<pack name="1"> 
... 
</pack> 
<pack name="2"> 
... 
</pack> 

Mais on dirait que c'est impossible. Qu'est-ce que je rate ?

Mise à jour: Le code Xinclude ressemble:

<packs> 
    <xi:include xmlns:xi="w3.org/2001/XInclude"; href="browserPacks.xml" parse="text"/> 

+0

Isn 't ce que parse = "texte" XInclude paramètre est pour? – Demiurg

+0

@Demiurg: oui, c'est ce que ça devrait être. A quoi ressemble votre XML avec xinclude ?? –

+0

\t \t Demiurg

Répondre

0

Comment votre xinclude ressemble-t-? Avez-vous essayé parse=text:

<xi:include href="common.xml" parse="text" 
     xmlns:xi="http://www.w3.org/2001/XInclude"/> 

Donc, avec cela, vous devrait être en mesure d'avoir vos fichier1 ressembler à ceci:

<packs> 
    <xi:include href="common.xml" parse="text" 
      xmlns:xi="http://www.w3.org/2001/XInclude"/> 
<packs> 

et votre fichier2 comme ceci:

<packs> 
    <xi:include href="common.xml" parse="text" 
      xmlns:xi="http://www.w3.org/2001/XInclude"/> 
    <pack name="3"> 
     .... 
    </pack> 
<packs> 
+0

Oui, j'ai essayé parse = "texte" - pas de chance. Je commence à penser que c'est un bug dans IzPack, bien qu'il utilise javax.xml – Demiurg

Questions connexes