OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] how to save an n-ary tree of nodes to and from an xml file

[ Lists Home | Date Index | Thread Index ]
  • To: xml-dev@lists.xml.org
  • Subject: RE: [xml-dev] how to save an n-ary tree of nodes to and from an xml file?
  • From: Anil Philip <goodnewsforyou@yahoo.com>
  • Date: Mon, 12 Sep 2005 12:50:03 -0700 (PDT)
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=s+rQufUKujHDHsY3WEqwBVBdoKEf6g5l5pcNRAZzD2vFfGNpo8h0v1UZ4hCjugsCaDgBKi5AyamS3osoM3oJ1NbHi04my9/Q4uLzpvGhXEnIGBb03uJhCyUClFXSpChekzlQv80kp6XZwzMks5xAfRah7ktdZYJvmMiv0+9iv00= ;

Michael, Thanks for your reply.
Yes, I removed the parent link. However I think the
schema is not correct - XML Spy complains but I cant
see whats wrong:
---
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
elementFormDefault="qualified"
attributeFormDefault="unqualified">
	<xs:element name="Node">
		<xs:annotation>
			<xs:documentation>ACD nodes - 2. Copyright juwo LLC
2005</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="childNodes" type="ListOfNodes"/>
				<xs:element name="data" type="xs:string"/>
			</xs:sequence>
		</xs:complexType>
		<xs:element name="ListOfNodes">
			<xs:complexType>
				<xs:sequence>
					<xs:element ref="Node" minOccurs="0"
maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:complexType>
		</xs:element>
	</xs:element>
</xs:schema>

--- Michael Kay <mike@saxonica.com> wrote:

> > I am trying to find how to implement something in
> XML
> > and was disappointed and surprised to find not too
> > many in-depth tutorials or information; unlike in
> Java
> > where the Sun Java tutorial at java.sun.com is
> enough
> > to get one working productively...
> > [ok, rant over]
> > 
> > ---
> > I am trying to represent a n-ary tree of nodes in
> xml.
> > More accurately, I am trying to save/instantiate a
> > tree of nodes to-from an xml file.
> > Am finding it difficult trying to represent the
> > parent-child relationships.
> > 
> > Java: (simplified)
> > -----
> > 
> > class Node {
> > Arraylist childNodes;
> > Node parent;
> > String data;
> > }
> 
> The "parent" pointer here is redundant (you could
> reconstruct it from other
> information). In my experience, when designing XML
> data structures it's best
> to avoid such redundancy. All it achieves is to
> increase the burden on
> senders to make the document consistent and on
> recipients to check that it
> is indeed consistent.
> 
> Once you eliminate the redundancy, you seem to have
> a pure hierarchy, with a
> very natural XML representation:
> 
> <node>
>   <node>
>     <data>x</data>
>   </node>
>   <node/>
>   <node>
>     <node/>
>     <node>
>       <data>x</data>
>       <node/>
>       <node/>
>     </node>
>   </node>
> </node>
> 
> Of course, you could flatten this if you prefer so
> all the nodes are on the
> same level, and the hierarchic relationship are
> represented by id/idref
> attributes. But it seems more natural to use the XML
> hierarchy to represent
> the information hierarchy when you can.
> 
> Michael Kay
> http://www.saxonica.com/
> 
> 
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS