Прошу простить мое незнание XSLT. Я довольно новичок в этом.Получить значения элементов в xsl: переменная
Использование Saxon XSLT 2.0: Я пытаюсь получить один элемент из XSL: переменная, которая выглядит следующим образом при применении <xsl:copy-of select="$type">
:
<type>
<label>Book</label>
<id>book</id>
</type>
Попытка получить доступ только элемент ID - Я пытался :
<xsl:copy-of select="$type/id">
<xsl:copy-of select="$type[2]">
<xsl:value-of select="$type/id">
<xsl:value-of select="$type[2]">
пытался Кроме того, это и несколько вариантов, а
<xsl:value-of select="$type[name()='id']"/>
И попытались изменить тип данных
<xsl:variable name="type" as="element">
С XSLT 2.0 набором узлов) манипуляция, кажется (не применять.
Я ищу подробное описание того, как правильно обращаться к элементам xsl: variable, а также будет рад найти, что я использую все это неправильно, это лучший способ. Спасибо за ваши идеи и усилия.
@ мартеновского-Honnen При добавлении:
<xsl:variable name="test1">
<type>
<label>Book</label>
<id>book</id>
</type>
</xsl:variable>
<TEST1><xsl:copy-of select="$test1/type/id"/></TEST1>
<xsl:variable name="test2" as="element()">
<type>
<label>Book</label>
<id>book</id>
</type>
</xsl:variable>
<TEST2><xsl:copy-of select="$test2/id"/></TEST2>
Я получаю результат:
<TEST1/>
<TEST2/>
обновленным вопрос –
Ну для первого образца вы не следовали моему предложению. Второй должен работать и делать для меня, я отредактировал свой ответ с полным образцом, показывающим оба пути и вывод, который я получаю с Saxon 9. Если у вас все еще есть проблемы, отправьте минимальный, но полный образец, позволяющий нам воспроизвести проблему. –
Спасибо, Мартин. Я обновил вышеуказанный и принятый ответ, поскольку он должен работать так, как вы показали. –