XML/XQuery/doc
Содержание
doc() funciton in for loop
<source lang="xml">
File: Data.xml <prod:car xmlns:prod="http://wbex.ru/prod">
<prod:id>0002</prod:id> <prod:name language="en">name 2</prod:name>
</prod:car> File: Query.xquery declare namespace cat = "http://wbex.ru/cat"; <report xmlns="http://wbex.ru/report"
xmlns:prod="http://wbex.ru/prod"> { for $car in doc("Data.xml")/prod:car return <linecar> {$car/prod:id} {$car/prod:name} </linecar>
} </report>
Output: <?xml version="1.0" encoding="UTF-8"?> <report xmlns:prod="http://wbex.ru/prod" xmlns="http://wbex.ru/report">
<linecar> <prod:id>0002</prod:id> <prod:name language="en">name 2</prod:name> </linecar>
</report>
</source>
Load children
<source lang="xml">
File: Data.xml
<order>
<car dept="A"> <number>1</number> </car> <car dept="B"> <number>2</number> </car> <car dept="B"> <number>3</number> </car> <car dept="C"> <number>4</number> </car>
</order>
File: Query.xquery
doc("Data.xml")/order/car/number Output:
</source>
Use doc() function to load xml docuCt
<source lang="xml">
File: Data.xml
<order>
<car dept="A"> <number>1</number> </car> <car dept="B"> <number>2</number> </car> <car dept="B"> <number>3</number> </car> <car dept="C"> <number>4</number> </car>
</order>
File: Query.xquery
doc("Data.xml")//number Output: <?xml version="1.0" encoding="UTF-8"?> <number>1</number> <number>2</number> <number>3</number> <number>4</number>
</source>
Use doc() function to load XML document
<source lang="xml">
File: Data.xml
<?xml version="1.0"?> <bib>
<book year="1988"> <author> <last>A</last> <first>B</first> </author> </book> <book year="2004"> <author> <last>E</last> <first>F</first> </author> </book>
</bib>
File: Query.xquery doc("Data.xml")/bib/book Output: <?xml version="1.0" encoding="UTF-8"?> <book year="1988">
<author> <last>A</last> <first>B</first> </author> </book>
<book year="2004">
<author> <last>E</last> <first>F</first> </author> </book> </source>