我是一個帶有xml和XSL的新蜜蜂,與傳統平臺一起工作...
我正在尋找一種解決方案來從XPATH創建XML。發生了看到這個職位How to Generate an XML File from a set of XPath Expressions? 這幫了我很多。
與「評論」部分中討論的請求類似,我試圖將整個XSLT作爲字符串傳遞,並使用Saxon接收結果作爲反饋。以字符串形式接收結果,沒有問題。但是,當將XSL作爲字符串傳遞時,它會抱怨「document()」,它是< xsl:variable name =「vStylesheet」select =「」document('')「/>的一部分。
錯誤是「SXXP0003:XML解析器報告的錯誤:內容不被允許在prolog中。」 我的基本要求是我應該能夠將XSL(整個文件或「vPop」部分)作爲字符串傳遞,並且應該以另一個字符串的形式接收結果而不涉及任何文件。這樣我可以提高性能,並使其通用的,所以,任何人都在我們的商店,誰不知道如何處理XML仍然可以產生一個...從XPATH創建XML
我的Java代碼看起來像..
public static String simpleTransform(final String xsltStr) {
String strResult = "";
TransformerFactory tFactory = TransformerFactory.newInstance();
String tempXMLStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<OpnXMLTAG>Dummy</OpnXMLTAG>";
try {
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
StreamSource XSLSource = new StreamSource(new StringReader(xsltStr));
Transformer transformer = tFactory.newTransformer(XSLSource);
transformer.transform(new StreamSource(new StringReader(tempXMLStr)), result);
strResult = writer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return strResult;
}
我傳遞的XSLT字符串與之前的帖子是一樣的。
您意識到「從通過XPath檢索的數據創建XML」正是XSLT和XQuery的用處,對嗎? – keshlam