XSLT с набором узлов в качестве внешнего параметра - PullRequest
3 голосов
/ 06 апреля 2011

Я передаю узлы XML моему преобразователю JAVA:

transformer.setParameter("orset", qRes);

Содержимое qRes аналогично этому:

<DOCTYPES>
    <SUBTYPE>Passport</SUBTYPE>
    <DOCTYPE>Proof of identity</DOCTYPE>
</DOCTYPES>
<DOCTYPES>
    <SUBTYPE>Driving License</SUBTYPE>
    <DOCTYPE>Proof of address</DOCTYPE>
</DOCTYPES>

В моем XSL-файле объявлен глобальный параметр:

<xsl:param name="orset"/>

Могу ли я получить доступ к определенным значениям из параметра примерно так:

<xsl:for-each SELECT="$orset/DOCTYPES">
<xsl:value-of select="$orset/DOCTYPES/DOCTYPE"/>
...

Или как правильно это сделать?

Большое спасибо!

1 Ответ

1 голос
/ 06 апреля 2011

Лучше всего использовать функцию набора узлов eXslt ...

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:exsl="http://exslt.org/common"
  extension-element-prefixes="exsl"
  version="1.0">
 ...
 <xsl:value-of select="exsl:node-set($orset)/DOCTYPES"/>
  ...
</xsl:stylesheet>

Существуют альтернативные функции набора узлов, доступные на основе вашего процессора и т. Д., Все они перечислены в приведенной ниже ссылке.

http://www.xml.com/pub/a/2003/07/16/nodeset.html

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