Главная » XSLT » Реализация элемента расширения на сценарном языке

0

Расширения на сценарных языках очень напоминают Java-расширения с тем отличием, что расширение реализуется внутри элемента xalan:script:

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xslt" xmlns:MyExt="xalan://com.AcmeX.MyExtensionElement"> extension-element-prefixes="MyExt">

<xalan:component prefix="rep" elements="repeat"> <xalan:script lang="javascript">

function superExtension(ctx, elem) {

/* … */ return null ;

}

</xalan:script> </xalan:component>

<xsl:template match="*">

<myExt:superExtension attr1="val1" attr2="val2"> <!– … –> <myExt:superExtension>

</xsl:template> </xsl:stylesheet>

Как и в случае Java, возвращенное значение помещается в результирующее дерево, но можно подавить это действие, вернув null. Пример см. в рецепте 14.13.

XSLT 2.0

В настоящее время мне неизвестно о каких-либо действиях по модернизации процессора Xalan до уровня XSLT 2.0.

Мангано Сэл  XSLT. Сборник рецептов. – М.: ДМК Пресс, СПБ.: БХВ-Петербург, 2008. – 864 с.: ил.

По теме:

  • Комментарии