XML/XQuery/prolog — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 11:25, 26 мая 2010
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>