次のコードでは、例外がスローされます。 order by
のため。XPathCompiler.compile()は "order by"で例外をスローします
Configuration config = createEnterpriseConfiguration();
Processor processor = new Processor(config);
XPathCompiler xpath = processor.newXPathCompiler();
XPathExecutable exe = xPath.compile("for $x in /Order_1/Order_2 order by $x/@id descending, $X/@name ascending return $x");
それはのために正常に動作します:
XPathExecutable exe = xPath.compile("for $x in /Order_1/Order_2 return $x");
XPathException
は次のとおりです。
Message: net.sf.saxon.trans.XPathException: expected "return", found name "order"
Location: XPath syntax error at char 27 near {...x in /Order_1/Order_2 order...}:
私はこのケースでorder by
を設定するにはどうすればよいですか?
「これはどのような研究努力もしていないのですか?私は完全なコードサンプルを提供します。そして、私はcompile()呼び出しのために "order by"を扱うことについて検索して何も見つけることができませんでした。 –
コンパイルしようとしている式は、XPathよりもXQueryに似ています。たとえば、https://www.oxygenxml.com/archives/xsl-list/200809/msg00391.htmlを参照してください。 –
@ LukeWoodward - 私が理解しているように、XPath 2.0はXQueryのクエリ部分です。それは問題ではないはずです。結局のところ、 "order by"部分のないクエリは機能します。 –