2012-12-06 4 views
2

저는 eXist DB와 XQuery에 완전히 새로운 기능이 있습니다. 나는 eXist를 설치했고 제대로 작동하고있다. 이제 eXist Admin 클라이언트의 일부인 eXist Query 대화 상자에서 XQuery를 사용하여 일부 XML 파일을 쿼리하려고했습니다. XML 파일 (옥스포드 텍스트 아카이브에서 다운로드)과 같습니다eXist DB 및 XQuery : 속성이있는 xml-root는 결과가 없습니다.

<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"속성을 제거하면 쿼리가 완벽하게 작동한다는 것을 알게되었습니다. 특성을 제거하지 않아도되도록 내 쿼리를 변경해야하는 방법은 무엇입니까? 이 속성으로 인해 발생한 문제는 무엇입니까?

고맙습니다.

답변

2

XML 인스턴스에 기본 네임 스페이스가 있습니다. 시도 :

doc('/db/myCollection/taming.xml')//*:teiHeader 
+1

thanx! 그 일하고있다; 네임 스페이스의 방향에 대한 힌트는 나를 다른 해결책으로 가져왔다. XQuery에서 네임 스페이스 선언하기 : '기본 요소 네임 스페이스 선언하기 'http://www.tei-c.org/ns/1.0 "' – user1882778