H. 設計目標
(Design Goals)
この付録部分は 参照的。
本付録部分では、設計目標は "Gn" で識別されており、要求仕様は "Rn.n" で識別される。XHTML のモジュール化フレームワークでは、四つの主要な設計目標が存在する:
- [G1] XHTML の意味的に関連する部分はグループ化すること。
- [G2] DTD テクノロジによって、特定の目的(スモール・デバイス、特殊目的デバイス)の為の関連する言語(サブセットやスーパーセット)の製作をサポートすること。このとき、オーバーラップする部分の共通性を保証する。
- [G3] 言語の一部分を、他の部分に影響を与えることなく、改善されたモジュール(例えば forms)で置き換えられるようにすることで、将来の拡張を容易にすること。
- [G4] モジュールを他の言語で再利用することを容易にし、支援すること。
H.1. 要求仕様
(Requirements)
前節でリストされた設計目標によって、モジュール化フレームワークに大量の要求仕様が導かれる。これらの要求仕様は、本節でまとめられており、記述されるフレームワークの主要な特徴に応じて、さらに分類される。
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.
H.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.
- [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.
H.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 Language (XLink) [XLINK] specification.
- [R4.3] The module framework should be compatible with the Associating Style Sheets with XML documents [XMLSTYLE] 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 hybrid 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.