`
lingyibin
  • 浏览: 191671 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

XQuery笔记(三)-- 其它语法

    博客分类:
  • XML
阅读更多

 

一些基本的语法规则:

  • XQuery 对大小写敏感
  • XQuery 的元素、属性以及变量必须是合法的 XML 名称。
  • XQuery 字符串值可使用单引号或双引号。
  • XQuery 变量由 “$” 并跟随一个名称来进行定义,举例,$bookstore
  • XQuery 注释被 (: 和 :) 分割,举例,(: XQuery 注释 :)

 

本文示例用的dept.xml

<?xml version="1.0" encoding="UTF-8"?>
<table>
  <row>
    <DEPTNO>15</DEPTNO>
    <DNAME>ACCOUNTING</DNAME>
    <LOC field="parent">NEW YORK</LOC>
  </row>
  <row>
    <DEPTNO>20</DEPTNO>
    <DNAME>RESEARCH</DNAME>
    <LOC field="child">DALLAS</LOC>
  </row>
  <row>
    <DEPTNO>30</DEPTNO>
    <DNAME>SALES</DNAME>
    <LOC field="parent">CHICAGO</LOC>
  </row>
  <row>
    <DEPTNO>40</DEPTNO>
    <DNAME>OPERATIONS</DNAME>
    <LOC field="child">BOSTON</LOC>
  </row>
</table>
 

 和之前两篇文章中的dept.xml相比,多了field属性

 

If-Then-Else

和C/C++或Java或C#等的语法一样:

 

for $x in doc("sample2/dept.xml")/table/row
where $x/DEPTNO > 20
return if($x/LOC/@field="parent")
  then <parent>{data($x/LOC)}</parent>
  else <child>{data($x/LOC)}</child>

 结果:

 

<parent>CHICAGO</parent>
<child>BOSTON</child>
 

 

分享到:
评论
Global site tag (gtag.js) - Google Analytics