XSLT Xalan dyn: пример оценки - PullRequest
2 голосов
/ 23 октября 2008

Я хочу, чтобы вы использовали EXSLT - DYN: EVALUATE в таблице стилей. Я добавил темп имен, но я не знаю, где находится файл .xsl, который мне нужно импортировать. Я не верю, что у меня установлен XALAN, чтобы указать импорт. Как бы я установить это? После установки, и я указываю на .xsl, он подберет функцию и применит ее? Я использую Windows. Файл XSLT включен в начало документа XML.

Спасибо

Пит

Ответы [ 3 ]

6 голосов
/ 24 октября 2008

Xalan имеет встроенную функцию EXSL dyn: оценивать, вам не нужно ничего импортировать, чтобы использовать ее. Вам просто нужно объявить пространство имен. Я приведу небольшой пример:

Input.xml

<root>
<foo>I am foo</foo>    
<bar>I am bar</bar>    
</root>

dyn_evaluate.xsl

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:dyn="http://exslt.org/dynamic"
    extension-element-prefixes="dyn">

  <xsl:param name="path"/>

  <xsl:output method="text"/>

  <xsl:template match="/">
    <xsl:value-of select="dyn:evaluate($path)"/>
  </xsl:template>

</xsl:stylesheet>

Запуск

xalan.exe -p path '/root/foo' input.xml dyn_evaluate.xsl

дает

I am foo

Запуск

xalan.exe -p путь '/ root / bar' input.xml dyn_evaluate.xsl

дает

I am bar

Надеюсь, это поможет.

0 голосов
/ 28 декабря 2008

Вы не можете, потому что если вы обслужите клиента XML-страницей с прикрепленной таблицей стилей, это не сработает. Браузеры не поддерживают exslt.

Однако, если вы выполняете обработку XSLT на сервере (с xalan), вы можете заставить его работать, но я не понимаю, как вы комбинируете xslt с jsp.

0 голосов
/ 24 октября 2008

Как бы вы назвали это со страницы JSP? JSP обслуживает XML и в настоящее время присоединяет таблицу стилей к странице XML и отправляет результат на сервер.

...