XML Europe 2002 logo

WebCGM DOM - External Control for Web Graphics

Abstract

The CGM Open Consortium is made up of CGM technology vendors, users, and standards participants. Working with W3C graphics resources, the CGM Open Consortium developed the WebCGM Profile as an approved W3C Recommendation in 1999. Since that time several CGM products have appeared making use of WebCGM to deploy interactive graphics in the Web environment. The interoperability of WebCGM has been demonstrated several times by the vendors involved in CGM Open. Recently, DOM functionality has been demonstrated by these vendor products and, the CGM Open Technical Committee initiated a project to standardize this functionality through the development of a DOM.

The development of a WebCGM DOM represents a breakthrough in externally and interactively controlling the behavior of CGM V4 application structures and graphical primitives via the JAVA binding of IDL (Interface Definition Language). The object model in WebCGM describes various non-graphical attributes that are associated with application structures. The ability to control the values associated with these attributes facilitates reuse of CGM graphics in different contexts. The CGM standard defines various control and attribute elements associated with graphical primitives. The ability to control the values of these elements facilitates the graphical styling of the graphical primitives and enables cleaner interactive feedback to the user interface.

Keywords

»DOM, »IDL, »WebCGM, »XML.

Table of Contents

1. Background
2. Industry Requirements
3. WebCGM Application Structures
4. WebCGM DOM Requirements
4.1. CGM Level Control
4.1.1. CGM Metafile Attributes
4.1.2. CGM Picture Attributes
4.1.3. Graphical Primitive Attribute Control
4.2. Application Structure Level Control
4.2.1. Layer Application Structure Attributes
4.2.2. Grobject Application Structure Attributes
4.2.3. Para/subpara Application Structure Attributes
4.2.4. Graphical Primitive Attribute Control
4.3. Browser Interactive Event Requirements
5. Development Status
Glossary
Biography

1. Background

Computer Graphics Metafile (CGM) became an international standard in 1987 (ISO/IEC 8632:1987). Several amendments were written to the standard and it was republished in 1992 (ISO/IEC 8632:1992) including amendments defining versions 1, 2, and 3, and again in 1999 (ISO/IEC 8632:1999) to include amendments covering the rules for profiling and the addition of version 4 application structuring elements (intelligent graphics).

In 1989 the Air Transportation Association (ATA)Graphic Working Group adopted CGM as the interchange standard for vector graphics. In 1994 the ATA graphics interchange specification (GREXCHANGE) be came the first industry CGM profile that was compliant with the Rules for Profiles amendment to the CGM standard.

In 1998 a group of CGM technology vendors, users, and standards participants formed an international consortium called CGM Open. In response to a pair of baseline documents generated by the World Wide Web Consortium (W3C) graphics activity group (“Scalable Graphics Requirements” in 1996 and “Use of CGM as a Scalable Graphic Format” in 1997), the first activity in the CGM Open technical agenda was to create a CGM profile to address the W3C needs. The WebCGM profile was based on the ATA GREXCHANGE profile with application structuring extensions to support web navigation requirements. WebCGM V1.0 gained W3C approved specification status in January of 1999. In December of 2001 WebCGM V1.0 Release 2 was published to correct a set of defects identified during implementation of the original specification.

Recently the CGM Open technical agenda has included development of a WebCGM Document Object Model (DOM). The WebCGM DOM will allow WebCGM browsers to control the graphical display behavior of WebCGM files without physically changing internal graphical and application structure attributes.

2. Industry Requirements

WebCGM is targeted to satisfy a set of requirements for interactive graphics within technical documentation. Technical documentation deal with maintenance and repair typically consists of line art representing procedures. While the WebCGM profile was based on air transport industry requirements, similar requirements exist in the aerospace, defense, automotive, transportation, and telecommunications industries. Many of these industries have already adopted WebCGM or the ATA profile as their vector interchange profile.

3. WebCGM Application Structures

There are four basic application structure types defined for a WebCGM file. They are “layer”, “grobject”, “para”, and “subpara”. The layer application structure may contain grobjects and paras. Attributes associated with the layer application structure are an identifier (id), a layer name (layername), and a layer description (layerdesc). The grobject application structure may contain paras or other grobjects. Attributes associated with the grobject application structure are id, a region to support events (region), a default view area (viewcontext), a web address to support navigation (linkuri), a text string to be displayed on mouse over (screentip), and common name (name). The para application structure may contain subparas. The attributes associated with both para and subpara are id, region, linkuri, screentip, and a string to capture the textual content (content).

4. WebCGM DOM Requirements

Based on the structure of a CGM file and the content model in WebCGM, the CGM Open technical committee has defined a set of requirements for the control and access of attributes within the WebCGM structure.

4.1. CGM Level Control

4.1.1. CGM Metafile Attributes

Access to the following CGM metadata is required.

  • File name — readonly

  • URL — readonly

  • Metafile version — readonly

  • Metafile description attributes — readonly

  • Parent — readonly

  • Enumeration of children — readonly

4.1.2. CGM Picture Attributes

Access to the following picture metadata is required.

  • Picture name — readonly

  • VDC extent — readonly

  • Parent — readonly

  • Enumeration of children — readonly

  • Enable/disable links within children — read/write

4.1.3. Graphical Primitive Attribute Control

Access to the following graphical primitive metadata is required.

  • Color/intensity — read/write

  • Line/edge weight — read/write

4.2. Application Structure Level Control

4.2.1. Layer Application Structure Attributes

Access to the following layer application structure metadata is required.

  • Identifier — readonly

  • Layer description — readonly

  • Layer name — readonly

  • Parent — readonly

  • Enumeration of children — readonly

  • Visibility — read/write (visible, invisible, or inherit)

  • Enable/disable links within children – read/write

4.2.2. Grobject Application Structure Attributes

Access to the following grobject application structure metadata is required.

  • Identifier — readonly

  • Name — readonly

  • Region — readonly

  • View context – readonly

  • Linkuri and content — read/write

  • Screen tip — read/write

  • Parent — readonly

  • Enumeration of children — readonly

  • Visibility — read/write (visible, invisible, or inherit)

4.2.3. Para/subpara Application Structure Attributes

Access to the following grobject application structure metadata is required.

  • Identifier — readonly

  • Region — readonly

  • View context — readonly

  • Linkuri and content — read/write

  • Screen tip — read/write

  • Content — readonly

  • Parent — readonly

  • Enumeration of children — readonly

  • Visibility — read/write (visible, invisible, or inherit)

4.2.4. Graphical Primitive Attribute Control

Access to the following graphical primitive metadata is required.

  • Color/intensity — read/write

  • Line/edge weight — read/write

  • Text font — read/write

  • Text font size/scale factor — read/write

4.3. Browser Interactive Event Requirements

The following events are supported in the WebCGM DOM.

  • OnClick

  • OnMouseOver

  • OnMouseOut

  • OnLoad

  • OnUnload

5. Development Status

Currently the CGM Open consortium technical committee is in the process of encoding the WebCGM DOM requirements in Interface Definition Language (IDL). Initial browser implementations have been developed demonstrating the control of graphical behavior through a DOM interface.

Glossary

ATA

Air Transportation Association

CGM

Computer Graphics Metafile

DOM

Document Object Model

IDL

Interface Definition Language

W3C

World Wide Web Consortium

Biography

Technical Fellow

Dave Cruikshank is a Technical Fellow with The Boeing Company in the area of graphics and digital data interchange. He is the Chief Technical Officer of the CGM Open consortium. He is the co-chair of the ATA Graphics Working Group and the author of the ATA graphics specifications. He is also the technical architect of the ATA intelligent graphics model and contributed to the development of the Application Structuring amendment of the CGM standard. He has several years of experience with CGM, SGML, and XML interchange.

Ulrich Laesche is CEO of EMATEK Informatik GmbH, a Cologne, Germany, based company specializing in CGM products and services. Ulrich was responsible for the commercial implementation of several computer graphics ISO standards and for some time now focuses on CGM standardization, implementation and projects in the area of technical documentation for the manufacturing industry.