B. Design
Goals
This appendix is informative
There are six major design goals for the modularization
framework for XHTML:
-
[G1] Provide a means for the W3C and third parties to
integrate XHTML into other XML languages.
-
[G2] Provide a means for the W3C to extend XHTML with new
or optional features.
-
[G3] Provide a means for third parties to extend XHTML with
domain-specific features.
-
[G4] Provide a means for third parties to integrate other
XML languages into XHTML.
-
[G5] Improve the ability to create a close approximation to
the HTML 4.0 DTDs.
-
[G6] Improve ease-of-use for DTD developers.
B.1. Requirements
The design goals listed in the previous section lead to a
large number of requirements for the modularization
framework. These requirements, summarized in this section,
can be further classified according to the major features of
the framework to be described.
Collectively the requirements in this section express the
desire that the modules defined within the framework hit the
right level of granularity:
-
[R1.1] Abstract modules should promote and maintain content
portability.
-
[R1.2] Abstract modules should promote platform profile
standardization.
-
[R1.3] Abstract modules should be large enough to promote
interoperability.
-
[R1.4] Abstract modules should be small enough to avoid the
need for subsets.
-
[R1.5] Abstract modules should collect elements with
similar or related semantics.
-
[R1.6] Abstract modules should separate elements with
dissimilar or unrelated semantics.
-
[R1.7] Modules should be small enough to allow single
element document type modules.
B.1.2. Composibility
The composibility requirements listed here are intended to
ensure that the modularization framework be able to express
the right set of target modules required by the communities
that will be served by the framework:
-
[R2.1] The module framework should allow construction of
abstract modules for XHTML 1.0.
-
[R2.2] The module framework should allow construction of
abstract modules that closely approximate HTML 4.0.
-
[R2.3] The module framework should allow construction of
abstract modules for other W3C Recommendations.
-
[R2.4] The module framework should allow construction of
abstract modules for other XML document types.
-
[R2.5] The module framework should allow construction of
abstract modules for a wide range of platform profiles.
The modularization framework will only receive widespread
adoption if it describes mechanisms that make it easy for our
target audience to use the framework:
-
[R3.1] The module framework should make it easy for
document type designers to subset and extend XHTML abstract
modules.
-
[R3.2] The module framework should make it easy for
document type designers to create abstract modules for
other XML document types.
-
[R3.3] The module framework should make it easy for
document authors to validate elements from different
abstract modules.
B.1.4. Compatibility
The intent of this document is that the modularization
framework described here should work well with the XML and
other standards being developed by the W3C Working Groups:
-
[R4.1] The module framework should strictly conform to the
XML 1.0 Recommendation.
-
[R4.2] The module framework should be compatible with the
XML linking specification.
-
[R4.3] The module framework should be compatible with the
XML stylesheet specification.
-
[R4.4] The module framework should be able to adopt new W3C
recommendations where appropriate.
-
[R4.5] The module framework should not depend on W3C work
in progress.
-
[R4.6] The module framework should not depend on work done
outside W3C.
The effectiveness of the framework will also be measured by
how easy it is to test the behavior of modules developed
according to the framework, and to test the documents that
employ those modules for validation:
-
[R5.1] It should be possible to validate documents
constructed using elements and attributes from abstract
modules.
-
[R5.2] It should be possible to explicitly describe the
behavior of elements and attributes from abstract modules.
-
[R5.3] It should be possible to verify the behavior of
elements and attributes from abstract modules.
-
[R5.4] It should be possible to verify a compound document
type as an XHTML document type.
-
[R5.5] Modules defined in accordance with the methods in
this document shall not duplicate the names of elements or
parameter entities defined in XHTML modules.