Я пытаюсь создать временный документ, содержащий некоторые данные, поэтому у меня его нет на всем протяжении xsl-файла. Я пытаюсь выполнить эти данные следующим образом:Итерация по временному документу с использованием xslt
<xsl:variable name="stuff">
<foo name="bar" key="83"/>
<foo name="baz" key="73"/>
<foo name="qux" key="71"/>
<foo name="quux" key="72"/>
</xsl:variable>
<xsl:for-each select="$stuff/foo" >
<xsl:value-of select="@key" />
</xsl:for-each>
Каждый блок никогда не вводится. Я попытался воспроизвести описанный метод here. Я также изучил использование node-set(), но насколько я могу сказать, что эта функция требуется только для XSLT версии 1.0?
Фрагмент, который вы опубликовали, отлично выглядит для меня, предполагая, что XSLT 2.0-процессор, такой как Saxon 9, AltovaXML, XmlPrime. Если у вас по-прежнему возникают проблемы, попробуйте рассказать нам о деталях окружающей среды и предоставить минимальные, но полные образцы, позволяющие нам воспроизвести проблему. –
Я попытался воспроизвести свои проблемы с использованием последней версии Saxon в командной строке, и оба этих подхода работают очень хорошо. По крайней мере, теперь я уверен, что ошибка не в файле xsl. – expez