Вы можете использовать внешний анализируемый общий объект , чтобы объявить ссылку на объект для фрагмента B , а затем использовать его несколько раз внутри фрагмента A.
При анализе фрагмента A ссылки на сущности будут расширены, а содержимое фрагмента B будет включено в каждое место, где использовалась сущность.
Например, предположим, что у вас есть файл с именем snipppetB.xml:
<snippetB>
<foo>Content goes here</foo>
</snippetB>
И файл для сниппета A объявил сущность с именем snippetB
, ссылающуюся на snippetB.xml, и использовал ее четыре раза:
<!DOCTYPE snippetA [
<!ENTITY snippetB SYSTEM "./snippetB.xml">
]>
<snippetA>
<a>&snippetB;</a>
<b>&snippetB;</b>
<c>&snippetB;</c>
<d>&snippetB;</d>
</snippetA>
При анализе файла snippetA.xml содержимое XML будет выглядеть следующим образом:
<snippetA>
<a>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</a>
<b>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</b>
<c>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</c>
<d>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</d>
</snippetA>