First, let me tell i'm not a expertise in these areas, so bear with me...
When i declare a namespace pointing to a Java class, is that Java class treated
as a Static class? Or does the XSL processor somehow instatiates a object of
that class?
I'm asking this cause i have this situation:
<?xml version="1.0" encoding="ISO8859-1" ?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:gti = "SQLHelper" >
(...)
<xsl:element name="ResultSet">
<xsl:attribute name="sql"><xsl:value-of
select="gti:AcertaSqlReservado($sql)"/></xsl:attribute>
</xsl:element>
This XSLT is called by a Java program
public class Tester{
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new
FileInputStream(xin+".xml")));
PrintWriter out = new PrintWriter(new FileOutputStream(xout+".xml"));
try {
TransformerFactory xformFactory = TransformerFactory.newInstance();
Source xsl = new StreamSource("Testes12.xsl");
Transformer stylesheet = xformFactory.newTransformer(xsl);
Source request = new StreamSource(br);
Result response = new StreamResult(out);
//stylesheet.setParameter("gui", "awt");
stylesheet.transform(request, response);
}
catch (TransformerException e) {
System.err.println(e);
}
}
catch (FileNotFoundException e) {
System.err.println(e);
}
}
}
This works OK, but if i change the XSL to
<?xml version="1.0" encoding="ISO8859-1" ?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:gti = "Tester" ---> the same Java class that call the XSLT
i got a TransformerException.
But i don't understand why.
Thanks all.
O SAPO já está livre de vírus com a Panda Software, fique você também!
Clique em: http://antivirus.sapo.pt