0

ある名前空間 (http://www.marklogic.com) を持ついくつかの xml ドキュメントと、別の名前空間 (http://www.mynamespce.com) を持つ別の一連の xml ドキュメントがあるとします。ここで、 http://www.marklogic.com名前空間を持つ xml ドキュメントのみを検索したいと考えています。これどうやってするの ?

4

1 に答える 1

2

どのように検索しているのかはわかりませんが、呼び出している場合は、名前空間を含むドキュメントのルート要素にオプションをsearch:search設定できます。searchable-expression

declare variable $query as xs:string external ;
search:search(
  $query,
  <options xmlns="http://marklogic.com/appservices/search">
    <searchable-expression
     xmlns:ns1="http://test/namespace/1">/ns1:doc</searchable-expression>
  </options>)

http://docs.marklogic.com/5.0doc/docapp.xqy#display.xqy?fname=http://pubs/5.0doc/xml/search-dev-guide/search-api.xml%2343671に詳細がありますこのオプション。

または、直接電話することもできますcts:search。検索可能な式は最初の引数です。

declare namespace ns1="http://test/namespace/1" ;
declare variable $query as cts:query external ;
cts:search(/ns1:doc, $query)

他にも選択肢があるかもしれません。たとえば、複数のフィールドを設定し、フィールド クエリを使用して検索できます。

于 2012-06-17T16:21:53.980 に答える