2015-02-18 4 views
0

В чем разница между этими выражениями?В чем разница между следующими двумя выражениями XSLT?

<xsl:text>someValue</xsl:text>

<xsl:value-of select="'someValue'"/>

И какой из них использовать?

+0

Последний является запутанной версией первого, заставляя думать, что он выбирает значение узла, когда он этого не делает. Хотя первая - более длинная версия только 'someValue'. – GSerg

ответ

1

Оба и <xsl:value-of select="'someValue'"/> создают текстовый узел с содержимым someValue, поэтому нет никакой разницы, и если вы хотите вывести буквальный текст, это зависит от вас, какую форму вы предпочитаете. Конечно, вообще value-of и его атрибут select позволяют использовать выражение XPath любого типа, поэтому, если вы не хотите выводить строку, жестко закодированную в XSLT, вы должны использовать value-of.

1

<xsl:value-of select=""/> Элемент используется для извлечения значения выбранного узла.

Элемент <xsl:text> используется для ввода литералов на выходе. Этот элемент может содержать литералы, ссылки на объекты и #PCDATA.

Обратите внимание, что в вашем примере оба будут возвращать то же, что вы указываете, чтобы выбрать текст «someValue», но я бы сказал, что было бы неплохо рассказать вам о различии между ними.

+1

'# PCDATA' включает в себя литералы и ссылки на объекты. Возможно, посмотрите на [spec] (http://www.w3.org/TR/xslt/#section-Creating-Text) вместо w3schools. –

Смежные вопросы