<commit_before><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Modular Namespaces (MNS)</title>
<style type="text/css">
p.note { margin-left: 1in; font-size: smaller; font-style: italic }
</style>
</head>
<body>
<h1>Modular Namespaces (MNS)</h1>

<h2>Contents</h2>

<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#basics">Basics</a></li>
<li><a href="#lax">Lax processing</a></li>
<li><a href="#attributes">Attributes</a></li>
<li><a href="#multiple">Validation subjects with multiple namespaces</a></li>
<li><a href="#modes">Modes</a></li>
<li><a href="#pruning">Pruning</a></li>
<li><a href="#more-modes">More on modes</a></li>
<li><a href="#extensibility">Extensibility</a></li>
<li><a href="#example">Example</a></li>
</ul>

<hr />

<h2><a name="introduction">Introduction</a></h2>

<p>The XML Namespaces Recommendation allows an XML document to be
composed of elements and attributes from multiple independent
namespaces. Each of these namespaces may have its own schema.  The
problem then arises of how the schemas can be composed in order to
allow validation of the complete document.</p>

<p>In RELAX Namespace, Murata Makoto pioneered the idea of dividing
the document into <em>islands</em>, with each island containing a
single namespace, and validating each island separately against the
schema for its namespace.  RELAX Namespace formed the basis for the
recently <a href="http://www.y12.doe.gov/sgml/sc34/document/0363.htm"
>published</a> Committee Draft of Document Schema Definition Languages
(DSDL) -- Part 4: Selection of Validation Candidates.</p>

<p>This document presents a language named Modular Namespaces (MNS),
which is an evolution of the ideas in RELAX Namespace and DSDL Part
4.</p>

<h2><a name="basics">Basics</a></h2>
<commit_msg>Add another introductory paragraph.<commit_after><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Modular Namespaces (MNS)</title>
<style type="text/css">
p.note { margin-left: 1in; font-size: smaller; font-style: italic }
</style>
</head>
<body>
<h1>Modular Namespaces (MNS)</h1>

<h2>Contents</h2>

<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#basics">Basics</a></li>
<li><a href="#lax">Lax processing</a></li>
<li><a href="#attributes">Attributes</a></li>
<li><a href="#multiple">Validation subjects with multiple namespaces</a></li>
<li><a href="#modes">Modes</a></li>
<li><a href="#pruning">Pruning</a></li>
<li><a href="#more-modes">More on modes</a></li>
<li><a href="#extensibility">Extensibility</a></li>
<li><a href="#example">Example</a></li>
</ul>

<hr />

<h2><a name="introduction">Introduction</a></h2>

<p>The XML Namespaces Recommendation allows an XML document to be
composed of elements and attributes from multiple independent
namespaces. Each of these namespaces may have its own schema.  The
problem then arises of how the schemas can be composed in order to
allow validation of the complete document.</p>

<p>In RELAX Namespace, <NAME> pioneered the idea of dividing
the document into <em>islands</em>, with each island containing a
single namespace, and validating each island separately against the
schema for its namespace.  RELAX Namespace formed the basis for the
recently <a href="http://www.y12.doe.gov/sgml/sc34/document/0363.htm"
>published</a> Committee Draft of Document Schema Definition Languages
(DSDL) -- Part 4: Selection of Validation Candidates.</p>

<p>This document presents a language named Modular Namespaces (MNS),
which is an evolution of the ideas in RELAX Namespace and DSDL Part 4.
RELAX Namespace was designed to work well with RELAX Core. RELAX Core
cannot deal with documents that use multiple namespaces, nor does it
provide any namespace-based wildcards.  These limitations of RELAX
Core are reflected in the design of RELAX Namespace.  MNS is designed
to be able to take advantage of more recent schema languages, such as
RELAX NG, that are not limited in this way.</p>

<p>A sample implementation of MNS is included in <a href="jing.html#mns"
>Jing</a>.</p>

<p>It is hoped that this will be a useful contribution to the future
development of DSDL Part 4.</p>

<h2><a name="basics">Basics</a></h2>

{'fraction_non_alphanumeric': 0.14760765550239235, 'fraction_numerical': 0.011722488038277513, 'mean_word_length': 5.522620904836193, 'pattern_counts': {'":': 0, '<': 156, '<?xml version=': 0, '>': 156, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2518983', 'n_tokens_mistral': 1392, 'n_tokens_neox': 1318, 'n_words': 465}