我使用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