CSS4J RELEASE NOTES =================== Release 0.10 - August 2, 2008 ----------------------------- This package contains Java(tm) classes covering CSS document style formatting. Unless otherwise noted, this software is provided under a BSD-style license (see the LICENSE.txt file). The functionality in this package can be divided in the following areas: - An implementation of the standard W3C CSS Object Model API, that allows to get computed styles for DOM (DOM4J) elements. - An extension API to the base W3C style declaration. - A device profile API to encapsulate target device-specific information, including implementations for Java2D objects and iText-PDF documents. - A visual formatting API for retrieving 'used' values for visual CSS properties. - Some helper XML-DTD classes. This is a bugfix release of the 0.9 branch of CSS4J. The reason for naming it 0.10 instead of 0.9.4 is explained below. Java(tm) Runtime Environment requirements ----------------------------------------- All the classes in the binary package have been compiled for Java SE 5 compliance. Compatibility ------------- This release includes a few classes that used to be part of JCLF 2.x, but are not part of the newly-released JCLF 3.0. This explains why it is labeled as 0.10, despite being based on the 0.9 branch. Other than the class packaging change, this milestone release is a drop-in replacement for the previous version. If you was using the previous version, to use this one you just need to make sure that JCLF 3.0 is in the classpath (jar file included with the full distribution). Code status ----------- The code for the W3C API implementation is 'release candidate', and extensive testing is encouraged. If you see non-conformant behavior -other than what is documented in the source code as known- please report it. Currently, CSS4J has no notion of different user, author or user agent style sheets, and considers all sheets as being of the same category. This will be implemented in future releases. The extensions to the W3C API (like the visual formatting model) are experimental and the API is subject to change. Using CSS4J ----------- The Javadoc overviews of the different packages should be a starting point for users, and unit tests may also be useful in showing different uses of the library. Generally, the library will be used in the context of a document object model tree, but standalone use of style declarations and style sheets is also possible. While CSS4J can be used with a regular DOM API, out-of-the-box CSS support is only provided for DOM4J. Of course, some knowledge of DOM4J is required in order to use CSS4J's DOM4J subpackage. Software dependencies ===================== To run this package, you need: - The JCLF package, version 3.0 or higher is required and is included with the "complete" distribution. Go to http://sourceforge.net/projects/jclf for downloads. - The Batik "batik-css.jar" and "batik-util.jar" files, available from the latest Batik SVG toolkit release in http://xml.apache.org/batik/. - The W3C SAC classes. Download sac.jar from http://www.w3.org/Style/CSS/SAC/ - The dom4j JAR package (tested with 1.6.1). http://www.dom4j.org/download.html - The Jaxen (http://jaxen.codehaus.org/) JAR (this software was tested with 1.1). - The Log4J package, which is a logging de-facto standard. See http://logging.apache.org/log4j/docs/ for more information. Optional packages: - If you use the itext subpackage, you need iText 2.0.1 or higher. Download it from http://www.lowagie.com/iText/. - To run the unit tests, you need JUnit 4.4 or later. ** For your convenience, the required packages are now bundled with a "css4j-dep" distribution. A source-only package is also available. ** Carlos Amengual Genus Consulting, SL http://informatica.info/