Элемент <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('&lt;')"/>
    
    NoteПримечание.

    Поскольку элемент 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>