XML/XQuery/prolog

Материал из Web эксперт
Версия от 11:25, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

A query with prolog and body

   <source lang="xml">

File: Data.xml

<order>

 <car model="A">
   <id>0001</id>
   <name language="en">name 1</name>
 </car>
 <car model="B">
   <id>0002</id>
   <name language="en">name 2</name>
 </car>
 <car model="B">
   <id>0003</id>
   <name language="en">name 3</name>
 </car>

</order> File: Query.xquery declare boundary-space preserve; declare namespace prod = "http://wbex.ru/prod"; declare variable $order := doc("Data.xml")//order; <firstResult>{count($order/car)}</firstResult>, <prod:secondResult>{$order/car/id}</prod:secondResult>

Output: <?xml version="1.0" encoding="UTF-8"?> <firstResult>3</firstResult> <prod:secondResult xmlns:prod="http://wbex.ru/prod">

  <id>0001</id>
  <id>0002</id>
  <id>0003</id>

</prod:secondResult>

</source>
   
  


Prolog default namespace declaration

   <source lang="xml">

File: Data.xml <order xmlns="http://wbex.ru/cat">

 <id>1446</id>
 <prod:car xmlns:prod="http://wbex.ru/prod">
   <prod:id>0002</prod:id>
   <prod:name language="en">name 2</prod:name>
 </prod:car>

</order> File: Query.xquery declare default element namespace "http://wbex.ru/cat"; declare namespace rep = "http://wbex.ru/report"; declare namespace prod = "http://wbex.ru/prod"; <rep:report> {

 doc("Data.xml")/order/prod:car

} </rep:report>

Output: <?xml version="1.0" encoding="UTF-8"?> <rep:report xmlns:rep="http://wbex.ru/report">

  <prod:car xmlns:prod="http://wbex.ru/prod" xmlns="http://wbex.ru/cat">
     <prod:id>0002</prod:id>
     <prod:name language="en">name 2</prod:name>
 </prod:car>

</rep:report>

</source>
   
  


Prolog namespace declarations

   <source lang="xml">

File: Data.xml <order xmlns="http://wbex.ru/cat">

 <id>1446</id>
 <prod:car xmlns:prod="http://wbex.ru/prod">
   <prod:id>0002</prod:id>
   <prod:name language="en">name 2</prod:name>
 </prod:car>

</order>


File: Query.xquery declare namespace rep = "http://wbex.ru/report"; declare namespace prod = "http://wbex.ru/prod"; <rep:report> {

 doc("Data.xml")//prod:car

} </rep:report>

Output: <?xml version="1.0" encoding="UTF-8"?> <rep:report xmlns:rep="http://wbex.ru/report">

  <prod:car xmlns:prod="http://wbex.ru/prod" xmlns="http://wbex.ru/cat">
     <prod:id>0002</prod:id>
     <prod:name language="en">name 2</prod:name>
 </prod:car>

</rep:report>

</source>