XML XInclude и два элемента с одинаковым именем

У меня есть два разных XML-файла (точнее, установка IzPack), которые являются общей частью. Естественно, я хотел бы сохранить эту общую часть в одном (внешнем) файле и включить его в два установочных файла XML.

Я не могу заставить его работать, так как кажется, что 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"/>

1 ответ

Как твоя xinclude выглядит как? Ты пытался parse=text:

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

Таким образом, вы должны иметь возможность выглядеть так:

<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>
Другие вопросы по тегам