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

Home

Overview
FAQ
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

CVS 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.
    • DOM Level 2 which defines which portions of the DOM Level 2 API are supported by the Batik implementation
    • 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 2002) is focussed on supporting SVG scripting fully. The following sections provide details on the progress of this on-going effort.
  • Batik 2.0 (Late 2002) will be focussed on supporting SMIL animation fully.

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


DOM Level 2 Support

This information will be provided shortly


SVG DOM Support

This information will be provided shortly


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 May 7th 2002

Modules Binary size

Java API, AWT and Swing Extensions (batik-awt-util.jar, org.apache.batik.ext.awt and org.apache.batik.ext.swing)  340,958 
Bridge module (batik-bridge.jar, org.apache.batik.bridge)  202,711 
SVG DOM support (batik-svg-dom.jar, org.apache.batik.dom.svg org.apache.batik.css.svg)  184,412 
SVG Generator (includes SVG font converter)  173,657 
CSS 2 support (batik-css.jar, org.apache.batik.css)  215,375 
GVT (batik-gvt.jar, org.apache.batik.gvt)  136,540 
User interface utilities (batik-gui-util.jar, org.apache.batik.dom)  134,409 
W3C and XML APIs (batik-ext.jar, org.w3c and org.ext)  126,578 
Transcoder module (batik-transcoder.jar, org.apache.batik.transcoder)  63,828 
Utilities (batik-util.jar, org.apache.batik.util and org.apache.batik.i18n)  72,348 
Micro Parsers (batik-parser.jar, org.apache.batik.parser)  32,650 
XML Parsing utilities (batik-xml.jar, org.apache.batik.xml)  19,826 
Sample extensions (batik-extensions.jar, org.apache.batik.extension)  41,331 
Scripting engines infrastructure (batik-script.jar, org.apache.batik.script)  21,415 

External packages

ECMA Script Engine (js.jar)  391,738 
Parser (crimson-parser.jar)  74,901 

Lines of code

The following numbers include comments and empty lines.

Number of source lines overall  243,031 (100%) 
Number of source lines, W3C DOM Binding and XML interfaces  20,923 (10%) 
Number of Batik specific source lines  222,108 (90%) 

Source Files

Number of source files overall  1388 (100%) 
Number of source files, W3C DOM Binding  278 (20%) 
Number of Batik specific source files  1110 (80%) 


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