parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

У меня тоже проблемы с XML!

Peranth 01.06.2004 10:40

Не получается у меня преобразование XML-файла.

Вот исходный XML-файл:

<?xml version="1.0" encoding="windows-1251" ?>
<navigation>
<rubric>
<description>Рубрика 1</description>
<link>rub1</link>
<rubric>
<description>Подрубрика 1</description>
<link>subrub1</link>
<rubric>
<description>Рубрика 3-го уровня</description>
<link>subrublev3</link>
</rubric>
</rubric>
<rubric>
<description>Подрубрика 2</description>
<link>subrub2</link>
</rubric>
</rubric>
<rubric>
<description>Рубрика 2</description>
<link>rub2</link>
</rubric>
<rubric>
<description>Рубрика 3</description>
<link>rub3</link>
</rubric>
</navigation>

_________________________________________________________________
Вот XSL-файл (который производит идентичное преобразование):

<?xml version="1.0" encoding="windows-1251" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="*|@*|processing-instruction()|text()">
<xsl:copy>
<xsl:apply-templates select="*|@*|processing-instruction()|text()"/>
</xsl:copy>
</xsl:template>

</xsl:stylesheet>

_________________________________________________________________
А на выходе получается нечто:

<navigation>
<rubric>
<description>Рубрика 1</description>
<link>
<rubric>
<description>Подрубрика 1</description>
<link>
<rubric>
<description>Рубрика 3-го уровня</description>
<link>
</rubric>
</rubric>
<rubric>
<description>Подрубрика 2</description>
<link>
</rubric>
</rubric>
<rubric>
<description>Рубрика 2</description>
<link>
</rubric>
<rubric>
<description>Рубрика 3</description>
<link>
</rubric>
</navigation>

_________________________________________________________________
То есть совсем не то.
Почему инструкция processing-instruction() не срабатывает?
Почему элемент link половинчатый выходит?


П.С.
Вот код парсера:

@main[]
$sourceDoc[^xdoc::load[in.xml]]
$transformedDoc[^sourceDoc.transform[style.xsl]]
^transformedDoc.string[
$.method[html]
]