0
Javaでコードを実行しようとしたときに、「スコープにエラーがありません」というエラーが発生しました。変数 'per'がXQueryのスコープにエラーがありません
String xq = "declare variable $per1 as document-node(element(*, xs:untyped)) := " +
"fn:parse-xml($per);" +
"declare variable $job1 as document-node(element(*, xs:untyped)) := fn:parse-xml($job);" +
"for $i in $per1//pimergednodes/Get__CompIntfc__CI_PERSONAL_DATAResponse,\n" +
" $j in $job1//jobmergednodes/Get__CompIntfc__CI_JOB_DATAResponse[PROP_EMPLID = $i/PROP_EMPLID]\n" +
"\n" +
" return\n" +
" <emp>\n" +
" {\n" +
" $i/PROP_EMPLID,\n" +
" $i/PROP_BIRTHDATE,\n" +
" <coll_names>\n" +
" {\n" +
" $i/COLL_NAME_TYPE_VW/COLL_NAMES\n" +
" }\n" +
" </coll_names>,\n" +
"\n" +
" $i/PROP_BIRTHDATE/COLL_NAME_TYPE_VW/PROP_FIRST_NAME,\n" +
" $j/COLL_JOB/PROP_DEPTID\n" +
"\n" +
" }\n" +
" </emp>";
XQDataSource xds = new oracle.xquery.xqj.OXQDataSource();
XQConnection conn = xds.getConnection();
XQPreparedExpression pEx = conn.prepareExpression(xq); ==> error raised in this call.
誰かがこのエラーを解決するのに手伝ってもらえますか?事前に
おかげで、 Maviswa
Javaコンテキストから$ perおよび$ jobをXQueryコンテキストに渡そうとしているような印象を受けています。外部として宣言し、何とかXQueryのJavaオブジェクトに渡すなど、もう少しやり直す必要があります。また、リテラルXMLをクエリに連結することもできます。 – grtjn