以下是描述XML結構的DTD我一起工作:的XQuery:返回一個以上的元素
<!DOCTYPE bib [
<!ELEMENT bib (book+,magazine*)>
<!ELEMENT book (title,author+,publisher,editor?,price)>
<!ELEMENT magazine (title,publisher,editor+)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (last,first)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT editor (last, first,affiliation)>
<!ELEMENT price ((#PCDATA)>
<!ELEMENT last (#PCDATA)>
<!ELEMENT first (#PCDATA)>
<!ELEMENT affiliation (#PCDATA)>
<!ATTLIST book year CDATA #REQUIRED>
]>
我已經寫一個XQuery返回所有書籍或雜誌,其中Weikum先生其中一名編輯。
我在確定如何退還書籍或雜誌時遇到問題。這是我可以拿出:
for $x in document(「bib.xml」)/bib
where $x/book/editor/lastname = 「Weikum」 or $x/magazine/editor/lastname = 「Weikum」
return <result></result>
但是,這並沒有達到我想要的結果。我該如何退還書籍或雜誌元素?我應該只說return $x
?
日Thnx很多......這確實有幫助。你的第一個表達式是一個xpath對嗎?不是一個xquery? – ueg1990 2013-03-10 02:24:22
嚴格來說,XQuery是XPath的超集,所以第一個表達式既是有效的XPath,也是XQuery。 – joewiz 2013-03-10 05:19:32