logo       


Re: [xmlc] XMLC-2.3alpha - Initial support for Xerces2 in XMLC now availab: msg#00000

Subject: Re: [xmlc] XMLC-2.3alpha - Initial support for Xerces2 in XMLC now available in CVS HEAD!
At 05:41 AM 8/11/2006, you wrote:
Jake,

Did you remove the LazyDOM from this release? Hopefully not :) What code did you get rid of to use only Deferred Parsing?

Nope, didn't remove LazyDOM. And you are confusing "deferred node expansion", which is the Xerces2 feature akin, to LazyDOM. As it turns out, there there is a separate DOM for deferred node expansion and there is no HTML implementation of it. It is not applicable to usage with custom DOMs, so it is not an option. LazyDOM also seems a bit more sophisticated than deferred node expansion, because with LazyDOM, one can expand a node without expanding its parents. This is not a feat that Xerces2 is capable of achieving.

As for deferred parsing, that is a feature added to XMLC-2.2 and was originally intended to avoid generation of massive XMLC classes which ended up failing to load in some early JVMs. Instead of building a class that builds the DOM on the fly each time, the class is parsed once and cached in memory. The document is cloned for each request. Of course, when a lazyDOM document is cloned, its cloning shouldn't take the full hit of a non-lazyDOM clone. Either way, cloning it faster than parsing and takes advantage of the parser's correctness in building the DOM. The manual building of the DOM that XMLC did with Xerces1 simply doesn't fly with Xerces2. Xerces2 is much more strict and it's much simpler to let the Xerces2 DOMParser do its thing than doing it manually.

The template reloading kind of came as an added bonus and replaces XMLC recompilation as the way to reload an XMLC class at runtime to pick up changes to markup. The caching mechanism of Deferred Parsing is the feature that makes me think it is a bit like your own caching mechanism. I'll comment a little more about this in reply to your other email.

Jake


Chris

Jacob Kjome wrote:

It took a while, but I have committed initial support for Xerces2, and xmlcommons-resolver, and NekoHTML to CVS HEAD. BTW, much of what I had to do was get Xerces2 and xmlcommons-resolver in working order for XMLC's use. I had to request some changes to Xerces2, which were included in the 2.8.0 release (just some method visibility). I actually submitted significant changes to xmlcommons-resolver to get it into working order. The changes were committed, but not yet released. I hope it will be released with the next release of Xerces (I think 2.9.0). At that point, I'll consider unwrapping the org.apache namespace from the org.enhydra.apache namespace. Please try things out and let me know what you think. keep in mind that this should be considered alpha at this point. All you need to build is check out the HEAD (note that I created an XMLC_2_2_XX_BRANCH to preserve 2.2.xx functionality) and run "ant all-libs" to build the jars. Here's my commit comments....


XMLC 2.3 changes

1. Move to Xerces2 and NekoHTML, dump Xerces1 and JTidy
2. Use Deferred Parsing exclusively. This gets rid of a lot of code that we no longer have to maintain and provides one way of doing things. Lightens up XMLC 3. DOMFactory now has getDocumentClassName(), which returns the fully qualified class name of the document implementation being represented by the factory. Got rid of createAccessorGenerator() and createDocBuilderGenerator() methods, since the only ones used now are the deferred parsing ones. 4. Using Xerces2 DOMParser to parse documents and letting it build the DOM rather than building it manually. Must less code and less chance of messing up correctness. 5. For now, wrapped up Xerces2 and xmlcommons Resolver into a jar under the org.enhydra.apache namespace using JarJar. Did the same with NekoHTML. This may change, but it's easier for now since XMLC 2.2 was modified to use Xerces under that package namespace.

TODO... clean up some of the comments, maybe dump XmlcStdFactory or modify to be compatible with deferred parsing

Jake








--
You receive this message as a subscriber of the <mailto:xmlc@xxxxxxxxxxxxx>xmlc@xxxxxxxxxxxxx mailing list. To unsubscribe: <mailto:xmlc-unsubscribe@xxxxxxxxxxxxx>mailto:xmlc-unsubscribe@xxxxxxxxxxxxx For general help: <mailto:sympa@xxxxxxxxxxxxx?subject=help>mailto:sympa@xxxxxxxxxxxxx?subject=help ObjectWeb mailing lists service home page: <http://www.objectweb.org/wws>http://www.objectweb.org/wws



--
You receive this message as a subscriber of the xmlc@xxxxxxxxxxxxx mailing list.
To unsubscribe: mailto:xmlc-unsubscribe@xxxxxxxxxxxxx
For general help: mailto:sympa@xxxxxxxxxxxxx?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws


--
You receive this message as a subscriber of the xmlc@xxxxxxxxxxxxx mailing list.
To unsubscribe: mailto:xmlc-unsubscribe@xxxxxxxxxxxxx
For general help: mailto:sympa@xxxxxxxxxxxxx?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Ruby Jobs
Java Jobs
Jobs in California
more...
what
job title, keywords
where
city, state, zip
jobs by job search
Search:
Java, servers, webhosting, windows, cisco ...
more...
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
encryption.gpg....    ietf.rfc822/199...    freebsd.devel.i...    lang.haskell.li...    mail.squirrelma...    web.zope.plone....    yellowdog.gener...    text.xml.xalan....    recreation.phot...    kde.devel.educa...    hardware.bus.ca...    printing.ghosts...    voip.peering/20...    assembly/2006-0...    org.user-groups...    culture.interne...    network.i2p/200...    boot-loaders.ya...    xfree86.render/...    qnx.openqnx.dev...    jakarta.velocit...    user-groups.pal...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe