[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: Inneficient XML cross post
Duane,
Thanks, but I'm a bit confused. May we please clarify some terminology?
Maybe I'm unfamiliar with how folks in the XML world view recursiveness, but I
don't see this example as being recursive in a classic computer science sense.
It definitely has to do with creating a shallower and more compact parse tree,
and therefore one that is more efficiently processed. However, recursive?
Recursive, to me, would be something like
<Address>
<Name xml:lang="en">Cisco Corporation</Name>
<PostalAddress name="foo">
<Street>123 Anystreet</Street>
<City>Sunnyvale</City>
<State>CA</State>
<PostalCode>94089</PostalCode>
<Country>US</Country>
</PostalAddress>
more stuff ..
<Address>
another address subtree
</Address>
</Address>
Is this even allowed in well-formed XML documents? Recursive might also be
attempting to define an element in a DTD in terms of itself. Is that not
disallowed as well?
Cheers,
Mike
Duane Nickull wrote:
> ebXMLers:
>
> I have received numerous replies and question about recursiveness and XML
> efficiency. In the interest of asking and replying only once, will
> everyone please send the messages to the list serves if they are relevant to
> the thread. Private posts do not get seen by everyone.
>
> I was looking at what others have done and came accross a snippet of XML
> which I believe demonstrates my points.
>
> [NOTE: This XML is taken out of context therefore my comments do not
> reflect an overall opinion as to the effectiveness of cXML]
>
> Read this XML:
>
> <OrderRequestHeader orderID="DO1234" orderDate="1999-03-12"
> requestedDeliveryDate="1999-03-24">
> <Total>
> <Money currency="USD">12.34</Money>
> </Total>
> <ShipTo>
> <Address>
> <Name xml:lang="en">Cisco Corporation</Name>
> <PostalAddress name="foo">
> <DeliverTo>Joe Smith</DeliverTo>
> <DeliverTo>Mailstop M-543</DeliverTo>
> <Street>123 Anystreet</Street>
> <City>Sunnyvale</City>
> <State>CA</State>
> <PostalCode>94089</PostalCode>
> <Country>US</Country>
> </PostalAddress>
> </Address>
> </ShipTo>
> <BillTo>
> <Address>
> <Name xml:lang="en">Cisco Corporation</Name>
> <PostalAddress name="foo">
> <Street>123 Anystreet</Street>
> <City>Sunnyvale</City>
> <State>CA</State>
> <PostalCode>94089</PostalCode>
> <Country>US</Country>
> </PostalAddress>
> </Address>
> </BillTo>
>
> The the use of the element "<Address>" seems to be totally unnecessary
> beucase it is encapsulated by its' parent tag "<ShipTo>" or "<BillTo>" and
> has a child element of "<PostalAddress>". The latter tags adequately give
> machines and Humans a metric for the child nodes context. The first branch
> could also be made more efficient by doing this:
>
> <TotalMoney currency="USD">12.34</Money>
>
> Please keep in mind that these opinions are being given without knowledge of
> the reasoning behind the structure. There may actually be a really good
> reason for the authors actions.
>
> More "foo" for thought
>
> Duane Nickull
--
Michael C. Rawlins, Rawlins EDI Consulting
http://www.metronet.com/~rawlins/
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC