xml クエリの結果に xslt を適用したいのですが、エラーが発生し続けます。私は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に変換できるように、クエリ結果のすべてのインスタンスをファイルに書き込む必要はないと思います。
人々は通常何をしますか?修正方法がわかりません。