- From: Mark Skall <mark.skall@nist.gov>
- Date: Tue, 04 May 2004 15:28:58 -0400
- To: www-qa-wg@w3.org
- Message-Id: <5.1.0.14.2.20040504151656.03c9cf78@mailserver.nist.gov>
The text below is my re-write of the the Extension text in Spec Lite in accordance with my action item AI-20040403-01. This re-writes incorporates the "Skallian hypothesis". D.3 Plan for extensions Extensions incorporate new features beyond what is defined in the specification. Note: SpecGL specifically limits profiles, modules and levels to ways of sub-dividing the specification. This implies no new features can be added to profiles, modules, levels. Extensions provide implementers the ability to include functionality that they consider to be required by their customers. It also provides a way to 'test-drive' new functionality that may migrate into future versions of the specification. Extensions can compromise interoperability if there are too many differences between implementations. However, extensions are not the only way to allow for additional functionality. The impact of new functionality can be mitigated through features specifically designed to allow new functonality. These features provide a "standard way to be non-standard" by including hooks in the specification or other mechanisms by which new functionality may be added in a conforming way. Extensibility is not free @@@ but with good planning, the long term benefits may be worth the cost. Principle 1: Deal with the ways to allow new functionality Consider whether some parts of the specification will benefit from extensibility. If so, provide features that incorporate a uniform mechanism or hook to allow this. Why care?Extensions increase variability between implementations. Providing a uniform mechanism or hook will help to ensure that new functions are defined in a consistent manner leading to predictable handling of them, @@@ their recognition as such and the appropriate actions to take. By planning for new functionality and designing a specification for extensibility, there is less chance that the new functionality will interfere with conformance to the original specification and a better chance at achieving interoperability. Examples of technologies that are explicitly designed to allow extensibility include: extensibility models in CSS, XSLT 1.0, and SOAP), user agent plug-ins. Extensions have consequences beyond affecting the base-standard - need to account for this. Can have multiple levels of extensions. Example: XHTML modularization - allows for the definition of new XHTML Mod - conformant extensions. **************************************************************** Mark Skall Chief, Software Diagnostics and Conformance Testing Division Information Technology Laboratory National Institute of Standards and Technology (NIST) 100 Bureau Drive, Stop 8970 Gaithersburg, MD 20899-8970 Voice: 301-975-3262 Fax: 301-590-9174 Email: skall@nist.gov ****************************************************************
Received on Tuesday, 4 May 2004 15:29:52 UTC