问题描述
各位大虾,紧急求助啊,目前项目中需要用Java自带的Transformer调用xslt来转换xml格式,其中xml文档示例如下:<oa9:root><oa9:person><oa9:name>abner</oa9:name><eims2:sex>male</eims2:sex><oa9:age>29</oa9:age></oa9:person></oa9:root>如大家看到的,文档中的节点名称带有冒号,我自己在XSLT中定义了一下命名空间,代码如下:<?xmlversion="1.0"?><xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:oa9="http://www.openapplications.org/oagis/9.0/ProductDispositionBOD_2008-07-07"xmlns:eims2="http://www.ibm.com/xmlns/eims/2.0/ProductDispositionBOD_2008-07-07"><xsl:templatematch="/"><root><xsl:call-templatename="withSemicolon"></xsl:call-template></root></xsl:template><xsl:templatename="withSemicolon"><name><xsl:value-ofselect="/oa9:root/oa9:name/eims2:sex/text()"/></name></xsl:template></xsl:stylesheet>我自己使用XMLSpy的时候,这个XSLT可以正常工作,但是问题出现在使用Java自带的解析器调用XSLT进行文档转换的时候,转换后的Document里根本就什么值都没有!我快要疯了……哪位大虾帮忙解决一下啊,要求就是在不改动现有的XML的情况下,用Java自带的Transformer调用这个XSLT文件(当然XSLT可以改动)来转换这个XML文件,跪求啊,救命啊~