- From: Michel Fortin <michel.fortin@michelf.com>
- Date: Sat, 02 Jun 2007 08:35:41 -0400
Le 2007-06-02 ? 4:39, Anne van Kesteren a ?crit : > On Wed, 30 May 2007 15:22:39 +0200, Michel Fortin > <michel.fortin at michelf.com> wrote: >> 3) Emit events until you reach a point where it may be possible >> that some events should be reordered, in which case you build a >> local DOM-like tree and wait until you can emit all pending events >> with a certainty they don't need to be reordered. > > This is not an option. Consider > > <b><p>test</p></b> > > versus > > <b><p>test</b> > > Sending mutation events is probably the only way to go. I'm not sure I follow; what is the problem here? My suggestion was for the parser to keep a temporary tree whenever things are likely to be subject to reordering (like this case). If needed the parser just mutates its internal temporary tree. When a part of that tree are guarantied not to need reordered, then it can send SAX events for that part. The idea is effectively to *avoid* mutate events from going outside the parser since the application at the other ends, or the API in between, doesn't support them. Note that this doesn't work for parsing full documents since you can't append to the root attributes found in misplaced <html> tags while not keeping a tree of the whole document. But this could prove very useful for parsing HTML snippets to be included in a document server-side, just like you can do with innerHTML in the DOM. Michel Fortin michel.fortin at michelf.com http://www.michelf.com/
Received on Saturday, 2 June 2007 05:35:41 UTC