Recipe14.10.Scripting Extension Elements


Recipe 14.10. Scripting Extension Elements

Scripted extensions are very similar to Java extensions, except the extension is implemented inside of the xalan:script element:

<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>

As with Java, the return value is placed into the result tree, but you return null to disable this effect with scripting languages. See Recipe 14.13 for an example.

XSLT 2.0

At this time, I am unaware of any effort to upgrade Xalan to XSLT 2.0.




XSLT Cookbook
XSLT Cookbook: Solutions and Examples for XML and XSLT Developers, 2nd Edition
ISBN: 0596009747
EAN: 2147483647
Year: 2003
Pages: 208
Authors: Sal Mangano

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net