XQuery
Priscilla Walmsley (pwalmsley@datypic.com)
ISBN: 1491915103
2nd edition, , O'Reilly Media, Inc.
Chapter 21: Working with Qualified Names, URIs, and IDs
Please note that the book contains many inline examples and informal tables that are not provided here.
Example 21-1. Namespaces in XML (names.xml)
<noNamespace> <pre:prefixed xmlns="http://datypic.com/unpre" xmlns:pre="http://datypic.com/pre"> <unprefixed pre:prefAttr="a" noNSAttr="b">123</unprefixed> </pre:prefixed> </noNamespace>
Example 21-2. Using names as result data
Query
<html>{ for $prod in doc("catalog.xml")//product return (<p>Product # {string($prod/number)}</p>, <ul>{ for $child in $prod/(* except number) return <li>{local-name($child)}: {string($child)}</li> }</ul>) }</html>
Results
<html> <p>Product # 557</p> <ul> <li>name: Fleece Pullover</li> <li>colorChoices: navy black</li> </ul> <p>Product # 563</p> <ul> <li>name: Floppy Sun Hat</li> </ul> <p>Product # 443</p> <ul> <li>name: Deluxe Travel Bag</li> </ul> <p>Product # 784</p> <ul> <li>name: Cotton Dress Shirt</li> <li>colorChoices: white gray</li> <li>desc: Our favorite shirt!</li> </ul> </html>
Example 21-3. Document using
xml:base
(http://datypic.com/input/cats.xml
)<catalogs> <catalog name="ACC" xml:base="http://datypic.com/ACC/"> <product number="443" href="prod443.html"/> <product number="563" href="prod563.html"/> </catalog> <catalog name="WMN" xml:base="http://datypic.com/WMN/"> <product number="557" href="prod557.html"/> </catalog> </catalogs>