xslt-1.0Начало работы с xslt-1.0

замечания

В этом разделе представлен обзор того, что такое xslt-1.0, и почему разработчик может захотеть его использовать.

Следует также упомянуть любые крупные темы в xslt-1.0 и ссылки на связанные темы. Поскольку Documentation for xslt-1.0 является новым, вам может потребоваться создать начальные версии этих связанных тем.

Установка или настройка

Для выполнения любого преобразования XSLT необходим XSLT-процессор. Обычно его можно установить через диспетчера пакетов системы. Например, в Debian его можно установить с помощью:

sudo apt-get install xsltproc

Минимальная трансформация «Hellow World»

Это минимально возможное преобразование XSLT. Он создает строковое значение исходного XML-документа. Формат вывода - text .

Исходный XML-документ :

<t>Hello, World!</t>

Преобразование XSLT :

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>
</xsl:stylesheet>

Результат применения преобразования в исходном XML-документе, указанном выше:

Hello, World!

Обратите внимание :

  1. Объявление <xsl:template> не используется.

  2. Требуемый тип вывода указан в объявлении <xsl:output> , как значение его атрибута метода .

  3. Когда нет соответствующих шаблонов, XSLT-процессор, следуя правилам модели обработки XSLT, применяет стандартные встроенные шаблоны XSLT, и это приводит к копированию на вывод конкатенации всех текстовых узлов в порядке документа. В этом простом случае исходный XML-документ имеет только один текстовый узел со строковым значением строку « Hello, World! ».

Преобразование идентичности с использованием «правила идентичности»

В этом примере показана основа практически любого преобразования XSLT и самого фундаментального шаблона проектирования XSLT. Производя в качестве вывода XML-документ, идентичный исходному XML-документу.

Исходный XML-документ :

<t>Hello, World!</t>

Преобразование XSLT :

<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

Результат . При применении этого преобразования на любом исходном XML-документе вывод является XML-документом, который идентичен исходному XML-документу. В этом случае:

<t>Hello, World!</t>

Обратите внимание :

  1. Использование и переопределение правила идентичности является наиболее фундаментальным шаблоном проектирования XSLT. Это приводит к простым, коротким и элегантным решениям основных задач, таких как удаление / вставка / переименование элементов и многое другое.

  2. Правило / шаблон идентификации - это тот, который опубликован в спецификации W3C XSLT 1.0