Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Xalan extension functions

Xalan extension functions

2007-05-11       - By Kevin Cormier
Reply:     <<     11     12     13     14     15     16     17     18     19  

Oops, I meant to say that the namespace should be
xmlns:MT="xalan://ManipulateText", not
xmlns:MT="xalan://ManipulateText.ManipulateText"

Kevin Cormier
Software Developer, XSLT Development
IBM Toronto Lab, D1-435
E-mail:  kcormier@(protected)


                                                                         
            "Wade, John F.                                                
            (MSFC-NAS902099)[                                            
            TBE]"                                                      To
            <John.F.Wade@(protected)         Kevin Cormier/Toronto/IBM@(protected)    
            .gov>                                                      cc
                                      <xalan-j-users@(protected)>      
            05/11/2007 04:45                                      Subject
            PM                        RE: Xalan extension functions      
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         




OK.  I see the explanation material you're referring to.  It's making
better sense now.

I modified the java to-

import java.util.*;
public class ManipulateText
{
public String Unescape(String mydata)
 {
   return mydata;
 }
}


The XSL starts with-
Changed the top material to-
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns="http://www.w3.org/1999/xhtml"
            xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:MT="xalan://ManipulateText.ManipulateText"
            extension-element-prefixes="MT"
            exclude-result-prefixes="doc"
            version="1.0">

And contains-
<xsl:variable name="mt" select="MT:new()"/>
<xsl:variable name="result" select="MT:Unescape($mt, 'test')"/>

We're getting a different error now.
file:///C:/Program%20Files/Corel/XMetaL%204/Author/conversion/xsl/IPV-PR
OCEDURE/ipv-procedure/cleartext.xsl; Line #204; Column #44; XSLT Error
(javax.xml.transform.TransformerException):
javax.xml.transform.TransformerException: Instance method call to method
new requires an Object instance as first argument


I'm puzzled why the 'new' isn't behaving as expected.
Just to be clear - the java code ends up in a file called
ManipulateText.class  that I've located in the same folder as the XSL.
I note with interest that if I delete the .class file, the error doesn't
change.  Which suggests to me that the transformer isn't finding it in
the first place.

Fun and games on a Friday afternoon...


************************************
John F. Wade, PE
TBE
MSFC iPV Integration
CLV First Stage Flight Operations
256-961-2410







-----Original Message-----
From: Kevin Cormier [mailto:kcormier@(protected)]
Sent: Friday, May 11, 2007 3:16 PM
To: Wade, John F. (MSFC-NAS902099)[TBE]
Cc: xalan-j-users@(protected)
Subject: RE: Xalan extension functions

Hi John,

Please refer to
http://xml.apache.org/xalan-j/extensions.html#ext-functions
and scroll down a bit to the section titled "Class format namespace"

Since you want to specify the class as the namespace, you should use "
xmlns:MT="xalan://ManipulateText.ManipulateText" unless your class
actually is in package ManipulateText.  Then what you have shown is
correct.

Your Unescape method is not static, so it needs an instance to operate
on.
Here is an example in Java and XSLT:
|------------------------------------+----------------------------------
--|
|Java                                |XSLT
|
|------------------------------------+----------------------------------
--|
|ManipulateText mt = new             |<xsl:variable name="mt"
|
|ManipulateText();                   |select="MT:new()"/>
|
|------------------------------------+----------------------------------
--|
|char result = mt.Unescape('p');     |<xsl:variable name="result"
|
|                                    |select="MT:Unescape($mt, 'p')"/>
|
|------------------------------------+----------------------------------
--|



Notice how the instance becomes an extra first argument to the method.

Alternatively, you could just use a static method.

One last thing - in your stylesheet, you're passing in 'text' which is
not a char.  I'm not sure exactly what happens in that case, but I
imagine you meant to use a String in your method.

Kevin Cormier
Software Developer, XSLT Development
IBM Toronto Lab, D1-435
E-mail:  kcormier@(protected)