|
Re: [Ann] Jivan 1.0 RC 1: msg#00090java.enhydra.xmlc
Hi David, Jivan is made very similar to xmlc to make my applications easy to mirgrate. I actually did propose a different page-manipulating engine to the xmlc group. There are two techniques, which make Jivan high performant: - DOM repairing: Instances of the DOM are not being recreated with every request like in the pre-LazyDOM times. After a working copy has been used by the application, the working instance is compared to the master instance. Changed Nodes in the working DOM are replaced with copies from the master DOM. I suggsted this on the XMLC mailing list way back when Mark was in the middle of working on LazyDOM. Compared to LazyDOM the repairDOM is very easy to implement. - original representing of the HTML: There was quite a discussion on the xmlc mailing list about this (see http://xmlc.enhydra.org/project/mailingLists/xmlc/msg01933.html) Copying the string from the original HTML for unchanged node has huge speed advantage and the advantage, that most proprietary tags will be left unchanged (you don't need to educate the HTML programmer what the HTML spec says and how he should do his job) Two things became clear in the discussion: While I wanted the validating part to be separated from xmlc (this means that xmlc would not try to fix invalid HTML), there seemed to be no consensus for this. Second, these changes would mean to reimplement huge parts of xmlc if not all. However if you look at the size of the Jivan project (lines of code) and xmlc, you will see that Jivan has only a fraction of the size of xmlc. So reimplementing was probably not as hard as it is to maintain the whole xmlc project over the time. So I re-invented it because I saw a good chance to implemet the features I needed plus performance boost with probably less time than changing xmlc. May be its time for a rewrite of xmlc anyway, people on the mailing list started to think about major changes (like using nekoHTML and DOM4J). But that's another story. -Arno David H. Young wrote: Arno,
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: cloning nodes vs. creating new() ones, Jacob Kjome |
|---|---|
| Next by Date: | re: Case Study: XMLC vs. Velocity, Stefan Flick |
| Previous by Thread: | Re: [Ann] Jivan 1.0 RC 1, David H. Young |
| Next by Thread: | Re: [Ann] Jivan 1.0 RC 1, Mark Diekhans |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |