|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Breadth-First XML Serialization
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! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








