Элемент <xsl:value-of>
Вставляет значение выбранного узла в виде текста.
<xsl:value-of
select = Expression
disable-output-escaping = "yes" | "no"
</xsl:value-of>
Атрибуты
- select
Обязательный. Выражение Выражения вычисляется в соответствии с текущим контекстом. Результаты преобразуются в строку, как если бы вызывалась функцияstring()
. Набор узлов преобразуется в строку вставкой строкового значения первого узла набора.
disable-output-escaping
Значение по умолчанию —"no"
. Если указано значение"yes"
, текстовый узел, сформированный элементом<xsl:value-of>
, будет выведен без escape-символов.. Например, выражение"<"
сформирует единственный символ.<xsl:value-of disable-output-escaping="yes" select="string('<')"/>
Примечание. Поскольку элемент
disable-output-escaping="yes"
может приводить к созданию документов в неправильном формате, его следует применять с осторожностью. Неправильный формат вывода в определенных обстоятельствах может приводить к появлению ошибок. Например, вывод с помощью методаtransformNodeToObject
в XML-документ требует, чтобы результат имел правильный формат, и поэтому может не завершиться, если атрибутdisable-output-escaping
повлиял на формат документа. Рассматривайтеdisable-output-escaping="yes"
как дополнительную функцию, применять которую можно, только хорошо понимая потенциальную опасность.
Сведения об элементе
Количество вхождений |
Без ограничений |
Родительские элементы |
xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, выходные элементы |
Дочерние элементы |
(Нет дочерних элементов) |
Замечания
Элемент <xsl:value-of>
вставляет текстовую строку, представляющую значение первого элемента (в порядке появления в документе), заданного атрибутом select
.
Если выражение языка XPath возвращает несколько узлов, элемент <xsl:value-of>
возвращает текст первого возвращенного узла (эквивалентно методу selectSingleNode
объекта XMLDOMNode
). Если возвращенный узел представляет собой элемент с внутренней структурой, элемент <xsl:value-of>
возвращает сцепленные текстовые узлы поддерева элемента после удаления разметки.
Примеры
Приведенный далее XSLT-файл создает элемент <p>
из элемента <person>
с дочерними элементами <given-name>
и <family-name>
. Элемент <p>
будет содержать строковое значение первого дочернего элемента <given-name>
текущего узла, за которым следует пробел и строковое значение первого дочернего элемента <family-name>
текущего узла.
XML-файл (family.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="family.xsl"?>
<family>
<person>
<given-name age="10">Fred</given-name>
<family-name>Smith</family-name>
</person>
<person>
<given-name age="13">Jill</given-name>
<family-name>Jones</family-name>
</person>
</family>
XSLT-файл (family.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="person">
<p>
<xsl:value-of select="given-name"/>
<xsl:text> </xsl:text>
<xsl:value-of select="family-name"/>
</p>
</xsl:template>
</xsl:stylesheet>
Вывод
Далее приведен форматированный вывод.
Евгений Кузнецов
Наталья Иванова
Далее приведен вывод обработчика.
<?xml version="1.0" encoding="UTF-16"?>
<p>Fred Smith</p>
<p>Jill Jones</p>