異なるドキュメント・タイプに対して宣言された<book>タグを持つXMLドキュメント・セットの場合、各ドキュメント・タイプに対して個別のbookセクションを作成する必要がある場合があります。次の例では、各ドキュメント・タイプに対してbookセクションを作成して検索機能を改善する方法を示します。
mydocname1がXMLドキュメント・タイプ(ルート要素)として、次のように宣言されているとします。
<!DOCTYPE mydocname1 ... [...
mydocname1の中で、要素<book>が宣言されています。このタグに対し、タグのドキュメント・タイプを区別するmybooksec1という名前のセクションを次のように作成できます。
begin
ctx_ddl.create_section_group('myxmlgroup', 'XML_SECTION_GROUP');
ctx_ddl.add_zone_section('myxmlgroup', 'mybooksec1', 'mydocname1(book)');
end;
mydocname2が別のXMLドキュメント・タイプ(ルート要素)として、次のように宣言されているとします。
<!DOCTYPE mydocname2 ... [...
mydocname2の中で、要素<book>が宣言されています。このタグに対し、タグのドキュメント・タイプを区別するmybooksec2という名前のセクションを次のように作成できます。
begin
ctx_ddl.create_section_group('myxmlgroup', 'XML_SECTION_GROUP');
ctx_ddl.add_zone_section('myxmlgroup', 'mybooksec2', 'mydocname2(book)');
end;
セクションmybooksec1内で問合せを行うには、WITHINを次のように使用します。
'oracle within mybooksec1'