<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE document [
<!ENTITY emdash "&#x2014;">
<!NOTATION image SYSTEM "">
<!ENTITY simple SYSTEM "simple.eps" NDATA image>
<!ENTITY multi SYSTEM "multi.eps" NDATA image>
]>
<document xmlns:p="http://relaxng.org/ns/proofsystem">
<!--$Date: 2003/03/27 16:44:49 $(UTC)-->
<head>
<organization>ISO/IEC</organization>
<document-type>International Standard</document-type>
<stage>preparatory</stage>
<secretariat>ANSI</secretariat>
<tc-number>1</tc-number>

<tc-name>Information Technology</tc-name>
<sc-number>34</sc-number>
<sc-name>Document Description and Processing Languages</sc-name>
<wg-number>1</wg-number>
<document-number>19757</document-number>
<part-number>0</part-number>
<document-language>E</document-language>
<title>
  <main>Document Schema Definition Languages (DSDL)</main>
  <complementary>Overview</complementary>
</title>
<date>2003-03-27</date>
</head>

<foreword>
  <p>ISO/IEC 19757 consists of the following parts, under the general title <var>Document Schema Definition Languages
  (DSDL)</var>:</p>
<part-list>
<part><number>0</number><title>Overview</title></part>
<part><number>1</number><title>Interoperability framework</title></part>
<part><number>2</number><title>Regular-grammar-based validation &emdash; RELAX NG</title></part>
<part><number>3</number><title>Rule-based validation &emdash; <?nospell-start?>Schematron<?nospell-end?></title></part>
<part><number>4</number><title>Selection of validation candidates</title></part>
<part><number>5</number><title><?nospell-start?>Datatypes<?nospell-end?></title></part>
<part><number>6</number><title>Path-based integrity constraints</title></part>
<part><number>7</number><title>Character repertoire validation</title></part>
<part><number>8</number><title>Declarative document manipulation</title></part>
<part><number>9</number><title><?nospell-start?>Datatype<?nospell-end?>- and namespace-aware <?nospell-start?>DTDs<?nospell-end?></title></part>  
</part-list>
</foreword>
<introduction>

<p>This International Standard defines a set of Document Schema Definition Languages (DSDL) that can be used to specify one or more validation processes performed against Extensible Stylesheet Language (XML) documents or Standard Generalized Markup Language (SGML) documents.  XML is an application profile SGML ISO 8879-1986.</p>

<p>
A document model is an expression of the constraints to be placed on the structure and content of documents to be validated with the model.  A number of technologies have been developed through various formal and informal consortia since the development of Document Type Definitions (<?nospell-start?>DTDs<?nospell-end?>) as part of ISO 8879, notably by the World Wide Web Consortium (W3C) and the Organization for the Advancement of Structured Information Standards (OASIS).  A number of validation technologies are standardized in DSDL to compliment those already available as standards or from industry.</p>

<p>
To validate that a structured document conforms to specified constraints in structure and content relieves the potentially many applications acting  on the document from having to duplicate the task of confirming that requirements have been met.  Historically, such tasks and expressions have been developed and utilized in isolation, without consideration for how the features and functionality available in other technologies can enhance validation objectives.</p>

<p>
In the past, different design and use criteria have led users to choose different validation technologies for different portions of their information.  Bringing together their information into an amalgam within a single XML document sometimes prevents existing document models from being used to validate sections of data. By providing an integrated suite of constraint description languages this International Standard allows different validation technologies to be integrated into a well defined validation policy.</p>

<p>
The main objective of this International Standard is to bring together varied validation-related tasks and expressions to form a single extensible framework that allows the technologies to work in series or in parallel to produce a single or a set of validation results.  The extensibility of DSDL accommodates validation technologies not yet designed or specified.</p>

<p>
This multi-part standard integrates constraint description technologies into a suite that:</p>

<ul>
<li><p>provides user control of names, order and repeatability of information objects (elements) 
</p></li>
<li><p>allows users to identify restrictions on the co-concurrence of elements and element contents 
</p></li>
<li><p>allows specific subsets of structured documents to be validated 
</p></li>
<li><p>allows restrictions to be placed on the contents of specific elements, including restrictions based on the content of other elements in the same document 
</p></li>
<li><p>allows the character set that can be used within specific elements to be managed, based on the application of the ISO/IEC 10646 Universal Multiple-Octet Coded Character Set (UCS) 
</p></li>
<li><p>allows default values to be assigned to element contents and attribute values, and provides facilities for the incorporation of predefined fragments of structured data  to be incorporated within documents 
</p></li>
<li><p>allows SGML to be used to declare document structure constraints 
that extend <?nospell-start?>DTDs<?nospell-end?> to include functions such as namespace-controlled validation and <?nospell-start?>datatypes<?nospell-end?>. 
</p></li>
</ul>


</introduction>

<scope>

<p>This International Standard specifies a suite of  technologies that can be used to validate the structure and contents of structured documents marked up using ISO 8879 (SGML) and its derivatives (e.g. the W3C Extensible Markup Language, XML).  In addition, a "choreography framework" is specified that can be used to manage the order of application of constraints, and the sequence of production of validation results.</p>

<p>
DSDL defines a set of semantics for describing validation rules, syntaxes for recording validation rules, and a processing model for creating validation results that includes:</p>

<ol>
<li><p>
Semantics, and a framework, for specifying the sequence in which different validation technologies are to be applied during the production of validation results.</p>
</li>
<li>
<p>
Specifications of relevant validation technologies that can be used in isolation or within the DSDL framework.</p>
</li>
<li><p>
References to validation technologies defined outside of this International Standard that can be used within the DSDL framework.  </p>
</li>
</ol>

<p>
DSDL identifies specifications to be performed by a processor that accepts an input document and produces one or more validation results. This International Standard does not standardize a particular implementation of the framework, or any of the validation technologies specified in DSDL.  </p>

<p>
Documents that are not conformant with ISO 8879 (SGML) or one of its derivatives are not within the field of application of this  International Standard. Documents prepared using in SGML must be validated against an SGML DTD as the first stage in the validation process to produce a well formed output that is conformant with the XML specification.</p>

<p>
All intermediate and final expressions of information when using DSDL shall be restricted to the XML Information Set and to XML documents, though these can be generated from external sources such as the ESIS of SGML.  No expression of any concept supported by DSDL shall require anything beyond which can be expressed in an XML document.</p>

<p>
This standard has the following parts, whose role is explained in the following sections:</p>

<ul>
<li><p>Part 1 &emdash; Interoperability Framework </p></li>
<li><p>Part 2 &emdash; Regular-grammar-based Validation </p></li>
<li><p>Part 3 &emdash; Rule-based Validation </p></li>
<li><p>Part 4 &emdash; Selection of Validation Candidates </p></li>
<li><p>Part 5 &emdash; <?nospell-start?>Datatypes<?nospell-end?> </p></li>
<li><p>Part 6 &emdash; Path-based Integrity Constraints </p></li>
<li><p>Part 7 &emdash; Character Repertoire Validation </p></li>
<li><p>Part 8 &emdash; Declarative Document Manipulation </p></li>
<li><p>Part 9 &emdash; Datatype and Namespace-aware <?nospell-start?>DTDs<?nospell-end?> </p></li>
</ul>

</scope>

<normative-references>

<referenced-document id="rfc2396">
<abbrev>IETF RFC 2396</abbrev>
<title>Uniform Resource Identifiers (URI): Generic Syntax</title>
<field>Internet Standards Track Specification</field>
<field>August 1998</field>
<url>http://www.ietf.org/rfc/rfc2396.txt</url>
</referenced-document>

<referenced-document id="sgml">
<abbrev>SGML</abbrev>
<title>Standard Generalized Markup Language (SGML)</title>
<field>ISO 8879-1986</field>
<url></url>
</referenced-document>

<referenced-document id="ucs">
<abbrev>UCS</abbrev>
<title>Universal Multiple-Octet Coded Character Set (UCS)</title>
<field>ISO/IEC 10646</field>
<url></url>
</referenced-document>

<referenced-document id="xml-rec">
<abbrev>W3C XML</abbrev>
<title>Extensible Markup Language (XML) 1.0 (Second Edition)</title>
<field>W3C Recommendation</field>
<field>6 October 2000</field>
<url>http://www.w3.org/TR/2000/REC-xml-20001006</url>
</referenced-document>

<referenced-document id="infoset">
<abbrev>W3C XML-<?nospell-start?>Infoset<?nospell-end?></abbrev>
<title>XML Information Set</title>
<field>W3C Recommendation</field>
<field>24 October 2001</field>
<url>http://www.w3.org/TR/2001/REC-xml-infoset-20011024/</url>
</referenced-document>

<referenced-document id="xml-names">
<abbrev>W3C XML-Names</abbrev>
<title>Namespaces in XML</title>
<field>W3C Recommendation</field>
<field>14 January 1999</field>
<url>http://www.w3.org/TR/1999/REC-xml-names-19990114/</url>
</referenced-document>

<referenced-document id="xpath">
<abbrev>W3C XPath</abbrev>
<title>XML Path Language (XPath) Version 1.0</title>
<field>W3C Recommendation</field>
<field>16 November 1999</field>
<url>http://www.w3.org/TR/1999/REC-xpath-19991116</url>
</referenced-document>

<referenced-document id="w3cschema">
<abbrev>W3C XML Schema</abbrev>
<title>XML Schema</title>
<field>W3C Recommendation</field>
<field>24 October 2001</field>
<url>http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/</url>
</referenced-document>

</normative-references>

<terms-and-definitions>

<term-and-definition>

<term>instance</term>

<definition>a structured document that is being validated with respect to a
DSDL expression of document model constraints for structure and content</definition>

</term-and-definition>

</terms-and-definitions>

<clause><title>The role of document schemas</title>

<p>Document schemas provide machine-understandable models that can be used to
validate the structure and contents of electronically marked-up documents. The
Document Type Definition (<?nospell-start?>DTDs<?nospell-end?>)  language defined within ISO 8879 provides facilities for: </p>

<ul>
  <li><p>defining the names used to identify document elements</p></li>
  <li><p>identifying where document elements may appear in the document structure
    (model)</p></li>
  <li><p>identifying which elements were optional or repeatable (without limiting
    repeatability)</p></li>
  <li><p>identifying which markup tags are optional when they can be inferred through
    the model</p></li>
  <li><p>assigning properties (attributes) to document elements that can be used to
    control their processing, or can contain information that needs to be
    processed in conjunction with element contents</p></li>
  <li><p>defining default values for attributes</p></li>
  <li><p>defining and naming repeatable segments of text (entities)</p></li>
  <li><p>identifying non-standard characters using user-assigned names or character
    numbers</p></li>
  <li><p>linking together different document structures defined in parallel sets of
    markup.</p></li>
</ul>
<p>Document structures are defined in ISO 8879 in terms of "trees" of
nested elements, though the standard also allows data sets to be defined as
"graphs" of elements connected by means of unique identifiers and
references to existing identifiers.</p>
<p><?nospell-start?>DTDs<?nospell-end?> are not defined using the same components as marked-up document instances, being defined using a sparser notation. In SGML this notation can be preceded by a declaration of
permitted character sets, which characters are assigned as control functions or
otherwise ignored (shunned), which characters can be used within names, or
to identify the boundaries of markup, which strings can be used to
automatically identify markup points, and which optional functions are to be
used within the DTD<foot>The character definition rules predate the development of the ISO/IEC
10646 Universal Multiple-Octet Coded Character Set and are to some
extent made redundant by this standard.</foot>.</p>
<p>The W3C Extensible Markup Language (XML) uses an application profile of ISO 8879, known as
<?nospell-start?>WebSGML<?nospell-end?>,  togetheer with the ISO/IEC 10646 Universal Multiple-Octet Coded Character Set, to produce a
simple-to-implement, <?nospell-start?>streamable<?nospell-end?>, application of ISO 8879 for use over the
Internet and similar networks. XML document models can be defined using DTDs that conform to a well defined set of restrictions on the options of ISO 8879 so that vaildation can be performed within streamed networks. </p>

<p>Various organizations have developed techniques to manage the structure of
documents using XML markup. Some of these further subset the facilities provided in ISO
8879, but many also provide functions over and above those allowed within SGML and XML <?nospell-start?>DTDs<?nospell-end?>,
including:</p>

<ul>
  <li><p>control of the minimum and maximum number of times an element can occur at
    a particular point in the document structure (e.g. to control cardinality)</p></li>
  <li><p>restriction of the contents of particular elements or attributes to those that conform to
    particular <?nospell-start?>datatypes<?nospell-end?>, patterns or internally defined lists of permitted
    elements</p></li>
  <li><p>provision for distinguishing the namespace of element and attribute names
    so that schema fragments can be used within other schemas without fear of
    name clashes</p></li>
  <li><p>identification of elements based on the path needed to reach them within
    the document structure</p></li>
  <li><p>validation of document structures by checking that elements conforming to
    particular paths exist</p></li>
  <li><p>provision of mechanisms for creating abstract stereotypes (similar to SGML
    architectural forms) that can be used to identify related classes of
    elements.</p></li>
</ul>
</clause>

<clause><title>Other user requirements</title>
<p>The following additional functionality has been identified as being required
by users:</p>
<ol>
  <li><p>The ability to control the character set permitted within the contents of
    a particular type of element or attribute, or within specified sets of
    elements within the document model.</p></li>
  <li><p>The ability to restrict the range of entries conforming to a particular
    use of a <?nospell-start?>datatype<?nospell-end?> within a specific element or attribute.</p></li>
  <li><p>The ability to restrict element or attribute contents to values specified
    in either internally defined or externally defined lists of permitted
    values.</p></li>
  <li><p>The ability to restrict the set of permitted values in one element or
    attribute based on the contents of another element or attribute (e.g. not
    Sex=Male and Condition=Pregnant).</p></li>
  <li><p>The ability to generate compact forms of schemas that are easily readable
    by humans, and to use such compact representations to generate schemas or
    <?nospell-start?>DTDs<?nospell-end?> that can be used to validate documents.</p></li>
  <li><p>The ability to visualize schemas using navigable diagrammatic
    representations.</p></li>
</ol>
<ed><p>Question: What other entries need to be added to this list?</p>
</ed>
</clause>
<clause><title>Choreography</title>
<p>The various parts of the DSDL standard are designed to be choreographed 
to satisfy a declarative expression of the validation requirements, without the need to use
processes in a predefined sequence. Some parts of the standard will, however,
need to be applied before others. For example, validation of the contents of a
specific element will require prior identification of element boundaries and
nesting, while the validation of the relationship between elements may require that the
document structure be validated first so that the paths specified can be
checked accordingly.</p>

<p>
Consider the example in <fig ent="simple" id="simple"><caption>Two different orders of application of technology</caption></fig> where two different results can be determined from two different applications of technology to the validation process: validating after or before processing <?nospell-start?>XInclude<?nospell-end?>.  The order of these two steps may be critical in the correct processing of the information in the instance.</p>
<p>
In a more complex example, consider <fig ent="multi"><caption>A multi-step validation process</caption></fig> where two different technologies must be applied to separate portions of the one document.  In this case, one part of the input document must be validated by a W3C XML Schema while the other part of the input document must be validated by a RELAX-NG schema.  The validation result, orchestrated by the DSDL framework, would express the consolidated validation of all steps.</p>

</clause>

<clause><title>Path-based addressing</title>
<p>The non-hierarchical links between information items in a structured resource
can be identified by addressing the items within the document tree and then expressing the relationship
between them. The addressing
mechanism includes hierarchy-based paths of steps along the tree's branches to the
information item being addressed.</p>

<p>
Paths can be based on:</p>
<ul>
  <li><p>a method of identifying information items dependent on:</p>
    <ul>
      <li><p>the ancestry of the information item</p></li>
      <li><p>the use of keys  (e.g. references to unique identifier values)</p></li>
      <li><p>an extensible basis for supporting mechanisms not currently available</p></li>
    </ul>
</li>
  <li><p>a method of describing the role of relationships that are not hierarchical.</p></li>
</ul>

<p>
A number of Parts within this International Standard utilize the concept of a path to address components of document instances.</p>

<ed>
<p>
Paths are used in both parts 3 and 6.</p>
<p>
Should paths be described in a separate part referenced by the others?  Would it belong in Part 0 (or Part 1) with scope over all the others?</p>
</ed></clause>
<clause><title>Overview of the parts</title>

<clause><title>Part 1: The Interoperability Framework</title>


<p>The DSDL Interoperability Framework provides a language for choreographing the
validation and pre-validation transformation processes described in
the other parts of the standard.</p>

<p>Within this framework:
</p>
<ul><li><p>a mechanism is provided to invoke parsers which read non-XML
sources (and XML sources that can't be identified by a single URI)
to create XML <?nospell-start?>infosets<?nospell-end?> that can 
be used for subsequent processing. Examples of such sources include SGML and HTML
documents, RDBMS query results, CSV documents and Web Services query
results</p></li>
<li><p>pre-validation transformations may be used to normalize and/or subset
documents before validation</p></li>
<li><p>multiple validations and transformations may be applied to the same
document</p></li>
<li><p>transformations may split a document into multiple resulting
documents</p></li>
<li><p>users can create customized validation reports which can be output as
XML so that they can be further processed by other applications.</p></li>
</ul>

<p>Note that not only DSDL-specified processes can be identified within the
framework. This part illustrates how other technologies, in particular W3C
XML Schema and XSLT, can be utilized from within the framework.</p>

</clause>
<clause><title>Part 2: Regular-grammar-based Validation</title>
<p>Regular-grammar-oriented schema languages can be used to validate that the structure and content of information
items in a document instance conforms to a model described by a tree grammar. </p>
<p>
Tree grammars are characterized by the specification of patterns. Validation is based on the matching of elements identified in the stream being analyzed with one of the pattern definitions permitted at a particular point in a data tree.</p>
<p>The regular-grammar-based language defined in this Part is based on the OASIS RELAX NG specification. The RELAX-NG grammar includes a syntax for specifying:</p>
<ul>
  <li><p>
  which elements can make up a data hierarchy, and the rules for ordering these elements</p></li>
  <li><p>
    which attributes that can be assigned to elements </p></li>
  <li><p>
  the identity of <?nospell-start?>datatypes<?nospell-end?> and their permitted ranges of 
    values</p></li>
  <li><p>which datatypes should be used to validate the contents of a particular element or attribute.</p></li>
</ul>
<p>
RELAX-NG provides a generalized  mechanism for the identification of datatypes, without defining how a particular datatype can be validated. In addition to being able to use the datatype definitions provided by Part 5 of this standard other <?nospell-start?>datatype<?nospell-end?> definitions, in particular W3C XML Schema Data types, can be utilized as part of the validation process.</p>
<p>
Other grammar-oriented schema languages may be defined in the evolution of DSDL as separate parts of this International Standard. </p>
</clause>
<clause><title>Part 3: Rule-based Validation</title>
<p>Rule-based schema languages allow documents to be validated by checking that they do not conflict with a set of rules describing permitted relationships between document components. Rules do not need to be based on hierarchical relationships, but can use hierarchical relationships to identify which parts of data streams they should be applied to. </p>
<p>Rules are required to allow indirect constraints such as 'if the contents of the element named "sex" is "Male" then the contents of the element "diagnosis" may not include "Pregnant"' to be specified. Rules can also be used to ensure that sets of data are compatible, e.g. "if there are multiple items in an order for which different delivery dates have been specified, ensure that all delivery dates are between the order date and the date specificed as the maximum permitted time for completion of the order". </p>
<p>This rule-based grammar defined in this Part is an extension of  the <?nospell-start?>Schematron<?nospell-end?> specification. It provides a syntax for specifying:</p>
<ul>
<li><p>a set of variables to be used when comparing or calculating tests</p></li>
  <li><p>assertions that need to be tested </p></li>
  <li><p>what is to be reported as when an assertion is not verified, optionally accompanied by diagnostics showing how to correct errors that are encountered</p></li>
  <li><p>the context in which one or more assertions are required to be tested</p></li>
  <li><p>sets of rules that are to be applied sequentially, so that only the first matching rule in the pattern is applied</p></li>
  <li><p>abstract patterns, which can be matched by different elements in different contexts</p></li>
<li><p>phases of validation, in which sequences of rules may be applied depending on the phase specificed when the validation schema is invoked</p></li>
  <li><p>keys that allow components to be linked during subsequent XSLT processing.</p></li>
</ul>
<p>
Other Rule-based validation languages may be defined in the evolution of DSDL as separate parts of this International Standard. </p>
</clause>
<clause><title>Part 4: Selection of validation candidates</title>
<p>The selection of validation candidates is required to allow different sets of validation rules to be applied to selected parts of data streams. It also enables sets of validation rules to be shared between applications who share data components.</p>
<p>
This Part provides an XML-based language for selecting specific
elements within a document instance that are to be validated
by a specified schema.  Such elements are called validation candidates.</p>

<p>This Part can be used to create an
independent XML document or to identify elements that are to be embedded within another XML
document.  When a DSDL framework has been embedded within an
XML document instance, it may reference or contain selection rules defined in the language specified in this 
Part.</p>

<p>Selection methods include:</p>
<ul>
<li><p>namespace-based selection, which is controlled by conditions
on namespaces of elements, defined using the rules in Part 9</p></li>
<li><p>partial tree selection, whose subtrees can be validated separately</p></li>
<li><p>attribute-based selection, which  is controlled by the values of
attributes.</p></li>
</ul>

<p>Schema languages other than DSDL (for example <xref to="rdfschema"/> and the
<xref to="tmcl"/>) may be used for validating selected
validation candidates.  For example, an XHTML document containing
metadata (RDF or topic map) can be decomposed into an XHTML validation
candidate and a metadata validation candidate, which can be validated
independently.</p>

<p>It is outside the scope of this part to specify which schema and
schema language is used for validating validation candidates. Such rules are applied using Part 2.</p>

</clause>
<clause><title><?nospell-start?>Part 5: Datatypes<?nospell-end?></title>
<p>This Part defines:</p>
<ul>
  <li><p>a minimal set of standardized named primitive <?nospell-start?>datatypes<?nospell-end?> (e.g. <code>integer</code>)</p></li>
  <li><p>a set of parameters (controlling facets) and their permitted values for each primitive <?nospell-start?> datatype<?nospell-end?> (e.g. minimum and  maximum values)</p></li>
  <li><p>a set of constraints describing a possibly infinite set of strings
    representing values of the data type
  </p></li>
  <li><p>a set of commonly required derived datatypes that provides subsets of, or combinations, of the primitive datatypes</p></li>
  <li><p>techniques for creating application defined datatypes that are combintations of one or more existing datatypes.</p></li>
</ul>
<p>This Part has been developed from the set of primitive <?nospell-start?>datatypes<?nospell-end?> and
their facets defined in Part 2 of the <xref to="w3cschema"/> specification.</p>
</clause>
<clause><title>Part 6: Path-based integrity constraints</title>
<p>Path-based integrity constraints allow path-based languages, such as XML Path, to be used to identify relationships between elements that must, or may not, occur in valid documents.</p>
<p>This Part is based on the four-directional tree path navigation paradigm (parent, child, preceding sibling and following sibling) defined in XML Path. It allows:</p>
<ul>
<li><p>the identification of paths that must exist in the document if a particular element, attribute or subtree exists within the document</p></li>
<li><p>
the expression of identity and integrity constraints on components of document instances identified through the use of path expressions.</p>
</li>
</ul><ed>
<p>What else should path-based integrity constraints provide us with? What do these integrity constraints do that cannot be done using paths defined within Part 3?</p>
<p>
Paths are used in both Parts 3 and 6. 
Should paths be described in a separate part referenced by the others? Is the normative reference to XML Paths within Part 0 sufficient?  Could other forms of path specification be required at a future date? </p>
</ed></clause>
</clause>
<clause><title>Part 7: Character Repertoire Validation</title>
<p>At present users have no control over which set of characters can appear in a particular element or attribute value. For example, an element could have an xml:lang attribute indicating it is in English but contain Chinese or Sanskrit characters. This Part provides a mechanism for checking that the contents of an element or attribute are taken from a formally defined subset of the ISO/IEC 10646 Universal Character Set (UCS) that is the basis for XML encoded documents.</p>
<p>This Part provides a syntax for:</p>
<ul>
  <li><p>defining named subsets of the ISO/IEC 10646 character set</p></li>
  <li><p>identifying which named character set shall be used to validate the
    content of a specific element or attribute</p></li>
</ul>
</clause>
<clause><title>Part 8: Declarative Document Manipulation</title>
<p>Declarative document manipulation allows default values to be assigned to specific parts of a data stream. This includes mechanisms for defining standard sequences of data that can be incorporated into document instances by reference to an identifying name, the provision of default content for elements and attributes for which no value is provided and the matching of local element and attribute names to those used in a specific schema.</p>
<p>This Part defines a syntax for describing simple modifications to be made to the information set of a DSDL document instance, without requiring the full power of a general-purpose transformation language such as XSLT.</p>
<p>This Part provides a syntax for:</p>
<ul>
  <li><p>using XPath to address elements and attributes to be modified</p></li>
  <li><p>assigning a default value to the contents of a specific type of element or
    attribute</p></li>
  <li><p>defining named entities of predefined data elements that can be used to
    include template data within a document instance</p></li>
  <li><p>renaming elements and attributes in specific locations within the document
    model, including the assignment of element or attribute names to different namespaces</p></li>
  <li><p>the definition of replacement contents for specific elements or attributes</p></li>
  <li><p>removing elements or attributes from specific locations within the document model.</p></li>
</ul>
<ed>
<p>
Under consideration for this part are Architectural Form and Architecture Support Attribute approaches.</p>
</ed>
</clause>
<clause><title>Part 9: Namespace and <?nospell-start?>datatype<?nospell-end?> aware <?nospell-start?>DTDs<?nospell-end?></title>

<p>This Part specifies how the ISO 8879/XML Document Type Definition (DTD) syntax can be extended to validate documents that make full use of XML Namespaces and Part 5 <?nospell-start?>Datatypes<?nospell-end?>. This will ensure that the investment that individuals and organizations have made in DTD development and deployment over many years can be preserved. It will also help those converting between DTDs and other forms of schema languages.</p>

<p>The specification does not require documents using the schema language to violate XML's well-formedness or validity checks. It simply identifies names whose role can be considered to be that of specifying addtional validation rules to be applied to specific elements or attributes.</p>

</clause>


<bibliography>

<referenced-document id="rdfschema">
<abbrev>RDF Schema</abbrev>
<title>RDF Vocabulary Description Language 1.0: RDF Schema</title>
<url>http://www.w3.org/TR/rdf-schema</url>
</referenced-document>

<referenced-document id="tmcl">
<abbrev>TMCL</abbrev>
<title>Topic Map Constraint Language</title>
<url>http://www.w3.org/TR/rdf-schema</url>
</referenced-document>

<referenced-document id="XSLT">
<abbrev>XSLT</abbrev>
<title>XSL Transformations (XSLT) Version 1.0</title>
<url>http://www.w3.org/TR/xslt</url>
</referenced-document></bibliography>

</document>

