[docs] Опять про XInclude

Stanislav Ievlev inger на altlinux.org
Вт Дек 23 15:06:15 MSK 2003


Хочется спросить у спецов по xml.
Как быть с новым Xinclude

Раньше (namespace 2001) было так:
--location3.xml---
<?xml version="1.0"?>
<!DOCTYPE program PUBLIC "-//ALT//General Config Format V1.0//EN"
"config.dtd">
<!-- test xinclude feature -->
<program>
    <title>test program</title>
      <xinclude:include href="include.xml#xpointer(/*/node())" parse="xml"
       xmlns:xinclude="http://www.w3.org/2001/XInclude"/>
</program>
-----------------

И всё работало как надо
-------
$xmllint --xinclude  location3.xml
location3.xml:7: element include: XInclude warning : Deprecated XInclude
namespace found, use http://www.w3.org/2003/XInclude
<?xml version="1.0"?>
<!DOCTYPE program PUBLIC "-//ALT//General Config Format V1.0//EN"
"config.dtd">
<!-- test xinclude feature -->
<program>
    <title>test program</title>

<group1>
    <suboption>value1</suboption>
    <suboption>value2</suboption>
</group1>
<group1>
    <suboption>value3</suboption>
    <suboption>value4</suboption>
</group1>

</program>
-------
Теперь как я понял надо переносить описание в поле xpointer.
------location3.xml--------
?xml version="1.0"?>
<!DOCTYPE program PUBLIC "-//ALT//General Config Format V1.0//EN"
"config.dtd">
<!-- test xinclude feature -->
<program>
    <title>test program</title>
    <xinclude:include href="include.xml" parse="xml"
            xpointer="xpointer(/*/node())"
            xmlns:xinclude="http://www.w3.org/2003/XInclude"/>
</program>
---------------------------
В результате получаю:
-----------------
<?xml version="1.0"?>
<!DOCTYPE program PUBLIC "-//ALT//General Config Format V1.0//EN"
"config.dtd">
<!-- test xinclude feature -->
<program>
    <title>test program</title>
    <in>
<group1>
    <suboption>value1</suboption>
    <suboption>value2</suboption>
</group1>
<group1>
    <suboption>value3</suboption>
    <suboption>value4</suboption>
</group1>
</in>
</program>
----------------

Вопрос: Что теперь надо сделать чтобы включить несколько узлов одновременно, а
не один с включенными несколькими подузлами внутри.

-------include.xml--------------
<in>
<group1>
    <suboption>value1</suboption>
    <suboption>value2</suboption>
</group1>
<group1>
    <suboption>value3</suboption>
    <suboption>value4</suboption>
</group1>
</in>
-------

Почему так в корне изменилось поведение Xinclude?

--
Станислав Иевлев.




Подробная информация о списке рассылки docs