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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   [YML] RE: YML: A Grand Unification of SAX and DOM? (fwd)

[ Lists Home | Date Index | Thread Index ]
  • From: "Clark C. Evans" <clark.evans@manhattanproject.com>
  • To: Don Park <donpark@docuverse.com>
  • Date: Sat, 4 Dec 1999 01:53:25 -0500 (EST)

On Fri, 3 Dec 1999, Don Park wrote:
> What is the advantage of YML over these
> solutions?
 
> 3. Road Signs
> 
> <element>
>   <sax:cache>true</sax:cache>
>   <foo>bar</foo>
>   <sax:cache>false</sax:cache>
> </element>

This structure does not seem to be 
recursive, given that I'm interpreting
it as I would a processing instruction.

> 2. Parental Guidence
>

> <element>
>   <sax:cache>
>     <foo>bar</foo>
>   </sax:cache> </element>
 
This *could* be logically equivalent 
depending upon your interpretation.
Consider this instead:
 
<element>
  <sax:cache>
    <foo>
       <bar/>
    </foo>
  </sax:cache> 
</element>
 
If the processor would provide random access
to <bar/>, then the answer is no -- this is
not the same as YML.
 
If, however, you use a keyword like this 
to denote that the _immediate children_ 
are placed into random access storage, 
then the answer is almost.  In addition, a 
mechanism is required to gaurentee that 
all of the random access children occur 
before the first sequential child.

 
> 1. Pockets
>
> <element>
>   <pocket:attributes>
>     <att>
>       <ch>val</ch>
>     </att>
>   </pocket:attributes>
>   <pocket:children>
>     <foo>
>       <pocket:text>bar</pocket:text>
>     </foo>
>   </pocket:children>
> </element>

First, I don't get what you had intended
with <pocket:text>bar</pocket:text>, so
let's consider this replaced with
<text>bar</text> to proceed.

If attributes/children means random/sequential
access, then, of the three, this is the
closest since there seems to be an implicit
requirement that all random access children
occur before sequential access children.

However, you did not use this construct
recursively -- <ch> and <text> were
not marked with the sequential/random
access distinction.  If this distinction 
were embedded into a binary syntax, then 
this type of problem would not occur.
So, here is the YML version of the above,
assuming sequential access for <ch>
and random access for <bar>.
 
  <element
    <att>
       <ch>val</ch>
    </att>   
  >
    <foo 
      <text>bar</text>
    />
  </element>  

Or, using syntax sugar:

  <element att=<ch>val</ch> >
    <foo text="bar" />
  </element>

Major advantage here is that the doubly 
recursive syntax drives the processing 
choice as to collect attributes together 
and provide them via random access (DOM), 
or to provide them individually via 
sequential access (SAX).
 
I hope this moves things along!

Best Wishes,

Clark



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)






 

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

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