http://xmlgraphics.apache.org/http://www.apache.org/http://www.w3.org/

Home

Overview
FAQ
Wiki
License
Download
Install
Demo

In the news

Tools and Apps
Browser
Rasterizer
Font Converter
Pretty-printer

Architecture
API (Javadoc)
Generator
DOM API
JSVGCanvas
Transcoder API

Scripting Intro
Scripting Features
Java Scripting
Security

Extensions

Testing

Contributors
Mail Lists

SVN Repository
Bug Database

Status

Glossary


Introduction

This page provides information about Batik's implementation status in terms of code metrics and SVG support. It is broken down into the following sections:

  • Batik status provides information about what Batik roadmap and current support of SVG features. This section is further broken down into:
    • Roadmap describes the upcoming milestones in the Batik implementation
    • SVG Elements and Attributes which defines which elements and attributes are supported by the Batik project.
    • CSS Properties which defines which CSS properties are supported by the Batik components.
    • SVG DOM which defines which portions of the SVG DOM are supported by the Batik implementation.
    • SVG BE Suite which defines which tests of the SVG 1.0 BE Suite are successfully passed by the Batik browser (Squiggle).
  • Batik metrics provides metrics for the Batik project: binary size for the various modules, source code size, lines of code, number of files etc...

Batik Status

Batik roadmap
  • Batik 1.1 (December 2001) was focused on supporting all static SVG features. In addition, Batik 1.1 supported hyperlinking and 'one-way' scripting (which means that scripts could handle events but modifications to the SVG document by scripts would not be reflected visually by the Batik viewing component.
  • Batik 1.5 (Summer 2003) is focussed on supporting SVG scripting fully. The following sections provide details on the exact support of the SVG scripting features.

SVG Elements and Attributes Support

The supported elements table lists all the elements part of the SVG specification that are supported in the Batik toolkit rendering components (i.e., the ImageTranscoder and the JSVGCanvas Swing component).


CSS Properties Support

The supported properties table lists all the CSS properties part of the SVG specification or the CSS2 specification that are supported in the Batik toolkit rendering components (i.e., the ImageTranscoder and the JSVGCanvas Swing component).


SVG DOM Support

The SVG DOM implementation table lists all SVG DOM interfaces and indicates for all methods the status of the implementation in Batik.


SVG BE Suite Status

The SVG BE Test suite is developed by the W3C SVG working group to allow implementation to check their level of conformance with the SVG specification. In that spirit, the table below shows how much of the test suite the SVG Viewer included in the Batik distribution passes.

There are two sections: the first one shows the tests Batik passes and the second shows the tests that Batik does not pass (althought it will eventually). Each section lists static and dynamic SVG tests separately.

Static ratings : passed: 93, not passed: 0 (Total: 93/93)

Dynamic ratings : passed: 10, not passed 23 (Total: 10/33)

Note that the Batik tests go beyond the SVG Working Group BE test suite and that the Batik test suite infrastructure contains several hundreds of tests in addition to the BE test suite.

Static Tests Passed by Batik

color-datatypes-BE-01.svg  color-property-BE-02.svg  color-colorProf-BE-03.svg 
coords-transforms-BE-02.svg  coords-units-BE-01.svg  coords-unitsProc-BE-05.svg 
coords-viewBox-BE-03.svg  filters-convolve-BE-06.svg  filters-diffuseLt-BE-07.svg 
filters-lights-BE-09.svg  filters-many-BE-01.svg  filters-specularLt-BE-08.svg 
filters-blend-BE-02.svg  filters-blur-BE-12.svg  filters-dispMap-BE-16.svg 
filters-feImage-BE-13.svg  filters-feTile-BE-14.svg  filters-fldMrgOff-BE-15.svg 
filters-morph-BE-10.svg  filters-transfer-BE-04.svg  filters-turb-BE-11.svg 
filters-colorMtrx-BE-03.svg  filters-composite-BE-05.svg  masking-mask-BE-05.svg 
masking-mask-BE-06.svg  masking-property-BE-07.svg  gradPatt-linearGr-BE-01.svg 
gradPatt-linearGr-BE-02.svg  gradPatt-linearGr-BE-03.svg  gradPatt-pattern-BE-07.svg 
gradPatt-radialGr-BE-04.svg  gradPatt-radialGr-BE-04.svg  gradPatt-referenc-BE-08.svg 
gradPatt-stop-BE-06.svg  gradPatt-stop-BE-10.svg  gradPatt-transfrm-BE-09.svg 
masking-clipPath-BE-01.svg  masking-clipPath-BE-02.svg  masking-clipPath-BE-08.svg 
masking-clipRule-BE-03.svg  masking-groupOpac-BE-04.svg  masking-vportClip-BE-09.svg 
paint-colIntProp-BE-05.svg  paint-inherit-BE-06.svg  paint-stroke-BE-02.svg 
paint-fill-BE-01.svg  paint-markers-BE-03.svg  paint-markers-BE-04.svg 
path-curves-BE-02.svg  path-curves-BE-03.svg  path-curves-BE-04.svg 
path-lines-BE-01.svg  rendering-orderGr-BE-01.svg  rendering-shape-BE-03.svg 
rendering-text-BE-02.svg  shapes-circle-BE-03.svg  shapes-ellipse-BE-02.svg 
shapes-line-BE-04.svg  shapes-polygon-BE-05.svg  shapes-polyline-BE-06.svg 
shapes-rect-BE-01.svg  structure-allElem-BE-09.svg  structure-basicG-BE-03.svg 
structure-defs-BE-04.svg  structure-empty-BE-01.svg  structure-extRef-BE-10.svg 
structure-image-BE-06.svg  structure-lang-BE-08.svg  structure-nested-BE-02.svg 
structure-switch-BE-07.svg  structure-symbol-BE-05.svg  style-selector-BE-01.svg 
style-selector-BE-02.svg  style-selector-BE-03.svg  text-text-BE-01.svg 
text-tspan-BE-02.svg  text-textOnPath-BE-03.svg  text-tref-BE-04.svg 
text-textAnchor-BE-05.svg  text-whiteSpace-BE-06.svg  text-altGlyph-BE-07.svg 
text-i18n-BE-09.svg  text-alignment-BE-10.svg  text-alignment-BE-11.svg 
text-selection-BE-13.svg  text-spacing-BE-14.svg  text-font-BE-15.svg 
text-font-BE-16.svg  text-textLength-BE-17.svg  text-extTref-BE-18.svg 
fonts-fontElement-BE-01.svg  metadata-sample-BE-01.svg  text-decoration-BE-12.svg 

Dynamic Tests Passed by Batik

linking-outBound-BE-01.svg  linking-xlinkAttr-BE-02.svg  linking-inBound-BE-03.svg 
linking-view-BE-04.svg  linking-view-BE-05.svg  script-eventDom-BE-01.svg 
script-uiEvents-BE-02.svg  dom-core-BE-01.svg  dom-featureString-BE-03.svg 
dom-eventListener-BE-04.svg       

Dynamic Tests Not Passed by Batik

animation-inherit-BE-10.svg  animation-overall-BE-01.svg  animation-timing-BE-05.svg 
animation-values-BE-08.svg  extend-multiNS-BE-01.svg  interact-bubble-BE-04.svg 
interact-pEvents-BE-05.svg  interact-zoomPan-BE-02.svg  animation-add-BE-09.svg 
animation-href-BE-02.svg  animation-motion-BE-11.svg  animation-motion-BE-12.svg 
animation-targAtt-BE-04.svg  animation-targElt-BE-03.svg  animation-values-BE-06.svg 
animation-values-BE-07.svg  dom-svg-BE-02.svg  interact-bubble-BE-04-targ.svg 
interact-cursor-BE-08.svg  interact-onload-BE-07.svg  interact-pEvents-BE-06.svg 
interact-zoomPan-BE-01.svg  interact-zoomPan-BE-03.svg    

Batik Metrics

The following numbers are as of July 10th 2003

Modules Binary size

Java API, AWT and Swing Extensions (batik-awt-util.jar, org.apache.batik.ext.awt and org.apache.batik.ext.swing)  354,700 
Bridge module (batik-bridge.jar, org.apache.batik.bridge)  240,925 
CSS 2 support (batik-css.jar, org.apache.batik.css)  221,112 
Batik DOM support (batik-dom.jar, org.apache.batik.dom)  79,168 
W3C and XML APIs (batik-ext.jar, org.w3c)  76,733 
Sample extensions (batik-extensions.jar, org.apache.batik.extension)  43,870 
User interface utilities (batik-gui-util.jar, org.apache.batik.dom)  135,636 
GVT (batik-gvt.jar, org.apache.batik.gvt)  143,429 
Micro Parsers (batik-parser.jar, org.apache.batik.parser)  35,078 
Scripting engines infrastructure (batik-script.jar, org.apache.batik.script)  30,842 
Batik SVG Dom Implementation (batik-svg-dom.jar, org.apache.batik.dom.svg)  376,951 
SVG Generator (batik-svggen.jar, includes SVG font converter)  162,171 
JSVG Canvas (batik-swing.jar, org.apache.batik.swing)  126,040 
Transcoder module (batik-transcoder.jar, org.apache.batik.transcoder)  61,780 
Utilities (batik-util.jar, org.apache.batik.util and org.apache.batik.i18n)  75,679 
XML Parsing utilities (batik-xml.jar, org.apache.batik.xml)  19,876 

External packages

ECMA Script Engine (js.jar)  593,919 
Parser (xerces_2_5_0.jar)  934,835 
XML Interfaces (xml-apis.jar)  107,431 
FOP PDF Transcoder (pdf-transcoder.jar)  302,896 

Source Metrics

Number of source lines overall (includes comments and empty lines)  242,137 
Number of source files overall  1,348 


Copyright © 2000-2005 The Apache Software Foundation. All Rights Reserved.