[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

reposting.extension library question

Subject: reposting.extension library question
From: "william locksman" <vsd18@xxxxxxxxxxxxxx>
Date: 15 May 2002 14:53:14 -0000
library question
hello , sorry to repost this question..
i did not get a response for my question. can some one please answer me??


hello i have a question regarding using the extension library
function ussage.
i have seen articles that use the toUpperCase of String method in
the following way.
for xml


<colors>
<color>red</color>
<color>blue</color>
<color>green and pink</color>
</colors>


using the java's to upper case, the xsl would be


<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan = "http://xml.apache.org/xalan"
exclude-result-prefixes="xalan" xmlns:java = "java">
<xsl:template match="/">
<xsl:for-each select="/colors/color">
<xsl:variable name="color" select="java:lang.String.new(.)"/>
from java: <xsl:value-of select="java:toUpperCase($color)"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

where we instantiate the String object by saying
java:lang.String.new()  and then call the toUpperCase Method on
that string. thaz fine.

I have then formed my own utility class that returns the string in
the uppercase( just for test purpose ). This Class is StrUtils
which has a method called upperCase()that takes the String to be
converted to the uppercase and returns String in uppercase.
( I am doing this purely for test purpose)
and i am calling this method in the following way in my XSL


<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan = "http://xml.apache.org/xalan"
exclude-result-prefixes="xalan"
xmlns:str-utils = "com.xyz.StrUtils" extension-element-prefixes
="str-utils" >
<xsl:template match="/">
<xsl:for-each select="/colors/color">
<xsl:variable name="color" select="."/>
<xsl:value-of select="str-utils:upperCase($color)"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

This works fine too. My question is that in my Example, where is
the instantiation being done?? I have not done anything like
com.xyz.StrUtils.new()... so how is it working??
what is the theory behind the object instantiation when it comes
to extension libraries??

The StrUtils Class is as follows

public class StrUtils {

    /**
     *  Constructor for the StringUtils object
     */
    public StringUtils() { }

    public String upperCase(String str) {
        return "str.toUpperCase() "+str.toUpperCase();
    }
}

i would be thankful if someone can please tell me about this.

_________________________________________________________
Click below to visit monsterindia.com and review jobs in India or Abroad
http://monsterindia.rediff.com/jobs



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.