Example: Construct an XML document with values from a single table
This example shows how you can construct XML values suitable for publishing from a single table with SQL/XML publishing functions.
This example shows how an XML document can be constructed
from values stored in a single table. In the following query, each <item>
element is constructed with values from the name column of the PRODUCT
table, using the XMLELEMENT function. All <item> elements are
then aggregated, using XMLAGG, within the constructed <allProducts>
element.
SELECT XMLELEMENT (NAME "allProducts",
XMLAGG(XMLELEMENT (NAME "item", p.name)))
FROM Product p
<allProducts>
<item>Snow Shovel, Basic 22 inch</item>
<item>Snow Shovel, Deluxe 24 inch</item>
<item>Snow Shovel, Super Deluxe 26 inch</item>
<item>Ice Scraper, Windshield 4 inch</item>
</allProducts>
You can construct a similar XML document that contains a sequence of row elements by using the XMLROW function instead of aggregating the elements with XMLAGG.
SELECT XMLELEMENT (NAME "products",
XMLROW(NAME as "po:item"))
FROM Product
The resulting output is as follows:
<products>
<row>
<po:item>Snow Shovel, Basic 22 inch</po:item>
</row>
</products>
<products>
<row>
<po:item>Snow Shovel, Deluxe 24 inch</po:item>
</row>
</products>
<products>
<row><po:item>Snow Shovel, Super Deluxe 26 inch</po:item>
</row>
</products>
<products>
<row><po:item>Ice Scraper, Windshield 4 inch</po:item>
</row>
</products>
4 record(s) selected.