The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
Advanced Search
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

Cover Stories
Articles & Papers
Press Releases

XML Query

XML Applications
General Apps
Government Apps
Academic Apps

Technology and Society
Tech Topics
Related Standards
Last modified: April 14, 2005
W3C Scalable Vector Graphics (SVG)

[April 30, 2000] "SVG is a language for describing two-dimensional graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. Text can be in any XML namespace suitable to the appplication, which enhances searchability and accessibility of the SVG graphics. The feature set includes nested transformations, clipping paths, alpha masks, filter effects, template objects and extensibility. SVG drawings can be dynamic and interactive. The Document Object Model (DOM) for SVG, which includes the full XML DOM, allows for straightforward and efficient vector graphics animation via scripting. A rich set of event handlers such as onmouseover and onclick can be assigned to any SVG graphical object. Because of its compatibility and leveraging of other Web standards, features like scripting can be done on SVG elements and other XML elements from different namespaces simultaneously within the same Web page." [W3C description, 2000-04-29]

[October 28, 2004]   W3C Announces Last Call Working Draft for Scalable Vector Graphics (SVG) 1.2.    The W3C SVG Working Group has released a Last Call Working Draft for Scalable Vector Graphics (SVG) 1.2 and invites public comment through November 24, 2004. After examining feedback on this draft, the Working Group plans to submit the specification for consideration as a W3C Candidate Recommendation. The SVG language "delivers accessible, dynamic, and reusable vector graphics, text, and images to the Web in XML. The SVG Version 1.2 Working Draft document also describes a set of APIs for building graphics-based applications. Key features include shapes, text and embedded raster graphics, with many different painting styles. It supports scripting through languages such as ECMAScript and has comprehensive support for animation. SVG is used in many business areas including Web graphics, animation, user interfaces, graphics interchange, print and hardcopy output, mobile applications and high-quality design." SVG Version 1.1 "is a W3C Recommendation and forms the core of the current SVG developments. W3C has also developed SVG Mobile Profiles: SVG Basic and SVG Tiny are targetted to resource-limited devices and are part of the 3GPP platform for third generation mobile phones. SVG Print is a set of guidelines to produce final-form documents in XML suitible for archiving and printing." SVG 1.2 represents an "extension to SVG 1.1 that provides features requested by the implementor and content design communities, believed to be in conformance with the Architecture of the World Wide Web. It is a modularized XML language for describing two-dimensional graphics with animation and interactivity. Validation for SVG 1.2 is supported through use of the RelaxNG schema presented in WD Appendix F. The SVG version 1.2 Last Call Working Draft does not present a complete language description, but documents the changes from SVG version 1.1. It covers, for example: Flowing text and graphics; Multiple pages; Text enhancements; Streaming; Progressive rendering; Vector effects; Rendering model; Painting enhancements; Media; Animation; Extended links; Application development; Events and Scripting; Non-graphical enhancements.

[July 25, 2003]   New Scalable Vector Graphics 1.2 Working Draft Positions SVG as an Application Platform.    New features in the third public working draft of Scalable Vector Graphics (SVG) 1.2 move SVG well beyond an XML format for graphics, positioning it as an application platform. The new draft, edited by Dean Jackson, specifies SVG version 1.2 as "a modularized language for describing two-dimensional vector and mixed vector/raster graphics in XML" and outlines areas of new work under discussion. Some new features include: Rendering Custom Components (RCC); Live Templates (an RCC alternative); dSVG reference (a UI toolkit); filter region extensions; SVGTimer interface (a replacement for setTimeout/Interval); better network data fetching support; Document Simple Model (scripting without the DOM); Tooltips; an experimental draft RelaxNG schema. "Many content developers are using SVG as the graphical user interface to their XML data, either through declarative transformations such as XSLT or through scripting. The current Rendering Custom Components (RCC) proposal focuses primarily on low-level, foundation technology and relies on scripting for all but the most trivial transformations. It may be possible to provide more support for a declarative syntax, similar to, or using parts of, XSLT. A proposed 'Live Templates' alternative seeks to improve SVG's usability as a front-end for fully interactive Web applications." Some members of the WG favor the creation of a "standardized set of user interface controls built into the SVG language. A Dynamic Scalable Vector Graphics (dSVG) proposal is the most advanced user interface library that the SVG Working Group are examining; where the RCC model attempts to provide an extension mechanism for custom XML content, dSVG provides a set of predefined user interface elements, behaviors and controls."

[April 30, 2000] Update on SVG software: SVGView is a prototype Scalable Vector Graphics (SVG) viewer from IBM alphaWorks. As recently announced by Mike Paolini of the IBM SVG Team, SVGView (version 0.4a) has now been updated to support the March 3rd level of the W3C SVG specification. "New features have been added in SVGView, including an interactive DOM viewer and the ability to save the current view as a JPEG file. SVGView now utilizes the Xerces level of the parser, which is included as part of the SVGView package. . . SVGView is a Java program that uses Java 2D and the XML Parser for Java to parse, process, and display SVG files on any XML-enabled Web browser. The viewer enables Web professionals working with SVG files to preview their forms or images. SVGView uses Java 2D and XML Parser for Java to parse, process, and render SVG files locally or over the Internet. The viewer passes the document to the parser, which creates the data tree structure. The parser then traverses the tree in Java 2D, which calls the appropriate functions in the Java2 API. For example, if a square needs to be drawn, the relevant Java2D function draws the square at the appropriate location. The IBM On-Line Transcoding Demo package provides a demonstration of on-line transcoding, including Advanced Function Presentation (AFP) documents to SVG and Computer (? 'Color') Graphics Metafile (CGM) documents to SVG. You can use SVGView to display the transcoded output. The minimum recommended hardware for SVGView is a Pentium 200 MHz or equivalent performance system with 48 MB memory and 10 MB free disk space. All platforms require a JavaTM 1.2.1 (Java 2) package or higher; JavaTM 1.2.2 is recommended." From among several other software tools now supporting SVG: (1) Adobe recently announced support for SVG in Adobe Illustrator Version 9.0. (2) CSIRO Mathematical and Information Sciences, Spatial Information Systems has released a new version of its (BSD Open Source) 'CSIRO SVG Toolkit', which supports the March 03 SVG specification; the package contains an SVG viewer, an implementation of the SVG DOM (conforming to Document Object Model Level 2), and a utility for rendering an SVG document into various image formats. (3) Jackaroo, from the Koala Development Team, is "a Conforming Static Scalable Vector Graphics (SVG) Viewer [which] can parse and process an SVG document fragment and render the contents of the document onto some sort of output medium such as a display or printer; written in pure Java, is free, and will be distributed with the source code." (4) Trajectory Pro is a new (preview release) Scalable Vector Graphics (SVG) authoring tool from Jasc Software which "will allow you to add content rich vector graphics to your web pages with a robust set of drawing and animation tools; available for download." (5) Gill, a Gnome Illustration application, is part of the developing SVG support within the Gnome Project (GNU Network Object Model Environment.). "Gill will eventually support all of SVG; currently, it supports enough SVG to display a few test files. It does include most of the PostScript bezier imaging model, including stroking and filling, line cap style, line join style, etc." (6) The SVG in Mozilla Project is in its initial phase, under the direction of Project Editor Dean Jackson. Several key components "are are already implemented in Mozilla, so the SVG in Mozilla project has quite a head start compared to coding SVG viewer from scratch." The W3C SVG web pages cite a number of other SVG Implementations (viewers, editors, converters, server-side SVG generators).

SVG Specifications

  • [July 02, 2004]   W3C Working Draft on Mobile SVG Profiles Defines Features for Cellphones.    The W3C SVG Working Group has issued an invitation for public comment on a third Working Draft of Mobile SVG Profiles: SVG Tiny and SVG Basic, Version 1.2, released as part of the W3C Graphics Activity. The SVG Tiny 1.2 mobile profile is a subset of features in SVG 1.2, defined to be suitable for displaying vector graphics on small devices such as cellphones. Whereas the W3C SVG Mobile 1.1 defined two profiles (SVG Tiny and SVG Basic), the SVG Mobile 1.2 specification only defines one profile: SVG Tiny 1.2. According to a note from Dean Jackson, W3C SVG Working Group Team, the most important changes are the decision to design just an "SVG Tiny 1.2 profile, new definitions for text wrapping, gradients, scripting, non-scaling strokes, and the ability to place graphics in client space without being affected by zoom and pan (e.g., legends on maps)." SVG Tiny 1.2 Document Fragments must conform to the SVG Tiny 1.2 Relax NG schema, now supplied as Appendix D in the Working Draft. A new normative Appendix E supplies the SVG Tiny Conformance Criteria, covering Fragment Conformance, User Agent Conformance, Dynamic SVGT User Agent Conformance, and SVGT User Agent Compatibility Issues. From the Working Draft's twenty main sections, nine (9) sections contain updated information relevant to SVG Mobile 1.2, including: Document Structure; Coordinate Systems, Transformations and Units; Text; Painting: Filling, Stroking and Marker Symbols; Gradients and Patterns; Interactivity; Linking; Scripting; and Animation. SVGT content "can be in the form of stand-alone SVG Documents or document fragments embedded within a parent XML document. SVGT 1.2 supports Multiple Pages, Streaming, Progressive Rendering, the 'audio' Element and the 'Video' element." SVGT "allows interactivity with declarative animation and with the integration of XMLEvents, as described in SVG 1.2. Linking into specific views of the SVG document is supported by a subset of the svgView fragment identifier as defined in SVG 1.1. SVGT supports scripting through the integration of XML Events, as defined in SVG 1.2. SVGT allows the language features to support animation through scripting; it will support the UDOM as defined in the SVG 1.2 draft."

  • [January 14, 2003]   W3C Publishes Scalable Vector Graphics (SVG) 1.1 and Mobile SVG as Recommendations.    The World Wide Web Consortium (W3C) has announced the release of the Scalable Vector Graphics (SVG) 1.1 Specification and Mobile SVG Profiles: SVG Tiny and SVG Basic as W3C Recommendations. "SVG is a language for describing two-dimensional graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. The SVG 1.1 specification defines the features and syntax for Scalable Vector Graphics (SVG) as a modularized language; the DTD is now divided up into smaller, more flexible functional building blocks that can be reassembled in different ways for different purposes. The Mobile SVG Profiles document defines two mobile profiles of SVG 1.1. The first profile, SVG Tiny, is defined to be suitable for cellphones; the second profile, SVG Basic, is suitable for PDAs."

  • [January 14, 2003] "World Wide Web Consortium Issues Scalable Vector Graphics (SVG) 1.1 and Mobile SVG as W3C Recommendations. Open Graphics Format Extends Multimedia Beyond the Desktop to Cellphones and Pocket Computers." - "Leading the Web to its full potential, the World Wide Web Consortium (W3C) has issued Scalable Vector Graphics (SVG) 1.1 and Mobile SVG Profiles as W3C Recommendations. SVG 1.1 separates SVG capabilities into reusable building blocks, and SVG Mobile re-combines them in a way optimized for mobile devices. Advancement of these documents to Recommendation indicates that these W3C-developed specifications are stable, contribute to Web interoperability, and have been reviewed by the W3C Membership, who favor their adoption by the industry... The graphical capabilities of SVG 1.1 are the same as those of the widely implemented SVG 1.0 , which has been a W3C Recommendation since 4 September 2001. What has changed is the way the language is defined. For SVG 1.0, the Document Type Definition (DTD) was a single, monolithic unit. In SVG 1.1, the DTD is divided up into smaller, more flexible functional building blocks that can be reassembled in different ways for different purposes. The SVG Working Group used the same proven modularization techniques pioneered by the HTML Working Group for XHTML modularization... There is an explosion of interest in handheld devices and mobile phones which have color screens, improved processing power and can deliver enhanced multimedia functionality. These still fall short of the capabilities of desktop and laptop machines, but are now capable of displaying Web standard technologies such as XHTML, SMIL and SVG. W3C has used the SVG 1.1 building blocks to make two profiles or subsets of full SVG; SVG Tiny, aimed at multimedia capable cellphones such as the recently announced 3G units, and SVG Basic for handheld and palmtop computers... Instead of sending text messages or canned, bitmap logos, SVG Tiny now makes it possible to send a colorful animated multimedia message. Instead of juggling a laptop or taking a static printout to the factory floor, construction site, hospital ward, or trading room, SVG Basic now enables the mobile professional to consult up to date, interactive, informative graphics on a convenient pocket computer which is dynamically updated over a wireless network connected to the XML information hub of the enterprise... Another way that W3C and others are making use of the modular SVG 1.1 building blocks is to combine them with building blocks from other W3C technologies to produce more powerful, integrated solutions. Examples include the combination of SVG and XForms to construct graphically rich, interactive input forms, or SVG and SMIL Basic to combine vector graphics with streaming audio and video, or XHTML, MathML and SVG for scientific and technical communication including text with headings, lists and tables; mathematical equations, and interactive graphs and diagrams..."

  • [November 20, 2002]   W3C Releases New Scalable Vector Graphics (SVG) Specifications.    A communiqué from Chris Lilley (INRIA/Sophia-Antipolis, W3C Graphics Activity Lead) reports on the release of three W3C specifications for Scalable Vector Graphics (SVG). Both Scalable Vector Graphics (SVG) 1.1 Specification and Mobile SVG Profiles: SVG Tiny and SVG Basic have been been advanced to W3C Proposed Recommendations, and are open for comment through December 20, 2002. The specifications have been produced by members of the W3C SVG Working Group as part of the W3C Graphics Activity within the Document Formats Domain. Scalable Vector Graphics (SVG) is "a language for describing two-dimensional graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. The feature set includes nested transformations, clipping paths, alpha masks, filter effects and template objects. SVG 1.1 separates the SVG language into reusable building blocks, while Mobile SVG re-combines them into two profiles optimized for cellphones and pocket computers." The W3C SVG Working Group has also released an initial public Working Draft of Scalable Vector Graphics (SVG) 1.2. "Potential areas of new work identified in SVG 1.2 include integration with other XML formats, and text wrapping, printing, streaming, painting, rendering model, and DOM enhancements."

  • [May 03, 2002]   W3C Publishes Scalable Vector Graphics (SVG) 1.1 and Mobile SVG as Candidate Recommendations.    The publication of two new W3C Candidate Recommendation specifications for SVG represents an important milestone for the W3C Scalable Vector Graphics format. Scalable Vector Graphics (SVG) 1.1 Specification "defines the features and syntax for Scalable Vector Graphics (SVG) Version 1.1, a modularized language for describing two-dimensional vector and mixed vector/raster graphics in XML. The graphical capabilities of SVG 1.1 are the same as those of the widely implemented SVG 1.0, which has been a W3C Recommendation since 4-September-2001. What has changed is the way the language is defined. For SVG 1.0, the Document Type Definition (DTD) was a single, monolithic unit. In SVG 1.1, the DTD is divided up into smaller, more flexible functional building blocks that can be reassembled in different ways for different purposes." Mobile SVG Profiles: SVG Tiny and SVG Basic "defines two mobile profiles of SVG 1.1: SVG Tiny, aimed at multimedia capable cellphones such as the recently announced 3G units, and SVG Basic for handheld and palmtop computers. Instead of sending text messages or canned, bitmap logos, SVG Tiny makes it possible to send a colorful animated multimedia message. Instead of juggling a laptop or taking a static printout to the factory floor, construction site, hospital ward, or trading room, SVG Basic enables the mobile professional to consult up to date, interactive, informative graphics on a convenient pocket computer which is dynamically updated over a wireless network connected to the XML information hub of the enterprise." The Candidate Recommendation phase for both specifications ends 23-June-2002. [Full context]

  • [September 05, 2001]   Scalable Vector Graphics (SVG) 1.0 Specification Advances to W3C Recommendation.    The World Wide Web Consortium (W3C) has published the Scalable Vector Graphics (SVG) 1.0 specification as a W3C Recommendation, "representing cross-industry agreement on an XML-based language that allows authors to create two dimensional vector graphics. A W3C Recommendation indicates that a specification is stable, contributes to Web interoperability, and has been reviewed by the W3C Membership, who favor its widespread adoption." From the W3C announcement: "Web designers have requirements for graphics formats which display well on a range of different devices, screen sizes, and printer resolutions. They need rich graphical capabilities, good internationalization, responsive animation and interactive behavior in a way that takes advantage of the growing XML infrastructure used in e-commerce, publishing, and business to business communication. [SVG brings] the XML advantage to vector graphics and benefits all industries which depend on rich graphics delivery -- advertising, electronic commerce, process control, mapping, financial services, and education. Web designers demand vendor-neutral, cross-platform interoperability. W3C's Extensible Markup Language (XML) has become the universal format for document and data interchange on the Web. SVG 1.0 enables the textual content of graphics -- from logos to diagrams -- to be searched, indexed, and displayed in multiple languages. This is a significant benefit for both accessibility and internationalization. SVG 1.0 builds on other W3C specifications such as the Document Object Model (DOM), which allows for easy server-side generation and dynamic, client-side modification of graphics and text. SVG 1.0 also benefits from W3C technologies such as CSS and XSL style sheets, RDF metadata, XML Linking, and SMIL Animation, which also advanced to Recommendation today." [Full context]

  • [August 11, 2001]   W3C Publishes SVG Requirements Specifications.    The W3C SVG (Scalable Vector Graphics) Working Group has released two working draft documents specifying requirements for the next phase of SVG development. SVG is "a language for defining 2D graphics that uses XML syntax to describe graphical elements that may be rendered in a resolution-independent manner. The SVG 1.0 specification, currently at Proposed Recommendation status, defines the visual representation of the elements which can be used in a stand-alone SVG file or included in another XML document within the SVG namespace. The next step in the SVG process will be the development of two specifications, SVG 1.1 and SVG 2.0. SVG 1.1 will include a modularized version of SVG 1.0, and new features driven by the requirements of an SVG profile for mobile devices. Parallel to the development of SVG 1.1, the SVG Working Group will develop a number of profiles for SVG (e.g., full SVG, SVG Tiny, SVG. Basic and possibly a printing profile). SVG 2.0 will include the additional SVG 1.1 features, and other new features of value to the SVG community." SVG 1.1/2.0 Requirements "lists the design principles and requirements for future versions of the SVG language, in particular versions 1.1 and 2.0, to be developed by the W3C." SVG Mobile Requirements outlines design principles and requirements for the creation of a mobile profile of the SVG specification." The SVG Working Group intends to release a first draft of the 'future' SVG specification in October 2001. [Full context]

  • [July 21, 2001]   Scalable Vector Graphics (SVG) 1.0 Advances to W3C Proposed Recommendation.    Work in the W3C Document Formats Domain includes a new release of the Scalable Vector Graphics (SVG) 1.0 Specification as a W3C Proposed Recommendation. The document "defines the features and syntax for Scalable Vector Graphics (SVG), a language for describing two-dimensional vector and mixed vector/raster graphics in XML. SVG vector graphics are scalable to different display resolutions, so that for example printed output uses the full resolution of the printer and can be displayed at the same size on screens of different resolutions. Most existing XML grammars represent either textual information, or represent raw data such as financial information. They typically provide only rudimentary graphical capabilities, often less capable than the HTML 'img' element. SVG fills a gap in the market by providing a rich, structured description of vector and mixed vector/raster graphics; it can be used standalone, or as an XML namespace with other grammars." The release includes a revised XML DTD, SVG test suite, SVG implementation report, and list of changes in the specification since the CR version. The "substantial implementation experience with generators, viewers and transcoders based on the SVG specification and the amount of SVG content that has been developed to date encouraged the Working Group to ask the W3C Director to advance this document to Proposed Recommendation status." [Full context]

  • [November 03, 2000] Revised Candidate Recommendation. As part of the W3C Graphics Activity, the W3C SVG Working Group has issued a revised Candidate Recommendation for the Scalable Vector Graphics (SVG) 1.0 Specification. Reference: W3C Candidate Recommendation 02-November-2000, edited by Jon Ferraiolo (Adobe). The CR specification defines the features and syntax for Scalable Vector Graphics (SVG), "a language for describing two-dimensional vector and mixed vector/raster graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. The feature set includes nested transformations, clipping paths, alpha masks, filter effects and template objects. SVG drawings can be interactive and dynamic. Animations can be defined and triggered either declaratively (i.e., by embedding SVG animation elements in SVG content) or via scripting. Sophisticated applications of SVG are possible by use of supplemental scripting language with access to SVG's Document Object Model (DOM), which provides complete access to all elements, attributes and properties. A rich set of event handlers such as onmouseover and onclick can be assigned to any SVG graphical object. Because of its compatibility and leveraging of other Web standards, features like scripting can be done on XHTML and SVG elements simultaneously within the same Web page." Status: This revised Candidate Recommendation specification "is being published to reflect minor changes to the specification and editorial updates resulting from implementation feedback. The Candidate Recommendation review period ends when there exists at least one SVG implementation which passes each of the Basic Effectivity (BE) tests in the SVG test suite. The implementation status of SVG is already very good, and at this point, most of the test are passed by one or multiple implementations, but as yet the exit criteria have not been met. It is anticipated that implementation status will be such that the exit criteria will be met in approximately one month [viz., until about December 02, 2000]." Also available in PDF and as a zip archive of HTML.

  • [August 02, 2000] W3C Candidate Recommendation. The W3C SVG Working Group has issued the Scalable Vector Graphics (SVG) 1.0 Specification as a W3C Candidate Recommendation as part of the W3C Graphics Activity. Reference: W3C Candidate Recommendation 02-August-2000, edited by Jon Ferraiolo (Adobe). Document abstract: "This specification defines the features and syntax for Scalable Vector Graphics (SVG), a language for describing two-dimensional vector and mixed vector/raster graphics in XML." Description: "SVG is a language for describing two-dimensional graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. The feature set includes nested transformations, clipping paths, alpha masks, filter effects and template objects. SVG drawings can be interactive and dynamic. Animations can be defined and triggered either declaratively (i.e., by embedding SVG animation elements in SVG content) or via scripting. Sophisticated applications of SVG are possible by use of supplemental scripting language with access to SVG's Document Object Model (DOM), which provides complete access to all elements, attributes and properties. A rich set of event handlers such as onmouseover and onclick can be assigned to any SVG graphical object. Because of its compatibility and leveraging of other Web standards, features like scripting can be done on XHTML and SVG elements simultaneously within the same Web page. SVG is a language for rich graphical content. For accessibility reasons, if there is an original source document containing higher-level structure and semantics, it is recommended that the higher-level information be made available somehow, either by making the original source document available, or making an alternative version available in an alternative format which conveys the higher-level information, or by using SVG's facilities to include the higher-level information within the SVG content." Work status: "This is the Candidate Recommendation of the Scalable Vector Graphics (SVG) 1.0 specification. This means that the SVG Working Group considers the specification to be stable, and encourages implementation and comment on the specification during this period. The Candidate Recommendation review period ends when there exists at least one SVG implementation which passes each of the Basic Effectivity (BE) tests in the SVG test suite. Due to the already very good implementation status of SVG, we anticipate this to take approximately one month. Should this specification prove very difficult or impossible to implement, the Working Group will return the document to Working Draft status and make necessary changes. Otherwise, the Working Group anticipates asking the W3C Director to advance this document to Proposed Recommendation." See the W3C press release and 'Testimonials for Scalable Vector Graphics Candidate Recommendation.'

  • Scalable Vector Graphics (SVG) Requirements. W3C Working Draft, 29-October-1998. [WD-SVGReq-19981029] Edited by Jon Ferraiolo (Adobe Systems Incorporated). "The W3C has chartered a Scalable Vector Graphics working group to produce a specification for an SVG format, written as a modular XML tagset and usable as an XML namespace, which can be widely implemented in browsers and authoring tools and which is suitable for widespread adoption by the content authoring community as a replacement for many current uses of raster graphics. This will mean that the graphics in Web documents will be smaller, faster, more interactive, and be displayable on a wider range of device resolutions from small mobile devices through office computer monitors to high resolution printers. This document lists both SVG Design Goals and SVG Detailed Requirements. The SVG Design Goals describe the high-level objectives which SVG should attempt to achieve. These design goals should also act as the criteria by which proposed features are judged..."

  • [August 09, 2000] Accessibility Features of SVG. Reference: W3C Note 7-August-2000, edited by Charles McCathieNevile and Marja-Riitta Koivunen. Document abstract: "Scalable Vector Graphics (SVG) offers a number of features to make graphics on the Web more accessible than is currently possible, to a wider group of users. Users who benefit include users with low vision, color blind or blind users, and users of assistive technologies. A number of these SVG features can also increase usability of content for many users without disabilities, such as users of personal digital assistants, mobile phones or other non-traditional Web access devices. Accessibility requires that the features offered by SVG are correctly used and supported. This Note describes the SVG features that support accessibility and illustrates their use with examples." Rationale: "One major accessibility benefit derived from XML is that an SVG image is encoded as plain text. Authors can create and edit it with a text-processor or XML authoring tool (there are other properties of SVG that make this easier than it might seem at first). A number of popular Web design tools are in fact enhanced text-editing applications, and for users with certain types of disabilities, these are much easier to use. Naturally, it is also possible to use graphic SVG authoring tools that require very little reading and writing, which helps people with other types of disabilities. Plain text encoding also means that people may use relatively simple, text-based XML user agents to render SVG as text, braille, or audio. This can help users with visual impairments, and can be used to supplement graphical rendering. The separation of style from the rest of the content is very important for accessibility. Authors may use CSS or XSL style sheets to control the rendering of SVG images, a feature common to all markup languages written in XML. Users who might otherwise be unable to access content can define stylesheets to control the rendering of SVG images, meeting their needs without losing additional author-supplied style." Background: "Images, sound, text and interaction all play a role in conveying information on the Web. In many cases, images have an important role in conveying, clarifying, and simplifying information. In this way, multimedia itself benefits accessibility. However the information presented in images must be accessible to all users, including users with non-visual devices. Furthermore, in order to have full access to the Web, it is important that authors with disabilities can create Web content, including images as part of that content. The working context of people with (or without) disabilities can vary enormously. Many users or authors: may not be able to see the images at all or may have impaired vision or hearing; may have difficulty reading or comprehending text; may not be able to move easily or use a keyboard or mouse when creating or interacting with the image; may use a device with a text-only display, or a small or very magnified screen view. Increasing the accessibility of images can benefit a wide variety of users and authors including many people who do not have a disability but who have similar needs. For example, someone may be working in an eyes-busy environment and thus may require an audio equivalent for information they cannot view. Users of small mobile devices (with small screens, no keyboard, and no mouse) have similar functional needs to users with certain disabilities."

  • [July 10, 2000] The SVG Working Group has released a revised working draft for the Scalable Vector Graphics (SVG) 1.0 Specification as part of the W3C Graphics Activity, Reference: W3C Working Draft 29-June-2000, edited by Jon Ferraiolo (Adobe). Abstract: "This specification defines the features and syntax for Scalable Vector Graphics (SVG), a language for describing two-dimensional vector and mixed vector/raster graphics in XML. [...] SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. The feature set includes nested transformations, clipping paths, alpha masks, filter effects and template objects. SVG drawings can be interactive and dynamic. Animations can be defined and triggered either declaratively (i.e., by embedding SVG animation elements in SVG content) or via scripting. Sophisticated applications of SVG are possible by use of supplemental scripting language with access to SVG's Document Object Model (DOM), which provides complete access to all elements, attributes and properties. A rich set of event handlers such as onmouseover and onclick can be assigned to any SVG graphical object. Because of its compatibility and leveraging of other Web standards, features like scripting can be done on XHTML and SVG elements simultaneously within the same Web page. SVG is a language for rich graphical content. For accessibility reasons, if there is an original source document containing higher-level structure and semantics, it is recommended that the higher-level information be made available somehow, either by making the original source document available, or making an alternative version available in an alternative format which conveys the higher-level information, or by using SVG's facilities to include the higher-level information within the SVG content. The SVG XML DTD is provided in Appendix A of the working draft; discussion pertaining to the specification may be read in the archives of the public mailing list." "Status: This working draft attempts to address most of the review comments that were received during the second Last Call period, which started 3 March 2000, and also incorporates other modifications resulting from continuing collaboration with other working groups and continuing work within the SVG working group. Among the areas of the specification that are known to require further work are the text, font, animation chapters and any sections relating to events. Most of the further work is expected to be primarily editorial in nature with few further changes to the language itself. Depending on feedback to this draft, the goal is to publish a Candidate Recommendation soon once outstanding issues are addressed."

  • [March 09, 2000] Last Call Working Draft for the W3C's Scalable Vector Graphics (SVG) 1.0 Specification. As part of the W3C Graphics Activity, the Scalable Vector Graphics (SVG) 1.0 Specification has been released as a 'second last call' working draft. Reference: W3C Working Draft 03-March-2000, edited by Jon Ferraiolo (Adobe). "The SVG specification is going through a second Last Call review process to provide the public and other working groups an opportunity to review the changes to the specification since the initial Last Call period." This second last call period ends 31-March-2000. The SVG working group has been using a staged approach. Initially, the working group developed a detailed set of SVG Requirements, which are listed in the SVG Requirements document. Document abstract: "This specification defines the features and syntax for Scalable Vector Graphics (SVG), a language for describing two-dimensional vector and mixed vector/raster graphics in XML." The normative Appendix A of the specification contains relevant DTDs: "There are two Document Type Definitions (DTDs) for Scalable Vector Graphics (SVG) corresponding, respectively, to Stylable SVG and Exchange SVG. Each of these DTDs is based on a shared DTD which defines the common elements, attributes and entities." Description: "SVG is a language for describing two-dimensional graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. The feature set includes nested transformations, clipping paths, alpha masks, filter effects and template objects. SVG drawings can be interactive and dynamic. Animations can be defined and triggered either declaratively (i.e., by embedding SVG animation elements in SVG content) or via scripting. Sophisticated applications of SVG are possible by use of supplemental scripting language with access to SVG's Document Object Model (DOM), which provides complete access to all elements, attributes and properties. A rich set of event handlers such as onmouseover and onclick can be assigned to any SVG graphical object. Because of its compatibility and leveraging of other Web standards, features like scripting can be done on XHTML and SVG elements simultaneously within the same Web page. SVG is a language for rich graphical content. For accessibility reasons, if there is an original source document containing higher-level structure and semantics, it is recommended that that higher-level information be made available somehow, either by making the original source document available, or making an alternative version available in an alternative format which conveys the higher-level information, or by using SVG's facilities to include the higher-level information within the SVG content." The WD document is also available as in PDF format and as a ZIP archive of the HTML.

References and Resources

  • W3C Graphics Activity

  • W3C SVG Web site

  • SVG Implementations

  • SVG W3C mailing list archives

  • SVG in Mozilla Project

  • [April 12, 2005] Browsers Get Ready for SVG Graphics Boost." By Matt Hicks. In Publish (April 12, 2005). "Since first becoming a Web standard nearly four years ago, SVG has lagged in adoption as developers waited for broader support for next- generation Web graphics. But upcoming plans from two Web browser makers to natively support the XML-based graphics language could give Scalable Vector Graphics the boost it needs to begin remaking the look and feel of the Web. Opera Software ASA is the furthest along in building SVG support into its namesake browser. Opera last month became the first major browser with built-in SVG support when it released its latest beta of the next Opera browser version, which is due for a full launch within the next few weeks. Meanwhile, the open-source Mozilla Firefox browser is incorporating SVG support in Version 1.1, which is expected to be released in June. Nightly builds of the browser are slated to include SVG support within the next few weeks. By making SVG core to their rendering engines, the Web browsers will remove a major hurdle to the graphic standard's adoption, said Chris Lilley, chair of the World Wide Consortium's SVG Working Group. For Opera, the mobile arena is of particular interest because it makes a mobile browser, which currently uses an SVG plug-in. By first building SVG into its desktop browser and underlying rendering engine, Opera also is laying the groundwork for expanding its mobile SVG support..." Als in eWEEK.

  • [March 17, 2005] "Opera Adds SVGT Support on Desktop Too." By Antoine Quint. From O'Reilly Developer Weblogs (March 17, 2005). "Opera, the desktop and mobile browser maker, has just announced it is adding SVG Tiny support to their desktop browser. This is a very significant announcement as this makes Opera the first desktop browser to announce default support for a standard profile of SVG. This announcement also builds on last month's announcement that Opera was adding support for Ikivo's SVG Tiny viewer for their mobile browser. Opera is actually not the first browser vendor to look at SVG. Mozilla have an SVG project that is well advanced already, providing SVG-enabled builds for both the Mozilla suite and Firefox. Also, the KSVG have been working hard on brining SVG support to Konqueror and the whole KDE 3.2 platform. But what makes the Opera announcement a breakthrough is that they're the first one to add SVG natively, default and with announced compliance to a W3C specification, in this case SVG Tiny. So far both the Mozilla and KSVG offerings are made available as optional packages or alternate builds as development continues... In my opinion it is still very significant as it ties in with a general renewal of innovation in the browser. 2004 was a big year with the release of Firefox, and recently Apple also brought us Safari and more exposure to KHTML's rendering engine. I'm waiting to see what impact Opera's decision to add SVG as a part of their Web rendering platform will have on other browsers out there..."

  • [March 2005] "Converting Journal Notes to XML, SVG, and OneNote." By Casey Chesnut. From Microsoft MSDN Library (March 2005). ['The article shows how to use the Journal Reader Supplemental Component to convert Journal notes to XML and then convert them to Scalable Vector Graphics (SVG) for viewing on the Web or a Pocket PC. It also provides the code to import a Journal Note into OneNote.'] "Journal usage is widespread enough that Microsoft released Windows Journal Viewer for Windows 2000 and Windows XP. The problem is that the Journal file format is a proprietary binary format. It is not possible to open and view Journal notes in your own application or to write an ink file format that Journal can read. For example, OneNote cannot import and display Journal notes, and neither can you view a Journal note on a Pocket PC. However, Microsoft recently released the Journal Reader Supplemental Component, which remedies this dilemma. Using this component, you can develop an application that converts Journal notes to an XML format. From the Journal XML format you can either open and view Journal notes in your own application or convert them to a new format. SVG is a W3C recommendation as a standard for representing two-dimensional graphics in XML. It solves the first problem, allowing many SVG viewers for different platforms and devices, including the Pocket PC. Secondly, it is a vector format so it retains the scaling and zooming capabilities of ink, and it makes perfect sense as a format for rendering ink on the Web. This article shows how to use the Journal Reader Supplemental Component, how to parse the Journal XML and use it in your own application, and how to convert the Journal XML to Scalable Vector Graphics (SVG) so that you can view your notes on a Pocket PC or the Web. Finally, it provides the code to import a Journal note into OneNote..."

  • [February 15, 2005] "Nokia and Series 60 Further Commit to SVG Tiny." By Antoine Quint. From O'Reilly Developer Weblogs (February 15, 2005). "The 3GSM World Congress has just started again in Cannes and this week sure will be packed with heaps of news about upcoming mobile phones, technologies and services. There have already been a couple of interesting announcements regarding the ever-expanding spread of SVG Tiny on mobile devices. Sony Ericsson kicked it all of by announcing two new SVG-equipped phones shipping later this year, adding to the numerous SVG handsets that Sony Ericsson already shipped in 2004. Nokia Series 60 is a very popular smartphone platform built on top of Symbian and shipped on phones from Nokia, Panasonic, Siemens Mobile, Samsung, Sendo and LG. Series 60 v3 will be built on top of Symbian 9, and some of the main focus points will be multimedia and location-based services. In order to support that vision, Series 60 v3 will pack up the JSR-226 APIs, allowing rendering, creation and manipulation of SVG Tiny contents. SVG is already rather popular in mapping circles and innovative location- based services based on SVG Tiny are rapidly appearing in Japan, with KDDI's Go SVG leading the pack..."

  • [June 16, 2004] "Going Mobile With SVG: Standards." By Antoine Quint. From (June 16, 2004). "While SVG 1.2 is heading soon to the W3C Last Call phase, SVG Mobile has been a focus point for the mobile industry lately... The requirements documents for SVG Tiny 1.1 were created more than two years ago. In these two years, mobile phones have progressed a great deal in computing power, color depth and size of displays and are thus expected by consumers and service providers alike to offer richer graphics experience. In that spirit, the W3C SVG Working Group took the opportunity to use the new work being done on SVG 1.2 to update the SVG Tiny profile... the number one feature that was stripped was scripting. SVG Tiny 1.2 remedies that issue and allows for scripting using a new subset of the SVG DOM called the MicroDOM. This subset was designed with the processing and memory constraints of mobile phones, avoiding the usage of strings la Core DOM and focusing on typed access as the SVG DOM offers, although in a much simplified manner. The graphics capabilities of SVG Tiny 1.2 were also beefed up, and simple linear and radial gradients as well as fill and stroke opacity are all supported now. But SVG Tiny 1.2 doesn't just add features from the SVG 1.1 days, but also picks from new SVG 1.2 features. For instance, text-wrapping is now available for rectangular regions, as are non-scaling strokes. New multimedia capabilities of recent phones also made possible the inclusion in SVG Tiny 1.2 of the <audio> element for playback of sound synchronized in the SMIL timing model of SVG, while support for the <video> element is being discussed too. The notion of pages from SVG 1.2 are also leveraged in SVG Tiny 1.2 for creating scenes in animation... I would like to highlight the success that Mobile SVG has encountered in adoption by other standards bodies. The first organization to embrace Mobile SVG was 3GPP (3rd Generation Partnership Project) where all the leading mobile vendors gather to define the new generation industry standards in that area. 3GPP selected Mobile SVG as the mandatory vector graphics media format in MMS (Multimedia Messaging Service) and PSS (Packet-Switched Streaming Service) in their Release 5 version. For both these specs, SVG Tiny 1.1 is required and SVG Basic 1.1 is optional, allowing for higher-end mobile devices to get the most out of SVG. 3GPP has also been watching recent Mobile SVG 1.2 developments closely, and we can expect new versions of both these specs to rely on Mobile SVG 1.2 profiles. Another organization has recently been conducting work showing more signs of Mobile SVG's widening appeal. The Java Community Process (JCP) have created a Java Specifications Request (JSR) expert group lead by Nokia and Sun working on creating a standard SVG Tiny Java API for J2ME. The JSR-226 expert group has been advancing steadily during the last 12 months and the current draft is in Public Review so it's time for you to go check it out and send your feedback. We can expect from this work at JCP that SVG Tiny will soon be a core component of the J2ME platform, thus promoting further usage of Mobile SVG..."

  • [July 15, 2003] "Corel Smart Graphics Studio 1.1 Update Now Available." - "Corel Corporation announced that it has released an update to Corel Smart Graphics Studio, a development platform designed to speed and simplify the creation of SVG-based smart graphics. The new update was demonstrated at the Corel booth for the duration of the SVG Open conference. Corel Smart Graphics Studio 1.1 provides several enhancements to both the development and serving of SVG applications connected to databases and Web services including: (1) More control over assets and objects within Corel Developer SG; (2) Advanced debugging capabilities to simplify the development process; (3) Support for Oracle stored procedures improves Oracle interoperability and reduces development time; (4) More advanced caching capabilities on the server. Smart graphics are a new form of enterprise-class, graphically-rich application built using open standard SVG (Scalable Vector Graphics) to transform XML and legacy data into powerful and compelling intranet and extranet applications... The Version 1.1 download enables all the developers who tried version 1.0 to test the new features of Corel Smart Graphics Studio with a new 30 day trial period..." See also: (1) the 2003-04-30 news story "Corel Smart Graphics Studio Uses SVG for Graphical Applications Development"; (2) SVG Open 2003 event notice [July 13 - 18, 2003, Second Annual Conference on Scalable Vector Graphics Vancouver, BC, Canada]; (3) SVG Open 2003 Online Proceedings.

  • [June 24, 2003] "SALT Forum Advances Mobile Content Delivery with Enhancements to Scalable Vector Graphics Specification. New Proposal Paves the Way for Speech Applications on Portable Devices." - "The SALT Forum, a group of companies with a shared goal of accelerating the use of speech technologies in multimodal and telephony systems, today announced that it has published a SALT profile for the World Wide Web Consortium's (W3C) Scalable Vector Graphics (SVG) markup language. The new SVG profile supplements the SALT 1.0 specification, which was contributed to the W3C by the SALT Forum and already included profiles for use with the XHTML and SMIL specifications. SVG is an XML-based language for describing advanced graphics that enables developers to deliver a visually rich user interaction experience in their Web applications. By adding SALT to SVG, developers can further enhance the user experience with interactive spoken interfaces coupled directly to the visual interface. The SVG specification has gained considerable support since its release by the W3C, capturing the attention of leading Web developers. Its ability to render high-quality graphics on displays of varying size and resolution, along with a lightweight design that reduces computational requirements, has made it particularly attractive to manufacturers of cell phones, PDAs and other portable devices. SVG with SALT provides the means to build sophisticated mobile applications for these devices with easy-to-use speech interfaces that are accessible without looking at or touching the equipment. SVG with SALT can be used to provide speech 'hot spots' within a graphic or provide spoken commands for scrolling and zooming the display. It can also be used to embed descriptive services for the visually impaired directly within a graphic, streamlining the workflow process. 'SALT seamlessly adds new speech capabilities to the versatility of SVG that enhance its capacity to make Web applications more powerful and easier to develop,' said Antoine Quint, SVG consultant for Fuchsia Design and co-author of the SVG specification. 'Graphics and speech play complementary roles in making information readily accessible no matter what the situation may be.' The SALT specification was designed to add speech input, speech output and call control capabilities to practically any XML-based language. The SALT profile for SVG demonstrates the potential of this flexible and platform-independent approach for responding to technology advances that support improved content delivery. 'The SALT profile for SVG is an example of the exciting industry developments now underway to realize the full potential of SALT,' said Glen Shires, chairperson of the SALT Forum's Technical Working Group. 'The SALT Forum continues to take an active role in refining, enhancing and supporting the SALT 1.0 specification as an open industry initiative'..."

  • [May 30, 2003] "SchemaSoft and W3C to Host SVG Open Conference in July 2003." - "SchemaSoft and the World Wide Web Consortium (W3C) will host the 2nd annual SVG Open Conference on Scalable Vector Graphics (SVG) in Vancouver, British Columbia from July 13-18, 2003 at the Westin Bayshore Resort & Marina. The SVG Open 2003 Conference and Exhibition is a forum for software developers, Web developers, graphic artists and other technical specialists to exchange ideas, methods and advances related to Web graphics. SVG is the recently adopted W3C open standard for delivering rich graphical content over the Internet. 'The SVG Open Conference is an excellent venue for people to educate themselves on the format and explore how to effectively implement the technology,' said Dr. Philip Mansfield, President of SchemaSoft. The conference will include workshops, presentations, and a product exhibit area. The sessions will explore techniques to author, process and use SVG in a variety of areas including content delivery to mobile devices, interactive mapping, computer aided design (CAD), print publishing, multimedia, business reporting and scientific visualization. For more information and online registration, visit Since 1987, SchemaSoft has been designing and building software applications and components for many of the world's top application vendors. Since the formation of the SVG Working Group in 1998, SchemaSoft has been heavily involved in co-authoring the SVG standard, engaging in SVG-related research, and developing SVG software for clients..."

  • [May 06, 2003] "Database-Driven Charting Using XSLT and SVG. Controlling Finer Details of Data-Driven Scalable Vector Graphics." By Avinash Moharil and Rajesh Zade. In XML Journal Volume 4, Issue 5 (May 2003). With source code. "Scalable Vector Graphics is a markup language for describing two-dimensional graphics in XML. It is a language for presenting rich graphical content, and it allows you to create graphics from XML data using XSLT. Most of the modern devices are raster-oriented, so it comes down to where graphics are rasterized -- at the client or server level. SVG is rasterized at the client level, giving more flexibility for presenting graphics. SVG gives the user full control over the rasterization process. SVG documents define graphics as vector graphics rather than a bitmap so you can scale and zoom in and out without losing any detail or blurring the image. SVG uses a 'painters model' of rendering, meaning that paint is applied in successive operations to the output device such that each operation paints over some area of the output device. When the area overlaps a previously painted area, the new paint partially or completely obscures the old... With the help of XSLT, XML data can be transformed into SVG graphics. SVG drawings can be dynamic and interactive, which gives tremendous flexibility when building data-dependent graphics such as charts. The Document Object Model (DOM) for SVG, which includes the full XML DOM, allows for straightforward and efficient vector graphics animation. A set of event handlers such as OnMouseover and OnClick can be assigned to any SVG graphical object. Because of the compatibility of SVG with other technologies, features like scripting can be built on SVG elements and other XML elements from different namespaces simultaneously within the same Web page... SVG supports the ability to change vector graphics over time. Animation has been very popular in electronic media. SVG's animation elements were developed in collaboration with the W3C Synchronized Multimedia (SYMM) Working Group, developers of the Synchronized Multimedia Integration Language (SMIL) 1.0 Specification... SVG can also be used in XSL-FO (Formatting Objects) to use graphics effectively in print media... The effective use of XSLT and SVG can help build dynamic and scalable graphics for data presentation. These technologies can be used to present raw XML data in more visual forms like charts and graphs for Web and print media. Since XML documents can be easily generated based on enterprise data, SVG becomes a truly dynamic graphic based on enterprise data..." [alt URL]

  • [April 30, 2003] "Corel Smart Graphics Studio Now Available." - "Corel Corporation today announced the availability of Corel Smart Graphics Studio, a development platform designed to speed and simplify the creation of SVG-based smart graphics. Smart graphics are a new form of enterprise-class, graphically-rich application built using open standard SVG (Scalable Vector Graphics) to transform XML and legacy data into powerful and compelling intranet and extranet applications. 'Enterprise and government organizations are incorporating XML as a key technology component in their IT development strategies. XML-based technologies that can be used to build dynamic applications that are data-driven and feature rich are drawing the attention of developers within these organizations,' said Rikki Kirzner, Research Director at IDC. 'SVG is an open standard, XML-based language that can be used to create graphics and images to represent information in a more effective and understandable manner. It also provides the ability to dynamically interact with intranet and extranet applications. SVG is a key XML technology being considered by many professional developers.' SVG-based applications are ideal for enterprise and government customers for a variety of purposes including interactive electronic technical publishing, Geographic Information Systems (GIS), schematic diagramming, and building Human Machine Interfaces (HMI)... Corel Smart Graphics Studio is composed of four integrated applications: (1) Corel Developer SG: Corel Developer SG includes three components: Design Window enables application developers to design client interfaces while working in a visual development environment; Template Builder lets application developers prepare SVG documents with dynamic objects for data mappings; Data Mapper allows application developers to define the connections between the inputs of an SVG template and the data. (2) Corel Process Builder: Corel Process Builder lets application developers build processes for binding multiple data sources including XML, ODBC, Web Services, and legacy data. The data is then combined with graphics and application logic to create a run-time process. Process Builder allows the developer to visually create server-side processes using drag-and-drop modules. There is no need to learn complicated scripting languages. (3) Corel Server SG: Corel Server SG is a high performance platform for the management and transformation of application data and images. Processes created in the Process Builder are executed on the Server. Corel Server SG is available in both developer and enterprise editions. (4) Corel SVG Viewer: Corel SVG Viewer is a Web browser plug-in that lets application developers view and interact with the SVG graphics as they develop the application interface. It offers: unparalleled rendering capability; compliance with open standards; an ActiveX control for integration with enterprise applications..." Details in the news story "Corel Smart Graphics Studio Uses SVG for Graphical Applications Development."

  • [April 23, 2003] "An SVG Case Study: Integrated, Dynamic Avalanche Forecasting." By Chris Cochella and Tyler Cruickshank. From (April 23, 2003). ['An article on using SVG to present integrated information on skiing weather conditions.'] "... We are avid backcountry skiers (backcountry snow conditions are not considered generally useful). A wise backcountry skier is always aware of the specific local and regional weather conditions in the mountains that contribute to avalanche danger. For winter backcountry enthusiasts like us, the problem is that all of the weather data available (i.e., National Oceanic and Atmospheric Association's National Weather Service) from remote mountain stations and ski areas is scattered throughout the Web -- in various formats, of varying frequency, contained in difficult to read text files, and differing in measured parameters. Cobbling this information together at 6AM prior to skiing is not our idea of fun. Thus, our goal is to collect all of this data in one place and then graphically display related parameters in a Web information appliance. We call this appliance the Avalanche Meteorology Toolkit (AMT) [requires SVG plugin; see also]. The process of bringing all this information together is messy. But it can be done by using Perl to do data clean up, handing off to a MySQL database for storage, and then to Scalable Vector Graphics (SVG) for a lightweight graphics display, which can be viewed by Adobe's SVG Plugin. The article Data-Driven SVG Apps by Pramod Jain is useful for understanding the multi-tier approach (data storage, data processing, display)... Our solution requires five steps, utilizes two Perl scripts, one SVG information appliance interface, and one SVG file for each weather station... The primary benefits of our approach are the integration of disparate information sources into a single, lightweight display of relevant real-time information. Perl, or course, is great for text processing. SVG along with Adobe's server-connection capability has proven to be a very flexible and lightweight means of information display. We are planning the integration of additional dynamic information like avalanche pictures posted by the public, integration of the Utah Avalanche Center forecast advisory, and a regional map of recent avalanches. By combining all this information in one place, backcountry travelers and avalanche forecasters have been able to quickly assess backcountry conditions and make appropriate, informed decisions. There is no end to the possibilities for creating dynamic, lightweight displays of real-time data: other scientific monitoring devices, traffic monitoring, manufacturing processes, financial data, and so on..." See also: (1) "An Internet Based Snow Stability Toolkit for the Temporal and Spatial Display of Meteorological, Snow Stability, and Avalanche Related Data for Forecasters and Backcountry Users"; (2) SVG Essentials, by J. David Eisenberg.

  • [February 12, 2003] "SVG and Smart Maps." By Keith Bugg (Knoxville Utilities Board Geographic Information System - KGIS). In Dr. Dobb's Journal #346 Volume 28, Issue 3 (March 2003), pages 38-41. Special Issue on XML Development, edited by Jonathan Erickson. ['Scalable Vector Graphics is a plain-text format that can make graphics look "flashy." Keith shows how you can use SVG to create smart maps that can be dynamically updated, animated, and more.'] "In this article I examine how SVG can be used to create 'smart maps' that, unlike static JPEG images, can be dynamically updated, animated, and even searched... Wouldn't it be convenient to know about road delays that were due to construction, accidents, inclement weather, and the like [projected onto a map while planning a trip or driving...] In many cases, the data necessary for creating SVG maps is readily available. For instance, raw geographic data is available at [USGS Geographic Data Download]... You can also work with aerial photographs..."See also the listings and source code.

  • [December 11, 2002] "SVG's Past and Promising Future." By Antoine Quint. From December 04, 2002. ['Antoine Quint takes an end-of-year look at SVG. Antoine notes that vendor support for SVG has broadened significantly, including the re-entry of Corel to the SVG game. He also looks at the upcoming SVG specifications: SVG Mobile, SVG 1.1, and SVG 1.2.'] "In this column I want to update the state of SVG by examining what's been happening lately. Among technical people around the world SVG awareness has risen dramatically over the last year. The SVG-Developers list has reached the 3,000 subscribers, while more specialized lists, ranging from job postings to pure coding, have popped up. Popular tech sites like Slashdot and have covered SVG. This was also the year of success for the first SVG conference, SVG Open, held in Z|rich last July; it attracted more than 200 visitors, presenters, and exhibitors. SVG has been discussed at various high-profile conferences, too: including JavaOne, XML 2001, XML Europe, SIGGRAPH, WWW10, and O'Reilly's Open Source Convention. Over the past year vendor support for SVG has significantly broadened. With the notable exception of Macromedia, most graphics vendors have shipped updated versions of popular products with new support for SVG. Corel followed Adobe's Illustrator 10 with the release of Draw 11, which has extended support for SVG (including import and export). SVG also appeared in more specialized packages like Toon Boom Studio (cartoon-oriented) and Swift 3D (3D-oriented). Other vendors haven't hesitated to make SVG the centerpiece of product offerings. PCX Software has pitched a suite of SVG-centric tools which are currently in development; some beta releases are available from their site... While SVG 1.1 is a great leap forward for the mobile market, it adds no new functionality. The W3C SVG Working Group released two weeks ago the first public draft of SVG 1.2, which introduces several anticipated enhancements. It's a very early draft, but it already shows the areas in which SVG is progressing. One of the most-requested new features for SVG is text wrapping... There are other significant things to highlight in SVG 1.2. Although not as detailed as text wrapping or DOM extensions, some are very anticipated by the SVG community. The WG is looking at more extensive integration with other XForms and SMIL, as well as ways to ease the rendering of arbitrary XML with SVG. Two other promising areas are streaming and modification of drawing order. SVG watching in 2003 should be as exciting as it was in 2002..."

  • [November 21, 2002] "TextCafe Version 3.0 Now Supports SVG. Generates Scalable Vector Graphics, Enhanced Navigation XML, Document Indexes." - "Texterity, Inc., a leading provider of electronic publishing services, today announced TextCafe Version 3.0, providing conversion of PDF into SVG pages, XML-based table of contents, and XML document search indexes. SVG provides customers with an XML-based representation of pages that appear identical to the original printed page. TextCafe already provides automated, volume conversion for materials that need traditional XML and Open eBook (OEB) format. With TextCafe 3.0, publishers can now easily publish on-line and off-line versions of materials using standard web browsers for Windows, Macintosh and other platforms. TextCafe 3.0 provides the following key features: (1) Automatic conversion from PDF to SVG pages, page-based word lists for indexed searches, and structural Table of Contents in XML format; (2) Ability to view SVG pages within any HTML page, using the Adobe SVG Viewer for either web-based (connected) or standalone (offline) use; (3) Full support for embedded fonts, including ability to create SVG standard font drawing instructions or Adobe Compact Embedded Fonts (CEF); (4) utomatic extraction and optimization of all raster and bitmap images into standard PNG or JPEG formats; (5) Translation of line-drawing and vector images into SVG vector formats; (6) Matching between reflowable XML/OEB output, word indexes and SVG pages, enabling word highlighting and relevancy searching... The full suite of TextCafe 3.0 SVG services include: (1) Conversion: generation of SVG pages, image extraction, search indexes, and XML table of contents from PDF input; (1) Enhancement: automatic generation of links into SVG pages based on part numbers, key words, or structural elements; metadata extraction, linking and highlighting; and deep XML TOC level creation; (3) Hosting: website development, integration, custom look-and-feel documents, links to existing site locations, and authenticated access; (4) Custom: website integration, development, and graphical user interface design for "custom skins" for on-line or off-line electronic books... Scalable Vector Graphics (SVG) is an XML-based language for Web graphics developed by the World Wide Web Consortium (W3C). TextCafe 3.0 is supported by the Adobe SVG Viewer 3.0, which supports Windows, Macintosh, and Linux computers. In addition, TextCafe 3.0 SVG is compatible with the new Adobe Graphics Server 2.0, enabling flexible deployment of SVG to any web browser without a plug-in. Founded in 1991, Texterity is a leading provider of electronic publishing services enabling fast, cost-effective automated transformation of published pages into multiple electronic formats. Texterity's electronic publishing solutions include web catalog development, repurposing content and distribution of electronic files to multiple electronic retail channels. Texterity manages the electronic publishing life cycle, including automated conversion and distribution of existing content into XML, SVG, HTML, e-book, wireless, and print..."

  • [October 15, 2002] "Introducing [DOM] Mutation Events [for SVG]." By Antoine Quint. From (October 09, 2002). ['Antoine Quint treats us to another of his "Sacre SVG" columns this month; he discusses events that can be fired in the Document Object Model when some part of it changes -- mutation events. He shows how these can be use to connect the DOM and objects in your own scripts.'] "[The article should give you] a better understanding of what DOM mutation events are and how they can help you in designing SVG extensions that behave much like other SVG elements. You'll also seen that all is not perfect: there are limitations to using mutation events with SMIL and CSS. But all in all mutation events can be very useful for component design... but there is a major drawback to using mutation events. In short, no shipped version of the Adobe SVG Viewer actually implements mutation events. It is a sad state of affairs to have such an amazing feature not available, but the good news is that Adobe has recently called for feedback about which missing features are most wanted by the community. If you care about mutation events, make yourself heard by voting for mutation events in an upcoming release of the viewer at the SVG-Developers YahooGroups poll. But Adobe's SVG Viewer is not the only game in town. Apache Batik implements mutation events, though it doesn't implement some features necessary for the TextWrap class..."

  • [September 23, 2002] "SVG - The Future of Web Rendering?" By Bill Trippe. In The Gilbane Report Volume 10, Number 6 (July/August 2002), pages 1-11. "... there is still a critical gap between graphically-rich content that is difficult if not impossible to integrate with other enterprise data, and XML data that can be integrated with virtually any enterprise application but usually ends up rendered as graphically-challenged HTML. This month we publish an excerpt from SVG for Designers: Using Scalable Vector Graphics for Next-Generation Web Sites, a new book by Bill Trippe and Kate Binder, published by McGraw Hill... in our article Bill looks at why Scalable Vector Graphics (SVG) has the potential to fill this gap. Whether you think SVG will take over the Web or not, it is difficult not to be intrigued with what SVG can do... SVG holds this promise for a few simple reasons. First, vector graphics are a necessary complement to the bitmap graphic formats such as JPG and GIF that now dominate the Web. Vector graphics mean better quality and greater precision for many types of illustrations and artwork, especially technical illustrations and other kinds of artwork created by computer-aided design programs. Second, SVG brings an industry standard approach to creating vector graphics on the Web. Up until now, there have been only proprietary methods for creating vector graphics. Third, and, perhaps most importantly, the SVG standard provides more than vector graphics handling, as it allows for the incorporation of vector graphics, bitmap graphics, text, style sheets, and scripts. Users of SVG cannot only create stand-alone illustrations; they can also create and exercise greater control over the design of entire Web pages. They can also flexibly incorporate other text, other graphics, data, and scripts. And finally, because SVG files are text files, they can be easily generated and manipulated, allowing for applications like data-driven graphics and personalization. SVG gives the graphic designer, using virtually the current standard industry toolbox, the power to create live Web images. Unlike bitmap images, SVG images can dynamically update as the designer, the Web developer, or the end user enter or change data and otherwise interact with the Web image. SVG files can be scripted to automatically take this information and modify the existing graphic or regenerate the graphic. Importantly, SVG often provides this flexibility using less disk space and memory, providing faster upload and download times, and putting more creative control into the graphic designer's hands than current static bitmap technology... Ultimately, SVG will prove itself in how it is used in real-world applications. The compelling thing is that SVG is an entirely open, entirely textual format. It can be easily generated from a database for applications such as dynamic page serving. It can also be modified on the fly for such applications as personalization... Adobe is building SVG support into their products, as is Corel. Perhaps more significantly, database vendors and content management companies are adding SVG support, as they understand well how central SVG is likely to become to Web development and publishing..." Book reference: SVG For Designers: Using Scalable Vector Graphics in Next-Generation Web Sites, by Bill Trippe and Kate Binder (ISBN: 0072225297; August 2002; see

  • [September 17, 2002] "Simple Text Wrapping." By Antoine Quint. From (September 11, 2002). ['Antoine Quint celebrates the end of the long French summer holidays with another installment of "Sacre SVG!" One of the more irritating omissions from the SVG specification is support for text wrapping. In his column this week Antoine shows how you can implement text wrapping yourself.'] "SVG 1.0 includes support for manipulating and representing text. There's an entire chapter devoted to text in the specification. Text in SVG is real text; to write Hello World! in an SVG document, you have to write something like <text>Hello World!</text>. This comes in handy with regard to accessibility as it means that SVG text is searchable and indexable. Looking through the chapter we can see a number of appealing text features: precise text positioning, support for bidirectional text, text on a path, and so on. However, you'll find that text wrapping is missing. Let's see what can be done with the current set of SVG 1.0 features to extend it to do some simple text wrapping... The main thing is to be able to break a string into a multiline paragraph, given a column width. Next, we might take a crack at text alignment: left, right, center, and full justification. Line-breaking will only be done on spaces, no funny stuff with hyphens or dictionaries. That's it. For refinements, we'll consider CSS for font properties, line intervals, and text rendering quality. But we also want to provide a nice architecture for our component; we're going to give it a nice XML front-end... [thus] we've come up with a pretty neat and useful extension to SVG by using it as a 2D Graphics API. But the great thing is that it's more than an API. It's also got an XML front-end and allows us to build higher-level blocks with higher level of semantics. We will explore all of this further with XForms-related work in the coming months..."

  • [August 23, 2002] DSTC Project Titanium Announces First Public Production Release of JackSVG Version 1.0. On August 21, 2002 the DSTC's Project Titanium announced an initial public release of JackSVG. JackSVG is "a Perl application that takes your presentation contents, written in a simple XML-based language, and writes out a single self-contained SVG file that contains your entire presentation. Presenting the slide show is as simple as loading the file in your Web brower and pushing the on-screen buttons. JackSVG has recently been rewritten to support many new featues. It allows the user to customise presentation look and feel through 'skin' support. It is written entirely in pure Perl so it can run on many platforms. It is also modular, making it easy for users to inspect and modify. It's also Free, and is available under a very liberal distribution license. To see JackSVG in action, take a look at some sample presentations written by Hoylen Sue."

  • [July 05, 2002] "SVG Tips and Tricks: Adobe's SVG Viewer." By Antoine Quint. From July 03, 2002. ['Antoine Quint returns this month with another installment of his SVG column, Sacré SVG! Antoine takes us on a tour of the special features particular to the most popular SVG viewer currently deployed, Adobe's SVG Viewer 3.0.'] "Since Adobe's SVG Viewer is the main SVG implementation, with 160 million deployed units and counting, I thought it would be a good idea to take a look at some special features that only the Adobe SVG Viewer offers to its users. Want to see what we can do with it? Grab a copy of version 3.0 of the viewer and we'll be off. With version 3.0, Adobe has added a significant feature to its SVG Viewer: a conformant JavaScript engine. Before version 3.0, when you were using the Adobe SVG Viewer within your Web page as viewed in Internet Explorer or Netscape Navigator, you were relying on the browser's scripting engine to evaluate and run your SVG scripting. Using Adobe's embedded scripting engine offers a few significant advantages. First and foremost it is a rock-solid, compliant implementation of the ECMA specification, and Adobe has used Mozilla's acclaimed SeaMonkey engine, opting for proven reliability. So, you can make sure that all your scripting code runs the same whether it's viewed on IE or Netscape, and whether on a Mac or a Windows box. IE and Netscape have diverging views and implementations for some of the core JavaScript functionalities (for example, the String.split() method), and they don't allow JavaScript communications between the browser and a plug-in in the same way. All of which results in cases where SVG authors had to do some browser-sniffing to serve either IE- or Netscape-specific script libraries. Although the Adobe SVG Viewer 3.0 has its own scripting engine, you can still use your browser's engine if you want. You might actually want to author SVG content for use in a specific browser, which would allow you to take full advantage of the browser's engine. Also, the Adobe engine is not turned on by default, so existing content authored prior to version 3.0 will not break. Turning Adobe's scripting engine on is fairly easy and can be done in a clean way using an attribute in Adobe's namespace... . If you want to know more, look at the set of pages devoted to ASV3 on the SVG Wiki, which is maintained by Niklas Gustavsson. Think of Adobe's work as an anticipation of what's next with SVG. And don't hesitate to voice your concerns to the W3C or to Adobe..."

  • [May 24, 2002] "Extending SVG for XForms." By Antoine Quint. From May 22, 2002. ['On the use of SVG, CSS, and EcmaScript in building XForms apps. In the first of two articles on XForms, Antoine Quint explains how SVG can be used to implement the W3C's replacement for HTML form controls.'] "If you've read my previous columns, it should be clear that SVG provides what programmers and designers need to create interactive 2D graphics. What makes SVG a little special is the versatility it inherits from XML. XML vocabularies are meant to be extended and intermixed with one another. But despite some noteworthy efforts to create XML-aware browsers, like XSmiles, Amaya, and Mozilla, rock-solid SVG-centric browser applications are not quite ready. But it may be possible to start implementing XForms UI controls in SVG. In previous columns we looked at SVG DOM in simple drag and drop or event handling and remote animation control. This month we're going to implement the XForms <button> element with CSS support, which will serve as an applied study on extending SVG's semantics with foreign elements and attributes... Our task has three parts: parsing, instantiating objects, and interacting with them. Parsing is the part where we are going to look up XForms content in our document and try to make some sense of it. We will then use the gathered information to build an internal EcmaScript object model and draw the form controls. Interaction is the part where we use event handlers to create the different states of the button and allow for callbacks to be registered when it is pressed. This month, we'll take care of the XForms <button> element alone, concentrating on the process of integrating a new namespace with SVG; we'll look at the the interactivity and object modeling next month. So our first task is to read an SVG+XForms document and draw a static button... In next month's column we'll add SVG interactivity..."

  • [March 29, 2002] "SVG Tips and Tricks, Part One." By Antoine Quint. From March 27, 2002. ['Antoine Quint has been busy in his labs, brewing up content for his SVG column. This month, Antoine packs a whole bunch of cool tricks into creating an animated data-exploration widget.'] "The previous installments of this column discussed the two major techniques at the core of interactive SVG: SVG animation and DOM scripting. We saw how the powerful declarative syntax adapted from SMIL brought life to SVG documents, and how SVG's DOM goes further than XML's core DOM. This month's column, rather than a focused exploration of a particular SVG topic, will examine a few helpful tips and tricks. First, I'll introduce the viewBox attribute for zooming purposes, then explain how to use the SMIL DOM interfaces for remote animation startups, and, last, I'll conclude with a closer look at DOM Events. At the end, you will understand the tricks used and abused in the interactive tree map companion demo. Before we turn to specifics, I should tell you a bit about the demo. The SVG code of the tree map was actually generated by XSLT from an XML file. The aim was to construct a mechanism to represent an XML file's hierarchy in SVG and be able to browse it in an interactive way. So we are dealing with a nice little tree app here. If you look at the SVG code you'll see that there is still a strong depth structure here too. The idea is that each time we met a node in the XML file, we would create a rectangle and a text label. If the node had a child, then we would process the subtree according to the same rule..." Note also in this connection the title SVG Essentials, by J. David Eisenberg (O'Reilly, First Edition: February 2002; ISBN: 0-596-00223-8): "Eisenberg begins with basics needed to create simple line drawings and then moves through more complicated features like filters, transformations, and integration with Java, Perl, and XSLT. Unlike GIFs, JPEGs or PNGs (which are bitmapped), SVG images are both resolution- and device-independent, so that they can scale up or down to fit proportionally into any size display or any Internet device -- from PDAs to large office monitors and high-resolution printers. Smaller than bitmapped files and faster to download, SVG images can be rendered with different CSS styles for each environment. They work well across a range of available bandwidths."

  • [February 28, 2002] "The Visual Display of Quantitative XML." By Fabio Arciniegas A. From February 27, 2002. "The need to display quantitative data stored in XML files is quite common, even when transforming the most basic documents. For example, consider the following cases: (1)Number and type of hits registered in a server log; (2) Percentage of sales by an individual on an annual sales report; (3) Number of technical books vs. the total book count in a book list (almost every XML book in the world has that example); (4) Proportion of annotations per paragraph in a DocBook article. While quantitative XML data is everywhere, a less common thing to find is examples of effective ways to display such information. Most resources will merely show you how to use XSLT to convert XML data to HTML, which is often not nearly enough when you need to explain complex or large sets of data (see Figure 1). This article discusses the creation of useful graphical presentations of quantitative XML data using XSLT and SVG... The use of XSLT and SVG opens up exciting new ground for the presentation of XML data on the Web. The correct use of these tools may improve vastly the quality and quantity of information your users can consume, as well as your process to present and create it. The creation of good visual representations of XML data using XSLT is governed by principles and best practices both on the programming and technical graphic design sides. In this article we have examined a few of them while providing an illustration of their implementation. The principles studied can be summarized in the following list. Naturally, this article is not exhaustive, but I hope it whets your appetite for the creation of useful graphic data using XML technologies..."

  • [February 28, 2002] "Server Side SVG." By J. David Eisenberg. From February 27, 2002. "If you've been using SVG or reading, you probably know about the Adobe SVG Viewer, and you may have heard of the Apache Batik project. Although Batik is most widely known for its SVG viewer component, it's more than that. Batik, according to its web site, is a 'Java technology-based toolkit for applications that want to use images in the Scalable Vector Graphics (SVG) format for various purposes, such as viewing, generation or manipulation.' The Batik viewer application uses the JSVGCanvas component, which is a Java class that accepts SVG as input and displays it on screen. In this article, we'll use two of the other Batik components, SVGGraphics2D, and the Batik transcoders. The SVGGraphics2D class is the inverse of JSVGCanvas; you draw into an SVGGraphics2D environment using the standard Java two-dimensional graphics methods, and the result is an SVG document. The transcoders take an SVG document as input and produce either JPG or PNG as output. The context in which we'll use these tools is a servlet that generates geometric art in the style of Piet Mondrian. If the client supports SVG, the servlet will return an SVG document. Otherwise, it will return a JPEG or PNG image, depending upon client support for those image formats..."

  • [February 28, 2002] "Doing That Drag Thang." By Antoine Quint. From February 27, 2002. "In last month's article, we took a wee trip in the exciting lands of SMIL-powered SVG animation. In that article, we used XML elements to achieve our goals. Today I will show you around a place that might sound a little scary, but that's just as much fun when you take the time to imagine how many possibilities it offers: it is time to take a look at scripting SVG, for all the nifty interactions that declarative SVG Animation could not handle. As an XML application, SVG benefits from the Document Object Model. The DOM is an object-oriented API for reading from and writing to an XML document. Even if you've never heard of the DOM, you might have had some unfortunate experience with its wayward sibling, DHTML. DHTML really was the combination of HTML, CSS, JavaScript, and a DOM. What made DHTML such a headache is that the two main browser vendors had different DOMs, neither being compliant with the DOM as specified by the W3C. Recent versions of major browsers now support the W3C DOM Level 2, just like the Adobe SVG Viewer, which also offers support for the SVG DOM... Scripting SVG opens up many new possibilities. While client-side scripting is a well-established practice in different environments (especially DHTML and Flash ActionScript), I believe the SVG scripting environment offers a more comprehensive and standards-based approach. Adobe's SVG Viewer version 3.0 offers stable and powerful tools for us to work with in a way that has never been possible before..."

  • [February 06, 2002] "SVG - Open for Business." By Michael Classen. From 2002-02-04. "Scalable Vector Graphics are the prime technology for presentations and business charts. Pie charts, bar graphs, animated or static, values manipulated by the user or static, SVG can do all. And what is missing, added CSS and JavaScript will do. In this introduction we'll generate a bar chart with text, shadows, and some simple animation. Integrating an SVG file into an HTML page is done with the embed tag available in all current browsers. This tag includes a reference to Adobe's plug-in download page, where an appropriate viewer is available for free. Additional arguments are the reference to the SVG file, and the pixel dimensions of the object in the browser page... [concludes with] a small animation of bars on the bar chart. The animation consists of two parts, changing both size and position of the objects. This is necessary because in order to grow the bars from bottom to top, they need to move up and expand at the same time so that the bottom line stays constant... Putting it all together, here is our animated 3D bar graph. Once all browsers support SVG we can forget about stretching one-pixel images into shape in HTML..."

  • [January 24, 2002] "Digging Animation." By Antoine Quint. From January 23, 2002. "Animation is a core feature of SVG. It is a large part of SVG's specification and is based on SMIL Animation. In fact, if you know about SMIL animation already then this article ought to be a doodle or a nice little bit of review. You might want to have the SVG Animation spec chapter handy before we start. My mission in this article is to show you how to recreate one of those nifty gravity animation effects that people gaze at for hours. SVG will certainly not make this kind of animation any more useful than its implementation in Flash, but it is certainly very instructive to create. For a little taste of what we're going to create, have a look at Niklas Gustavsson's original SWF animation, although we're going to add a few enhancements... Adobe's SVG Viewer on my laptop gives me a much smoother animation than the SWF played in the Flash player. By the way, the gzipped version (commonly known as SVGZ) of the final animation is only 926 bytes, while the SWF version is 1.29 KB... I hope you enjoyed this ride through some of the nicest features of SVG animation. There is a lot more to SVG animation, especially the idea of synchronization, which we'll consider in future articles. I think this simple animation highlights some of the key concepts of SVG animation, primarily that it is time-based and property-based, as well as some of its differences from the SWF animation capabilities. It's probably now time for you to read the whole animation chapter of the SVG 1.0 specification and start digging into it yourself. One thing you'll find missing at the moment is an authoring tool for SVG animations. Jasc's WebDraw 1.0 has just been announced and includes support for some of SVG's animation features. And Adobe just recently asked on the SVG-Developers list for feedback on the need for SVG support in their animation tool, LiveMotion. Adobe is soliciting your input on its email wish list. If you want to see SVG grow in terms of user penetration and ease-of-use, make sure Adobe and other vendors hear from you..." On November 21, 2001, Antoine Quint published a survey article "SVG: Where Are We Now?" For Adobe's SVG Viewer, see the SVG Zone; the Adobe SVG Viewer 3.0 is available in 15 languages.

  • [December 11, 2001] "Graphical Stylesheets: Using XSLT to Generate SVG." By Philip A. Mansfield (President, Schema Software Inc., Vancouver, British Columbia, Canada) and Darryl W. Fuller (Schema Software Inc.). Presented by Philip Mansfield at XML 2001 Conference and Exposition. ['By combining XSLT with SVG, it's now practical to infuse your Web applications with rich, interactive graphics generated on the fly from changing or user-selected data. The presenters will discuss the technology and demonstrate a tool to create such Web applications.'] "Traditional stylesheets encode information about the appearance of text and the layout of content, thus enabling the separation of structure from presentation in the case of text-centric publications. Images are treated as single elements of content in such an approach, with very little flexibility for a stylesheet to vary their appearance. However, those images often arise as visualizations of structured data, such as graphs, maps or schematic diagrams of data. Hence the need for Graphical Stylesheets that encode how to draw specific visualizations of structured data. The structured data may start as XML or be returned from a database as XML. Graphical Stylesheets are then naturally encoded as XSLT with SVG as its target. This encoding takes advantage of widely-supported standards and therefore serves as a practical implementation. The use of SVG enables hyperlinked, animated, interactive vector graphics that can be further styled with CSS for purposes of accessibility or other adaptations. Graphical Stylesheets are applicable to such diverse areas as Business Graphics, Flowcharting, Project Plans, Engineering Blueprints, CAD, GIS, AM/FM, Meteorology, Statistical/Scientific Visualization, Environmental Engineering diagrams, Metadata Relationship diagrams, and Presentation/Courseware. The talk will explore Graphical Stylesheet use-cases within a number of these application areas, and demonstrate solutions encoded as XSLT with SVG as its target. The advantages of being able to vary the graphical styling separately from the data will be made explicit. For example, Graphical Stylesheets make it possible to generate visualizations on demand from changing or user-selected data. On the other hand, by varying the Graphical Stylesheet that you apply to your data, you can elicit or emphasize entirely different aspects of that data..." Note: SchemaSoft provided a number of free downloadable tools for authoring, converting, and viewing XML 2001 Conference Papers and Presentations; see "Tools for XML 2001 Conference Presentations."

  • [December 11, 2001] "Will Vector Graphics Finally Make It on the Web?" By Steven J. Vaughan-Nichols. In IEEE Computer Volume 24, Number 12 (December 2001), pages 22-24. "Multimedia technology is an increasingly important part of the Web. Because of this, multimedia vendors are always looking for a competitive edge, as well as a better way to present content. And now, these vendors are looking closely at an important technology: scalable vector graphics (SVG). Currently, the Web mainly runs on bitmap-image formats like GIF (graphics interchange format), PNG (portable network graphics), and JPEG (designed by the Joint Photographic Experts Group). However, bitmap files can run large, even with data compression, and don't scale well. Vector-graphic formats don't experience these problems but never caught on because the technology consists of incompatible proprietary standards. The World Wide Web Consortium (W3C), though, may have eliminated this concern recently when it released an open SVG standard with broad industry support. SVG was created by browser developers such as Microsoft, Netscape, and Opera Software, as well as graphics and Web-design companies such as Adobe Systems, Corel, Eastman Kodak, Macromedia, and Quark. SVG images are lightweight and look the same, within a browser's limitations, whether displayed on a workstation's high-resolution, color screen or on a smart phone's tiny, monochrome display... SVG is basically like other vector formats, except that it is standardized and has broad industry support. SVG expresses images first as sets of simple elements, such as lines and curves. The technology then uses these elements to help describe various aspects -- such as size and position -- of more complex geometric shapes like circles and polygons. Because SVG is XML-based, users can add text to a graphic simply by writing it into the XML code. And because XML permits cross-platform operability, Web developers can create a single set of descriptions for an SVG image, which all recipients can then use as long as their browsers understand SVG. This eliminates the need to create multiple files for different platforms, as is the case with bitmapped images. Meanwhile, smart cellular phones and PDAs could access any SVG-compliant Web site, rather than being restricted to scaled-down sites designed specifically for mobile technology. With XML, a browser's rendering engine determines the most suitable way to resolve an image for the host device. Thus, SVG images can easily scale up or down and render to the particular receiving device's best resolution. Among other benefits, this approach generates particularly accurate document printouts. Bitmapped graphics' resolution, on the other hand, is set for a particular image-map size and thus distorts when scaled to work with a small display or a high-resolution printer... SVG is based on XML, which developers can use for both images and text in the same document and which describes document content, not just appearance. Therefore, image files can contain searchable textual information. This text can either describe an image (this is a Persian cat) or provide additional information about the image (this cat doesn't like baths). Users can thus easily conduct text or Web searches of SVG graphics. For the same reason, SVG images work well with the screen readers used by people with vision problems..."

  • [November 29, 2001] "SVG: Where Are We Now?" By Antoine Quint. From November 21, 2001. ['SVG expert Antoine Quint surveys the current state of tool support for the W3C's Scalable Vector Graphics Recommendation.'] "On September 4th 2001, the W3C published the Scalable Vector Graphics 1.0 specification. For some people, including a large number of early adopters who followed the specification's evolution since the early drafts, SVG 1.0 was a long time coming -- it had been two and half years since the first public draft of February 1999. However, SVG was a much needed leap forward for web graphics. If you look at the specification, you'll notice it is exhaustive (600+ pages), detailed, and complex (in places, filters and animation, for example). SVG's long gestation resulted in a specification that had some solid and diverse support from the moment it was released. This article aims at providing an overview of available SVG tools, including highlights of what's cooking in the short term in the SVG world. This article focuses on the most interesting, advanced, and tested active projects... Probably the first thing you'll want to know about SVG is how you or anyone else can view SVG contents. Today, there are two main kinds of SVG viewing tool: standalone SVG viewers and SVG-enabled browsers... [Conclusion:] I hope this overview of SVG tools currently available gives you a good idea of what tool you need and what you can expect of SVG in today's products. I think the state of SVG's support in the industry is astonishing since its still in its early stages. It is also interesting to take into account the speed at which progress has been and is still being made. At this pace, this article will need a complete overhaul in six months..."

  • [November 08, 2001]   Adobe SVG Viewer 3.0 Supports New Features and Platforms.    A posting from Steve Snell announces the release of the Adobe SVG Viewer Version 3.0. This new version of the browser plugin better supports the Scalable Vector Graphics (SVG) 1.0 specification and adds frequently-requested features for developers. Adobe SVG Viewer V3.0 also adds support for Windows XP and Mac OS X. A new Airbus demo, created by US Airways, "provides an excellent example of the use of SVG to create interactive Smart Graphics. A new Chemical Markup Language demo shows the true versatility of SVG: data stored in another XML-related language, CML (Chemical Markup Language), is manipulated via XSL (Extensible Stylesheet Language) to create SVG. The new script engine in V3.0 allows self-contained JavaScript scripts to run inside SVG files embedded in hosts that don't support a bridge between plug-ins and the host script engine, including Internet Explorer on the Mac. Adobe SVG 3.0 Viewer will be available in 15 languages and is distributed with Adobe Acrobat Reader." [Full context]

  • [September 21, 2001] "SVG Gets an Editor. [Product Review.]" By Lynne Cooney. In WebTechniques Volume 6, Issue 10 (October 2001), page 28. "Scalable Vector Graphics (SVG) is a graphics format based on XML, and is currently nearing completion at W3C. Support for SVG isn't as broad as for Flash and Shockwave yet, but you can expect that to change with broader industry and browser support. Preparing to grab hold of the emerging market, Jasc has released a beta version of WebDraw... I like the preset objects tool, which lets you place simple arrows, hearts, and other graphics into your document from a library. To edit the points or nodes of these objects you must select the object and choose Convert to Paths. There are four primary drawing tools. You can use the Line tool to draw straight lines. With the Polyline tool you can draw irregular polylines or polygons. The FreeHand tool lets you draw a path freely, without clicking for each point. And finally, the Path tool is similar to the default pen found in vector illustration tools such as Illustrator and FreeHand... Overall, I think Jasc WebDraw is an excellent low-cost tool for creating simple SVG code. It would be a great asset to anyone creating scripts to output SVG on the fly, or to build consistent, styled headlines on a Web site. It lacks Illustrator's higher end features, but you can't beat the price -- free, while in beta!"

  • [September 13, 2001] "Picture Perfect." By Edd Dumbill. From September 12, 2001. "Last week, the World Wide Web Consortium issued Scalable Vector Graphics (SVG) 1.0 as a Recommendation. SVG, as its name implies, is an XML application for describing two-dimensional graphics in the form of vector-based objects. As well as allowing normal 2D drawings, SVG is scriptable, enabling user interaction, and it incorporates animation capabilities from SMIL. Along with W3C XML Schema, SVG is one of the most important technologies to emerge from the W3C this year. It's certainly been long in the making -- SVG's first public Working Draft was published over two and a half years ago. Although many have been impatient for the final recommendation, this lengthy period of maturation has produced benefits in terms of the quality of SVG's specification and the number of supporting implementations. The text of the SVG Recommendation makes for an impressive read. It starts with a useful Concepts section that explains the key points and motivations behind SVG. The specification itself is beautifully formatted, comprehensively hyperlinked, and filled with examples. In addition, it is also very well indexed and useful as a reference, both for SVG processor implementers and those wishing to create SVG diagrams in XML. Accompanying the recommendation is a test suite, allowing developers of SVG implementations to verify their code against the expected renderings of SVG documents. Although W3C XML Schema has recently gained a test suite after going to recommendation status, to have one available through the development of a specification and at publication of the recommendation is an excellent move. It has also enabled the W3C to publish implementation conformance information for the various available SVG renderers... Setting aside the excellence of the specification itself, we must ask where SVG will succeed. After all, the best of technologies have been known to fail due to poor adoption. On the Web, SVG's most immediate competitor is Flash, the only real established technology for vector-based illustration and animation. Microsoft's Internet Explorer has had support for its own predecessor to SVG, VML, for a while now, but this hasn't really achieved widespread deployment on web sites. It is clearly the W3C's hope that SVG will supplant Macromedia's Flash to a certain extent, bringing as it does the benefits of integration with the emerging XML infrastructure both in browsers and on the server side, and of course the open process of a W3C-fostered specification..." See the news entry for the Scalable Vector Graphics (SVG) 1.0 specification as a W3C Recommendation.

  • [August 03, 2001] "Picture This: Web Interfaces Go Interactive." By Kurt Cagle (WWW). In XML Magazine Volume 2, Number 4 (August/September 2001). ['Static bitmaps and primitive animation have limited the development of truly interactive Web graphics. Now there's SVG, a standalone language that lets you use XSLT to generate dynamic graphical user interfaces from XML data sources. Will combining graphical language capabilities with the flexibility of XML and XSLT make SVG mainstream?'] "The concept of Web interfaces until recently was limited by the toolsets that we had available: collections of widgets that make up most windowing systems, buttons, scrollbars, drop-down lists, check buttons, and so forth. Multimedia developers using products like Macromedia Director or Flash pushed the boundaries of what such interfaces could look like, but their large size -- and the notion that building client interfaces was the least compelling part of programming -- kept much of this interest from spreading beyond kiosks and children's games. Enter Scalable Vector Graphics (SVG), which offers a way to turn any set of XML-based information into an interface -- any interface. SVG marries the low bandwidth and discrete identities of graphic languages like PostScript with the flexibility and interaction of XML and XSLT. While it probably will take a few years before SVG becomes mainstream, the ability to turn any graphic image into an interface, dynamically, will make SVG a major contender in the Web world. Let's see how... Transforming to SVG: In many respects, XSLT is the perfect vehicle for creating SVG. While some SVG pieces will be created through design tools such as Adobe Illustrator, a significant amount of the information graphics to which SVG doubtless will be applied involve taking an XML data document of some sort and converting it into a visual image. While XSLT's functional abilities are generally sparse (although they can be augmented through nonstandard extensions, depending on the parser), most information graphs do not depend on graphing mathematical functions, but rather illustrating specific sets of data points... The SVG of the Future: Turning a static graphic into a user interface perhaps demonstrates the crucial strength of SVG going into the future. SVG offers a way to turn any set of XML-based information into an interface -- any interface. A map of a building could record electricity and temperatures in any part of the building, or be used as part of a SOAP-based system to let you turn thermostats up or down, send computers into hibernation mode, or tell when your four-year-old daughter has left the refrigerator door open and send a signal to the servo in the door to close it. For that matter, an SVG-based system could also keep track of where your daughter is (through a sensor in her clothes), so you don't close the door on her accidentally. You can also envision program design through the manipulation of SVG objects on a desktop in much the same way that UML is designed now using Rational Rose or Visio software. The advantage to SVG over other coding is that SVG objects can be generated through transformations from XML-based IDLs and can send events to inform the underlying objects when they need to change (or attempt to change) in the face of user stimuli. Clearly, the complex roles of dynamic graphical interfaces fosters a great opportunity for SVG in the Web's evolution..."

  • [July 18, 2001] "Wrapping up SVG." [Column on SVG.] By Mark Gibbs. In Network World Fusion July 09, 2001. "We promised to wrap up the topic of Scalable Vector Graphics and we'll do so discussing scripted animation. When we started with SVG a few weeks ago we discussed its use of declarative animation, where the animation is defined in the SVG file using Synchronized Multimedia Integration Language. While you can achieve a fantastic amount using declarative animation, you cannot interact with the user or anything outside the SVG graphic. This is where scripted animation comes into play - specifically, JavaScript-driven animation. To manipulate SVG using JavaScript, we can embed the SVG graphic in the document that contains the JavaScript or embed the JavaScript in the SVG code. Either way, the key to scripting is to name all the elements we want to manipulate... All we have provided is a glimpse of the mechanism used to animate SVG with JavaScript. The actual implementation is a little more complex, and we refer you to the Adobe tutorial for lots of code and examples... A promising SVG tool in the beta stage is Jasc WebDraw, which offers a built-in script editor and can import SVG files. We expect to see Illustrator, WebDraw and many other tools evolve rapidly to provide in-depth SVG support. Mark our words, SVG is a standard that will quickly become a key component of Web content..."

  • [July 12, 2001] "Generate Graphics Dynamically Using Perl, XML, and SVG." By Kip Hampton. From July 11, 2001. "Scalable Vector Graphics (SVG) is a compact XML language to describe two-dimensional images. With SVG you can create extremely sophisticated images complete with paths, layering, masks, opacity control, animation, scriptable interactivity, and a small host of other advanced features -- all using nothing more than your favorite text editor or XML tools. This month we talk about creating SVG documents quickly and simply using Perl and David Meggison's XML::Writer module... It's worth noting that SVG requires a special browser plug-in or standalone viewer to view the rendered markup as the intended image. Rather than requiring readers to download one of these tools in order to view the results of the code samples, I have rasterized and exported the generated SVG images into Portable Network Graphics (PNG) using a utility that ships with the Apache Software Foundation's Batik project... While I rarely offer subjective value judgments about the technologies I discuss in this column, I'm going to make an exception in this case. SGV is astonishingly cool. The examples above barely scratch the surface of SVG's flexibility and communicative power. To brush it aside as just another way to make 'pretty pictures' is to miss the point completely. The combination of Perl's XML tools and SVG provides a range of creative options that would be difficult to achieve by other means. I hope that you have been inspired to continue to investigate both SVG and Perl's ability to generate it."

  • [June 12, 2001] "Cool graphics in XML." By Mark Gibbs. In Network World Volume 18, Number 23 (June 04, 2001), page 56. "The entire universe is going XML. Everywhere you turn, somebody is turning something into XML. This is, as Ms. Stewart is wont to say, 'A good thing.' The beauty of XML is it provides a whole new way of structuring 'stuff' that goes beyond just organizing data. With XML, data is imbued with meaning and purpose . . . wait a minute, that implicitly makes it information. Cool. Today, we'll look at one of the latest and most promising applications of XML - Scalable Vector Graphics (SVG)... SVG is terribly exciting if you're inclined toward trying whiz-bang graphics on the Web. If you're not, SVG is cool anyway. The reason for such coolness is what SVG can do. Quoting the W3C specification: 'SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. The feature set includes nested transformations, clipping paths, alpha masks, filter effects and template objects. SVG drawings can be interactive and dynamic. Animations can be defined and triggered declaratively (that is, by embedding SVG animation elements in SVG content) or via scripting.' SVG has a document object model that provides access to all elements, attributes and properties in an SVG graphic document. There are also event handlers such as the ever-popular 'onmouseover' and 'onclick.' SVG's MIME type will be image/svg+xml when the W3C registers it as such -- apparently around the time when SVG is approved as a W3C recommendation (no date set). The specification also recommends that SVG files should have the extension .svg (all lower case) on all platforms..."

  • [June 12, 2001] "XML worth a thousand pics." By Mark Gibbs. In Network World Volume 18, Number 24 (June 11, 2001), page 46. "Last week we were cruel and unusual - we gave you a chunk of Scalable Vector Graphics code but put off explaining it until this week. Now where were we. . . . The code [...] These are standard declarations that declare this is XML and that specify the Document Type Definition. DTD is a set of rules that define elements and attributes of an XML document and spell out how valid documents are structured. In effect, a DTD provides an integrity check on a specific type of XML content... This demo shows the basics of text and transformations under SVG. With SVG, there are three basic drawing elements: text, shapes and paths. Shapes include circles, squares and so on, while paths are chains of line segments that can optionally be specified as closed. You may have already surmised that SVG files, while relatively small, get complex very quickly. Hand coding SVG graphics is not for the faint of heart... To this end, a number of graphics tools have become available that support SVG images - for example, editors such as Adobe's Illustrator 9.0 and Jasc Software's WebDraw ... SVG is a standard to watch. Next week, we'll look at dynamic SVG. .."

  • [June 12, 2001] "SVG Reference in SVG." [Notice posted by] Jiri Jirat. See the SVG. From the post: "Hello XML and SVG developers, we have tried to display our site navigation using SVG: Click on any keyword in the section keywords on Notice also the difference in sizes - SVG wins with a huge margin (and it is not gzipped!)..."

  • [March 28, 2001] "[XML Transformations] Part 2: Transforming XML into SVG." By Doug Tidwell (Cyber Evangelist, developerWorks XML Team). From IBM developerWorks, XML Education. Updated: March 2001. ['The first section of our tutorial showed you how to transform XML documents into HTML. We used a variety of XML source documents (technical manuals, spreadsheet data, a business letter, etc.) and converted them into HTML. Along the way, we demonstrated the various things you can do with the XSLT and XPath standards. In this section, we'll use the World Wide Web Consortium's emerging Scalable Vector Graphics format (SVG) to convert a couple of our original documents into graphics.'] "For our transformations, we'll use two of our original six source documents: some spreadsheet data and a Shakespearean sonnet. The other documents from our original set aren't easily converted to SVG; we'll discuss why later... SVG is a language for describing two-dimensional graphics in XML. You use SVG elements to describe text, paths (sets of lines and curves), and images. Once you've defined those images, you can clip them, transform them, and manipulate them in a variety of interesting ways. In addition, you can define interactive and dynamic features by assigning event handlers, and you can use the Document Object Model (DOM) to modify the elements, attributes, and properties of the document. Finally, because SVG describes graphics in terms of lines, curves, text, and other primitives, SVG images can be scaled to any arbitrary degree of precision... We've taken a couple of our documents and transformed them into SVG. The column and pie charts are really useful examples that demonstrate what SVG can do, and our transformed sonnet displays the sonnet and its rhyme scheme clearly. These transformations used several important concepts in stylesheets. We used parameters and variables, we added extension functions when we needed them, and we used the mode attribute to control how templates were invoked. All of these were necessary because of the kind of documents we were creating. Despite this, our approach to writing stylesheets remains the same: (1) Determine the kind of document you want to create. (2) Look at the contents of that target document, and determine what information you need to complete it. (3) Build a stylesheet that creates the elements of the target document, and either retrieve or calculate the information you need for each part of the target document. The more text-intensive documents demonstrate what SVG doesn't do very well. Anything that contains text that needs to be broken into lines and paragraphs is difficult to do with SVG. You have to calculate the line breaks yourself, and you have to figure out how tall each line of text should be. Furthermore, if you wanted to use rich text features in your SVG document (display certain words in other fonts, different type sizes, different colors, etc.), your job would be even more difficult. See also tutorial articles (1) "Transforming XML into HTML" and (2) "Transforming XML into PDF."

  • [March 28, 2001] "Scalable Vector Graphics. [Integrated Design.]" By Molly E. Holzschlag. In WebTechniques Volume 6, Issue 4 (April 2001), pages 30-34. ['Scalable Vector Graphics is Up For Candidate Recommendation before the W3C. 'Will it be a Flash killer?' Wonders Molly E. Holzschlag.] "Scalable Vector Graphics (SVG) is a perfect example of technology and design meeting on a level playing field. Via XML markup, you can create and implement graphic images, animations, and interactive graphic designs for Web viewing. Of course, browsers must support SVG technology, which is one reason that many developers haven't looked into it too seriously, or perhaps haven't heard of it. SVG is being developed under the auspices of the W3C. As a result, developers have worked to make it compatible with other standards including XML, XSLT, CSS2, Document Object Model (DOM), SMIL, HTML 4.0, XHTML 1.0, and sufficient accessibility options via the Web Accessibility Initiative (WAI). As of this writing, SVG's status is Candidate Recommendation. The working group responsible for SVG has declared it stable, and if it passes several more tests, it moves into the Recommendation phase. Perhaps the most important concept to grasp when first studying SVG is its scalability. Graphics aren't limited by fixed pixels. Like vector graphics, you can make scalable graphics larger or smaller without distorting them. This is very important for designing across resolutions. Scalable graphics adjust to the available screen resolution. This alone makes SVG attractive to Web designers, as it solves one of the most frustrating issues we face: creating designs that are as interoperable, yet as visually rich, as possible... While SVG support in browsers obviously isn't immediately available, it's a technology that's worth watching and using. The fact that major companies are investing time and money to create tools that support it is indicative of the hope SVG holds. What's more, the fact that standards compliance is being written into these tools early on is very exciting -- an unprecedented event when it comes to client-side markup! So while SVG might not be something you'll actually use for awhile, it's absolutely worth taking out for a test drive, if only for the sheer fun of it."

  • [May 18, 2001] "XML Technologies: A Success Story." By J. David Eisenberg. From May 16, 2001. ['XML's not just about big business. Read how XML technologies XSL-FO and SVG helped improve this year's California Central Coast Section High School wrestling tournament.'] "We've all heard stories of how new XML technologies have helped build immense corporate databases and complex, dynamic web sites. Well, this isn't one of those stories. This story is about how the Apache Software Foundation's XML tools helped improve this year's California Central Coast Section High School wrestling tournament... Since I'm using Linux and the CCS uses Windows, I needed a cross-platform solution. Adobe PDF format was the answer, and this is where Scalable Vector Graphics (SVG) and Formatting Objects to PDF (FOP) enter the story. Creating the Bout Sheet The bout sheet is not a typical text document; it's mostly a set of lines, empty boxes and a circle with minimal text labeling. Thus, I decided to use Scalable Vector Graphics (SVG) to describe the form, and use FOP as a wrapper to produce the desired PDF output. I took a ruler and an old bout sheet, redrew the lines, and measured the widths and locations of the boxes and text, and created the formatting objects XML file by hand...So after all that work and trouble, was it worth it? Yes. It took me less time to produce the bout sheet with SVG than it would have taken to find a Windows machine, learn to use a drawing program, and produce a file that would have been in a proprietary format. The bracket printout was also worthwhile, mostly as a learning exercise and also as a proof of concept. The PDF output also looks better than the RTF. Again, there was a time savings; it was easier for me to learn the syntax for formatting objects than it would have been for me to learn the RTF to produce an equally good-looking result in that format. Finally, the fact that I was able to accomplish all of these tasks with open source software is the icing on the cake."

  • [March 28, 2001] "An SVG Tool Kit for Java: Batik SVG Toolkit. [Product Review.]" By Clayton Crooks. In WebTechniques Volume 6, Issue 4 (April 2001), pages 40-41. ['Pros: Offers Java developers an easy way to add SVG capabilities to their programs. Cons: Unless you're developing custom solutions, apps are limited.'] "Batik, an open-source project lead by the Apache Software Foundation, is a Java-based tool kit for incorporating Scalable Vector Graphics (SVG) into applications. In addition to offering the developer tools that let you view, generate, or manipulate images, the Apache Software Foundation has released a set of applications with basic SVG functions that can be used with any standard application. The goal is to provide a complete set of core modules that can be used individually or together to develop SVG projects... Batik provides complete applications and modules, making it easy for Java-based applications to use SVG content. According to the Web site, using Batik's SVG Generator, you can develop a Java application to export any graphics format to the SVG format. Another application can be developed using Batik's SVG processor and Viewer to easily integrate SVG viewing capabilities. Still another application uses Batik's modules to convert SVG documents to various formats, such as popular raster formats like JPEG or PNG. Since its inception, Batik has been an open-source project. It was created when several groups working on independent SVG-related projects combined their efforts. The original teams included employees from industry giants like Eastman Kodak, Sun Microsystems, and IBM. The groups decided that their respective projects could benefit from the offerings of the others, and that combining the projects would result in a much more complete tool."

  • [March 22, 2001] "Tutorial: An Introduction to Scalable Vector Graphics." By J. David Eisenberg. From March 21, 2001. ['This introduction to SVG teaches you all you need to know about the W3C's vector graphics format in order to start putting it to use in your own web applications.'] "If you're a web designer who's worked with graphics, you may have heard of Scalable Vector Graphics (SVG). You may even have downloaded a plug-in to view SVG files in your browser. The first and most important thing to know about SVG is that it isn't a proprietary format. On the contrary, it's an XML language that describes two-dimensional graphics. SVG is an open standard, proposed by the W3C... This article gives you all the basic information you need to start putting SVG to use. You'll learn enough to be able to make a handbill for a digital camera that's on sale at the fictitious MegaMart..."

  • [February 07, 2001] W3C Scalable Vector Graphics (SVG) Test Suite [2nd Release]. On behalf of the W3C SVG Working Group, Chris Lilley (Working Group Chair) announced the completion of a second public release of the W3C Scalable Vector Graphics (SVG) Test Suite. SVG "is a language for describing two-dimensional graphics in XML which allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects." Details on the new test suite are provided in the Second BE Release Notes. The new release comprises 127 tests which have been updated to the latest SVG specification and extensively tested. "The latest release includes 'Basic Effectivity' tests - aiming for covering all of the spec, but not in fullest detail; further releases will add 'Drilldown Tests' which fully exercise all posibilities of particular features. Various test harnesses are available: (1) a frame-based harness, with the reference PNG and the test SVG presented side by side, together with instructions (for browser implementations and plug-ins) (2) an SVG-based harness which uses the SVG image element to include the actual test, and provides navigation links. To view the reference PNG and the instructions, you will need to also view (in an HTML browser) the reference PNG and instructions. (3) another SVG harness which displays the reference PNG and the SVG test image side by side, with navigation links. (4) a bare-bones harness with the reference PNG and instructions displayed in an HTML page; the SVG files are loaded one by one; suitable for standalone viewers or editors that do not implement the SVG image element fully. The accompanying SVG Conformance Suite Implementation Status document [Release 2.0 - 27 January 2001] "describes the results of particular SVG implementations tested against the SVG Conformance Test Suite." Implementation tested include Adobe, CSIRO SVG Toolkit, Batik, Ionic, Jackaroo, and JASC Web Draw. The goal in this test is to "demonstrate that every part of the SVG Candidate Recommendation specification can be implemented, as required by the SVG Candidate Recommendation exit criteria. For this, each BE test must be passed by at least one implementation. It is not an exhaustive test of all SVG implementations; the implementations listed here are the ones that were readily available at the time of conformance testing. This is also not a formal test, and thus does not rank the implementations. The purpose is purely to show that the SVG specification can be and has been implemented, and to demonstrate a good degree of interoperability between implementations. The package may be downloaded as a single zipfile for local/offline testing, along with the manual. [cache 'Status']

  • [December 04, 2000] "Sun Microsystems Continues Strong Relationship With the Apache Software Foundation on Technology Development and Distribution. Batik Project, a New XML-based Graphical Toolkit, Is Newest Addition to Joint Technology Initiatives." - "Sun Microsystems today announced that it has been working with the Apache Software Foundation on a new technology initiative, called Batik, an open source, Java technology-based toolkit for Scalable Vector Graphics (SVG). Batik was released in beta form today by Apache and is the third Apache project to which Sun has donated code and technical resources. Other projects include Jakarta, a collection of initiatives around JavaServer Pages technology (JSP) and Java Servlets technologies, and Xerces 2, a best-of-breed XML Parser. The Apache Software Foundations XML-Batik Project received contributions from a number of industry leaders including CSIRO, Eastman Kodak Company, ILOG, and Sun Microsystems. As with all Apache projects, the project exists through volunteer contributions to ensure each project continues to exist beyond the participation of individual volunteers, to enable contributions of intellectual property and funds on a sound basis, and to provide a vehicle for limiting legal exposure while participating in open-source software projects. These projects with Apache are testament to Suns commitment to deliver the best tools and technologies to developers who are building next generation, network-centric applications. Through partnerships, such as with the expert developers of Apache, and the open, inclusive Java Community Process (JCP) 2.0 program, Sun continues to listen closely to developers requests and quickly deliver on their requirements. Apache is also deeply involved in the JCP 2.0, having served on the interim Executive Committee (EC) and being voted onto the EC again last month in the JCP 2.0 elections... SVGs cross-platform, vendor neutral format for graphics, based on XML and developed through the W3C, is perfectly suited for the Internet and likely to become a solution for delivering graphics over the Web. The Batik project provides a toolkit, comprised of several modules, that enables Java technology developers to build Web-based applications that can handle SVG content. Sun has been instrumental in jumpstarting the Batik project at Apache, is contributing development resources, and has donated code, such as the SVGGraphics2D generator software, which allows Java technology-based applications to export graphics to the SVG format, as well as image encoders, and components such as gradient paints and filter effects. Other modules for Batik include: an SVG viewer that can be easily integrated into any Java technology-based application to display SVG images; an implementation of the Document Object Model (DOM) in SVG; and SVG transcoders, which allow SVG images to be converted to other formats, such as JPEG or PNG. The Batik toolkit itself is written completely in Java technology code, which means developers can rely upon the Java platforms promise of 'Write Once, Run Anywhere' when using Batik. For more information about the Batik project or to download the toolkit please see"

  • [December 04, 2000] "New ILOG JViews One Of First Products To Support SVG, Emerging XML Graphics Standard. JViews Developers Playing Role in Creation of New Open-Source Batik 1.0 Toolkit." - "ILOG today rolled out the new ILOG JViews Component Suite 3.5, supporting Scaleable Vector Graphics (SVG) and various Java thin clients. In addition to their work on this new release, ILOG JViews developers are playing a key role in the creation of today's beta release of Batik 1.0 by the Apache Software Foundation's XML Project. Batik is the first open-source SVG toolkit based on the Java platform and was developed with contributions from ILOG, Sun Microsystems, Eastman Kodak Company and CSIRO Australia. SVG is the World Wide Web Consortium's (W3C's) new graphics language based on eXtensible Markup Language (XML) and is expected to become the standard for web-based graphics. One of the reasons ILOG contributed its well-known expertise in 2D graphics to the development of Batik is because standardizing SVG will give programmers - and ultimately, end users - a vehicle for taking the visual web experience to a new level. Applications built with the Batik toolkit can leverage SVG via higher-quality graphics and interoperability than what has been available. Meanwhile, those applications with the greatest need for high-end graphics can utilize ILOG JViews for seamless integration of intuitive, interactive components such as Gantt charts, workflow modelers and maps. Never before have so many options been available for advanced web graphics. SVG support within the ILOG JViews Component Suite 3.5 combined with the new thin client support enriches the deployment options for ILOG's developer customers. Using the embeddable ILOG 2D libraries, developers can quickly create rich user interfaces deployed on fat clients as well as a range of thin clients. These include DHTML pages - the most common vehicle for displaying graphics in a browser - and SVG files on up to the most graphics-intensive Java applets. Client hardware can include PCs, workstations, personal digital assistants (PDAs) and other devices..."

  • [August 05, 2000] Sun Releases Tools for XML-Based Scalable Vector Graphics (SVG). Sun Microsystems recently announced the availability of several resources supporting the W3C Scalable Vector Graphics (SVG) specification, recently promoted to the level of a W3C Candidate Recommendation. Resources include: (1) Graphics 2D SVG Generator, which "allows Java language applications to export their graphics to Scalable Vector Graphics (SVG) format. You can then import the SVG files in the growing set of graphics editing tools that support SVG. The generator now supports all Java 2D API text rendering primitives, including AttributedCharacterIterator and GlyphVector. Furthermore, the generator can now optionally stream out SVG content using XML attributes or CSS properties for all the rendering attributes used in SVG." (2) SVG Slide Toolkit, "which transforms an XML file that uses a specific DTD into an SVG (Scalable Vector Graphics) slide presentation. This allows you to separate the content of a presentation from its look and feel. This separation allows you to modify independently the content, the presentation style or both. One advantage of this is that you can then use the same content for different audiences or events. Similarly, you can use the same look and feel for different content. The SVG Slide Toolkit includes the following components: Cascading stylesheet containing style definitions used by the elements in the generated SVG output file; DTD for slide presentations; Stylesheet for slide navigation; A test SVG file that you can use to verify that files were extracted properly from the archive and that the SVG viewer is installed correctly; Sample template file that you can use to create your own XML slide files; Presentation about SVG that you can use to test your installation and to learn more about SVG; Main (driver) stylesheet for building slides; Customizable stylesheet for slides." (3) Several introductory and tutorial articles describing SVG and its use with Java, including: (a) "Scalable Vector Graphics (SVG): An Executive Summary [by Vincent Hardy, Senior Staff Engineer, Sun Microsystems XML Technology Center] - this article "provides a brief introduction to SVG, followed by four examples of SVG graphics, and links to two code samples. (b) "Tutorial on Java Server Pages technology and SVG" - covers "Setting the generated document's MIME type, Declaring Java language variables, Using variables in the generated SVG content, and Extracting request parameters for use in the SVG content." (c) "Writing a custom Graphics2D implementation to generate SVG images", by Vincent Hardy - illustrates "how to take advantage of the Java 2D API's extensible architecture to write a new Graphics2D implementation, SVGGraphics2D, which allows all Java programming language applications to export their graphics to the SVG format." Other details are provided in a company announcement, "Sun Microsystems Delivers Tools to Help Developer Community Leverage XML Standards for Graphics. New Tools Enables Web Developers to Leverage Power of Java Technology and XML-based Scalable Vector Graphics (SVG)." The press release says, in part: Sun Microsystems, Inc. today announced the beta availability of the 2D graphics SVG generator software, downloadable for no charge at This easy-to-use tool, developed by Suns XML Technology Center, underscores Sun's commitment to provide the Java technology developer community with software that leverages the power and growing ubiquity of XML. XML's universal, standards-based syntax will play an important role in graphics rendering as well as data portability and usability, and Sun is progressive in meeting developer demand for the needed tools in these areas. Scalable Vector Graphics (SVG) is in development at the World Wide Web Consortium (W3C) and is a file format that describes two-dimensional vector graphics in XML. The latest specification was released by the for Candidate Recommendation today. The Java platform and XML are complementary technologies that together serve as the foundation for network-centric computing. Taking advantage of these technologies' synergy, Sun's 2D graphics SVG generator software allows Java technology applications to export graphics to the XML-based SVG format. The SVG files can then be imported into the growing number of graphics editing/authoring tools and viewers that support SVG. 'As our networked world takes shape, developers will increasingly require rich graphics that work well on a range of devices, screen sizes, and printer resolutions. SVG meets these requirements and finally brings the full benefits of XML, such as interoperability and internationalization, to the graphics space,' said Bill Smith, engineering manager of Suns XML Technology Center. 'Once again, Sun is pleased to deliver to its developer community a powerful tool -- the 2D graphics SVG generator software -- based on two open, industry collaborative technologies: the Java 2 platform and the XML-based SVG format.' SVG has many advantages over graphics formats in use today, such as JPEG or GIF. Since SVG is a plain text format, its files are readable and generally smaller than comparable graphical images. SVG images are also "zoomable" or "scalable", meaning users can zoom in on a particular area of a graphic, such as a map, and not experience any image degradation. Because SVG is scalable, SVG images can be printed with high quality at any resolution. Text within an SVG-based image, such as a city name on a map, is both selectable and searchable. Applications written in SVG can be made accessible through means for describing the visual information in textual detail. Lastly, SVG supports scripting and animation, which enables unprecedented dynamic, interactive graphics."

  • [October 26, 2000] What comes after XML? SVG might be the application everyone's been waiting for." By Uche Ogbuji. In SunWorld Online (October 2000). ['Are Powerpoint's days numbered? Author Uche Ogbuji introduces Scalable Vector Graphics (SVG) and demonstrates how to use Sun's new presentation toolkit for sharper slide presentations.]' "With the huge success of XML, a lot of speculation has arisen as to which XML-related technology was the real killer app waiting in the wings. As many experts will point out, XML is just syntax. Tim Bray, one of the fathers of XML, loves to note that XML is boring. The true magic of XML lies not in the basic syntax but in the many attendant standards that emerge as syntactical issues become effectively commoditized. So what's the XML killer app? I'd say there have been four major contenders for that title, each of which has received a lot of hype: XSLT, RDF, XLink, and SVG. Scalable Vector Graphics (SVG) is probably the least known of those technologies, but it may be the one most likely to make a splash in the world beyond data geeks. SVG is a 2-D vector graphics format entirely encoded in XML. It's a candidate recommendation of the W3C, which means it's pretty close to final, or recommendation, status. Some readers might be violently wagging their heads. In a previous Sunworld article, I gave an example of how bloated a sample purchase order became when converted from EDI to XML (over 10 times). XML formats tend to be more verbose. Why on earth would anyone use XML in such a typically byte-frugal area as graphical format? ... SVG's feature set includes nested transformations, clipping paths, alpha masks, raster filter effects, template objects and extensibility (it's XML, right?). SVG also supports animation, zooming and panning views, a wide variety of graphic primitives, grouping, scripting, hyperlinks, structured metadata, a specialized Document Object Model (DOM), and easy embedding in other XML documents. SVG supersedes PGML and VML, two earlier XML-based vector formats that spawned the political battles that fueled SVG's development... SVG is a marvelous technology. It must be mentioned that its proponents (myself included) should be careful not to turn it into the overhyped technology of the week. Its main revolutionary claim is to take a well-trodden problem space (vector graphics) and craft a solution that works with the rest of the XML universe. That sounds simple, but many sharks lurk in those waters, and the SVG WG did a tremendous job. Sun's SVG Slide Toolkit is a neat application of SVG's XML integration. It uses XML, SVG, XSLT, CSS, and XLink to turn very simple slide specifications into slick-looking slides that gain potential extensibility and power from SVG. Potential is the key word. The toolkit is a usable solution, but glitches and complex use and deployment mean that the user experience is much less friendly than the standard established by traditional presentation programs. That is not in itself a bad thing: the toolkit is definitely aimed at power users. But to make power users happy, it will have to make customization a straightforward task. Because SVG viewers are still emerging, even the modest goal of providing sophisticated slides to Unix users isn't met because only Adobe's SVG viewer for Windows can handle the output..."

  • [July 31, 2000] 'IONIC Software has released a suite of SVG Java beans components including a renderer that produces GIF, JPEG, PNG and WBMP output.'

  • Gill, a Gnome Illustration application. Part of the developing SVG support within the Gnome Project (GNU Network Object Model Environment.).

  • DMOZ references for SVG.

  • Scalable Vector Graphics Web site - Department of Computer Science, Concordia University

  • SVG Central. See the resources section.

  • [May 03, 2000] "Extensible Graphics with SVG." By Derrick Story. From The O'Reilly Network. April 28, 2000. "Wouldn't it be nice if the data could be processed by a script that automatically generated vector-based graphics that downloaded quickly from the web site? As an added benefit, wouldn't it be wonderful to be able to print those same graphics without loss of color or detail, nor displaying those ugly 'jaggies' that are often visible in low-resolution bitmap images. This is exactly the kind of challenge that the members of the W3C SVG (Scalable Vector Graphics) Working Group want to meet. The group is comprised of representatives from Adobe, Apple, Corel, HP, IBM, Macromedia, Microsoft, Netscape, Sun, Xerox and more. Soon, as a result of their efforts, we'll have a standard vector graphics language that enables gradients, embedded fonts, and filter effects that's written in editable XML-based code that's fully scriptable. Smart SVG SVG graphics are: (1) Vector-based and require less bandwidth to deliver on the Web than bitmap graphics such as GIFs and JPEGs. (2) An application of XML and have the flexibility of extensible code. (3) DOM compliant and are scriptable."

Hosted By
OASIS - Organization for the Advancement of Structured Information Standards

Sponsored By

IBM Corporation
ISIS Papyrus
Microsoft Corporation
Oracle Corporation


XML Daily Newslink
Receive daily news updates from Managing Editor, Robin Cover.

 Newsletter Subscription
 Newsletter Archives
Globe Image

Document URI:  —  Legal stuff
Robin Cover, Editor: