XSLT: запуск таблицы стилей безрешить темы - PullRequest
1 голос
/ 14 января 2011

Я пытаюсь добавить инструкцию обработки после каждого элемента <xi:include>.

<xsl:template match="@*|node()" name="identity">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>
<xsl:template match="xi:include">
    <xsl:call-template name="identity"/>
    <xsl:processing-instruction name="hard-pagebreak"/>
</xsl:template>

Проблема заключается в том, что как только я применяю это к своему файлу contents.xml (который является спискомцелая куча <xi:include>, теги разрешаются, и файл по существу выравнивается (то есть <xi:include> заменяется тем, что они представляют. Это происходит, когда я запускаю любую таблицу стилей на content.xml

Есть ли способ запустить таблицу стилей без разрешения <xi:include>? Может быть, отключить парсер xslt или что-то еще на время этой таблицы стилей ???

Ответы [ 2 ]

1 голос
/ 14 января 2011

Либо используйте анализатор XML, который не понимает xi:include, либо установите правильный переключатель для предотвращения обработки xi:include синтаксическим анализатором.

Если это невозможно, то вы должны включить свою обработку в то же преобразование, которое генерирует элементы xi:include.

0 голосов
/ 14 января 2011

Вам просто нужно использовать процессор XSLT, который не понимает теги <xi:include>.Что вы используете для запуска XSLT в данный момент?

Я вполне уверен, что процессор Microsoft XSLT не будет обрабатывать их:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2fb55371-c94e-4373-b0e9-db4816552e41&displaylang=en

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...