3

私はeXistDBとXQueryの両方にまったく慣れていません。eXistをインストールしましたが、正しく機能しています。ここで、eXistAdminクライアントの一部であるeXistQueryDialogでXQueryを使用していくつかのxmlファイルをクエリしようとしました。xmlファイルは次のようになります(Oxford Text Archiveからダウンロード)。

<TEI xmlns="http://www.tei-c.org/ns/1.0">
    <teiHeader>
    <fileDesc>
    <titleStmt>
    <title>THE Taming of the Shrew.</title>
    <author>Shakespeare, William, 1564-1616</author>
    </titleStmt>
    <publicationStmt>
    <distributor>
...
</TEI>

私の基本的なXQueryは次のようになります。

doc('/db/myCollection/taming.xml')//teiHeader

これは結果をもたらしません(「0個のアイテムが見つかりました」)。なんで?少しいじってみると、TEI要素から属性「xmlns」を削除すると、クエリが完全に機能することがわかりました。属性を削除する必要がないようにクエリを変更するにはどうすればよいですか?この属性の問題の原因は何ですか?

ヒントをありがとう!

4

1 に答える 1

2

そのXMLインスタンスにはデフォルトの名前空間があります。試す:

doc('/db/myCollection/taming.xml')//*:teiHeader
于 2012-12-06T18:59:14.343 に答える