XML News from Monday, April 25, 2005
The W3C Compound Document Formats Working Group has published the
second public Working Draft of Compound Document by Reference Use Cases and Requirements. "The Compound Document Formats Working Group is producing recommendations on combining separate component languages (e.g. XML-based languages, elements and attributes from separate vocabularies), like XHTML, SVG, XForms, MathML, and SMIL, with a focus on user interface markups. When combining user interface markups, specific problems have to be resolved that are not addressed by the individual markups specifications, such as the propagation of events across markups, the combination of rendering or the user interaction model with a combined document. The Compound Document Formats working group will address this type of problems. This work is divided in phases and two technical solutions: combining by reference and by inclusion.
The group is addressing the semantics of combining markups, which goes beyond the mechanics and syntactical elements used to combine markups. The semantic of combining markup is, to a large extent, specific to any two markups being combined. For example, including SVG markup in an XHTML document can be done in various ways and there is a need to define how the combination is done and what it means, especially with regards to issues mentioned above (such as event propagation, user interactions or rendering)."
This goes a little beyond specs like XLink and XInclude, in seeking to specify not just how an XML infoset is created from compound documents, but how DOM and various behaviors extend and interoperate across different namespaces used or referenced in the same document.
High-Level Requirements are
listed as:
- CDR MUST exploit existing specifications, favoring W3C specifications wherever possible and limit the definition of new markup unless absolutely required for integration purposes
- CDR MUST provide the ability for content developers to describe or author rich media content define Rich Multimedia Content
- CDR MUST specify a base set of formats, corresponding profiles and versions
- Each CDR profile and version MUST specify, which formats can be referenced
- CDR MUST specify, for each format, the element used to reference other formats, if any.
- CDR MUST specify generic integration techniques
- CDR MUST support temporal synchronization of dynamic content coming from multiple references, possibly with multiple references to the same source.
- CDR MUST support event mechanisms that cross namespace boundaries
- CDR MUST support scriptability
- CDR MUST say the allowed nesting level of referencing
- CDR MUST explain how scripting interacts between components and the parent document
- CDR profiles MUST specify how event propagation works across namespace boundaries.
- CDR profiles MUST specify how focus traversal works with referenced documents.
- CDR profiles MUST specify how link activation work with referenced document.
- CDR profiles MUST specify triggering of animations across namespaces.
- CDR MUST support fragment identifiers in cross-namespace interaction
- CDR profiles SHOULD provide a method for adding event handlers using declarative markup for the formats it uses
- CDR documents MUST cater for accessibility requirements
- CDR documents MUST support dynamic updating
- CDR must define its integration into the Web Architecture. It must include delivery over HTTP and should also strive to be transport independent
- CDR MUST NOT prevent compression of the data
- CDR MUST NOT prevent packaging of the data
- CDR User Agents MUST provide a default font for use by all components
- CDR MUST NOT prevent server-side adaptation
- CDR MUST support limited bandwidth networks and limited capability devices
- CDR Profiles MUST define clear document conformance criteria
- CDR Profiles MUST define clear user agent conformance criteria
Requirements for CDR Profile 1 (Rich Multimedia Content) are given as:
- CDR Profile 1 MUST specify a user interaction model
- CDR Profile 1 MUST explain how a User Agent is able to identify a CDR Profile 1 document
- CDR Profile 1 MUST support 2D scalable vector graphics
- CDR Profile 1 MUST support audio
- CDR Profile 1 SHOULD support video
- CDR Profile 1 MUST support grid, flow, overlapping layouts
- CDR Profile 1 MUST support SVG backgrounds
- CDR Profile 1 MAY support XHTML backgrounds
- CDR Profile 1 MUST support identification of markup and versions in CDF documents
- CDR Profile 1 MUST support scalable diagrams that can be animated and can cause link traversal
- CDR Profile 1 MUST define how to reference SVGT graphics and resources from an XHTML document
- CDR Profile 1 MUST support advertising the specific supported versions of formats and capabilities in headers
- CDR Profile 1 MUST support XHTML as a root/host language
- The XHTML <object> element MUST be used for referring to other formats from XHTML
- CDR Profile 1 MUST define the interaction model for an SVG document referenced by an XHTML document
- CDR Profile 1 MUST define for animated SVG icons to act like HTML images (no need for interactivity, links, zoom and pan)
- CDR Profile 1 MUST define a way for events to trigger SVG animation
- CDR Profile 1 MUST define the process for real-estate negotiation between an XHTML document and a referenced SVG document
- CDR Profile 1 MUST define handling of leftover SVG area
- CDR Profile 1 MUST define system font support in SVG
- CDR Profile 1 SHOULD provide temporal synchronization with dynamic media
- CDR Profile 1 MAY provide functionality to stop and start media objects
- CDR Profile 1 MUST support a unified rendering and processing model