XML/XQuery/attribute — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 08:25, 26 мая 2010
Search by attribute value
File: Data.xml
<?xml version="1.0"?>
<bib>
<book year="1988">
<title>title 1</title>
<author>
<last>A</last>
<first>B</first>
</author>
<author>
<last>C</last>
<first>D</first>
</author>
<publisher>publisher 1</publisher>
<price>44.20</price>
</book>
<book year="2004">
<title>title 2</title>
<author>
<last>E</last>
<first>F</first>
</author>
<publisher>Publisher 2</publisher>
<price>39.99</price>
</book>
</bib>
File: Query.xquery
<myNewBib>{
doc("Data.xml")/bib/book[@year > 2005]
}</myNewBib>
Specifying attributes directly using XML-like syntax
File: Data.xml
<order>
<car model="A">
<num>1</num>
<name language="en">name 1</name>
<colorChoices>navy black</colorChoices>
</car>
<car model="B">
<num>2</num>
<name language="en">name 2</name>
</car>
<car model="B">
<num>3</num>
<name language="en">name 3</name>
</car>
</order>
File: Query.xquery
<html>
<h1 class="carHdr">car order</h1>
<ul>{
for $prod in doc("Data.xml")/order/car
return <li dep="{$prod/@model}">num: {data($prod/num)
}, name: {data($prod/name)}</li>
}</ul>
</html>
Output:
<?xml version="1.0" encoding="UTF-8"?>
<html>
<h1 class="carHdr">car order</h1>
<ul>
<li dep="A">num: 1, name: name 1</li>
<li dep="B">num: 2, name: name 2</li>
<li dep="B">num: 3, name: name 3</li>
</ul>
</html>