Набор узлов XSLT 1.1 - PullRequest
       20

Набор узлов XSLT 1.1

2 голосов
/ 22 июня 2010

У меня есть это ...

<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common">

  <xsl:variable name="data">
    <root>
      <test>1000</test>
      <test>2000</test>
      <test>3000</test>
     </root>
   </xsl:variable>   

   <xsl:template match="/">
     <xsl:for-each select="$data/root/test">
        <xsl:for-each select="."/>
     </xsl:for-each>
   </xsl:template>
</xsl:stylesheet>

И я подумал, что в XSLT 1.1 переменная $ data будет рассматриваться как набор узлов, и поэтому стандартные вещи XSLT, например, for-each, должны работать.

Я не получаю сообщение об ошибке, но ничего не получаю - все равно, что набор данных $ data полностью пуст.

Я тоже пробовал это

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common">

      <xsl:variable name="data">
        <root>
          <test>1000</test>
          <test>2000</test>
          <test>3000</test>
         </root>
       </xsl:variable>   

       <xsl:template match="/">
         <xsl:for-each select="exslt:node-set($data)/root/test">
            <xsl:for-each select="."/>
         </xsl:for-each>
       </xsl:template>

</xsl:stylesheet>

С такими же результатами. (Infact, я сделал это раньше без проблем) Я использую саксонский.

Чего мне не хватает? (Кстати, я не могу использовать XSLT 2.0)

Спасибо

Ответы [ 2 ]

1 голос
/ 22 июня 2010

Вы писали:

Я не получаю ошибку, но я не получаю выход

Проблема здесь:

<xsl:for-each select="."/> 

Ваш вопрос:

Чего мне не хватает?

Ответ: Вам не хватает вашего шаблона .

0 голосов
/ 22 июня 2010
<xsl:template match="/"> 
  <xsl:for-each select="exslt:node-set($data)/root/test">

     <xsl:for-each select="."/> 
  </xsl:for-each>     </xsl:template>

Ошибка в следующей (пустой) инструкции :

    <xsl:for-each select="."/> 

Это (вероятно) должно быть :

<xsl:value-of select="."/>

или

<xsl:copy-of select="."/>

или ...?

...