2009-12-29 86 views
0

我有两个不同的XML文件(准确地说是IzPack安装),它是一个公共部分。当然,我想将这个通用部分保存在一个(外部)文件中,并将其包含到两个XML安装文件中。XML XInclude和两个同名的元素

我无法使它工作,因为看起来XInclude只能包含具有XML元素的文件。为了说明这个例子,这里是一些代码:

文件1:

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

文件2:

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

我想包含的文件只包含

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

但它看起来不可能。我错过了什么?

更新: 的XInclude的代码如下所示:

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

+0

难道不是'它是什么解析=“文本”XInclude参数是什么? – Demiurg 2009-12-29 08:37:20

+0

@Demiurg:是的,应该是这样的。你的XML与xinclude是什么样的? – 2009-12-29 08:41:05

+0

\t \t Demiurg 2009-12-29 08:52:04

回答

0

请问你xinclude样子?您是否尝试过parse=text

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

所以用这个,你应该能有你的文件1是这样的:

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

和你的文件2这样的:

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

是的,我试着解析=“文本” - 没有运气。 我开始认为这是一个在IzPack中的错误,虽然它使用了javax.xml – Demiurg 2009-12-29 08:50:28

相关问题