Contents
This chapter is normative.
The DTD modularization framework specification speaks at length on the subject of abstract modules. In brief, an "abstract" module is simply a set of objects, in this case objects within an ordered hierarchy of content objects, which encapsulates all of the features of the objects and assembles them into a coherent set. This set of objects and their properties is independent of its machine representation, and so is the same whether written in DTD module form, as a Schema module, or as a Java class.
The abstract modules described in XHTML-MOD are composed in a functional manner, and each "abstract module" contains data structures that are generally functionally similar. (There is no requirement that modules be created along functional lines; any other method that suits the author's purpose may be used instead.)
The framework described here makes use of the same abstract modules as in XHTML-MOD with few exceptions. In the case of the schema module representation, the relationship between the "abstract" modules and the schema modules is quite close. In each case there is a one-to-one relationship between the abstract and concrete modules (with one exception for the changes to the legacy module) and they share essentially the same names and data structures.
These modules must be included in any document that uses the XHTML namespace. Each section below describes the purpose of the module and its contents.
Schema location |
|
Use |
Required |
Type |
Module Container |
Description |
Required XHTML modules |
Contents |
SCHEMA/req/xhtml-framework-1.xsd |
Redefinitions |
No |
Dependencies |
None |
These files should not be modified by developers; instead use <redefine> or a substitution group.
This is a module container for XHTML language support modules.
Schema location |
|
Use |
Required |
Type |
Module Container |
Description |
Language support modules |
Contents |
SCHEMA/req/framework/xhtml-notations-1.xsd |
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Required |
Type |
Language Support- SGML notations |
Contents |
SGML Notations- see the SGML catalog file |
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Required |
Type |
Language Support - common data types |
Contents |
XHTML data type definitions |
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Required |
Type |
Language Support - common events attributes |
Contents |
Common events attributes for XHTML |
Redefinitions |
Yes |
Dependencies |
Element definitions |
Schema location |
|
Use |
Required |
Type |
Language Support - common attribute groups |
Contents |
Abstract attribute groups |
Redefinitions |
No |
Dependencies |
Element definitions |
Schema location |
|
Use |
Required |
Type |
Language Support - common content model groups |
Contents |
Abstract content models |
Redefinitions |
No |
Dependencies |
Element definitions |
The character entities module includes three notation elements within an <appinfo> element, each referencing one of the required entity sets in XHTML: ISO Latin-1, Symbols, and Special characters.
Character entities are not fully supported in XML Schema, as described in Section 2.1.
Schema location |
|
Use |
Required |
Type |
Language Support |
Contents |
Character Entities for XHTML |
Redefinitions |
No |
Dependencies |
None |
These are the core element definitions for the required modules.
Schema location |
|
Use |
Required |
Type |
Module Container |
Description |
Core element modules |
Contents |
SCHEMA/req/core/xhtml-text-1.xsd |
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Required |
Type |
Module Container |
Description |
Text element modules |
Contents |
SCHEMA/req/core/text/xhtml-blkphras-1.xsd |
Redefinitions |
No |
Dependencies |
None |
Block Phrasal
Schema location |
|
Use |
Required |
Type |
Element definitions |
Redefinitions |
No |
Dependencies |
None |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Block Structural
Schema location |
|
Use |
Required |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Inline Phrasal
Schema location |
|
Use |
Required |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Inline Structural
Schema location |
|
Use |
Required |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Required |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Required |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Ruby elements denote annotations used in some Asian languages. [RUBY]
The Ruby module has been moved into the core element definitions module because it is normatively required in XHTML 1.1
Schema location |
|
Use |
Required |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Required |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
These modules are (clearly) optional; they may be removed or combined arbitrarily (except for dependencies). Developers should not modify the contents of these files as they part of the XHTML definition. Instead, extension in the optional modules should be confined to redefinitions and derivations.
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Module Container |
Description |
Presentational element modules |
Contents |
SCHEMA/opt/pres/xhtml-blkpres-1.xsd |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Attribute definitions |
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
Param::param |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
Param::param |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
button |
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Attribute definitions |
Redefinitions |
No |
Dependencies |
None |
This module has been reorganized to conform to the framework conventions used here. It has been divided here into two separate modules. The "misc" module contains everything in the DTD legacy model except frames. Frames are now in a separate module called framedefs. This allows the developer to easily separate the legacy features if desired.
Schema location |
|
Use |
Optional |
Type |
Module container |
Contents |
SCHEMA/opt/misc/xhtml-misc-1.xsd SCHEMA/opt/xhtml-framedefs-1.xsd |
Redefinitions |
No |
Dependencies |
None |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
Yes |
Dependencies |
Yes |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Contents |
SCHEMA/opt/xhtml-frames-1.xsd |
Redefinitions |
Yes |
Dependencies |
Yes |
Frames
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
Yes |
Dependencies |
Target::target |
Target
Schema location |
|
Use |
Optional |
Type |
Attribute redefinitions |
Redefinitions |
Yes |
Dependencies |
Yes |
Iframe
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
Yes |
Dependencies |
Target::target |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
Removal of Forms |
Schema location |
|
Use |
Optional |
Type |
Element definitions |
Elements |
|
Redefinitions |
No |
Dependencies |
Removal of Tables |
This is an example base schema document that includes all the other modules to create the complete schema.
The hub document included here intends to approximate XHTML 1.1 subject to the requirements given in Section 1.4. This schema should be fully equivalent to the DTD version except for schema-specific additions and changes. This hub document is non-normative and provided only as an example.
Schema location |
|
Use |
Main schema document |
Type |
Module Container |
Description |
Hub document |
Redefinitions |
No |
Dependencies |
None |
Contents |
SCHEMA/req/xhtml-framework-1.xsd |
The purpose of any language definition, regardless of its basis on DTDs, XML Schema, or some other representation, is the same: to determine if a specific document instance conforms to the language definition. In XML Schema terms, this means that documents can be validated using the schema. The validation process attempts to determine the document's structural integrity, and the behavior of any XML processor in cases of validation errors is well-defined in the XML 1.0 specification. Therefore the real test of any modularization system for XHTML is whether the resulting schema can be used to determine if any particular XHTML document instance is valid.
This document does not attempt to define conformance beyond the ability to validate the structural integrity of documents. In particular it does not attempt to describe any level of user-agent conformance, as this is not a modularization issue, but an issue for the specification of the language semantics. Conformance to the XML Schema-based modularization framework is strictly defined in terms of document validation. Further levels of conformance are described in the published language specifications themselves.
Schemas defining language variants within the XHTML namespace may be considered to be conformant if they:
An XML Schema or set of Schema modules can be considered to be conformant to this schema modularization framework if they follow the schema modularization framework conventions described in Section 2.2.
The XHTML Family of Documents is defined as the set of language variants that use the XHTML namespace as the namespace of the root element, which must be <html>.
In order to be a conformant member of the XHTML Family of Documents, an XML Schema or set of schema modules must:
This class of document definitions includes both XHTML language variants and compound document types using external modules.
Versioning of modules that claim conformance to this specification is subject to the framework conventions in Section 2.2. Versioning information should be available in the version block section of each conformant module.