Using an Extension Function in Stylus Studio

The process of using an extension function in Stylus Studio involves three main steps:

1. First, you need to write a Java class that can be used from within a stylesheet. In this example, the SystemDate() method returns the system date and time as a string:
import java.util.Date; 
               
public class SystemUtils 
               
{ 
               
   public Object SystemDate() 
               
   { 
               
     Date d = new Date(); 
               
     String s = d.toString(); 
               
     return s; 
               
   } 
               
}
               

            
2. Second, compile your class and register it on the Stylus Studio host by copying the .class file to a location defined in the host's CLASSPATH environment variable.
3. Finally, specify information in the stylesheet so that Stylus Studo can use your class. You do this with a namespace reference in the xsl:stylesheet tag. For example, define a namespace as xmlns:Ext where Ext is the prefix to use when calling the class methods. ( Ext is not a predefined keyword; it can be replaced by any other legal string.) The namespace reference then takes the class name as a value. In this example, the whole reference looks like the following:
xmlns:Ext="SystemUtils" 
               

            

The class is now available from within the stylesheet and can be used in a template such as the following:

<xsl:template match="NODE"> 
               
   <p><xsl:value-of select="Ext:SystemDate()"/></p> 
               
</xsl:template>
               

            

The XSLT stylesheet might look like the following:

<?xml version="1.0" encoding="ISO-10646-UCS-2"?> 
               
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform" 
               
xmlns:Ext="SystemUtils"> 
               
   <xsl:param name="param">test</xsl:param> 
               
   <xsl:template match="*|/">
               
      <xsl:apply-templates/>
               
   </xsl:template> 
               
   <xsl:template match="text()|@*">
               
     <xsl:value-of select="."/>
               
   </xsl:template> 
               
   <xsl:template match="NODE"> 
               
     <p><xsl:value-of select="Ext:SystemDate()"/></p> 
               
   </xsl:template> 
               
</xsl:stylesheet>
               

            

Insurance Companies That Use Stylus Studio

Everyone needs insurance, even insurance companies. That's why these top insurance companies are insured when it comes to XML. Come see which insurance providers are insured by the power of Stylus Studio!

XML Validator

Stylus Studio has a built-in XML validator that supports industry-standard DTD and XML Schema validators including MSXML 4.0 SAX, MSXML 4.0 DOM, Microsoft .NET XML Parser (System.XML), Xerces-J 2.5.1, XSV 2.6, etc. Validate XML with Stylus Studio.

DataDirect XML Converters

DataDirect XML Converters are high-performance Java components which provide bi-directional, programmatic access to virtually any data source as XML.

Learn XSLT

Free online video demonstrations for learning XSLT and how to design XSLT stylesheets to convert XML to HTML in publishing applications, or how to convert HTML to XML.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member