xslt调用java方法

在stylesheet标签里声明命名空间和调用方法:

 

......

 

${path}随便怎样写都可以,即使是个不存在的path也可以,但必须保证最后一个packageName是java的classpath中的第一个包,例如包名为:process,类名为:processor,方法为:format。则xslt这样写:

 

......

 

在某文件夹下(例如D:/java/classes,确保D:/java/classes在classpath中)建立文件夹process,在process文件夹里创建processor.java,processor.java这样写:

package process; import org.w3c.dom.Node; public class processor() { public static String format(Node node)//必须使用静态方法 { if (node == null) return ""; return node.getNodeValue(); } }

 

然后建立个Parse.java类进行测试:

import java.io.*; import javax.xml.transform.*; import javax.xml.transform.stream.*; public class Parse { public static void main(String argv[]) { Source xml = new StreamSource("test.xml"); Source xsl = new StreamSource("test.xsl"); Result out = new StreamResult(System.out); try { TransformerFactory.newInstance().newTransformer(xsl).transform(xml, out); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } } }

你可能感兴趣的:(java,xslt,java,stylesheet,xsl,import,path)