[
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 x ml file?
- From: Anil Philip <goodnewsforyou@yahoo.com>
- Date: Mon, 12 Sep 2005 13:26:45 -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=foPWUP0Bkt5K1JMTGEZV9cATfu0B+xGjDdGS6UDeH3aTsDVc9kYCDrrFe+mlmESlwatXSx0617Yx2wSf3lJWYz4ZsukdHyuzRniNAO2nHzWNpAeTzYCBASk3K8nlFdWrJjgu/+0gin4mzOuyHE3X4JScIjLzSioL8q+UY8Ytc6A= ;
- In-reply-to: <B2E776DBE74D76439BA590B9C12F844F010FE0C7@FACAPPS1>
Thank you - that went thru XMLSpy - dont know why the
earlier one was wrong.
I tried to generate the instance file for a node (0)
with 3 children (1,2,3) but xmlspy complains that
"Node closing element name expected". Thanks again for
your help.
<?xml version="1.0" encoding="UTF-8"?>
<Node
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="C:\Projects\ACD\acd_schema3.xsd">
<childNodes><Node>
<childNodes></childNodes>
<data>1</data>
</Node><Node>
<childNodes></childNodes>
<data>2</data>
</Node><Node>
<childNodes></childNodes>
<data>3</data>
</Node></childNodes>
<data/>0</data>
</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>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
|