[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Breadth-First XML Serialization

  • To: xml-dev@l...
  • Subject: Breadth-First XML Serialization
  • From: Simon Kissane <skissane@g...>
  • Date: Wed, 8 Dec 2004 19:10:02 +1100
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding; b=BdN9BJQ5AOFK5k0GNMjkH15AZfsj7fqAfpJL4cOZ206ntQ5T199DYoMix6oqJJQ1Il+XVFD/y3Jz+JQbXUCnwS07cAMSDMHL+ElIxoXuT2OxZagiNw4u1mSr6M7sl44+Z54Otqr3YoGnbunU40PaWIZjX/sUUolwdEPMQaL4RHE=
  • Reply-to: Simon Kissane <skissane@g...>

xml serialization dom
Hi,

The standard text-based XML serialization is depth-first. So, for
example, if the tree structure of my document is:
Root
|--- ElementA
|         |- ElementB1
|         |         |- "Some text"
|         |- ElementB2
|---- ElementC
          |-ElementD

The standard depth-first XML serialization looks like:
<Root>
<ElementA><ElementB1>Some text</ElementB1><ElementB2/></ElementA>
<ElementC><ElementD /></ElementC>
</Root>

But a breadth-first serialization could be something like:
1 0 Root
2 1 ElementA
3 1 ElementC
4 2 ElementB1
5 2 ElementB2
6 3 ElementD
7 4 "Some text"
where the first number is the number of the DOM node in breadth-first
document order, and the second number is the number of the parent DOM
node.

Such a serialization might be useful in some cases. Suppose for
example I have a huge XHTML document, with Javascript enabling
drill-down to show/hide sections and subsections of the document, and
initially all the sections are hidden. Using the standard depth-first
serialization, I have to wait until the whole document loads to see
the entirety of the top-level, whereas with a breadth-first
serialization I could see the top-level immediately.

More generally, one could imagine a transfer mechanism for XML which
enabled the application to prioritise part of the DOM tree. So, for
example, I click the "expand" button the last section of my huge HTML
document, while it is loading. The renderering engine now needs to
know what is under that node urgently. So it could send a request to
the server saying "send DOM nodes under this node urgently, then keep
on sending me the rest." The server would interrupt its normal
transfer order to send those DOM nodes straight away, and then would
resume sending the document as usual.

Cheers
Simon Kissane




-- 
Simon Kissane

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.