
                            CSS4J RELEASE NOTES
                            ===================

Release 0.13 - October 5, 2011
------------------------------

 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.


Java(tm) Runtime Environment requirements
-----------------------------------------
 All the classes in the binary package have been compiled with a Java SE 
version 6 compiler.


Code status
-----------
 The code for the W3C API implementation is 'beta', and extensive testing is 
encouraged. If you see non-conformant behavior please report it.

 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.

 Media handling: by default, computed styles only take into account generic 
styles that are common to all media. If you want to target a more specific 
medium, you have to use the setTargetMedium() method of the document's style 
sheet, that in DOM4J can be accessed with the XHTMLDocument.getStyleSheet() 
method.



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://dom4j.sourceforge.net/

- The Jaxen (http://jaxen.codehaus.org/) JAR (this software was tested with 
  1.1.3).

- 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 5.0.5 or higher. Download 
  it from http://itextpdf.com/download.php.

- To run the unit tests, you need JUnit 4.4 or later.


Carlos Amengual
http://informatica.info/
