转义Java中的Scratch内置XQuery
我正在开发一个应用程序,它将在MarkLogic服务器上构建和执行XQuery。我需要转义一些输入字符串,以确保它们不会破坏查询。是否存在处理此问题的现有Java代码?我希望避免重新发明这个轮子。如果使用像XQJ这样的库,它就能够绑定外部XQuery变量。通过这种方式,库应该负责转义任何敏感值并将它们注入到XQuery中。XQJ.net提供了一个用于MarkLogic的XQJ库。如果使用类似XQJ的库,它可以绑定外部XQuery变量。通过这种方式,库应该负责转义任何敏感值并将它们注入到XQuery中。XQJ.net提供了一个用于MarkLogic的XQJ库。使用内置语言功能:XQuery提供外部变量,XCC API可以从Java设置它们。请参阅“通过查询传递变量”下的示例。这里有一个简单的例子:转义Java中的Scratch内置XQuery,java,xquery,marklogic,Java,Xquery,Marklogic,我正在开发一个应用程序,它将在MarkLogic服务器上构建和执行XQuery。我需要转义一些输入字符串,以确保它们不会破坏查询。是否存在处理此问题的现有Java代码?我希望避免重新发明这个轮子。如果使用像XQJ这样的库,它就能够绑定外部XQuery变量。通过这种方式,库应该负责转义任何敏感值并将它们注入到XQuery中。XQJ.net提供了一个用于MarkLogic的XQJ库。如果使用类似XQJ的库,它可以绑定外部XQuery变量。通过这种方式,库应该负责转义任何敏感值并将它们注入到XQuer
Session session = contentSource.newSession("mydatabase");
Request request = session.newAdhocQuery(
"xquery version \"1.0-ml\";\n" +
"declare variable $myvar as xs:string external;\n" +
"data($myvar)");
// create Variable "myvar", bind to Request, ignore return value
request.setNewVariable ("myvar", ValueType.XS_STRING, "Some string value");
// "$myvar as xs:string" will be defined at query run time
ResultSequence rs = session.submitRequest(request);
使用内置的语言特性:XQuery提供外部变量,XCC API可以从Java设置这些变量。请参阅“通过查询传递变量”下的示例。这里有一个简单的例子:
Session session = contentSource.newSession("mydatabase");
Request request = session.newAdhocQuery(
"xquery version \"1.0-ml\";\n" +
"declare variable $myvar as xs:string external;\n" +
"data($myvar)");
// create Variable "myvar", bind to Request, ignore return value
request.setNewVariable ("myvar", ValueType.XS_STRING, "Some string value");
// "$myvar as xs:string" will be defined at query run time
ResultSequence rs = session.submitRequest(request);