[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

"FLAT" XML to Hierarchical XML

Subject: "FLAT" XML to Hierarchical XML
From: Brandon Schenz <brandons@xxxxxxxxxxxxxxxxx>
Date: Fri, 24 Sep 2004 10:17:28 -0400
hierarchical xml
I have an XML file that is based on a CSV file. I now need to give this Flat File a Hierarchical structure.

This is the XML Source:
<?xml version="1.0" standalone="yes"?>
<Orders_Dataset>
<Orders>
<Order_Number>10909420</Order_Number>
<Ship_To_First_Name>Richelle</Ship_To_First_Name>
<Ship_To_Last_Name>Zuniga</Ship_To_Last_Name>
<Ship_To_Address_1>2330 Deasa DR</Ship_To_Address_1>
<Ship_To_Address_2/>
<Ship_To_City>spring</Ship_To_City>
<Ship_To_State>TX</Ship_To_State>
<Ship_To_Zip>77373</Ship_To_Zip>
<Ship_Method>GRND</Ship_Method>
<Product_ID>21BU01439</Product_ID>
<Sold_For>N/A</Sold_For>
<Our_Cost>47</Our_Cost>
<Qty>1</Qty>
<Description>Betula Birkenstock Rock Taupe Suede Clog</Description>
<Carrier_Requested>BEST</Carrier_Requested>
<Shipping_Cost>0</Shipping_Cost>
<Gift_Message/>
</Orders>
<Orders>
<Order_Number>10906441</Order_Number>
<Ship_To_First_Name>Lori</Ship_To_First_Name>
<Ship_To_Last_Name>Short</Ship_To_Last_Name>
<Ship_To_Address_1>1253 Lane on the Lake</Ship_To_Address_1>
<Ship_To_Address_2/>
<Ship_To_City>Columbus</Ship_To_City>
<Ship_To_State>OH</Ship_To_State>
<Ship_To_Zip>43235</Ship_To_Zip>
<Ship_Method>GRND</Ship_Method>
<Product_ID>21BU01437</Product_ID>
<Sold_For>N/A</Sold_For>
<Our_Cost>47</Our_Cost>
<Qty>1</Qty>
<Description>Betula Birkenstock Rock Taupe Suede Clog</Description>
<Carrier_Requested>BEST</Carrier_Requested>
<Shipping_Cost>0</Shipping_Cost>
<Gift_Message/>
</Orders>
<Orders>
<Order_Number>10906441</Order_Number>
<Ship_To_First_Name>Lori</Ship_To_First_Name>
<Ship_To_Last_Name>Short</Ship_To_Last_Name>
<Ship_To_Address_1>1253 Lane on the Lake</Ship_To_Address_1>
<Ship_To_Address_2/>
<Ship_To_City>Columbus</Ship_To_City>
<Ship_To_State>OH</Ship_To_State>
<Ship_To_Zip>43235</Ship_To_Zip>
<Ship_Method>GRND</Ship_Method>
<Product_ID>21BU01337</Product_ID>
<Sold_For>N/A</Sold_For>
<Our_Cost>40.75</Our_Cost>
<Qty>1</Qty>
<Description>Betula Birkenstock Womens Rock Black Suede Clog</Description>
<Carrier_Requested>BEST</Carrier_Requested>
<Shipping_Cost>0</Shipping_Cost>
<Gift_Message/>
</Orders>
<Orders>
<Order_Number>10906410</Order_Number>
<Ship_To_First_Name>Tom</Ship_To_First_Name>
<Ship_To_Last_Name>Vitti</Ship_To_Last_Name>
<Ship_To_Address_1>1618 N. Gardiner Dr</Ship_To_Address_1>
<Ship_To_Address_2/>
<Ship_To_City>Bay Shore</Ship_To_City>
<Ship_To_State>NY</Ship_To_State>
<Ship_To_Zip>11706</Ship_To_Zip>
<Ship_Method>GRND</Ship_Method>
<Product_ID>21BU00946</Product_ID>
<Sold_For>N/A</Sold_For>
<Our_Cost>41</Our_Cost>
<Qty>1</Qty>
<Description>Betula Birkenstock Boogie Black Suede 2 Strap Sandals</Description>
<Carrier_Requested>BEST</Carrier_Requested>
<Shipping_Cost>0</Shipping_Cost>
<Gift_Message/>
</Orders>
<Orders>
<Order_Number>10906772</Order_Number>
<Ship_To_First_Name>Denise</Ship_To_First_Name>
<Ship_To_Last_Name>Rhoney</Ship_To_Last_Name>
<Ship_To_Address_1>12452 Woodgate Drive</Ship_To_Address_1>
<Ship_To_Address_2/>
<Ship_To_City>Plymouth</Ship_To_City>
<Ship_To_State>MI</Ship_To_State>
<Ship_To_Zip>48170</Ship_To_Zip>
<Ship_Method>GRND</Ship_Method>
<Product_ID>21BU01339</Product_ID>
<Sold_For>N/A</Sold_For>
<Our_Cost>40.75</Our_Cost>
<Qty>1</Qty>
<Description>Betula Birkenstock Womens Rock Black Suede Clog</Description>
<Carrier_Requested>BEST</Carrier_Requested>
<Shipping_Cost>0</Shipping_Cost>
<Gift_Message/>
</Orders>
<Orders>
<Order_Number>10906772</Order_Number>
<Ship_To_First_Name>Denise</Ship_To_First_Name>
<Ship_To_Last_Name>Rhoney</Ship_To_Last_Name>
<Ship_To_Address_1>12452 Woodgate Drive</Ship_To_Address_1>
<Ship_To_Address_2/>
<Ship_To_City>Plymouth</Ship_To_City>
<Ship_To_State>MI</Ship_To_State>
<Ship_To_Zip>48170</Ship_To_Zip>
<Ship_Method>GRND</Ship_Method>
<Product_ID>21BU01040</Product_ID>
<Sold_For>N/A</Sold_For>
<Our_Cost>46</Our_Cost>
<Qty>1</Qty>
<Description>Betula Birkenstock Boogie Taupe Suede 2-strap Sandals</Description>
<Carrier_Requested>BEST</Carrier_Requested>
<Shipping_Cost>0</Shipping_Cost>
<Gift_Message/>
</Orders>
<Orders>
<Order_Number>10902523</Order_Number>
<Ship_To_First_Name>Robin</Ship_To_First_Name>
<Ship_To_Last_Name>Childs</Ship_To_Last_Name>
<Ship_To_Address_1>PO Drawer 7928</Ship_To_Address_1>
<Ship_To_Address_2/>
<Ship_To_City>Hilton Head Isl</Ship_To_City>
<Ship_To_State>SC</Ship_To_State>
<Ship_To_Zip>29938</Ship_To_Zip>
<Ship_Method>GRND</Ship_Method>
<Product_ID>1101015E</Product_ID>
<Sold_For>N/A</Sold_For>
<Our_Cost>50</Our_Cost>
<Qty>1</Qty>
<Description>Head Intelligence i.Tour Tennis Racquet</Description>
<Carrier_Requested>BEST</Carrier_Requested>
<Shipping_Cost>0</Shipping_Cost>
<Gift_Message/>
</Orders>
<Orders>
<Order_Number>10902523</Order_Number>
<Ship_To_First_Name>Robin</Ship_To_First_Name>
<Ship_To_Last_Name>Childs</Ship_To_Last_Name>
<Ship_To_Address_1>PO Drawer 7928</Ship_To_Address_1>
<Ship_To_Address_2/>
<Ship_To_City>Hilton Head Isl</Ship_To_City>
<Ship_To_State>SC</Ship_To_State>
<Ship_To_Zip>29938</Ship_To_Zip>
<Ship_Method>GRND</Ship_Method>
<Product_ID>1101035D</Product_ID>
<Sold_For>N/A</Sold_For>
<Our_Cost>50</Our_Cost>
<Qty>1</Qty>
<Description>Head Intelligence I.S 2 MP Tennis Racquet</Description>
<Carrier_Requested>BEST</Carrier_Requested>
<Shipping_Cost>0</Shipping_Cost>
<Gift_Message/>
</Orders>
<Orders>
<Order_Number>10897375</Order_Number>
<Ship_To_First_Name>vitaly</Ship_To_First_Name>
<Ship_To_Last_Name>vatnikov</Ship_To_Last_Name>
<Ship_To_Address_1>14 Paradise Rd.</Ship_To_Address_1>
<Ship_To_Address_2/>
<Ship_To_City>Swampscott</Ship_To_City>
<Ship_To_State>MA</Ship_To_State>
<Ship_To_Zip>1907</Ship_To_Zip>
<Ship_Method>GRND</Ship_Method>
<Product_ID>1151010A</Product_ID>
<Sold_For>N/A</Sold_For>
<Our_Cost>65</Our_Cost>
<Qty>1</Qty>
<Description>Wilson Hyper Hammer 5.3 MP Tennis Racquet</Description>
<Carrier_Requested>BEST</Carrier_Requested>
<Shipping_Cost>0</Shipping_Cost>
<Gift_Message/>
</Orders>
</Orders_Dataset>


Now I would like to get:
<Orders_DataSet>
   <Customers>
      <!--Customer Info From Above to go here-->
   </Customers>
   <Orders>
      <!--Order Info From Above to go here-->
   </Orders>
   <OrderDetails>
      <!--OrderDetails Info From Above to go here-->
   </OrderDetails>
</Orders_DataSet>

In my source file each line is a line item in an order, problem one being that an order may have one to infinite number of lines. How do I use the Order Number to group them together. Also how do I make relatioships between the Customer and Order, and then Order to OrderDetail?

--
*Brandon Schenz*
Midwest Sports Supply
Phone: 513-956-4900
Fax: 513-956-4910
E-mail: brandons@xxxxxxxxxxxxxxxxx

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.