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

Re: Help for finding root node from XML Schema


root node in xml
Your example and question indicate that you need to understand that a schema does not indicate a "root node" and that's why you've gotten the answers you have. However, if you ask a different question, "How can I identify the elements likely to be used as root nodes?" you might get a different answer. You have omitted the detail in your example, but it is probably true that the comment element is a possible child of the purchaseOrder element.
 
The traditional heuristic that tools use to find candidate root nodes from a DTD (and now schema) is to find all descendants of each top-level element. Any element that doesn't appear as another element's descendent is a candidate root node. This heuristic has been used with good results with both SGML and XML for many years when, e.g., a tool wants to display a DTD/schema graphically as a tree.
 
Having said that, note the following:
 
- It is possible that this heuristic will not turn up any elements (recursive root) or more than one element.
- Regardless, any top-level element can serve as a root node.
 
Consequently, a user interface that needs to identify a root node should always display all top-level elements and allow the user to choose. As a convenience, it might use the heuristic to pre-select one of the elements as the default root.
 
Bob Foster
http://www.xmlbuddy.com/
----- Original Message -----
Sent: Friday, October 10, 2003 6:24 AM
Subject: Help for finding root node from XML Schema

Hello all,
I am new to XML and XML Schema. I am working on a project which involves visual display of XML Schema. For parsing  XML Schema I am using MSXML 4.0
 
My problem is How to get element  which will become root element of XML document which uses this schema.
 
e.g.
PO.xsd
 
<xsd:schema
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns=""
      elementFormDefault="qualified"
      finalDefault="restriction">
 
 <xsd:element name="purchaseOrder" type="PurchaseOrderType" />
 
 <xsd:element name="comment" type="xsd:string"/>
 
 <xsd:complexType name="PurchaseOrderType">
  <xsd:sequence> ...
  </xsd:sequence>
  <xsd:attribute name="orderDate" type="xsd:date"/>
 </xsd:complexType>
 
</xsd:schema>
When I parse above schema first call to get_childs returns two childs 1 ) comment 2) purchaseOrder.
 
So how to determine which is root?
 
 
 
Thanks & Regards,
 Priti Patil

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
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

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.