diff --git a/specification/archSpec/base/adding-an-attribute-to-certain-table-elements.dita b/specification/archSpec/base/adding-an-attribute-to-certain-table-elements.dita
index c8d7f395..1e6bbecf 100644
--- a/specification/archSpec/base/adding-an-attribute-to-certain-table-elements.dita
+++ b/specification/archSpec/base/adding-an-attribute-to-certain-table-elements.dita
@@ -33,9 +33,6 @@
each
Tested and verified that this works as written.
-The content model and attributes of an element can be constrained by only one constraint module. If two constraint modules exist that constrain the content model or attributes for a specific element, those two modules must be replaced with a new constraint module that - reflects the aggregation of the two original constraint modules.
+ reflects the aggregation of the two original modules.A domain module can be constrained by only one constraint module. This - means that all restrictions for the extension elements that are defined in the domain must be - contained within that one constraint module.
+A domain module can be constrained by only one constraint module. This means that all + restrictions for the extension elements that are defined in the domain must be contained + within that one constraint module.
Constraint modules can restrict the set of extension elements that are provided in a domain.
-
For example, a constraint on the programming domain can reduce the
list of included extension elements to
For DITA 2.0, we've removed the requirement to add tokens for constraints. So, I think we need + to remove this normative statement. Do we want to replace it with anything? Another statement + about constraints and interoperability? This reminds we that we might want to stress for folks + that we have removed the entire concept of strong and weak constraints ...
+For example, an unconstrained task is compatible with an unconstrained
topic, because the
Specializations are declare the elements and entities that are - unique to a specialization. The separation of the vocabulary and its declarations into - modules makes it easy to extend existing modules, because new modules can be added - without affecting existing document types. It also makes it easy to assemble elements - from different sources into a single document-type shell and to reuse specific parts of - the specialization hierarchy in more than one document-type shell.
Specializations declare the elements and entities that are unique + to a specialization. The separation of the vocabulary and its declarations into modules + makes it easy to extend existing modules, because new modules can be added without + affecting existing document types. It also makes it easy to assemble elements from + different sources into a single document-type shell and to reuse specific parts of the + specialization hierarchy in more than one document-type shell.
Element-type configuration enables DITA architects to modify the content models and attribute lists for individual elements, without modifying the vocabulary modules in which the elements are defined.
-There are two types of element configuration: Constraints and expansion. Both - constraints and expansions are implemented as modules that are integrated into - document-type shells:
+There are two types of element configuration: Constraint and expansion. Both constraint + and expansion are implemented as modules that are integrated into document-type + shells:
A DITA document type is defined by the following:
A DITA document must either have an associated document-type definition
- or all required attributes must be made explicit in the document instances.
- Most DITA documents have an associated document-type shell. DITA documents that
- reference a document-type shell can be validated using standard XML processors.
- Such validation enables processors to read the XML grammar files and determine
- default values for the
A DITA document either must have an associated document-type definition or all required
+ attributes must be made explicit in the document instances. Most DITA documents have an
+ associated document-type shell. DITA documents that reference a document-type shell can
+ be validated using standard XML processors. Such validation enables processors to read
+ the XML grammar files and determine default values for the
+
The following figure illustrates the relationship between a DTD-based DITA document, its
document-type shell, the vocabulary modules that it uses,
The illustration needs to be updated to include expansion modules.
The DITA specification contains a starter set of document-type shells. These document-type shells are commented and can be used as templates for creating custom document-type - shells. While the OASIS-provided document-type shells can be used without any - modification, creating custom document-type shells is a best practice. If the - document-type shells need to be modified in the future, for example, to include a - specialization or integrate a constraint, the existing DITA documents will not need to - be modified to reference a new document-type shell.
+ shells. +While the OASIS-provided document-type shells can be used without any modification, + creating custom document-type shells is a best practice. If the document-type shells + need to be modified in the future, for example, to include a specialization or integrate + a constraint, the existing DITA documents will not need to be modified to reference a + new document-type shell.
Every element in a DITA DTD defines its content model using an entity.
Should we call this
-
Tested; verified that it works as written.
-When using RNG, domains can be constrained directly in the document-type shells.
I assume that if someone does this redefinition in the "Element-type configuration - integration" section, then the domain module would not be included in the "Module - inclusions" section?
-Tested; verified that this works as written
-Here is a list of the constraint modules and what they do:
Tested; verified that this works as written.
-Tested; verified that this works as written.
-Tested; verified that it works as written.
-For example, the
For specific concerns when generalizing structural types with
dependencies on non-ancestor modules, see
When a structural specialization has a dependency on a domain specialization, then the domain cannot be generalized without also generalizing the reusing structural specialization.
-For example, a structural specialization codeConcept might incorporate and
- require the
For example, a structural specialization
When a structural specialization has a dependency on another structural specialization, then both must be generalized together to a common ancestor.
For example, if the task elements in checklist were generalized without also generalizing
diff --git a/specification/archSpec/base/recognizedconstraintmechanisms.dita b/specification/archSpec/base/recognizedconstraintmechanisms.dita
index 3fabd32c..f5136dc1 100644
--- a/specification/archSpec/base/recognizedconstraintmechanisms.dita
+++ b/specification/archSpec/base/recognizedconstraintmechanisms.dita
@@ -2,16 +2,9 @@
This specification defines implementation requirements for all of these
- document grammar mechanisms. The OASIS DITA Technical Committee recognizes that other XML
- grammar languages might provide similar modularity and extensibility mechanisms. However,
- because the Technical Committee has not yet defined implementation requirements for those
- languages, their conformance cannot be determined. Of these document-grammar mechanisms, RELAX NG grammars offer the easiest-to-use syntax and
the most precise constraints. For this reason, the RELAX NG definitions of the standard DITA
- vocabularies are the normative versions.
Because RELAX NG modules are self-integrating, RNG-based document-type shells only need to
- include vocabulary modules
An RNG-based document-type shell contains the following sections:
This section of the document-type shell contains includes for
Are we removing the stuff for generating DTD and XSD from the RNG?
-Expansion modules have the following coding requirements:
-What needs to go here?
-Expansion modules are implemented by importing the expansion modules into a + document-type shell in place of the vocabulary module that the expansion module + modifies. The expansion module itself imports the vocabulary module to be expanded; + within the import, the module redefines the patterns as needed to implement the + expansion.
+For example, an expansion module that modifies the content model of
+
Note that the specialized element
While the DITA specification only defines coding requirements for DTD, RELAX NG, and
- XML Schema documents, conforming DITA documents
While the DITA specification only defines coding requirements for DTD and RELAX NG,
+ conforming DITA documents
With two exceptions, a document-type shell
For more information, see the
The second and third sentence in the definition are problematic, especially the third + sentence. We should clarify which structural modules becomes dependent, and what is in + dependent on.
+The foreign vocabulary feature also can be used to include Schematron - rules directly in RELAX NG grammars. Schematron rules can check for patterns that either - are not expressible with RELAX NG directly or that would be difficult to - express.
The foreign vocabulary + feature also can be used to include Schematron rules directly in RELAX NG grammars. + Schematron rules can check for patterns that either are not expressible with RELAX NG + directly or that would be difficult to express.