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>

Generate XML Schema

Generate XML Schema data models from one or more XML instance documents, or by converting other data models (DTD's, Relational Schemas, EDIFACT, EDI, etc.)

DOM - The Document Object Model

The Document Object Model (DOM) is a cross-platform interface for parsing and manipulating XML. Learn how Stylus Studio supports DOM in our XML Pipeline and other XML parsing tools.

Convert to XML

Convert to XML is a powerful data integration tool enabling you to convert any legacy data format (EDI, EDIFACT, x12, Binary, HTML, TSV, CSV, etc.) to XML using an intuitive, visual user interface.

Electronics & Electrical Equipment

Many electronics and electrical equipment companies need the most powerful XML IDE to power up their companies. Come see which electronics & electrical equipment companies are wired up with Stylus Studio 2006.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member