マークロック検索は、アクティブなバージョンの<associated-bundles>
要素を持つドキュメント内でのみ実行する必要があるという要件があります。検索アピで 'if exists()'ビヘイビアのXQuery構文が必要
以下は、当社の文書構造
<document document-status='active'>
<file>
<version id=1 version-status='active'>
<file-name/>
<associated-bundles>
<bundle doc-id="100082"></bundle>
<bundle doc-id="100083"></bundle>
<bundle doc-id="100000"></bundle>
</associated-bundles>
...
<file-level-visits>3</file-level-visits>
</version>
<version id=2 version-status='archived'>
<file-name/>
<uploaded-by>
...
<file-level-visits>2</file-level-visits>
</version>
<version id=3 version-status='archived'>
<file-name/>
<uploaded-by>
...
<file-level-visits>4</file-level-visits>
</version>
</file>
文書構造上考慮され、私は彼らのアクティブなバージョンで<associated-bundles>
要素を持つドキュメントに検索を実行する必要があります。
注:ドキュメントにはアクティブバージョンが1つしかありません。
以下は、アクティブファイル "version-status"内でのみ検索するクエリです。しかし、これに加えて、私は文書のための<associated-bundles>
の 'ifExists'チェックを含めるしたいと思います。
cts:element-query (xs:QName ("version"),cts:and-query ((cts:element-attribute-value-query(fn:QName("","version"), fn:QName("","version-status"), "active", ("lang=en"), 1)
)));
これを達成する方法を教えてください。あなたがドキュメントから以下の構文を使用してcts:element-query()を使用して、要素の存在を確認することができます
はあなたのためにこの仕事をしましたか? –