| 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.