Common graphical object models and how to translate them to SVG

Dr. Philip A. Mansfield (SchemaSoft)

SVG was designed as a general-purpose vector graphics language primarily for Web delivery. Its utility in specific application domains is partly dependent on the degree to which popular domain-specific formats can be mapped to SVG. Examples of domains and formats of interest are shown in the table below.

Domain

Representative Format

Frame-based animation

Macromedia Flash SWF

Presentations

Microsoft PowerPoint

Professional graphics

Adobe Illustrator

Schematics

Microsoft Visio

Computer-aided design

Autodesk AutoCAD

Geographic information systems

OGC Geographic Markup Language

Charts

Microsoft Charts

Formulas

W3C Mathematical Markup Language

An object model can be ascribed to each domain-specific format, whether or not that format has an official DOM specification. The problem of mapping to SVG can then be represented as a set of object model transformations.

This paper reports on a large collection of completed software development projects involving translation of graphical formats to SVG. In particular, we present methodology, tools, examples, and lessons learned from the work.

Methodology

We will briefly demonstrate how to

  1. Classify formats into application domains
  2. Determine object model information for representative formats
  3. Map representative object structures from domain-specific formats to SVG
  4. Implement software to perform these mappings
  5. Automate the implementation of mapping software with SVG as its target

Tools

An XML infrastructure has been developed to systemize the storage and analysis of object model information and mapping information. This infrastructure includes a DTD for encoding graphical file format features and mappings, as well as various XSLT files that present selected information as SVG or HTML. A RAD tool has also been developed to automate the process of creating translation software from XML formats to SVG. The ultimate goal is to complete the picture with a tool that automates the creation of binary format parsers that “dump” their results as XML, thereby speeding up development at every stage of the graphical format translation problem.

Examples

We present some of the more interesting object model transformation problems solved along the way, such as how to use parameter-based animation (SMIL) to efficiently replicate frame sequences and sprites.

Lessons Learned

Just as there are design patterns appropriate for the study of object models, there are mapping patterns appropriate for the study of mappings between object models. It is important that the tools to facilitate graphical format conversion be tuned to the mapping patterns commonly needed. We will report on the process of creating graphical conversion tools, the need for a flexible design, and the adaptations that were necessary as we went along.

Dr. Philip A. Mansfield
SchemaSoft
#350 - 1190 Homer Street
Vancouver, BC  V6B 2X6
Canada
email: philipm@schemasoft.com
tel:   604-682-3404 x142
cell:  604-763-8558
fax:   604-682-3432
web:   http://www.schemasoft.com