Up to cover page | Back to ECMAScript binding
WebCGM 2.0 — Appendixes
In addition to the listed editors of
this specification, the following individuals have contributed significantly
to the present WebCGM specification:
- Forrest Carpenter, System Development Inc.
- Franck Duluc, Airbus
- Stuart Galt, The Boeing Company
- Ulrich Laesche, Ematek Informatik GMBH
- Don Larson, Larson Software Technology
- Kevin O'Kane, Auto-trol Technology
- Robert Orosz, Auto-trol Technology
- Andrew Moorhouse, UK Ministry of Defence
- Dieter Weidenbrueck, ITEDO
- Ralf Berger, ITEDO
- Chris Lilley, W3C
- Thierry Michel, W3C
- Felix Sasaki, W3C
- Kentarou Fukuda, IBM
- Al Gilman, W3C Invited Expert
The following other individuals made significant contributions to WebCGM
1.0:
- Maryse Da-Ponte, Airbus
- Bruce Garner, Analyst/Consultant
- Alan Hester, Xerox Corporation
- Bob Hopgood, CCLRC
- Brad Powell, Zeh Graphic Systems
- Dave Rahnis, Bentley Systems
- Lynne Rosenthal, NIST
- John Gebhardt, Intercap Graphics Systems
- Roy Platon, CCLRC
- Ty Bartosh, Jeppesen Inc.
This section is informative (non-normative).
- WebCGM DOM. A major functional addition is a limited WebCGM Document
Object Model (DOM), carefully targeted at the WebCGM 2.0
requirements.
- WebCGM XCF. The second major functional addition is the definition of a
standard XML Companion File for use by WebCGM (and related) applications,
closely integrated with WebCGM DOM.
- Event model. As an adjunct to the DOM definition, a more detailed event
model has been specified, allowing definition and attachment of user
event handlers to objects, and specifying how "pick" events are handled
in a backward compatible way to WebCGM 1.0.
- Complementing the event model, a new param sub-element is added to the
OBJECT element, to allow handling of onload events.
- Single picture. Whereas ISO CGM:1999 allows multiple independent
pictures in a metafile, and WebCGM 1.0 originally did, multiple pictures
were deemed not amongst the requirements for WebCGM. To simplify WebCGM,
they were deprecated in WebCGM 1.0 2nd Release, and are now removed from
WebCGM 2.0.
- Fragment syntax. Small changes to allowable values, in order to embody
the single-picture rule, but the overall structure of the fragment is
unchanged for backward compatibility.
- Fragment syntax and xcfterm. It is now possible in the link fragment to
specify to load-and-apply an XML companion file before first display of
the graphics of a targeted picture.
- More object behaviors. The set of object behaviors that can be included
in the link fragment syntax has been expanded to give much more user
control. A set of behaviors is built from EBNF syntax, by combinations of
an orthogonal navigation term and highlighting term. The 3 behaviors of
WebCGM 1.0 are deprecated.
- Grnode. WebCGM 2.0 defines a purely graphical grouping mechanism,
"graphical node", which groups graphical primitives as an Application
Structure, but disallows the attributes or properties that associate
intelligence with objects.
- New APS attributes. WebCGM defines new APS attributes of type
'visibility' and 'interactivity' that may be applied to most object (APS)
types.
- Style Properties. For use in DOM and XCF, WebCGM 2.0 defines a set of
Style Properties -- text color, stroke weight, etc -- that transiently
(for the duration of a DOM or viewing session) override the corresponding
CGM attributes for targeted picture and APS nodes.
- URI versus IRI. Unifying different implementation interpretations of
WebCGM 1.0, WebCGM 2.0 clarifies that IRIs (Internationalized Resource
Identifiers) are used to reference resources, and describes how agents
handle them before passing to URI (Uniform Resource Identifier)
resolvers.
- Obsolete features. A number of previously deprecated WebCGM 1.0
features are made obsolete
(removed from WebCGM 2.0).
- Deprecated features. A number WebCGM 1.0 features are deprecated in WebCGM 2.0 (may be
removed in a future revision).
- Symbol Libraries. This capability was in WebCGM 1.0, but was removed
from WebCGM 2.0 because of lack of interest (POLYSYMBOL, several SYMBOL
LIBRARY elements, some registered ESCAPEs, etc).
- 2.0 and has added some graphical items that were deferred from WebCGM
1.0 (for expedience)
- NUBS and NURBS
- clipping to regions other than rectangles
- increased sizes for Cell Array and Tile Array elements
- Auxiliary Colour and Transparency
- text-on-path (i.e., text layout along arbitrary paths)
- increased sizes for Closed Figure elements
- API, Application Programming Interface
- An Application Programming Interface (API) is a set of functions or
methods used to access some functionality.
- Application Structure, APS
- The CGM structure for grouping other elements and assigning them a
unique identifier, a type, and attaching attributes. WebCGM contains
five valid APS types: grobject, layer, para, subpara, grnode.
- APS Attribute, Application Structure Attribute
- The CGM element that is used to define and associate an attribute
with an APS. WebCGM contains ten valid APS Attribute types: region,
viewcontext, linkuri, layername, layerdesc, screentip, name, content,
visibility, interactivity.
- Cascading profile
- A method by which closely related profiles can be expressed
efficiently, by only enumerating the differences between a given
profile and a base profile such as WebCGM.
- CGM, Computer Graphics Metafile
- ISO/IEC standard 8632:1999 (CGM:1999), CGM is a metafile format
consisting of composite raster and scalable vector graphics
information.
- DOM, Document Object Model
- A Document Object Model is a platform- and language-neutral interface
that allows programs and scripts to dynamically access and manipulate
the content, structure and style of documents. WebCGM defines a DOM of
limited scope, allowing discovery and navigation of the WebCGM
structure tree, transient manipulation of styles and standardized
metadata, and discovery and manipulation of application-specific
metadata. The WebCGM DOM is based upon and borrows from the principles
the W3C DOM Level 2 and DOM Level 3 Recommendations.
- EBNF, Extended Bauer Normal Form
- A formal specification technique used in WebCGM to express pieces of
grammar and syntax such as the IRI fragment syntax.
- fragment (IRI fragment)
- As standardized in RFC 3986 and RFC 3987, the fragment is a part of a
IRI that is separated from the path/file name by a "#" character, and
provides information that is reserved for processing by agents that are
invoked by the browser to handle the resource information type of the
IRI. WebCGM standardizes the syntax and semantics of such fragments,
for transmitting object and picture selection and behavior information
to WebCGM viewers.
- handler, event handler
- An event handler is a method called by the WebCGM DOM implementation
whenever a specified event occurs. Users register the event types they
are interested in by calling the addEventListener() method of the
WebCGMMetafile object.
- host application
- The user agent, typically is a script that controls the behavior of a
web page. In the context of WebCGM the host application controls the
behavior of the WebCGM renderer through the DOM.
- host document
- The web page, contains a combination of both HTML and WebCGM
content.
- host environment
- The combination of the host application and the host document
- inheritance
- The determination of values of APS Attributes and Style Properties
for objects in the WebCGM hierarchical object tree, when all aspects
have not been explicitly specified for all objects in the tree. WebCGM
defines an inheritance model that is closely based on CSS (Cascading
Style Sheets, a W3C Recommendation).
- interactive region
- the effective geometric region for the purposes of all interactive
cursor and mouse operations, such as picking and mouseover. By default,
the drawn graphical primitives of the object define the
interactive region. For filled-area primitives this includes: the edge,
if edge visibility is 'on'; the interior, if the interior style is
other than 'empty' or 'hollow'; and, the boundary, for interior style
'hollow'. For all graphical primitive types, drawn graphical
primitives exclude any that are fully transparent (so a fully
transparent object is equivalent to an empty object, for purposes of
interactive region definition). If the object contains a 'region' APS Attribute, then
that region area is the interactive region.
- listener, event listener
- The event listener specifies the interface via which users register
event handlers with the WebCGM DOM implementation. This interface
consists of a single method, handleEvent(), which the WebCGM DOM
implementation calls whenever specified events occur. Users pass
WebCGMEventListener objects as arguments to the addEventListener()
method of the WebCGMMetafile object to register a specific event
handler with the WebCGM DOM implementation.
- metadata
- Non graphical information contained within or associated with
standard graphical files, in WebCGM metadata supports such ancilliary
functions as hierarchical picture structuring, object identification
and navigation, and association of application-specific non-graphical
data with graphical objects.
- metafile
- A mechanism for retraining and transporting graphical data and
control information, containing a device independent description of one
or more pictures.
- namespace, NS
- A method devised and standardized by the XML Namespaces
standard, namespace provides a way to distinguish to which
specification and grammar elements and attributes belong, when
information from distinct XML languages is mixed in the same document.
WebCGM uses namespaces to separate standardized WebCGM XCF elements and
attributes from embedded and intermingled application-specific
metadata.
- Normalized Device Coordinates, NVDC
- The coordinate system that is used to communicate coordinate data
through the WebCGM DOM, NVDC is VDC normalized so that the origin is
lower-left and units are millimeters.
- object
- An Application Structure or Picture in a WebCGM.
- object behavior
- One of a set of (thirteen) ways in which the view of an object or
collection of objects is presented following the execution of a
hyperlink to the object(s). WebCGM standardizes a number of objects
that give complete control over the zoom, pan, and highlight aspects of
the view.
- picture behavior
- One of a set of ways in which the view of a picture (CGM) or document
(HTML) is handled following the execution of a hyperlink to the
content. Based on the 'target' attribute of the HTML 'a' tag, picture
behaviors allow the specification of the new view to occur in a new
window, to overwrite the whole contents of the source window, to
overwrite the parent window, etc.
- PPF, Profile Proforma
- A method of expressing profiles standardized in CGM:1999 (clause 9),
the PPF presents a profile as a single table covering all aspects of
the CGM standard, with a reference column (enumerating a Model Profile
or other base profile), and a column to define the target profile by
comparison to the reference column.
- Style Property
- A graphical attributes that may be applied and manipulated at the APS
or picture level, transiently, by WebCGM DOM and WebCGM XCF. WebCGM 2.0
defines nine style properties.
- target rectangle
- A rectangular region around the target object(s) that is used for the
application of object behaviors following hyperlink execution. The
target region is defined by APS Attributes and/or target geometry, and
for example provides the area to be encompassed by a zoomed view.
- WDOM, WebCGM DOM
- The WebCGM Document Object Model, this terminology is used when it is
needed to unambiguously distinguish the WebCGM DOM from the generalized
W3C DOM specifications.
- XCF, XML Companion File
- An XML file format defined by WebCGM, that can be used to externalize
metadata from WebCGM instances and bind it to objects in the
metafile.
This section is informative (non-normative).
Note: Taken together, the following subsections
list all significant changes to the content of the WebCGM 2.0 specification
since its November 2005 publication as an OASIS Committee Specification (CS).
It is the November 2005 CS that was submitted to W3C under the OASIS-W3C Memorandum
of Understanding, for simultaneous completion of technically identical
standards in both organizations.
- ---20061106 OASIS 2nd Committee
Specification text includes all of below editorial changes---
- In section 1.9, "Roadmap to
this specification", added guidance about viewing the WebCGM examples
in DOM chapter.
- In 3.1.2.2, editorial
clarification of description of _replace behavior (esp. removing wrong
implication that the concept is unique to WebCGM).
- In section 3.4, remove
extraneous ";" in the two occurrences of the
<object...>
element.
- ---20060905 Proposed Recommendation text includes
all of below changes---
- Added informative Appendix E, "WebCGM
accessibility" -- written in collaboration with WAI PF.
- Added WCAG and UAAG to Chapter 1 References.
- Removed ancient, pre-W3C parts of Change log.
- ---20060905 Candidate Recommendation text includes
all of below changes---
- As appropriate, correct the archaic CGM:1987 "character set"
terminology to "character encoding" (per CharMod) in T.14.4, T.14.5, and
T.16.14 of the Profile (PPF).
- Correct the archaic CGM:1987 "character set" terminology to "character
encoding" (per CharMod) in 2.5.2 and 2.5.4.
- In Normative references
(1.2), remove the specific reference for Unicode, leaving just the
generic reference.
- Clarify the picture interface
highlight method, aligning it with the corresponding fragment object
behaviors and factoring out the "clear" functionality into a separate
method.
- Update the ECMAScript binding with the
highlight
and clearHighlight
method
changes.
- Revised first paragraph of Abstract, to include more introduction
to CGM and ISO CGM:1999.
- In PPF, added mitre limit
rendering corrections to IIR, added IIR reference to MITRE LIMIT
element.
- Fixed <title> element on each chapter to match the written title
in the page heading.
- Adjusted Cover Page for CR status, edited
SoTD for CR details and exit criteria, changed style sheet to CR in all
files.
- ---20060623 Last Call text includes all of below
changes---
- Fix the format of numerous References
(both normative and non-normative), correct a couple of references (such
as to WebCGM 2.0 Requirements).
- Fix 3.1.2.2 (picture
behaviors) and 3.1.2.7 to
be more "CDF friendly", generalizing about resource types and
presentations contexts.
- Change URI terminology to IRI terminology throughout, and add some
description to 3.1.1.1.
- In Chapter 5 (DOM), change parameter
name 'namespaceURI' to 'namespaceIRI' and 'fileURI' to 'fileIRI'.
- Fix cover page appropriately for W3C-OASIS
collaboration.
- Fix header line at the top of each Chapter.
- ---20060528 editors draft includes all of below
changes---
- Change listing of Example of
5.7.5 so that mime type is text/ecmascript.
- Fix "Editions and releases of
WebCGM" (1.8).
- Add Unicode to "Normative
references" (1.2), in both "generic" and "specific" form, add ISO
10646 reference in "generic" form, add UTF-8 & UTF-16.
- Correct the 5th line to "var cgmDoc;" in executable examples
of WebCGMEventListener (5.7.9) and
WebCGMEvent (5.7.10),
and in ex_WebCGM_Event.html and ex_WebCGM_EventListener.html.
- Typo, change 2nd occurrence of "Actual" to "Used" in
second-to-last sentence of 5.4.2.4.
- Revise the 3rd paragraph of hyperlinking conceptual
description (2.3.6) to clarify about rfc3986 and point off to
appropriate normative sections.
- Reword the first paragraph of the hyperlinking conceptual
description (2.3.6) to remove unintended "bi-directional"
implications.
- Clarify normative descriptions of para/subpara/content (3.2.1.3, and 3.2.1.4, and 3.2.2.8).
- Clarify conceptual descriptions of para/subpara/content (2.3.2 and 2.3.4) and add forward
links to Ch.3 normative descriptions.
- Editorials in "Overlaying
a picture" section (2.2.3) -- Change "object tag" to "object
element", and "TRANSPARENT" to "background".
- Add some more detail to the discussion of WebCGM drawing model
(2.2.2).
- Update PNG reference in "Normative references" (1.2), add
ISO Register of Graphical Items.
- Rewrite summary of behaviors
section (3.1.2.7) to clarify references and purpose of
incomprehensible table.
- Remove apparent contradiction from XCF-application description
(3.1.2.6) and clarify that the requirements are only for DOM-supporting
viewers.
- Clarify that XCF-relative-URI
description (3.1.1.5) is only about the resolution of an XCF
reference within the fragment of a WebCGM reference.
- Add unicode UTF-16 reference to normative references (1.2)
- Clarify <pict-part>
wording (2.3.6) about backward compatibility with 1.0.
- Restore the WebCGM 1.0
pictseqno ::= (digit)+
production
in the fragment EBNF
(3.1.1.2).
- Rewrite 1st pgph of picture selection description
(3.1.2.1) to clarify about mixed-version 1.0/2.0 environments, and
restore the missing WebCGM 1.0 out-of-range rule for pictseqno.
- Clarify the 'src'
attribute description on WebCGMMetafile interface (5.7.3).
- Correct the declared type of
getAppStructureById to WebCGMAppStructure in the IDL and description
(5.7.5), and the ECMAScript (ch.8); fix
the cut-paste error in the return-value description.
- Correct mapping of deprecated highlight and highlight_all object behaviors (3.1.2.4.1) to
full+newHighlight.
- Fix typo ("v2.0") in DOCTYPE example of XCF namespace (4.2.3) section.
- Fix typo, remove deprecated value "2" from valid compression types list
of TILE (T.19.29).
- Fix typo (missing quotes) to existing fragment EBNF
(3.1.1.2).
- Add extensibility entities to the 'linkuri' element of the XCF
(4.3.8), to the complete DTD
(4.4), and to the standalone DTD file
(webcgm20.dtd).
- Typos in WebCGMPicture interface
(5.7.5) descriptions -- getAppStructureById returns WebCGMNode, not
boolean; state parameter of highlight() description missing.
- Add a new toNodeList() convenience method to WebCGMAppStructure (5.7.6) IDL and
method description, and fix the ECMAScript
binding (ch.8).
- add some intra-ch.7 links and emphasis, fix typo in 6.18, ...
- fix mislabelled Appendices B..D; change "listed authors" to "listed
editors" in Appendix A.
- change document to W3C Working Draft, incl. all stylesheet references,
...
- ---20060313 W3C-published Submission text includes
all of below changes---
- W3C pubrules alignment changes made by Chris Lilley.
This section and its subsections are informative
(non-normative).
Topics such as internationalization and accessibility have been addressed
by W3C in other Recommendations available on the Technical Reports page. The
relationship between the specifications of technology modules, such as this
one, and those cross-cutting recommendations is discussed in the Specification
Guidelines. As suggested in the Specification Guidelines, this
section identifies some relationships between the capabilities afforded by
WebCGM features and accessibility requirements established by other
Recommendations.
Although a WebCGM metafile is a binary file format, it has systematic
grouping and annotation features that foster accessibility of WebCGM metafile
content. For example, graphical text is ideally stored as Unicode text
strings within the metafile, but to handle cases where graphical text images
are actually the result of other vector (e.g. stroking) or raster (e.g.,
bitmaps) graphics in the metafile, WebCGM has the attribute 'content'
on the para and subpara objects, that gives the text-string equivalent of the
rendered graphical text.
Features that are in the binary metafile itself will, unlike clear-text
formats such as HTML, XML, and SVG, require the cooperation and intervention
of the WebCGM authoring tools and viewers. As described in [Essential Components of Web
Accessibility], several components such as authoring tools, media viewers
and developers, have to work together to improve Web accessibility.
Therefore, the discussions in the following sections are recommendations to
content developers, and builders of authoring tools and viewers.
By Guideline 9 "Provide navigation mechanisms" of [UAAG10] a WebCGM viewer is expected to
let users interact with 'enabled' and significant objects in the image.
'Enabled' objects are those which accept user input, such as on screen
buttons. By the structure of WebCGM, each APS should be treated as a
significant object and be reachable by navigation techniques. By Guideline 1
"Support input and output device independence" the reach of keyboard-actuated
navigation should cover this whole set of navigation destinations.
Some notion of forward and backward motion among peer nodes in the WebCGM
image should be provided. This should by default move among paragraphs and
sub-paragraphs in the order in which they appear in the metafile. The
creators of WebCGM instances should ensure that this results in a sensible
reading order. However, efficient motion as called for in [UAAG10] Checkpoint
9.9, is not likely to result from one global list or loop of all the
plausible navigation destinations. Exploiting the structure of the metafile,
structured navigation could take hierarchical or categorical forms. In
hierarchical navigation, forward and back motion moves among peer nodes at
the same level in the layers-and-objects nesting tree. In categorical
navigation, the sequential navigation could exhibit navigation modes which
visit only 'grobject' nodes, or only the 'gropbject' nodes with a common
'name.' An example of hierarchical navigation is provided by the player
behavior for the [DAISY] standard digital talking book. An example of
categorical structured navigation is provided by the diverse navigation modes
of the Opera browser. The creators of WebCGM instances should ensure that the
layers-and-objects nesting forms a plausible table of contents as annotated
with the textual properties (see E.3 below) of the affected nodes, and that
collecting nodes of like 'name' forms meaningful slices of what is in the
scene.
In this version of WebCGM, there are no intra-metafile controls to alter
the navigation graph. In a scenario where such capability is desired, the private-namespace
extension feature of the XCFcan be used to introduce further intelligence
associated with the contents of the metafile proper.
Web Content Accessibility Guidelines such as [WCAG10] require that essential
information be available in text form. Some key examples are:
- text alternatives for all text content, such as the 'alt' attribute on
an 'img' element in HTML and XHTML.
- labels for form controls such as the 'input' element type in HTML.
- the text content of hyperlinks should provide a standalone orientation
to where you are going if you follow the link.
WebCGM contains attributes that associate text with things in the depicted
scene, and can be used to meet these requirements.
- The 'content'
ensures that when there is text in a bitmap, the text content is
available as computer text.
- The 'screentip'
attribute is allowed on all objects (APS) Its behavior and usage parallel
that of the 'title' attribute in HTML.
- The 'layerdesc'
attribute is allowed on 'layer'
APS types. This should be used roughly as the 'longdesc' attribute
in HTML
- On hyperlinks ('linkuri'
APS attribute), the attribute components "Link
Title" (in metafile instances) or 'desc'
(in XCF instances) provide a textual identification of where the link
goes. Creators of WebCGM instances should ensure that the content
available through these features provides a good orientation to the link
destination.
This essential content, if not always presented to the user, must be
considered 'conditional content' in the sense of [UAAG10], Checkpoint
2.3. That checkpoint gives some latitude to the viewer as to
whether to present these attributes globally through view-mode controls or
locally in response to focus and inspect actions of the user.
WebCGM viewers should also make this textual information available to
assistive technology through the accessibility API appropriate to the
programming platform, following [UAAG10], Guideline
6.
Note. It might be thought that the 'name'
APS attribute could or should be used in a manner like 'alt' on 'img' in
HTML. This is not the design intent of the 'name' attribute. It has
well-defined category, not instance, semantics and associated categorical
navigation behavior.
WebCGM 2.0 supports transient, display-time control of a number of display properties
of objects. These can be manipulated via the WebCGM DOM, and are also
available via the XCF mechanism. Although WebCGM does not support conventional styling, an (external) XCF
can function similarly to an external style sheet. For improved
accessibility, WebCGM 2.0 viewers should provide some user control of
rendering. Use of these mechanisms partially supports the recommendations of
[WCAG10], Checkpoint 3.3 and
[UAAG10], Guideline
4.
By default, WebCGM viewers allow the user to navigate to and interact with
only enabled elements (i.e. element whose 'visibility'
attribute is 'on'). Objects which are not visible do not display tooltips
(the 'screentip' APS attribute), may not be highlighted without making them
visible, and may not be navigated to via the picture behaviors (whether in
picture fragments or DOM src parameter).
In addition, WebCGM viewers can offer a mode where, at user option, the
'visibility'
attribute is ignored, for accessibility or debugging support. It meets a
requirement of [UAAG10], CheckPoint
9.3.
Back to top of Appendixes