<?xml version="1.0"?>

<!--

   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

-->

<!-- ========================================================================= -->
<!-- author cam@mcc.id.au                                                      -->
<!-- version $Id$ -->
<!-- ========================================================================= -->

<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
<document>
  <header>
    <title>Batik CSS engine</title>
  </header>

  <body>
    <p>
      Batik includes a fully functional CSS engine that supports
      <a href="site:css2">CSS Level 2</a>.  While
      this engine is used to support CSS functionality in SVG documents,
      it is generic and can be used for any application where a CSS
      engine is required to perform the cascade.
    </p>
    <p>
      Note that Batik’s CSS engine does not implement the box model to
      perform layout, as used by HTML browsers.  It implements only the
      interfaces needed to apply stylesheets to an XML document and to
      then query or update the elements’ cascaded values.
    </p>

    <!-- ... -->
  </body>
</document>
