XML/XQuery/attribute

Материал из Web эксперт
Перейти к: навигация, поиск

Search by attribute value

   <source lang="xml">

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>

</source>
   
  


Specifying attributes directly using XML-like syntax

   <source lang="xml">

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>

car order

    { for $prod in doc("Data.xml")/order/car return
  • num: {data($prod/num) }, name: {data($prod/name)}
  • }

</html>

Output: <?xml version="1.0" encoding="UTF-8"?> <html>

car order

  • num: 1, name: name 1
  • num: 2, name: name 2
  • num: 3, name: name 3

</html>

</source>