У меня есть следующий вопрос, в основном я просто хотел бы создать настраиваемый массив, что-то вроде - Желтый | Красный | ЗеленыйXslt массив и/или цикл
И после того, как цикл по этим пунктам, используя для-всех и печати значений, я создал что-то вроде этого:
<xsl:variable name="Colors">
<m>Yellow</m>
<m>Red</m>
<m>Green</m>
</xsl:variable>
И тогда я пытаюсь петлю на нем:
<xsl:for-each select="$Colors">
<xsl:value-of select ="current()" />
</xsl:for-each>
Но Я получаю эту ошибку: Exrpession должен evalutate к набору узлов $ Цвета
Любая идея, что может быть неправильным?
Если вы используете ' Xsl: for-each> 'тогда три значения должны быть выведены. Если это не сработает, в вашей таблице стилей может появиться объявление пространства имен по умолчанию. Вам нужно будет изменить объявление переменной на ' Желтый ... xsl: variable>', чтобы убедиться, что элементы 'm' не имеют пространства имен и может быть выбрано как 'm' в XPath. –
просто еще один вопрос, касающийся этого, для уточнения: необходимо использовать для построения массива, или я могу создать массив по-разному? –
Alnedru
Вы не строите 'массив', поскольку у XSLT/XPath нет такого типа данных. В XSLT 1.0 вы создаете фрагмент дерева результатов, который затем конвертируется в набор узлов. Чтобы структурировать фрагмент дерева результатов, вам действительно нужно использовать элементы (или, в общем, узлы). С XSLT 2.0 существует больше гибкости, так как там вы можете определить последовательность строк с помощью '. –