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 x ml fil

[ Lists Home | Date Index | Thread Index ]
  • To: Doug Rudder <drudder@drugfacts.com>, xml-dev@lists.xml.org
  • Subject: RE: [xml-dev] how to save an n-ary tree of nodes to and from an x ml file?
  • From: Anil Philip <goodnewsforyou@yahoo.com>
  • Date: Mon, 12 Sep 2005 13:33:32 -0700 (PDT)
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=RmHCAc8sFmarYgOWw8fs+WV0xvZjx5AawQySlJ3bkMRAIv1DG25RWtCLTXumi86cHT0SNn7TV4A6BX2VBTwAKzZ7jWrGOOkqbs2ADWF1iBW/IdZpYAzafzz22uAOUKFa1xZxSjTPnk2PZ5Vj1gNapLpSjf+BM7dqgWm7muIuko8= ;
  • In-reply-to: <B2E776DBE74D76439BA590B9C12F844F010FE0C7@FACAPPS1>

Ok, I got it. ListOfNodes had to be defined outside of
Node.

--- Doug Rudder <drudder@drugfacts.com> wrote:

> Anil -
> 
> Your ListOfNodes element should be a complexType (as
> referenced by
> childNodes). Something like this might work:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
>    elementFormDefault="qualified"
>    attributeFormDefault="unqualified">
> 
>    <xs:complexType name="ListOfNodes">
>       <xs:sequence>
>          <xs:element ref="Node" minOccurs="0"
>             maxOccurs="unbounded"/>
>       </xs:sequence>
>    </xs:complexType>
> 
>    <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>
> </xs:schema> 
> 
> Doug
> 
> -----Original Message-----
> From: Anil Philip [mailto:goodnewsforyou@yahoo.com] 
> Sent: Monday, September 12, 2005 2:50 PM
> 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?
> 
> 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 
> 
>
-----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org
> <http://www.xml.org>, an initiative
> of OASIS <http://www.oasis-open.org>
> 
> The list archives are at
> http://lists.xml.org/archives/xml-dev/
> 
> To subscribe or unsubscribe from this list use the
> subscription
> manager:
> <http://www.oasis-open.org/mlmanage/index.php>
> 



		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
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