В чем разница между этими выражениями?В чем разница между следующими двумя выражениями XSLT?
<xsl:text>someValue</xsl:text>
<xsl:value-of select="'someValue'"/>
И какой из них использовать?
В чем разница между этими выражениями?В чем разница между следующими двумя выражениями XSLT?
<xsl:text>someValue</xsl:text>
<xsl:value-of select="'someValue'"/>
И какой из них использовать?
Оба и <xsl:value-of select="'someValue'"/>
создают текстовый узел с содержимым someValue
, поэтому нет никакой разницы, и если вы хотите вывести буквальный текст, это зависит от вас, какую форму вы предпочитаете. Конечно, вообще value-of
и его атрибут select
позволяют использовать выражение XPath любого типа, поэтому, если вы не хотите выводить строку, жестко закодированную в XSLT, вы должны использовать value-of
.
<xsl:value-of select=""/>
Элемент используется для извлечения значения выбранного узла.
Элемент <xsl:text>
используется для ввода литералов на выходе. Этот элемент может содержать литералы, ссылки на объекты и #PCDATA
.
Обратите внимание, что в вашем примере оба будут возвращать то же, что вы указываете, чтобы выбрать текст «someValue», но я бы сказал, что было бы неплохо рассказать вам о различии между ними.
'# PCDATA' включает в себя литералы и ссылки на объекты. Возможно, посмотрите на [spec] (http://www.w3.org/TR/xslt/#section-Creating-Text) вместо w3schools. –
Последний является запутанной версией первого, заставляя думать, что он выбирает значение узла, когда он этого не делает. Хотя первая - более длинная версия только 'someValue'. – GSerg