[
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
|