[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
|