Языки информационного обмена

Декларация xsl:template


Элемент xsl:template определяет шаблонное правило преобразования. Своим атрибутом match он задает образец для отбора узлов, подлежащих преобразованию, а в теле содержит конструктор последовательности узлов и атомарных значений, которая и будет результатом преобразования отобранных по образцу узлов.

<xsl: template match=" Образец" name="Имя">Конструктор</хsl:template>

Каждый из атрибутов match и name не обязателен, но хотя бы один из них должен присутствовать.

Атрибут match содержит образец для отбора преобразуемых узлов.

Атрибут name определяет имя шаблона. Имя шаблона - это обычное уточненное имя XML типа QName. Шаблон можно вызвать по имени элементом xsl:call-template, а если он не содержит атрибута match, то такой вызов обязателен, поскольку неизвестны узлы, к которым его надо применить, и он не будут применяться автоматически. Очень часто именованный шаблон содержит параметры, заданные элементами xsl:param, и вызывается с различным параметрами совсем как обычная функция.

У элемента xsl: template могут быть дополнительные атрибуты mode, as, riority.

Атрибут mode определяет режим обработки.

Атрибут as указывает желаемый тип результата (полученная последовательность будет приведена к этому типу).

Атрибут priority назначает правилу приоритет, который будет учитываться при отборе правил, применимых к некоторому узлу.

При вызове именованного шаблона элементов xsl:call-template атрибуты match,mode и priority игнарируются.

Если у именованного шаблона нет атрибута match, то у него не должно быть и атрибутов mode и priority, в них просто нет никакого смысла.



Содержание раздела