The use of named formatting properties to influence the presentation of documents on the web has become widespread. As XML vocabularies are now being combined in many ways, it is imperative that a common set of property names, values, and semantics be maintained.
This finding establish an architectural principle to that effect.
This document has been developed for discussion by the W3C Technical Architecture Group.
This document is the work of the editor. It is a draft with no official standing. It does not necessarily represent the consensus opinion of the TAG.
Publication of this document by W3C indicates no endorsement by W3C or the W3C Team, or any W3C Members.
The use of named formatting properties to influence the presentation of documents on the web has grown from its introduction in [CSS1] to include a wide range of specifications: [CSS2], [SVG], [SMIL], [MathML], [XSL], and possibly others.
This has a positive benefit for the user- and developer-communities because it reduces the number of property languages that need to be understood by users and applications. Furthermore, as XML vocabularies are now being combined in many ways, it is becoming more than merely beneficial, it is becoming imperative that a common set of properties and values be developed.
Consider an application that is expected to render a compound document that consists of XSL Formatting Objects, XHTML table markup, SVG diagrams, and MathML equations. Typically, the author (and the reader) would want consistent styling for all these pieces.
Because many properties are considered "inheritable", each of the vocabularies must use the same properties for the same purpose in order for the styling to be consistent. In addition to using the same properties, the interpretation of those properties must be the same in each vocabulary.
Consider a simple concrete example, where only two vocabularies are nested:
<html:div xmlns:html="http://www.w3.org/1999/xhtml" font-family="serif" font-size="18pt"> <html:p>Some HTML text</html:p> <svg:svg xmlns:svg="http://www.w3.org/2000/svg"> <svg:g transform="scale(0.5)"> <svg:text>Some SVG text</svg:text> ... </svg:g> </svg:svg> </html:div>
In the absence of any other direction (from an external
stylesheet, for example), one imagines that selection of a
font family and size on the HTML
applies to both the the HTML text and the SVG text.
It would be architecturally unsound to suggest that different vocabularies should specify the same or very similar traits using different property names or values. In this particular case, for example, it would be unsound to suggest that the "font-family" property be used to influence HTML text but the "fontFamily" property be used to exert the same influence over SVG.
Formatting property names, values, and semantics must be consistent across all specifications. Whenever a working group suggests the creation of a new formatting property, or the addition of, or a change to, an existing formatting property's allowed values, the working group must show a strong justification for not using an existing formatting property or properties that are related to the proposed new property or value.
Clearly innovation on the web will create situations where new properties are required and existing properties will need to be extended. What we must avoid doing is changing the semantics of existing properties in ways that introduce unnecessary interoperability issues.