Return-Path:
In addition there were some disadvantages in the internal architecture of Cocoon. The new version removes these bottlenecks and gives more flexibility, usability and performance. -
+There are some changes in the sitemap and the configuration of some components in +
There are some changes in the sitemap and the configuration of some components in the sitemap.
-FOP serializer's <user-config> relative path now resolves relative - to sitemap's directory. All Cocoon URIs are supported too. -
-FOP serializer's <user-config> relative path now resolves relative + to sitemap's directory. All Cocoon URIs are supported too.
++
The Cocoon architecture has had some significant changes. However, great care has been taken that all changes are in a compatible way. This effort has been successful except one change which shouldn't affect anybody (see below). -
-Under Cocoon 2.0.x, the SourceResolver was not an Avalon component, so it could not be looked up using a component manager. Under 2.1, the SourceResolver is now an Avalon component and can be requested using cocoon.manager.lookup(SourceResolver.ROLE).
-Mention changes and update strategy...
-Under Cocoon 2.0.x, the SourceResolver was not an Avalon component, so it could not be + looked up using a component manager. Under 2.1, the SourceResolver is now an Avalon component + and can be requested using cocoon.manager.lookup(SourceResolver.ROLE).
+The most important change is the switch from
+ Xalan to
+ XSLTC as default XSLT
+ processor. It's configured in the root sitemap in the map:components
section.
+ Simply search for map:transformers
.
XSLTC is used, because it shell be faster than Xalan, but it is maybe not as stable as + Xalan. Another little problem are the not very meaningful messages when the transformation + fails. Bruno provided already a + patch + to the Xalan team hoping it will be applied soon. At the moment if you only get the error + message like "unable to create templates for stylesheet ...", simply switch the + processor to Xalan for this transformation (you don't need to change the default processor) + and you will hopefully get more expressive messages.
+Another important and really error and exception prone issue is the Xalan and Xerces + package in the JDK 1.4. For general information on this please read the + Xalan FAQ. What I want to + point out here, is that you have to update your libraries in the endorsed dirs of the JDK + or the servlet containers with every new version of Xalan and Xerces delivered with Cocoon. + Sometimes an error occurs, because there are different versions of these packages in the + classpath (independent of those in the JDK). +
+The XML parser has also been moved to Excalibur. In the cocoon.xconf the hint name has therefore changed from parser to xml-parser. The configuration has not changed, so if you want to @@ -58,8 +84,8 @@ org.apache.cocoon.components.parser.Parser.ROLE anymore; use org.apache.excalibur.xml.sax.SAXParser.ROLE instead.
-The resolver used for resolving XML entities has also been moved to Excalibur. In the cocoon.xconf the hint name has therefore changed from resolver to entity-resolver. The configuration has not changed, so if you want to @@ -68,8 +94,8 @@ org.apache.cocoon.components.resolver.Resolver.ROLE anymore; use org.apache.excalibur.xml.EntityResolver.ROLE instead.
-The Store and StoreJanitor components and implementations have moved to Avalon Excalibur.
TODO:Changes in cocoon.xconf...
@@ -80,8 +106,8 @@The roles PERSISTENT_CACHE and TRANSIENT_CACHE have been renamed to PERSISTENT_STORE and TRANSIENT_STORE. The hold() method has been removed from the Store interface.
-This is the only real incompatible change (But don't panic, this will not affect you, well at least only a little bit :). The internal architecture of Cocoon has changed. In the older version, the processing pipeline - constructed by @@ -144,8 +170,7 @@
So you see, although this is an incompatible change in the Java code, you have only little to do to update your Cocoon installation.
-