我想将 xslt 应用于我的 xml 查询结果,但我不断收到错误。我正在研究 Tomcat,我的 java 代码包括:
String ret="";
String xsltstylesheet = "https://dl.dropbox.com/x/xsltstylesheet.xsl";
QueryExecution qExec = QueryExecutionFactory.create(query, model) ;
ret += ResultSetFormatter.asXMLString(qExec.execSelect(), xsltstylesheet);
qExec.close() ;
return ret;
因此,将我的结果格式化为XMLString后,我一直在尝试通过在我的 jsp 中使用1-transform和2-jstl从中生成 html,但两种情况都不起作用:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<?xml-stylesheet type="text/xsl" href="https://dl.dropbox.com/x/xsltstylesheet.xsl"?>
<%
String search=request.getParameter("user");
if(search==null) search="logic";
String result=search;
try{
ProjectMain pm=new ProjectMain();
result=pm.different(search);
}
//-case 1
Source source = new StreamSource(${result}); // ?syntax error, misplaced constructor
Source xsl = "https://dl.dropbox.com/u/84745393/xsltstylesheet.xsl";
Result table = new StreamResult(System.out);
StreamSource xsltSource = new StreamSource(new StringReader(xsl));
Transformer t = TransformerFactory.newInstance().newTransformer(xsl);
t.transform(xsl, table);
//-Or case 2
< c:import url="${result}" var="xmldocument"/>//Multiple annotations found at this line, Syntax error, insert";" /on token">"/ on token "import"...
< c:import url="https://dl.dropbox.com/x/xsltstylesheet.xsl" var="xslt"/>
< x:transform xml="${xmldocument}" xslt="${xslt}"/>
out.println(result);
%>
我想我的问题是转换需要它作为 StreamSource 的输入,但我的不是。而且我认为我不应该将查询结果的每个实例都写入文件以便以后将其转换为 html。
人们通常会做什么?我不知道如何解决它。