我使用xslt1.0将html转换为xml。我想为一些内置函数迁移到xslt2.0。目前我改造的代码是这样,需要使用saxon将html转换为使用xslt的xml
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
和转换方法是
public static String convert(String inputHtml, String xsl) throws Exception {
File xsltFile = new File(xsl);
InputStream is = new ByteArrayInputStream(inputHtml.getBytes("UTF-8"));
javax.xml.transform.Source xmlSource = new javax.xml.transform.stream.StreamSource(is);
javax.xml.transform.Source xsltSource = new javax.xml.transform.stream.StreamSource(xsltFile);
StringWriter sw = new StringWriter();
javax.xml.transform.Result result = new javax.xml.transform.stream.StreamResult(sw);
javax.xml.transform.TransformerFactory transFact = javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer trans = transFact.newTransformer(xsltSource);
trans.transform(xmlSource, result);
return sw.getBuffer().toString();
}
如何为撒克逊处理器写?在此先感谢
好,从xslt1.0到xslt2.0的差异将在xsl文件中,而不是在java代码中。 – MeBigFatGuy 2011-04-15 06:14:33
您是否意味着我们可以将xsl文件的版本从1.0更改为2.0? – vignesh 2011-04-15 06:35:09