XSLT генерирует тег - PullRequest
       3

XSLT генерирует тег

0 голосов
/ 26 марта 2012

Мне нужно сгенерировать тег abc в XSLT. Я вижу, что мы должны указать в XSLT следующее:

<string name ="abc"></string>

Бит на выходе я получаю

<string name ="abc"></string>

Но мне нужен результат, как

<string>abc</string>

Пожалуйста, совет.

1 Ответ

0 голосов
/ 26 марта 2012

Синтаксис атрибута-значения-шаблона {$nm} работает только в значении атрибута. В содержимом элемента вы можете вместо этого использовать xsl:value-of, как в следующей редакции вашего кода. Нет необходимости наматывать xsl:text вокруг элемента xsl:value-of.

<xsl:variable name="nm"><xsl:value-of select="@textType" /></xsl:variable>
<object id="{@textType}" class="com.FontResolver" method="resolveFont">
<string><xsl:value-of select="$nm"/></string></object>
<font idref="{@textType}"/>

С другой стороны, xsl:value-of используется только для текста, а не для разметки. Если в какой-то другой момент вы хотите сгенерировать элементы XML, тогда вместо использования xsl:value-of вы можете использовать xsl:copy-of для вставки набора узлов, который является значением переменной или другого выражения; или вы можете использовать xsl:element для генерации любого элемента XML.

...