- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
php与资料库
路徑運算式 XQuery 的路徑運算式(Path Expressions)源於 XPath 的位置路徑,可以用來走訪輸入的 XML 文件,以便選取所需的屬性或元素節點,如下所示: doc(bookstore.xml) /bookstore/book[price 600]/title 上述路徑運算式是由函數、軸步驟和謂詞所組成。 let 子句 FLWOR 運算式 let 子句可以指定 XQuery 變數的值,變數值可以是項目或循序,如下所示: let $book := doc(bookstore.xml) //book[1] let $title := Java 2程式設計範例教本 let $list := (1 to 5) let $price := 650 return 子句 (1) FLWOR 運算式 return 子句可以輸出查詢結果。如果是路徑運算式,就是輸出選取的節點內容,如下所示: let $book := doc(bookstore.xml) //book[1] return $book/@code $book 變數是第 1 個 book 元素節點,return 子句傳回 book 元素的 code 屬性節點。 若 let $book := doc(bookstore.xml) //book,回傳什麼? return 子句(2) 如果輸出的 XQuery 變數是文字值,我們可以在 return 子句加上標籤來建立元素節點,如下所示: let $title := Java 2程式設計範例教本 return title{$title}/title $title 變數值是字串,大括號括起變數 $title,表示取出變數內容,再加上標籤就可以建立 title 元素節點,如下所示: titleJava 2程式設計範例教本/title return 子句(3) 變數值如果是循序(sequence),例如:使用return 子句輸出變數 $list,如下所示: let $list := (1 to 5) return num{$list}/num return子句只會輸出1個num元素,如下所示: num1 2 3 4 5/num 若想分別列出循序內的值: let $list := (1 to 5) return for $i in $list return num{$i}/num let $list := (1 to 5) return nums { for $i in $list return num{$i}/num } /nums return 子句(4) return 子句還可以合併多個運算式成為一個循序,然後輸出循序的內容,如下所示: let $price := 650 return (listprice{$price}/listprice, price{$price * 0.8}/price) 「(」和「)」括起的是一個循序,輸出的內容包含兩個元素 listprice 和 price,price元素值是變數 $price 的八折。 基本的 for 子句 基本 for 子句是以迴圈方式一一取出循序的項目,通常我們是使用路徑運算式來取出循序。例如:取出 bookstore.xml 文件的所有 price 元素節點,如下所示: for $price in doc(bookstore.xml) //book/price return $price 運算式在 in 指令後是路徑運算式,取得所有 price 元素節點的循序,在 in 指令前是變數 $price,指定成每執行一次迴圈所取得的項目,return 子句可以傳回變數內容,也就是每一個 price 元素。 新增計數的 for 子句 在 for 子句可以加上 at 指令的計數變數,以便計算迴圈總共執行幾次。例如:在bookstore.xml 文件取得所有 book 元素節點,並且傳回每一個節點的計數,如下所示: for $book at $i in doc(bookstore.xml) //book return (num{$i}/num, $book/title) 運算式每執行一次,變數 $i 就加 1,return子句傳回的 num 元素內容就是變數 $i 的值。 for 的範圍運算式(Range Expressions) FLWOR 運算式的 for 子句可以如同程式語言的迴圈敘述建立範圍運算式。例如:執行 1~3 範圍的 for 子句,如下所示: for $i in (1 to 3) return count{$i}/count 運算式在 in 指令後的是自定循序,即 1~3,換句話說,變數 $i 的值就是 1~3,所以
文档评论(0)