XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
huff bobSubject: hierarchical XML into tables
Author: huff bob
Date: 11 Jul 2007 06:51 PM
Hi,

I am yet another XML/Stylus newbie. My apologies.

I have camplex hierarchial XML doc [pls see attached] that I want to 'break apart for loading into a variety of tables.

How do I start?

Thanks,
Bob


Unknownsample(9).xml
sample hierarchy xml

Posttop
Minollo I.Subject: hierarchical XML into tables
Author: Minollo I.
Date: 11 Jul 2007 11:52 PM
Welcome!

Do you need to store the content of the XML document in RDBMS tables? If that's the case, DataDirect XQuery (available as a deployment component from http://www.xquery.com, but also bundled in Stylus Studio for development purposes) supports the ability to update your database from an XQuery. One of the examples shows how to shred a simple XML document into two tables; given this XML:

<?xml version="1.0"?>
<new-users>
<user>
<id>Marc</id>
<first-name>Marc</first-name>
<last-name>Peppino</last-name>
<date>1998-01-10</date>
<holdings>
<holding>
<ticker>PRGS</ticker>
<quantity>500</quantity>
</holding>
</holdings>
</user>
<user>
<id>Barbara</id>
<first-name>Barbara</first-name>
<last-name>Smith</last-name>
<date>2005-01-01</date>
<holdings>
<holding>
<ticker>GOOG</ticker>
<quantity>1500</quantity>
</holding>
<holding>
<ticker>PRGS</ticker>
<quantity>2342</quantity>
</holding>
</holdings>
</user>
</new-users>

...this XQuery will "shred" its content in two tables, "users" and "holdings":

for $newUser in doc("new-users.xml")/new-users/user
return (
ddtek:sql-insert("users",
"userid", $newUser/id, "firstname", $newUser/first-name,
"lastname", $newUser/last-name, "membersince", $newUser/date),
for $holding in $newUser/holdings/holding
return
ddtek:sql-insert("holdings", "userid", $newUser/id,
"stockticker", $holding/ticker, "shares", $holding/quantity)

 
Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.