<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article [
<!-- ELEMENT declarations work around MSXML bug. -->
<!ELEMENT section ANY>
<!ATTLIST section id ID #IMPLIED>
<!ELEMENT appendix ANY>
<!ATTLIST appendix id ID #IMPLIED>
<!ELEMENT bibliomixed ANY>
<!ATTLIST bibliomixed id ID #IMPLIED>
]>
<article status="Committee Specification" xmlns:p="http://relaxng.org/ns/proofsystem">

<articleinfo>
<releaseinfo>$Id: spec.xml,v 1.159 2001/12/02 12:12:12 jjc Exp $</releaseinfo>
<title>RELAX NG Specification</title>
<authorgroup>
<editor>
  <firstname>James</firstname><surname>Clark</surname>
  <affiliation>
    <address><email>jjc@jclark.com</email></address>
  </affiliation>
</editor>
<editor>
  <surname>MURATA</surname><firstname>Makoto</firstname>
  <affiliation>
    <address><email>EB2M-MRT@asahi-net.or.jp</email></address>
  </affiliation>
</editor>
</authorgroup>
<pubdate>3 December 2001</pubdate>
<releaseinfo role="meta">
$Id: spec.xml,v 1.159 2001/12/02 12:12:12 jjc Exp $
</releaseinfo>

<copyright><year>2001</year><holder>OASIS</holder></copyright>

<legalnotice>

<para>Copyright &#169; The Organization for the Advancement of
Structured Information Standards [OASIS] 2001. All Rights
Reserved.</para>

<para>This document and translations of it may be copied and furnished
to others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to OASIS, except as needed for the
purpose of developing OASIS specifications, in which case the
procedures for copyrights defined in the OASIS Intellectual Property
Rights document must be followed, or as required to translate it into
languages other than English.</para>

<para>The limited permissions granted above are perpetual and will not
be revoked by OASIS or its successors or assigns.</para>

<para>This document and the information contained herein is provided
on an <quote>AS IS</quote> basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE
USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE.</para>

</legalnotice>

<legalnotice role="status"><title>Status of this Document</title>

<para>This Committee Specification was approved for publication by the
OASIS RELAX NG technical committee. It is a stable document which
represents the consensus of the committee. Comments on this document
may be sent to <ulink
url="mailto:relax-ng-comment@lists.oasis-open.org"
>relax-ng-comment@lists.oasis-open.org</ulink>.</para>

<para>A list of known errors in this document is available at <ulink
url="http://www.oasis-open.org/committees/relax-ng/spec-20011203-errata.html"
>http://www.oasis-open.org/committees/relax-ng/spec-20011203-errata.html</ulink
>.</para>

</legalnotice>

<abstract>
<para>This is the definitive specification of RELAX NG, a simple
schema language for XML, based on <xref linkend="relax"/> and <xref
linkend="trex"/>. A RELAX NG schema specifies a pattern for the
structure and content of an XML document. A RELAX NG schema is itself
an XML document.</para>
</abstract>

<revhistory>
<revision>
  <revnumber>Committee Specification</revnumber>
  <date>3 December 2001</date>
</revision>
<revision>
  <revnumber>Committee Specification</revnumber>
  <date>11 August 2001</date>
</revision>
</revhistory>
</articleinfo>


<section>
<title>Introduction</title>

<para>This document specifies</para>

<itemizedlist>

<listitem><para>when an XML document is a correct RELAX NG
schema</para></listitem>

<listitem><para>when an XML document is valid with respect to a
correct RELAX NG schema</para></listitem>

</itemizedlist>

<para>An XML document that is being validated with respect to a RELAX NG
schema is referred to as an instance.</para>

<para>The structure of this document is as follows.  <xref
linkend="data-model"/> describes the data model, which is the
abstraction of an XML document used throughout the rest of the
document.  <xref linkend="full-syntax"/> describes the syntax of a
RELAX NG schema; any correct RELAX NG schema must conform to this
syntax.  <xref linkend="simplification"/> describes a sequence of
transformations that are applied to simplify a RELAX NG schema;
applying the transformations also involves checking certain
restrictions that must be satisfied by a correct RELAX NG
schema. <xref linkend="simple-syntax"/> describes the syntax that
results from applying the transformations; this simple syntax is a
subset of the full syntax.  <xref linkend="semantics"/> describes the
semantics of a correct RELAX NG schema that uses the simple syntax;
the semantics specify when an element is valid with respect to a RELAX
NG schema.  <xref linkend="restriction"/> describes restrictions in
terms of the simple syntax; a correct RELAX NG schema must be such
that, after transformation into the simple form, it satisfies these
restrictions. Finally, <xref linkend="conformance"/> describes
conformance requirements for RELAX NG validators.</para>

<para>A tutorial is available separately (see <xref
linkend="tutorial"/>).</para>

</section>

<section id="data-model">
<title>Data model</title>

<para>RELAX NG deals with XML documents representing both schemas and
instances through an abstract data model.  XML documents representing
schemas and instances must be well-formed in conformance with <xref
linkend="xml-rec"/> and must conform to the constraints of <xref
linkend="xml-names"/>.</para>

<para>An XML document is represented by an element.  An element consists
of</para>

<itemizedlist>

<listitem><para>a name</para></listitem>

<listitem><para>a context</para></listitem>

<listitem><para>a set of attributes</para></listitem>

<listitem><para>an ordered sequence of zero or more children; each
child is either an element or a non-empty string; the sequence never contains
two consecutive strings</para></listitem>

</itemizedlist>

<para>A name consists of</para>

<itemizedlist>
<listitem><para>a string representing the namespace URI; the empty
string has special significance, representing the absence of any
namespace</para></listitem>

<listitem><para>a string representing the local name; this string matches the NCName
production of <xref linkend="xml-names"/></para></listitem>
</itemizedlist>

<para>A context consists of</para>

<itemizedlist>
<listitem><para>a base URI</para></listitem>
<listitem><para>a namespace map; this maps prefixes to namespace URIs,
and also may specify a default namespace URI (as declared
by the <literal>xmlns</literal> attribute)</para></listitem>
</itemizedlist>

<para>An attribute consists of</para>

<itemizedlist>
<listitem><para>a name</para></listitem>
<listitem><para>a string representing the value</para></listitem>
</itemizedlist>

<para>A string consists of a sequence of zero or more characters,
where a character is as defined in <xref linkend="xml-rec"/>.</para>

<para>The element for an XML document is constructed from an instance
of the <xref linkend="infoset"/> as follows.  We use the notation
[<replaceable>x</replaceable>] to refer to the value of the
<replaceable>x</replaceable> property of an information item. An
element is constructed from a document information item by
constructing an element from the [document element].  An element is
constructed from an element information item by constructing the name
from the [namespace name] and [local name], the context from the [base
URI] and [in-scope namespaces], the attributes from the [attributes],
and the children from the [children].  The attributes of an element
are constructed from the unordered set of attribute information items
by constructing an attribute for each attribute information item.  The
children of an element are constructed from the list of child
information items first by removing information items other than
element information items and character information items, and then by
constructing an element for each element information item in the list
and a string for each maximal sequence of character information items.
An attribute is constructed from an attribute information item by
constructing the name from the [namespace name] and [local name], and
the value from the [normalized value].  When constructing the name of
an element or attribute from the [namespace name] and [local name], if
the [namespace name] property is not present, then the name is
constructed from an empty string and the [local name]. A string is
constructed from a sequence of character information items by
constructing a character from the [character code] of each character
information item.</para>

<para>It is possible for there to be multiple distinct infosets for a
single XML document.  This is because XML parsers are not required to
process all DTD declarations or expand all external parsed general
entities.  Amongst these multiple infosets, there is exactly one
infoset for which [all declarations processed] is true and which does
not contain any unexpanded entity reference information items.  This
is the infoset that is the basis for defining the RELAX NG data
model.</para>

<section id="data-model-example">
<title>Example</title>

<para>Suppose the document
<literal>http://www.example.com/doc.xml</literal> is as
follows:</para>

<programlisting><![CDATA[<?xml version="1.0"?>
<foo><pre1:bar1 xmlns:pre1="http://www.example.com/n1"/><pre2:bar2
  xmlns:pre2="http://www.example.com/n2"/></foo>
]]></programlisting>

<para>The element representing this document has</para>

<itemizedlist>
<listitem><para>a name which has</para>
<itemizedlist>

<listitem><para>the empty string as the namespace URI, representing
the absence of any namespace</para></listitem>

<listitem><para><literal>foo</literal> as the local
name</para></listitem>

</itemizedlist>

</listitem>

<listitem><para>a context which has</para>

<itemizedlist>
<listitem><para><literal>http://www.example.com/doc.xml</literal> as the base
URI</para></listitem>

<listitem><para>a namespace map which</para>

<itemizedlist>

<listitem><para>maps the prefix <literal>xml</literal> to the
namespace URI
<literal>http://www.w3.org/XML/1998/namespace</literal>
(the <literal>xml</literal> prefix is implicitly declared
by every XML document)</para></listitem>

<listitem><para>specifies the empty string as the default namespace
URI</para></listitem>

</itemizedlist>

</listitem>

</itemizedlist>

</listitem>

<listitem><para>an empty set of attributes</para></listitem>

<listitem><para>a sequence of children consisting
of an element which has</para>

<itemizedlist>
<listitem><para>a name which has</para>
<itemizedlist>

<listitem><para><literal>http://www.example.com/n1</literal> as the
namespace URI</para></listitem>

<listitem><para><literal>bar1</literal> as the local
name</para></listitem>

</itemizedlist>

</listitem>

<listitem><para>a context which has</para>

<itemizedlist>
<listitem><para><literal>http://www.example.com/doc.xml</literal> as the base
URI</para></listitem>

<listitem><para>a namespace map which</para>

<itemizedlist>

<listitem><para>maps the prefix <literal>pre1</literal> to the
namespace URI
<literal>http://www.example.com/n1</literal></para></listitem>

<listitem><para>maps the prefix <literal>xml</literal> to the
namespace URI
<literal>http://www.w3.org/XML/1998/namespace</literal></para></listitem>

<listitem><para>specifies the empty string as the default namespace
URI</para></listitem>

</itemizedlist>

</listitem>

</itemizedlist>

</listitem>

<listitem><para>an empty set of attributes</para></listitem>

<listitem><para>an empty sequence of children</para></listitem>

</itemizedlist>

<para>followed by an element which has</para>
 
<itemizedlist>
<listitem><para>a name which has</para>
<itemizedlist>

<listitem><para><literal>http://www.example.com/n2</literal> as the
namespace URI</para></listitem>

<listitem><para><literal>bar2</literal> as the local
name</para></listitem>

</itemizedlist>

</listitem>

<listitem><para>a context which has</para>

<itemizedlist>
<listitem><para><literal>http://www.example.com/doc.xml</literal> as the base
URI</para></listitem>

<listitem><para>a namespace map which</para>

<itemizedlist>

<listitem><para>maps the prefix <literal>pre2</literal> to the
namespace URI
<literal>http://www.example.com/n2</literal></para></listitem>

<listitem><para>maps the prefix <literal>xml</literal> to the
namespace URI
<literal>http://www.w3.org/XML/1998/namespace</literal></para></listitem>

<listitem><para>specifies the empty string as the default namespace
URI</para></listitem>

</itemizedlist>

</listitem>

</itemizedlist>

</listitem>

<listitem><para>an empty set of attributes</para></listitem>

<listitem><para>an empty sequence of children</para></listitem>

</itemizedlist>

</listitem>
</itemizedlist>

</section>

</section>

<section id="full-syntax">
<title>Full syntax</title>

<para>The following grammar summarizes the syntax of RELAX NG.
Although we use a notation based on the XML representation of an RELAX
NG schema as a sequence of characters, the grammar must be understood
as operating at the data model level.  For example, although the
syntax uses <literal><![CDATA[<text/>]]></literal>, an instance or
schema can use <literal><![CDATA[<text></text>]]></literal> instead,
because they both represent the same element at the data model level.
All elements shown in the grammar are qualified with the namespace
URI:</para>

<programlisting>http://relaxng.org/ns/structure/1.0</programlisting>

<para>The symbols QName and NCName are defined in <xref
linkend="xml-names"/>.  The anyURI symbol has the same meaning as the
anyURI datatype of <xref linkend="xmlschema-2"/>: it indicates a
string that, after escaping of disallowed values as described in
Section 5.4 of <xref linkend="xlink"/>, is a URI reference as defined
in <xref linkend="rfc2396"/> (as modified by <xref
linkend="rfc2732"/>).  The symbol string matches any string.</para>

<para>In addition to the attributes shown explicitly, any element can
have an <literal>ns</literal> attribute and any element can have a
<literal>datatypeLibrary</literal> attribute. The
<literal>ns</literal> attribute can have any value.  The value of the
<literal>datatypeLibrary</literal> attribute must match the anyURI
symbol as described in the previous paragraph; in addition, it must
not use the relative form of URI reference and must not have a
fragment identifier; as an exception to this, the value may be the
empty string.</para>

<para>Any element can also have foreign attributes in addition to the
attributes shown in the grammar. A foreign attribute is an attribute
with a name whose namespace URI is neither the empty string nor the
RELAX NG namespace URI.  Any element that cannot have string children
(that is, any element other than <literal>value</literal>, <literal>param</literal>
and <literal>name</literal>) may have foreign child elements in addition
to the child elements shown in the grammar. A foreign element is an
element with a name whose namespace URI is not the RELAX NG namespace
URI.  There are no constraints on the relative position of foreign
child elements with respect to other child elements.</para>

<para>Any element can also have as children strings that consist
entirely of whitespace characters, where a whitespace character is one
of #x20, #x9, #xD or #xA. There are no constraints on the relative
position of whitespace string children with respect to child
elements.</para>

<para>Leading and trailing whitespace is allowed for value of each
<literal>name</literal>, <literal>type</literal> and
<literal>combine</literal> attribute and for the content of each
<literal>name</literal> element.</para>

<grammarref src="full.rng"/>

<section id="full-syntax-example">
<title>Example</title>

<para>Here is an example of a schema in the full syntax for the
document in <xref linkend="data-model-example"/>.</para>

<programlisting><![CDATA[<?xml version="1.0"?>
<element name="foo"
         xmlns="http://relaxng.org/ns/structure/1.0"
         xmlns:a="http://relaxng.org/ns/annotation/1.0"
         xmlns:ex1="http://www.example.com/n1"
         xmlns:ex2="http://www.example.com/n2">
  <a:documentation>A foo element.</a:document>
  <element name="ex1:bar1">
    <empty/>
  </element>
  <element name="ex2:bar2">
    <empty/>
  </element>
</element>]]></programlisting>

</section>

</section>

<section id="simplification">
<title>Simplification</title>

<para>The full syntax given in the previous section is transformed
into a simpler syntax by applying the following transformation rules
in order. The effect must be as if each rule was applied to all
elements in the schema before the next rule is applied.  A
transformation rule may also specify constraints that must be
satisfied by a correct schema. The transformation rules are applied
at the data model level.  Before the transformations are applied, the
schema is parsed into an instance of the data model.</para>

<section>
<title>Annotations</title>

<para>Foreign attributes and elements are removed.</para>

<note><para>It is safe to remove <literal>xml:base</literal>
attributes at this stage because <literal>xml:base</literal>
attributes are used in determining the [base URI] of an element
information item, which is in turn used to construct the base URI of
the context of an element.  Thus, after a document has been parsed
into an instance of the data model, <literal>xml:base</literal>
attributes can be discarded.</para></note>

</section>

<section>
<title>Whitespace</title>

<para>For each element other than <literal>value</literal> and
<literal>param</literal>, each child that is a string containing only
whitespace characters is removed.</para>

<para>Leading and trailing whitespace characters are removed from the
value of each <literal>name</literal>, <literal>type</literal> and
<literal>combine</literal> attribute and from the content of each
<literal>name</literal> element.</para>

</section>

<section>
<title><literal>datatypeLibrary</literal> attribute</title>

<para>The value of each <literal>datatypeLibary</literal> attribute is
transformed by escaping disallowed characters as specified in Section
5.4 of <xref linkend="xlink"/>.</para>

<para>For any <literal>data</literal> or <literal>value</literal>
element that does not have a <literal>datatypeLibrary</literal>
attribute, a <literal>datatypeLibrary</literal> attribute is
added. The value of the added <literal>datatypeLibrary</literal>
attribute is the value of the <literal>datatypeLibrary</literal>
attribute of the nearest ancestor element that has a
<literal>datatypeLibrary</literal> attribute, or the empty string if
there is no such ancestor. Then, any <literal>datatypeLibrary</literal>
attribute that is on an element other than <literal>data</literal> or
<literal>value</literal> is removed.</para>

</section>

<section>
<title><literal>type</literal> attribute of <literal>value</literal> element</title>

<para>For any <literal>value</literal> element that does not have a
<literal>type</literal> attribute, a <literal>type</literal> attribute
is added with value <literal>token</literal> and the value of the
<literal>datatypeLibrary</literal> attribute is changed to the empty
string.</para>

</section>

<section id="href">
<title><literal>href</literal> attribute</title>

<para>The value of the <literal>href</literal> attribute on an
<literal>externalRef</literal> or <literal>include</literal> element
is first transformed by escaping disallowed characters as specified in
Section 5.4 of <xref linkend="xlink"/>.  The URI reference is then
resolved into an absolute form as described in section 5.2 of <xref
linkend="rfc2396"/> using the base URI from the context of the element
that bears the <literal>href</literal> attribute.</para>

<para>The value of the <literal>href</literal> attribute will be used
to construct an element (as specified in <xref
linkend="data-model"/>). This must be done as follows.  The URI
reference consists of the URI itself and an optional fragment
identifier. The resource identified by the URI is retrieved.  The
result is a MIME entity: a sequence of bytes labeled with a MIME
media type.  The media type determines how an element is constructed
from the MIME entity and optional fragment identifier.  When the media
type is <literal>application/xml</literal> or
<literal>text/xml</literal>, the MIME entity must be parsed as an XML
document in accordance with the applicable RFC (at the term of writing
<xref linkend="rfc3023"/>) and an element constructed from the result
of the parse as specified in <xref linkend="data-model"/>.  In
particular, the <literal>charset</literal> parameter must be handled
as specified by the RFC. This specification does not define the
handling of media types other than <literal>application/xml</literal>
and <literal>text/xml</literal>. The <literal>href</literal> attribute
must not include a fragment identifier unless the registration of the
media type of the resource identified by the attribute defines the
interpretation of fragment identifiers for that media type.</para>

<note><para><xref linkend="rfc3023"/> does not define the
interpretation of fragment identifiers for
<literal>application/xml</literal> or
<literal>text/xml</literal>.</para></note>

</section>

<section>
<title><literal>externalRef</literal> element</title>

<para>An <literal>externalRef</literal> element is transformed as
follows.  An element is constructed using the URI reference that is
the value of <literal>href</literal> attribute as specified in <xref
linkend="href"/>. This element must match the syntax for pattern.  The
element is transformed by recursively applying the rules from this
subsection and from previous subsections of this section. This must
not result in a loop. In other words, the transformation of the
referenced element must not require the dereferencing of an
<literal>externalRef</literal> attribute with an
<literal>href</literal> attribute with the same value.</para>

<para>Any <literal>ns</literal> attribute on the
<literal>externalRef</literal> element is transferred to the
referenced element if the referenced element does not already have an
<literal>ns</literal> attribute.  The <literal>externalRef</literal>
element is then replaced by the referenced element.</para>

</section>

<section>
<title><literal>include</literal> element</title>

<para>An <literal>include</literal> element is transformed as follows.
An element is constructed using the URI reference that is the value of
<literal>href</literal> attribute as specified in <xref
linkend="href"/>.  This element must be a <literal>grammar</literal>
element, matching the syntax for grammar.</para>

<para>This <literal>grammar</literal> element is transformed by
recursively applying the rules from this subsection and from previous
subsections of this section.  This must not result in a loop. In other
words, the transformation of the <literal>grammar</literal> element
must not require the dereferencing of an <literal>include</literal>
attribute with an <literal>href</literal> attribute with the same
value.</para>

<para>Define the <firstterm>components</firstterm> of an element to
be the children of the element together with the components of any
<literal>div</literal> child elements.  If the
<literal>include</literal> element has a <literal>start</literal>
component, then the <literal>grammar</literal> element must have a
<literal>start</literal> component.  If the <literal>include</literal>
element has a <literal>start</literal> component, then all
<literal>start</literal> components are removed from the
<literal>grammar</literal> element.  If the <literal>include</literal>
element has a <literal>define</literal> component, then the
<literal>grammar</literal> element must have a
<literal>define</literal> component with the same name.  For every
<literal>define</literal> component of the <literal>include</literal>
element, all <literal>define</literal> components with the same name
are removed from the <literal>grammar</literal> element.</para>

<para>The <literal>include</literal> element is transformed into a
<literal>div</literal> element.  The attributes of the
<literal>div</literal> element are the attributes of the
<literal>include</literal> element other than the
<literal>href</literal> attribute.  The children of the
<literal>div</literal> element are the <literal>grammar</literal>
element (after the removal of the <literal>start</literal> and
<literal>define</literal> components described by the preceding
paragraph) followed by the children of the <literal>include</literal>
element.  The <literal>grammar</literal> element is then renamed to
<literal>div</literal>.</para>

</section>

<section>
<title><literal>name</literal> attribute of <literal>element</literal>
and <literal>attribute</literal> elements</title>

<para>The <literal>name</literal> attribute on an
<literal>element</literal> or <literal>attribute</literal> element is
transformed into a <literal>name</literal> child element.</para>

<para>If an <literal>attribute</literal> element has a
<literal>name</literal> attribute but no <literal>ns</literal>
attribute, then an <literal>ns=""</literal> attribute is added to the
<literal>name</literal> child element.</para>

</section>

<section>
<title><literal>ns</literal> attribute</title>

<para>For any <literal>name</literal>, <literal>nsName</literal> or
<literal>value</literal> element that does not have an
<literal>ns</literal> attribute, an <literal>ns</literal> attribute is
added. The value of the added <literal>ns</literal> attribute is the
value of the <literal>ns</literal> attribute of the nearest ancestor
element that has an <literal>ns</literal> attribute, or the empty
string if there is no such ancestor. Then, any <literal>ns</literal>
attribute that is on an element other than <literal>name</literal>,
<literal>nsName</literal> or <literal>value</literal> is
removed.</para>

<note><para>The value of the <literal>ns</literal> attribute is
<emphasis role="strong">not</emphasis> transformed either by escaping
disallowed characters, or in any other way, because the value of the
<literal>ns</literal> attribute is compared against namespace URIs in
the instance, which are not subject to any
transformation.</para></note>

<note><para>Since <literal>include</literal> and
<literal>externalRef</literal> elements are resolved after
<literal>datatypeLibrary</literal> attributes are added but before
<literal>ns</literal> attributes are added, <literal>ns</literal>
attributes are inherited into external schemas but
<literal>datatypeLibrary</literal> attributes are not.</para></note>

</section>

<section>
<title>QNames</title>

<para>For any <literal>name</literal> element containing a prefix, the
prefix is removed and an <literal>ns</literal> attribute is added
replacing any existing <literal>ns</literal> attribute. The value of
the added <literal>ns</literal> attribute is the value to which the
namespace map of the context of the <literal>name</literal> element
maps the prefix.  The context must have a mapping for the
prefix.</para>

</section>

<section>
<title><literal>div</literal> element</title>

<para>Each <literal>div</literal> element is replaced by its
children.</para>

</section>

<section id="number-child-elements">
<title>Number of child elements</title>

<para>A <literal>define</literal>, <literal>oneOrMore</literal>,
<literal>zeroOrMore</literal>, <literal>optional</literal>, <literal>list</literal> or
<literal>mixed</literal> element is transformed so that it has exactly
one child element.  If it has more than one child element, then its
child elements are wrapped in a <literal>group</literal>
element. Similarly, an <literal>element</literal> element is transformed so
that it has exactly two child elements, the first being a name class
and the second being a pattern. If it has more than two child elements,
then the child elements other than the first are wrapped in a
<literal>group</literal> element.</para>

<para>A <literal>except</literal> element is transformed
so that it has exactly one child element. If it has more
than one child element, then its child elements are wrapped
in a <literal>choice</literal> element.</para>

<para>If an <literal>attribute</literal> element has only one child
element (a name class), then a <literal>text</literal> element is
added.</para>

<para>A <literal>choice</literal>, <literal>group</literal> or
<literal>interleave</literal> element is transformed so that it has
exactly two child elements. If it has one child element, then it is
replaced by its child element.  If it has more than two child
elements, then the first two child elements are combined into a new
element with the same name as the parent element and with the first
two child elements as its children.  For example,</para>

<programlisting>&lt;choice&gt; <replaceable>p1</replaceable> <replaceable>p2</replaceable> <replaceable>p3</replaceable> &lt;/choice&gt;</programlisting>

<para>is transformed to</para>

<programlisting>&lt;choice&gt; &lt;choice&gt; <replaceable>p1</replaceable> <replaceable>p2</replaceable> &lt;/choice&gt; <replaceable>p3</replaceable> &lt;/choice&gt;</programlisting>

<para>This reduces the number of child elements by one. The
transformation is applied repeatedly until there are exactly two child
elements.</para>

</section>

<section>
<title><literal>mixed</literal> element</title>

<para>A <literal>mixed</literal> element is transformed into an
interleaving with a <literal>text</literal> element:</para>

<programlisting>&lt;mixed> <replaceable>p</replaceable> &lt;/mixed></programlisting>

<para>is transformed into</para>

<programlisting>&lt;interleave> <replaceable>p</replaceable> &lt;text/> &lt;/interleave></programlisting>

</section>

<section>
<title><literal>optional</literal> element</title>

<para>An <literal>optional</literal> element is transformed into
a choice with <literal>empty</literal>:</para>

<programlisting>&lt;optional> <replaceable>p</replaceable> &lt;/optional></programlisting>

<para>is transformed into</para>

<programlisting>&lt;choice> <replaceable>p</replaceable> &lt;empty/> &lt;/choice></programlisting>

</section>

<section>
<title><literal>zeroOrMore</literal> element</title>

<para>A <literal>zeroOrMore</literal> element is transformed into a choice
between <literal>oneOrMore</literal> and
<literal>empty</literal>:</para>

<programlisting>&lt;zeroOrMore> <replaceable>p</replaceable> &lt;/zeroOrMore></programlisting>

<para>is transformed into</para>

<programlisting>&lt;choice> &lt;oneOrMore> <replaceable>p</replaceable> &lt;/oneOrMore> &lt;empty/> &lt;/choice></programlisting>

</section>

<section id="constraints">
<title>Constraints</title>

<para>In this rule, no transformation is performed, but various
constraints are checked.</para>

<note><para>The constraints in this section, unlike the constraints
specified in <xref linkend="restriction"/>, can be checked without
resolving any <literal>ref</literal> elements, and are accordingly
applied even to patterns that will disappear during later stages of
simplification because they are not reachable (see <xref
linkend="define-ref"/>) or because of <literal>notAllowed</literal>
(see <xref linkend="notAllowed"/>).</para></note>

<para>An <literal>except</literal> element that is a child of an
<literal>anyName</literal> element must not have any
<literal>anyName</literal> descendant elements. An
<literal>except</literal> element that is a child of an
<literal>nsName</literal> element must not have any
<literal>nsName</literal> or <literal>anyName</literal> descendant
elements.</para>

<para>A <literal>name</literal> element that occurs as the first child
of an <literal>attribute</literal> element or as the descendant of the
first child of an <literal>attribute</literal> element and that has an
<literal>ns</literal> attribute with value equal to the empty string
must not have content equal to <literal>xmlns</literal>.</para>

<para>A <literal>name</literal> or <literal>nsName</literal> element
that occurs as the first child of an <literal>attribute</literal>
element or as the descendant of the first child of an
<literal>attribute</literal> element must not have an
<literal>ns</literal> attribute with value
<literal>http://www.w3.org/2000/xmlns</literal>.</para>

<note><para>The <xref linkend="infoset"/> defines the namespace URI of
namespace declaration attributes to be
<literal>http://www.w3.org/2000/xmlns</literal>.</para></note>

<para>A <literal>data</literal> or <literal>value</literal> element
must be correct in its use of datatypes. Specifically, the
<literal>type</literal> attribute must identify a datatype within the
datatype library identified by the value of the
<literal>datatypeLibrary</literal> attribute.  For a
<literal>data</literal> element, the parameter list must be one that
is allowed by the datatype (see <xref
linkend="data-pattern"/>).</para>

</section>

<section>
<title><literal>combine</literal> attribute</title>

<para>For each <literal>grammar</literal> element, all
<literal>define</literal> elements with the same name are combined
together.  For any name, there must not be more than one
<literal>define</literal> element with that name that does not have a
<literal>combine</literal> attribute.  For any name, if there is a
<literal>define</literal> element with that name that has a
<literal>combine</literal> attribute with the value
<literal>choice</literal>, then there must not also be a
<literal>define</literal> element with that name that has a
<literal>combine</literal> attribute with the value
<literal>interleave</literal>. Thus, for any name, if there is more
than one <literal>define</literal> element with that name, then there
is a unique value for the <literal>combine</literal> attribute for
that name.  After determining this unique value, the
<literal>combine</literal> attributes are removed.  A pair of
definitions</para>

<programlisting>&lt;define name="<replaceable>n</replaceable>"&gt;
  <replaceable>p1</replaceable>
&lt;/define>
&lt;define name="<replaceable>n</replaceable>"&gt;
  <replaceable>p2</replaceable>
&lt;/define></programlisting>

<para>is combined into</para>

<programlisting>&lt;define name="<replaceable>n</replaceable>">
  &lt;<replaceable>c</replaceable>&gt;
    <replaceable>p1</replaceable>
    <replaceable>p2</replaceable>
  &lt;/<replaceable>c</replaceable>&gt;
&lt;/define></programlisting>

<para>where <replaceable>c</replaceable> is the value of the
<literal>combine</literal> attribute. Pairs of definitions are
combined until there is exactly one <literal>define</literal> element
for each name.</para>

<para>Similarly, for each <literal>grammar</literal> element all
<literal>start</literal> elements are combined together.  There must
not be more than one <literal>start</literal> element that does not
have a <literal>combine</literal> attribute.  If there is a
<literal>start</literal> element that has a <literal>combine</literal>
attribute with the value <literal>choice</literal>, there must not
also be a <literal>start</literal> element that has a
<literal>combine</literal> attribute with the value
<literal>interleave</literal>.</para>

</section>

<section>
<title><literal>grammar</literal> element</title>

<para>In this rule, the schema is transformed so that its top-level
element is <literal>grammar</literal> and so that it has no other
<literal>grammar</literal> elements.</para>

<para>Define the <firstterm>in-scope grammar</firstterm> for an
element to be the nearest ancestor <literal>grammar</literal> element.  A
<literal>ref</literal> element <firstterm>refers to</firstterm> a
<literal>define</literal> element if the value of their
<literal>name</literal> attributes is the same and their in-scope
grammars are the same.  A <literal>parentRef</literal> element
<firstterm>refers to</firstterm> a <literal>define</literal> element
if the value of their <literal>name</literal> attributes is the same
and the in-scope grammar of the in-scope grammar of the
<literal>parentRef</literal> element is the same as the in-scope
grammar of the <literal>define</literal> element. Every
<literal>ref</literal> or <literal>parentRef</literal> element must
refer to a <literal>define</literal> element.  A
<literal>grammar</literal> must have a <literal>start</literal> child
element.</para>

<para>First, transform the top-level pattern
<replaceable>p</replaceable> into
<literal>&lt;grammar>&lt;start><replaceable>p</replaceable>&lt;/start>&lt;/grammar></literal>.
Next, rename <literal>define</literal> elements so that no two
<literal>define</literal> elements anywhere in the schema have the
same name.  To rename a <literal>define</literal> element, change the
value of its <literal>name</literal> attribute and change the value of
the <literal>name</literal> attribute of all <literal>ref</literal>
and <literal>parentRef</literal> elements that refer to that
<literal>define</literal> element. Next, move all
<literal>define</literal> elements to be children of the top-level
<literal>grammar</literal> element, replace each nested
<literal>grammar</literal> element by the child of its
<literal>start</literal> element and rename each
<literal>parentRef</literal> element to <literal>ref</literal>.</para>

</section>


<section id="define-ref">
<title><literal>define</literal> and <literal>ref</literal> elements</title>

<para>In this rule, the grammar is transformed so that every
<literal>element</literal> element is the child of a
<literal>define</literal> element, and the child of every
<literal>define</literal> element is an <literal>element</literal>
element.</para>

<para>First, remove any <literal>define</literal> element that is not
<firstterm>reachable</firstterm>.  A <literal>define</literal> element
is reachable if there is reachable <literal>ref</literal> element
referring to it.  A <literal>ref</literal> element is reachable if it
is the descendant of the <literal>start</literal> element or of a
reachable <literal>define</literal> element. Now, for
each <literal>element</literal> element that is not the child of a
<literal>define</literal> element, add a <literal>define</literal>
element to the <literal>grammar</literal> element, and replace the
<literal>element</literal> element by a <literal>ref</literal> element
referring to the added <literal>define</literal> element. The value of
the <literal>name</literal> attribute of the added
<literal>define</literal> element must be different from value of the
<literal>name</literal> attribute of all other
<literal>define</literal> elements. The child of the added
<literal>define</literal> element is the <literal>element</literal>
element.</para>

<para>Define a <literal>ref</literal> element to be
<firstterm>expandable</firstterm> if it refers to a
<literal>define</literal> element whose child is not an
<literal>element</literal> element.  For each <literal>ref</literal>
element that is expandable and is a descendant of a
<literal>start</literal> element or an <literal>element</literal>
element, expand it by replacing the <literal>ref</literal> element by
the child of the <literal>define</literal> element to which it refers and
then recursively expanding any expandable <literal>ref</literal>
elements in this replacement.  This must not result in a loop.
In other words expanding the replacement of a
<literal>ref</literal> element having a <literal>name</literal> with
value <replaceable>n</replaceable> must not require the expansion of
<literal>ref</literal> element also having a <literal>name</literal>
with value <replaceable>n</replaceable>.  Finally, remove any
<literal>define</literal> element whose child is not an
<literal>element</literal> element.</para>

</section>

<section id="notAllowed">
<title><literal>notAllowed</literal> element</title>

<para>In this rule, the grammar is transformed so that a
<literal>notAllowed</literal> element occurs only as the child of
a <literal>start</literal> or <literal>element</literal> element.  An
<literal>attribute</literal>, <literal>list</literal>,
<literal>group</literal>, <literal>interleave</literal>,
or <literal>oneOrMore</literal> element that has a
<literal>notAllowed</literal> child element is transformed into a
<literal>notAllowed</literal> element.  A <literal>choice</literal>
element that has two <literal>notAllowed</literal> child elements is
transformed into a <literal>notAllowed</literal> element.  A
<literal>choice</literal> element that has one
<literal>notAllowed</literal> child element is transformed into its
other child element. An <literal>except</literal> element that has a
<literal>notAllowed</literal> child element is removed.
The preceding transformations are applied
repeatedly until none of them is applicable any more.
Any <literal>define</literal> element that is no longer reachable
is removed.</para>

</section>

<section>
<title><literal>empty</literal> element</title>

<para>In this rule, the grammar is transformed so that an
<literal>empty</literal> element does not occur as a child of a
<literal>group</literal>, <literal>interleave</literal>, or
<literal>oneOrMore</literal> element or as the second child of
a <literal>choice</literal> element. A <literal>group</literal>,
<literal>interleave</literal> or <literal>choice</literal> element
that has two <literal>empty</literal> child elements is transformed
into an <literal>empty</literal> element.  A <literal>group</literal>
or <literal>interleave</literal> element that has one
<literal>empty</literal> child element is transformed into its other
child element.  A <literal>choice</literal> element whose
second child element is an <literal>empty</literal> element is
transformed by interchanging its two child elements.  A
<literal>oneOrMore</literal> element that has an
<literal>empty</literal> child element is transformed into an
<literal>empty</literal> element. The preceding transformations are applied
repeatedly until none of them is applicable any more.</para>

</section>

</section>

<section id="simple-syntax">
<title>Simple syntax</title>

<para>After applying all the rules in <xref
linkend="simplification"/>, the schema will match the following
grammar:</para>

<grammarref src="simple.rng"/>

<para>With this grammar, no elements or attributes are allowed other
than those explicitly shown.</para>

<section id="simple-syntax-example">
<title>Example</title>

<para>The following is an example of how the schema in <xref
linkend="full-syntax-example"/> can be transformed into the simple
syntax:</para>

<programlisting><![CDATA[<?xml version="1.0"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
  <start>
    <ref name="foo.element"/>
  </start>

  <define name="foo.element">
    <element>
      <name ns="">foo</name>
      <group>
        <ref name="bar1.element"/>
        <ref name="bar2.element"/>
      </group>
    </element>
  </define>

  <define name="bar1.element">
    <element>
      <name ns="http://www.example.com/n1">bar1</name>
      <empty/>
    </element>
  </define>

  <define name="bar2.element">
    <element>
      <name ns="http://www.example.com/n2">bar2</name>
      <empty/>
    </element>
  </define>
</grammar>]]></programlisting>

<note><para>Strictly speaking, the result of simplification is an
instance of the data model rather than an XML document.  For
convenience, we use an XML document to represent an instance of the
data model.</para></note>

</section>

</section>

<section id="semantics">
<title>Semantics</title>

<para>In this section, we define the semantics of a correct RELAX NG
schema that has been transformed into the simple syntax.  The
semantics of a RELAX NG schema consist of a specification of what XML
documents are valid with respect to that schema.  The semantics are
described formally.  The formalism uses axioms and inference rules.
Axioms are propositions that are provable unconditionally.  An
inference rule consists of one or more antecedents and exactly one
consequent.  An antecedent is either positive or negative.  If all the
positive antecedents of an inference rule are provable and none of the
negative antecedents are provable, then the consequent of the
inference rule is provable. An XML document is valid with respect to a
RELAX NG schema if and only if the proposition that it is valid is
provable in the formalism specified in this section.</para>

<note><para>This kind of formalism is similar to a proof system.
However, a traditional proof system only has positive
antecedents.</para></note>

<para>The notation for inference rules separates the antecedents from
the consequent by a horizontal line: the antecedents are above the
line; the consequent is below the line.  If an antecedent is of the
form not(<replaceable>p</replaceable>), then it is a negative
antecedent; otherwise, it is a positive antecedent.  Both axioms and
inferences
rules may use variables.  A variable has a name and optionally a
subscript.  The name of a variable is italicized.  Each variable has a
range that is determined by its name.  Axioms and inference rules are
implicitly universally quantified over the variables they contain.  We
explain this further below.</para>

<para>The possibility that an inference rule or axiom may contain more
than one occurrence of a particular variable requires that an identity
relation be defined on each kind of object over which a variable can
range.  The identity relation for all kinds of object is value-based.
Two objects of a particular kind are identical if the constituents of
the objects are identical.  For example, two attributes are considered
the same if they have the same name and the same value. Two characters
are identical if their Unicode character codes are the same.</para>

<section id="name-classes">
<title>Name classes</title>

<para>The main semantic concept for name classes is that of a name
belonging to a name class. A name class is an element that matches the
production nameClass. A name is as defined in <xref
linkend="data-model"/>: it consists of a namespace URI and a local
name.</para>

<para>We use the following notation:</para>

<variablelist>

<varlistentry><term><p:var range="name"/></term><listitem><para>is a variable
that ranges over names</para></listitem></varlistentry>

<varlistentry><term><p:var range="nameClass"/></term><listitem><para>ranges over name classes</para></listitem></varlistentry>

<varlistentry><term><p:judgement name="belongs">
      <p:var range="name"/>
      <p:var range="nameClass"/>
    </p:judgement></term><listitem><para>
    
asserts that name <p:var range="name"/> is a member of name class <p:var range="nameClass"/>

</para></listitem></varlistentry>

</variablelist>

<para>We are now ready for our first axiom, which is called "anyName
1":</para>

<p:proofSystem>
  <p:rule name="anyName 1">
    <p:judgement name="belongs">
      <p:var range="name"/>
      <p:element name="anyName"/>
    </p:judgement>
  </p:rule>
</p:proofSystem>

<para>This says for any name <p:var range="name"/>, <p:var
range="name"/> belongs to the name class <p:element name="anyName"/>,
in other words <p:element name="anyName"/> matches any name. Note the
effect of the implicit universal quantification over the variables in
the axiom: this is what makes the axiom apply for any name <p:var
range="name"/>.</para>

<para>Our first inference rule is almost as simple:</para>

<p:proofSystem>
  <p:rule name="anyName 2">
    <p:not>
      <p:judgement name="belongs">
	<p:var range="name"/>
	<p:var range="nameClass"/>
      </p:judgement>
    </p:not>
    <p:judgement name="belongs">
      <p:var range="name"/>
      <p:element name="anyName">
        <p:element name="except">
  	  <p:var range="nameClass"/>
        </p:element>
      </p:element>
    </p:judgement>
  </p:rule>

</p:proofSystem>

<para>This says that for any name <p:var range="name"/>
and for any name class 	<p:var range="nameClass"/>,
if <p:var range="name"/> does not belong to <p:var range="nameClass"/>,
then <p:var range="name"/> belongs to 
      <p:element name="anyName">
        <p:element name="except">
  	  <p:var range="nameClass"/>
        </p:element>
      </p:element>. In other words,       <p:element name="anyName">
        <p:element name="except">
  	  <p:var range="nameClass"/>
        </p:element>
      </p:element> matches any name that does not match <p:var range="nameClass"/>.</para>

<para>We now need the following additional notation:</para>

<variablelist>

<varlistentry><term><p:var range="ncname"/></term>

<listitem><para>ranges over local names; a local name is a string that
matches the NCName production of <xref linkend="xml-names"/>, that is,
a name with no colons</para></listitem>
</varlistentry>

<varlistentry><term><p:var range="uri"/></term><listitem><para>ranges over URIs</para></listitem></varlistentry>

<varlistentry>
<term>
  <p:function name="name">
    <p:var range="uri"/>
    <p:var range="ncname"/>
  </p:function>
</term>
<listitem><para>constructs a name with URI <p:var range="uri"/> and local
name <p:var range="ncname"/></para></listitem>
</varlistentry>

</variablelist>

<para>The remaining axioms and inference rules for name classes are as
follows:</para>

<p:proofSystem>

  <p:rule name="nsName 1">
    <p:judgement name="belongs">
      <p:function name="name">
        <p:var range="uri"/>
        <p:var range="ncname"/>
      </p:function>
      <p:element name="nsName">
        <p:attribute name="ns">
          <p:var range="uri"/>
        </p:attribute>
      </p:element>
    </p:judgement>
  </p:rule>

  <p:rule name="nsName 2">
    <p:not>
      <p:judgement name="belongs">
	<p:function name="name">
	  <p:var range="uri"/>
	  <p:var range="ncname"/>
	</p:function>
	<p:var range="nameClass"/>
      </p:judgement>
    </p:not>
    <p:judgement name="belongs">
      <p:function name="name">
        <p:var range="uri"/>
        <p:var range="ncname"/>
      </p:function>
      <p:element name="nsName">
        <p:attribute name="ns">
          <p:var range="uri"/>
        </p:attribute>
        <p:element name="except">
          <p:var range="nameClass"/>
        </p:element>
      </p:element>
    </p:judgement>
  </p:rule>

  <p:rule name="name">
    <p:judgement name="belongs">
      <p:function name="name">
        <p:var range="uri"/>
        <p:var range="ncname"/>
      </p:function>
      <p:element name="name">
        <p:attribute name="ns">
          <p:var range="uri"/>
        </p:attribute>
        <p:var range="ncname"/>
      </p:element>
    </p:judgement>
  </p:rule>

  <p:rule name="name choice 1">
    <p:judgement name="belongs">
      <p:var range="name"/>
      <p:var range="nameClass" sub="1"/>
    </p:judgement>
    <p:judgement name="belongs">
      <p:var range="name"/>
      <p:element name="choice">
        <p:var range="nameClass" sub="1"/>
        <p:var range="nameClass" sub="2"/>
      </p:element>
    </p:judgement>
  </p:rule>

  <p:rule name="name choice 2">
    <p:judgement name="belongs">
      <p:var range="name"/>
      <p:var range="nameClass" sub="2"/>
    </p:judgement>
    <p:judgement name="belongs">
      <p:var range="name"/>
      <p:element name="choice">
        <p:var range="nameClass" sub="1"/>
        <p:var range="nameClass" sub="2"/>
      </p:element>
    </p:judgement>
  </p:rule>

</p:proofSystem>

</section>


<section>
<title>Patterns</title>

<para>The axioms and inference rules for patterns use the following
notation:</para>

<variablelist>

<varlistentry><term><p:var range="context"/></term><listitem><para>ranges
over contexts (as defined in <xref
linkend="data-model"/>)</para></listitem></varlistentry>

<varlistentry><term><p:var range="att"/></term><listitem><para>ranges over
sets of attributes; a set with a single member
is considered the same as that member</para></listitem></varlistentry>

<varlistentry><term><p:var
range="mixed"/></term><listitem><para>ranges over sequences of
elements and strings; a sequence with a single member is considered
the same as that member; the sequences ranged over by <p:var
range="mixed"/> may contain consecutive strings and may contain strings
that are empty; thus, there are sequences ranged over by <p:var
range="mixed"/> that cannot occur as the children of an
element</para></listitem></varlistentry>

<varlistentry><term><p:var range="pattern"/></term><listitem><para>ranges
over patterns (elements matching the pattern
production)</para></listitem></varlistentry>

<varlistentry><term><p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:var range="pattern"/>
    </p:judgement></term><listitem><para>
    
asserts that with respect to context <p:var range="context"/>, the
attributes <p:var range="att"/> and the sequence of elements and
strings <p:var range="mixed"/> matches the pattern <p:var
range="pattern"/></para></listitem></varlistentry>

</variablelist>

<section id="choice-pattern">
<title><literal>choice</literal> pattern</title>

<para>The semantics of the <literal>choice</literal> pattern are as follows:</para>

<p:proofSystem>
  <p:rule name="choice 1">

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:var range="pattern" sub="1"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:element name="choice">
	<p:var range="pattern" sub="1"/>
	<p:var range="pattern" sub="2"/>
      </p:element>
    </p:judgement>

  </p:rule>

  <p:rule name="choice 2">

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:var range="pattern" sub="2"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:element name="choice">
	<p:var range="pattern" sub="1"/>
	<p:var range="pattern" sub="2"/>
      </p:element>
    </p:judgement>

  </p:rule>


</p:proofSystem>

</section>

<section>
<title><literal>group</literal> pattern</title>

<para>We use the following additional notation:</para>

<variablelist>

<varlistentry><term><p:function name="append">
	<p:var range="mixed" sub="1"/>
	<p:var range="mixed" sub="2"/>
      </p:function></term><listitem>
<para>represents the concatenation of the sequences <p:var range="mixed" sub="1"/> and <p:var range="mixed" sub="2"/>

</para></listitem></varlistentry>

<varlistentry><term><p:function name="union">
	<p:var range="att" sub="1"/>
	<p:var range="att" sub="2"/>
      </p:function></term><listitem>
<para>represents the union of <p:var range="att" sub="1"/>
and <p:var range="att" sub="2"/></para>
</listitem>
</varlistentry>

</variablelist>

<para>The semantics of the <literal>group</literal> pattern are as follows:</para>

<p:proofSystem>
  <p:rule name="group">

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att" sub="1"/>
      <p:var range="mixed" sub="1"/>
      <p:var range="pattern" sub="1"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att" sub="2"/>
      <p:var range="mixed" sub="2"/>
      <p:var range="pattern" sub="2"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="union">
	<p:var range="att" sub="1"/>
	<p:var range="att" sub="2"/>
      </p:function>
      <p:function name="append">
	<p:var range="mixed" sub="1"/>
	<p:var range="mixed" sub="2"/>
      </p:function>
      <p:element name="group">
	<p:var range="pattern" sub="1"/>
	<p:var range="pattern" sub="2"/>
      </p:element>
    </p:judgement>

  </p:rule>

</p:proofSystem>

<note><para>The restriction in <xref linkend="attribute-restrictions"/>
ensures that the set of attributes constructed in the consequent will
not have multiple attributes with the same name.</para></note>

</section>


<section id="empty-pattern">
<title><literal>empty</literal> pattern</title>

<para>We use the following additional notation:</para>

<variablelist>
<varlistentry><term><p:function name="emptySequence"/></term><listitem><para>represents an empty sequence</para></listitem></varlistentry>

<varlistentry><term><p:function name="emptySet"/></term><listitem><para>represents an empty set</para></listitem></varlistentry>

</variablelist>

<para>The semantics of the <literal>empty</literal> pattern are as follows:</para>

<p:proofSystem>
  <p:rule name="empty">
    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:function name="emptySequence"/>
      <p:element name="empty"></p:element>
      <p:function name="emptySet"/>
      <p:function name="emptySet"/>
    </p:judgement>
  </p:rule>
</p:proofSystem>

</section>


<section id="text-pattern">
<title><literal>text</literal> pattern</title>

<para>We use the following additional notation:</para>

<variablelist>
<varlistentry><term><p:var range="string"/></term><listitem><para>ranges
over strings</para></listitem></varlistentry>
</variablelist>

<para>The semantics of the <literal>text</literal> pattern are as follows:</para>

<p:proofSystem>
  <p:rule name="text 1">
    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:function name="emptySequence"/>
      <p:element name="text"></p:element>
      <p:function name="emptySet"/>
      <p:function name="emptySet"/>
    </p:judgement>
  </p:rule>

  <p:rule name="text 2">
    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:var range="mixed"/>
      <p:element name="text"></p:element>
      <p:function name="emptySet"/>
      <p:function name="emptySet"/>
    </p:judgement>
    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:function name="append">
        <p:var range="mixed"/>
        <p:var range="string"/>
      </p:function>
      <p:element name="text"></p:element>
      <p:function name="emptySet"/>
      <p:function name="emptySet"/>
    </p:judgement>
  </p:rule>

</p:proofSystem>

<para>The effect of the above rule is that a <literal>text</literal>
element matches zero or more strings.</para>

</section>


<section>
<title><literal>oneOrMore</literal> pattern</title>

<para>We use the following additional notation:</para>

<variablelist>
<varlistentry><term><p:judgement name="disjoint">
      <p:var range="att" sub="1"/>
      <p:var range="att" sub="2"/>
    </p:judgement></term><listitem><para>
asserts that there is no name that is
the name of both an attribute in <p:var range="att" sub="1"/>
and of an attribute in <p:var range="att" sub="2"/>
</para></listitem></varlistentry>
</variablelist>

<para>The semantics of the <literal>oneOrMore</literal> pattern are as follows:</para>

<p:proofSystem>
  <p:rule name="oneOrMore 1">
    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:var range="pattern"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:element name="oneOrMore">
        <p:var range="pattern"/>
      </p:element>
    </p:judgement>
  </p:rule>

  <p:rule name="oneOrMore 2">
    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att" sub="1"/>
      <p:var range="mixed" sub="1"/>
      <p:var range="pattern"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att" sub="2"/>
      <p:var range="mixed" sub="2"/>
      <p:element name="oneOrMore">
        <p:var range="pattern"/>
      </p:element>
    </p:judgement>

    <p:judgement name="disjoint">
      <p:var range="att" sub="1"/>
      <p:var range="att" sub="2"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="union">
	<p:var range="att" sub="1"/>
	<p:var range="att" sub="2"/>
      </p:function>
      <p:function name="append">
	<p:var range="mixed" sub="1"/>
	<p:var range="mixed" sub="2"/>
      </p:function>
      <p:element name="oneOrMore">
        <p:var range="pattern"/>
      </p:element>
    </p:judgement>
  </p:rule>

</p:proofSystem>

</section>


<section>
<title><literal>interleave</literal> pattern</title>

<para>We use the following additional notation:</para>

<variablelist>
<varlistentry><term><p:judgement name="interleave">
      <p:var range="mixed" sub="1"/>
      <p:var range="mixed" sub="2"/>
      <p:var range="mixed" sub="3"/>
    </p:judgement></term><listitem><para>
    
asserts that <p:var range="mixed" sub="1"/>
is an interleaving of <p:var range="mixed" sub="2"/>
and <p:var range="mixed" sub="3"/>
</para></listitem></varlistentry>

</variablelist>

<para>The semantics of interleaving are defined by the following rules.</para>


<p:proofSystem>
  <p:rule name="interleaves 1">
   
    <p:judgement name="interleave">
      <p:function name="emptySequence"/>
      <p:function name="emptySequence"/>
      <p:function name="emptySequence"/>
    </p:judgement>

  </p:rule>

  <p:rule name="interleaves 2">
   
    <p:judgement name="interleave">
      <p:var range="mixed" sub="1"/>
      <p:var range="mixed" sub="2"/>
      <p:var range="mixed" sub="3"/>
    </p:judgement>

    <p:judgement name="interleave">
      <p:function name="append">
        <p:var range="mixed" sub="4"/>
        <p:var range="mixed" sub="1"/>
      </p:function>
      <p:function name="append">
        <p:var range="mixed" sub="4"/>
        <p:var range="mixed" sub="2"/>
      </p:function>
      <p:var range="mixed" sub="3"/>
    </p:judgement>

  </p:rule>

  <p:rule name="interleaves 3">
   
    <p:judgement name="interleave">
      <p:var range="mixed" sub="1"/>
      <p:var range="mixed" sub="2"/>
      <p:var range="mixed" sub="3"/>
    </p:judgement>

    <p:judgement name="interleave">
      <p:function name="append">
        <p:var range="mixed" sub="4"/>
        <p:var range="mixed" sub="1"/>
      </p:function>
      <p:var range="mixed" sub="2"/>
      <p:function name="append">
        <p:var range="mixed" sub="4"/>
        <p:var range="mixed" sub="3"/>
      </p:function>
    </p:judgement>

  </p:rule>

</p:proofSystem>

<para>For example, the interleavings of
<literal><![CDATA[<a/><a/>]]></literal> and
<literal><![CDATA[<b/>]]></literal> are
<literal><![CDATA[<a/><a/><b/>]]></literal>,
<literal><![CDATA[<a/><b/><a/>]]></literal>, and
<literal><![CDATA[<b/><a/><a/>]]></literal>.</para>

<para>The semantics of the <literal>interleave</literal> pattern are
as follows:</para>

<p:proofSystem>
  <p:rule name="interleave">

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att" sub="1"/>
      <p:var range="mixed" sub="1"/>
      <p:var range="pattern" sub="1"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att" sub="2"/>
      <p:var range="mixed" sub="2"/>
      <p:var range="pattern" sub="2"/>
    </p:judgement>

    <p:judgement name="interleave">
      <p:var range="mixed" sub="3"/>
      <p:var range="mixed" sub="1"/>
      <p:var range="mixed" sub="2"/>
    </p:judgement>


    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="union">
	<p:var range="att" sub="1"/>
	<p:var range="att" sub="2"/>
      </p:function>
      <p:var range="mixed" sub="3"/>
      <p:element name="interleave">
	<p:var range="pattern" sub="1"/>
	<p:var range="pattern" sub="2"/>
      </p:element>
    </p:judgement>

  </p:rule>

</p:proofSystem>

<note><para>The restriction in <xref linkend="attribute-restrictions"/>
ensures that the set of attributes constructed in the consequent will
not have multiple attributes with the same name.</para></note>

</section>

<section id="element-pattern">
<title><literal>element</literal> and <literal>attribute</literal> pattern</title>

<para>The value of an attribute is always a single string, which may
be empty.  Thus, the empty sequence is not a possible attribute value.
On the hand, the children of an element can be an empty sequence and
cannot consist of an empty string.  In order to ensure that validation
handles attributes and elements consistently, we introduce a variant
of matching called <firstterm>weak matching</firstterm>.  Weak
matching is used when matching the pattern for the value of an
attribute or for the attributes and children of an element.  We use
the following notation to define weak matching.</para>

<variablelist>

<varlistentry><term><p:function
name="emptyString"/></term><listitem><para>represents an empty
string</para></listitem></varlistentry>

<varlistentry><term><p:var
range="whiteSpace"/></term><listitem><para>ranges over the empty
sequence and strings that consist entirely of
whitespace</para></listitem></varlistentry>

<varlistentry><term><p:judgement name="weakMatch">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:var range="pattern"/>
    </p:judgement></term><listitem><para>
    
asserts that with respect to context <p:var range="context"/>, the
attributes <p:var range="att"/> and the sequence of elements and
strings <p:var range="mixed"/> weakly matches the pattern <p:var
range="pattern"/></para></listitem></varlistentry>

</variablelist>

<para>The semantics of weak matching are as follows:</para>

<p:proofSystem>
  <p:rule name="weak match 1">
    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:var range="pattern"/>
    </p:judgement>
    <p:judgement name="weakMatch">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:var range="pattern"/>
    </p:judgement>
  </p:rule>
  <p:rule name="weak match 2">
    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:function name="emptySequence"/>
      <p:var range="pattern"/>
    </p:judgement>
    <p:judgement name="weakMatch">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:var range="whiteSpace"/>
      <p:var range="pattern"/>
    </p:judgement>
  </p:rule>
  <p:rule name="weak match 3">
    <p:judgement name="match">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:function name="emptyString"/>
      <p:var range="pattern"/>
    </p:judgement>
    <p:judgement name="weakMatch">
      <p:var range="context"/>
      <p:var range="att"/>
      <p:function name="emptySequence"/>
      <p:var range="pattern"/>
    </p:judgement>
  </p:rule>
</p:proofSystem>

<para>We use the following additional notation:</para>

<variablelist>

<varlistentry><term><p:function name="attribute">
        <p:var range="name"/>
        <p:var range="string"/>
      </p:function></term><listitem><para>
      
constructs an attribute with name <p:var range="name"/>
and value <p:var range="string"/>
</para></listitem></varlistentry>

<varlistentry><term><p:function name="element">
	<p:var range="name"/>
        <p:var range="context"/>
	<p:var range="att"/>
	<p:var range="mixed"/>
      </p:function></term><listitem><para>
      
constructs an element with name <p:var range="name"/>,
context <p:var range="context"/>,
attributes <p:var range="att"/>
and mixed sequence <p:var range="mixed"/> as children
</para></listitem></varlistentry>

<varlistentry><term><p:judgement name="okAsChildren">
      <p:var range="mixed"/>
    </p:judgement></term><listitem><para>
    
asserts that the mixed sequence <p:var range="mixed"/> can occur as
the children of an element: it does not contain any member that is an
empty string, nor does it contain two consecutive members that are
both strings</para></listitem></varlistentry>

<varlistentry><term><p:judgement name="bind">
      <p:var range="ncname"/>
      <p:var range="nameClass"/>
      <p:var range="pattern"/>
    </p:judgement></term><listitem><para>
    
asserts that the grammar contains
<p:element name="define">
  <p:attribute name="name">
    <p:var range="ncname"/>
  </p:attribute>
  <p:element name="element">
     <p:var range="nameClass"/>
     <p:var range="pattern"/>
  </p:element>
</p:element>
</para></listitem></varlistentry>

</variablelist>

<para>The semantics of the <literal>attribute</literal> pattern are as follows:</para>

<p:proofSystem>
  <p:rule name="attribute">

    <p:judgement name="weakMatch">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:var range="string"/>
      <p:var range="pattern"/>
    </p:judgement>

    <p:judgement name="belongs">
      <p:var range="name"/>
      <p:var range="nameClass"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="attribute">
        <p:var range="name"/>
        <p:var range="string"/>
      </p:function>
      <p:function name="emptySequence"/>
      <p:element name="attribute">
        <p:var range="nameClass"/>
	<p:var range="pattern"/>
      </p:element>
    </p:judgement>

  </p:rule>

</p:proofSystem>

<para>The semantics of the <literal>element</literal> pattern are as follows:</para>

<p:proofSystem>
  <p:rule name="element">

    <p:judgement name="weakMatch">
      <p:var range="context" sub="1"/>
      <p:var range="att"/>
      <p:var range="mixed"/>
      <p:var range="pattern"/>
    </p:judgement>

    <p:judgement name="belongs">
      <p:var range="name"/>
      <p:var range="nameClass"/>
    </p:judgement>

    <p:judgement name="okAsChildren">
      <p:var range="mixed"/>
    </p:judgement>

    <p:judgement name="bind">
      <p:var range="ncname"/>
      <p:var range="nameClass"/>
      <p:var range="pattern"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context" sub="2"/>
      <p:function name="emptySet"/>
      <p:function name="append">
        <p:var range="whiteSpace" sub="1"/>
	<p:function name="element">
	  <p:var range="name"/>
	  <p:var range="context" sub="1"/>
	  <p:var range="att"/>
	  <p:var range="mixed"/>
	</p:function>
        <p:var range="whiteSpace" sub="2"/>
      </p:function>
      <p:element name="ref">
        <p:attribute name="name">
          <p:var range="ncname"/>
        </p:attribute>
      </p:element>
    </p:judgement>

  </p:rule>

</p:proofSystem>


</section>

<section id="data-pattern">
<title><literal>data</literal> and <literal>value</literal> pattern</title>

<para>RELAX NG relies on datatype libraries to perform datatyping.
A datatype library is identified by a URI.  A datatype within a
datatype library is identified by an NCName.  A datatype library
provides two services.</para>

<itemizedlist>

<listitem><para>It can determine whether a string is a legal
representation of a datatype. This service accepts a list of zero or
more parameters. For example, a string datatype might have a parameter
specifying the length of a string.  The datatype library determines
what parameters are applicable for each datatype.</para></listitem>

<listitem><para>It can determine whether two strings represent the
same value of a datatype.  This service does not have any
parameters.</para></listitem>

</itemizedlist>

<para>Both services may make use of the context of a string.  For
example, a datatype representing a QName would use the namespace
map.</para>

<para>We use the following additional notation:</para>

<variablelist>
<varlistentry><term><p:judgement name="datatypeAllows">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="params"/>
      <p:var range="string"/>
      <p:var range="context"/>
    </p:judgement></term><listitem><para>
    
asserts that in the datatype library identified by URI <p:var range="uri"/>, the string <p:var range="string"/> interpreted with
context <p:var range="context"/> is a legal
value of datatype <p:var range="ncname"/> with parameters <p:var range="params"/></para></listitem></varlistentry>

<varlistentry><term><p:judgement name="datatypeEqual">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="string" sub="1"/>
      <p:var range="context" sub="1"/>
      <p:var range="string" sub="2"/>
      <p:var range="context" sub="2"/>
    </p:judgement></term><listitem><para>
    
asserts that in the datatype library identified by URI <p:var range="uri"/>, string <p:var range="string" sub="1"/> interpreted with
context <p:var range="context" sub="1"/> represents the same value of
the datatype <p:var range="ncname"/> as the string <p:var range="string" sub="2"/> interpreted in the context of <p:var range="context" sub="2"/>
</para></listitem></varlistentry>

<varlistentry><term><p:var range="params"/></term><listitem><para>ranges over sequences of parameters</para></listitem></varlistentry>

<varlistentry><term><p:context>
     <p:var range="context"/>
   </p:context></term><listitem><para>
   
within the start-tag of a pattern refers to the context
of the pattern element
</para></listitem></varlistentry>

<varlistentry>
<term>
  <p:function name="context">
     <p:var range="uri"/>
     <p:var range="context"/>
  </p:function>
</term>
<listitem><para>constructs a context which is the same as <p:var range="context"/>
except that the default namespace is <p:var range="uri"/>; if <p:var
range="uri"/> is the empty string, then there is no default namespace
in the constructed context</para></listitem></varlistentry>

</variablelist>

<para>The datatypeEqual function must be reflexive, transitive
and symmetric, that is, the following inference rules must hold:</para>

<p:proofSystem>
  <p:rule name="datatypeEqual reflexive">
    <p:judgement name="datatypeAllows">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="params"/>
      <p:var range="string"/>
      <p:var range="context"/>
    </p:judgement>
    <p:judgement name="datatypeEqual">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="string"/>
      <p:var range="context"/>
      <p:var range="string"/>
      <p:var range="context"/>
    </p:judgement>
  </p:rule>
  <p:rule name="datatypeEqual transitive">
    <p:judgement name="datatypeEqual">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="string" sub="1"/>
      <p:var range="context" sub="1"/>
      <p:var range="string" sub="2"/>
      <p:var range="context" sub="2"/>
    </p:judgement>
    <p:judgement name="datatypeEqual">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="string" sub="2"/>
      <p:var range="context" sub="3"/>
      <p:var range="string" sub="3"/>
      <p:var range="context" sub="3"/>
    </p:judgement>
    <p:judgement name="datatypeEqual">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="string" sub="1"/>
      <p:var range="context" sub="1"/>
      <p:var range="string" sub="3"/>
      <p:var range="context" sub="3"/>
    </p:judgement>
  </p:rule>
  <p:rule name="datatypeEqual symmetric">
    <p:judgement name="datatypeEqual">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="string" sub="1"/>
      <p:var range="context" sub="1"/>
      <p:var range="string" sub="2"/>
      <p:var range="context" sub="2"/>
    </p:judgement>
    <p:judgement name="datatypeEqual">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="string" sub="2"/>
      <p:var range="context" sub="2"/>
      <p:var range="string" sub="1"/>
      <p:var range="context" sub="1"/>
    </p:judgement>
  </p:rule>
</p:proofSystem>

<para>The semantics of the <literal>data</literal> and
<literal>value</literal> patterns are as follows:</para>

<p:proofSystem>
  <p:rule name="value">
    <p:judgement name="datatypeEqual">
      <p:var range="uri" sub="1"/>
      <p:var range="ncname"/>
      <p:var range="string" sub="1"/>
      <p:var range="context" sub="1"/>
      <p:var range="string" sub="2"/>
      <p:function name="context">
        <p:var range="uri" sub="2"/>
        <p:var range="context" sub="2"/>
      </p:function>
    </p:judgement>
    <p:judgement name="match">
      <p:var range="context" sub="1"/>
      <p:function name="emptySet"/>
      <p:var range="string" sub="1"/>
      <p:element name="value">
        <p:attribute name="datatypeLibrary">
          <p:var range="uri" sub="1"/>
        </p:attribute>
        <p:attribute name="type">
          <p:var range="ncname"/>
        </p:attribute>
        <p:attribute name="ns">
          <p:var range="uri" sub="2"/>
        </p:attribute>
        <p:context>
          <p:var range="context" sub="2"/>
        </p:context>
        <p:var range="string" sub="2"/>
      </p:element>
      <p:function name="emptySet"/>
      <p:function name="emptySet"/>
    </p:judgement>
  </p:rule>

  <p:rule name="data 1">
    <p:judgement name="datatypeAllows">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="params"/>
      <p:var range="string"/>
      <p:var range="context"/>
    </p:judgement>
    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:var range="string"/>
      <p:element name="data">
        <p:attribute name="datatypeLibrary">
          <p:var range="uri"/>
        </p:attribute>
        <p:attribute name="type">
          <p:var range="ncname"/>
        </p:attribute>
        <p:var range="params"/>
      </p:element>
      <p:function name="emptySet"/>
      <p:function name="emptySet"/>
    </p:judgement>
  </p:rule>

  <p:rule name="data 2">
    <p:judgement name="datatypeAllows">
      <p:var range="uri"/>
      <p:var range="ncname"/>
      <p:var range="params"/>
      <p:var range="string"/>
      <p:var range="context"/>
    </p:judgement>
    <p:not>
      <p:judgement name="match">
	<p:var range="context"/>
	<p:var range="att"/>
	<p:var range="string"/>
        <p:var range="pattern"/>
      </p:judgement>
    </p:not>
    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:var range="string"/>
      <p:element name="data">
        <p:attribute name="datatypeLibrary">
          <p:var range="uri"/>
        </p:attribute>
        <p:attribute name="type">
          <p:var range="ncname"/>
        </p:attribute>
        <p:var range="params"/>
        <p:element name="except">
          <p:var range="pattern"/>
        </p:element>
      </p:element>
      <p:function name="emptySet"/>
      <p:function name="emptySet"/>
    </p:judgement>
  </p:rule>

</p:proofSystem>

</section>

<section id="built-in-datatype">
<title>Built-in datatype library</title>

<para>The empty URI identifies a special built-in datatype library.
This provides two datatypes, <literal>string</literal> and
<literal>token</literal>.  No parameters are allowed for either of
these datatypes.</para>

<variablelist>
<varlistentry><term>
    <p:judgement name="equal">
      <p:var range="string" sub="1"/>
      <p:var range="string" sub="2"/>
    </p:judgement></term>
<listitem><para>asserts that <p:var range="string" sub="1"/>
and <p:var range="string" sub="2"/> are identical</para></listitem>
</varlistentry>

<varlistentry><term>
      <p:function name="normalizeWhiteSpace">
        <p:var range="string"/>
      </p:function>
</term>
<listitem><para>returns the string <p:var range="string"/>,
with leading and trailing whitespace characters removed,
and with each other maximal sequence of whitespace characters
replaced by a single space character </para></listitem>
</varlistentry>
</variablelist>

<para>The semantics of the two built-in datatypes are as
follows:</para>

<p:proofSystem>

  <p:rule name="string allows">
    <p:judgement name="datatypeAllows">
      <p:function name="emptyString"/>
      <p:string>string</p:string>
      <p:function name="emptySequence"/>
      <p:var range="string"/>
      <p:var range="context"/>
    </p:judgement>
  </p:rule>

  <p:rule name="string equal">
    <p:judgement name="datatypeEqual">
      <p:function name="emptyString"/>
      <p:string>string</p:string>
      <p:var range="string"/>
      <p:var range="context" sub="1"/>
      <p:var range="string"/>
      <p:var range="context" sub="2"/>
    </p:judgement>
  </p:rule>

  <p:rule name="token allows">
    <p:judgement name="datatypeAllows">
      <p:function name="emptyString"/>
      <p:string>token</p:string>
      <p:function name="emptySequence"/>
      <p:var range="string"/>
      <p:var range="context"/>
    </p:judgement>
  </p:rule>

  <p:rule name="token equal">
    <p:judgement name="equal">
      <p:function name="normalizeWhiteSpace">
        <p:var range="string" sub="1"/>
      </p:function>
      <p:function name="normalizeWhiteSpace">
        <p:var range="string" sub="2"/>
      </p:function>
    </p:judgement>
    <p:judgement name="datatypeEqual">
      <p:function name="emptyString"/>
      <p:string>token</p:string>
      <p:var range="string" sub="1"/>
      <p:var range="context" sub="1"/>
      <p:var range="string" sub="2"/>
      <p:var range="context" sub="2"/>
    </p:judgement>
  </p:rule>

</p:proofSystem>

</section>

<section>
<title><literal>list</literal> pattern</title>

<para>We use the following additional notation:</para>

<variablelist>
<varlistentry><term><p:function name="split">
        <p:var range="string"/>
      </p:function></term><listitem><para>
      
returns a sequence of strings one for each whitespace delimited token
of <p:var range="string"/>; each string in the returned sequence will
be non-empty and will not contain any
whitespace</para></listitem></varlistentry>

</variablelist>

<para>The semantics of the <literal>list</literal> pattern are as follows:</para>

<p:proofSystem>
  <p:rule name="list">

    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:function name="split">
        <p:var range="string"/>
      </p:function>
      <p:var range="pattern"/>
    </p:judgement>

    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:var range="string"/>
      <p:element name="list">
	<p:var range="pattern"/>
      </p:element>
    </p:judgement>

  </p:rule>
</p:proofSystem>

<note><para>It is crucial in the above inference rule that the
sequence that is matched against a pattern can contain consecutive
strings.</para></note>

</section>

</section>

<section id="validity">
<title>Validity</title>

<para>Now we can define when an element is valid with respect to a
schema.  We use the following additional notation:</para>

<variablelist>

<varlistentry><term><p:var range="element"/></term><listitem><para>ranges over elements</para></listitem></varlistentry>

<varlistentry><term><p:judgement name="valid">
      <p:var range="element"/>
    </p:judgement></term><listitem><para>
    
asserts that the element <p:var range="element"/> is valid with
respect to the grammar</para></listitem></varlistentry>

<varlistentry><term><p:judgement name="start">
      <p:var range="pattern"/>
    </p:judgement></term><listitem><para>
asserts that the grammar contains
<p:element name="start"><p:var range="pattern"/> </p:element></para></listitem></varlistentry>

</variablelist>

<para>An element is valid if together with an empty set of attributes
it matches the <literal>start</literal> pattern of the grammar.</para>

<p:proofSystem>
  <p:rule name="valid">
    <p:judgement name="start">
      <p:var range="pattern"/>
    </p:judgement>
    <p:judgement name="match">
      <p:var range="context"/>
      <p:function name="emptySet"/>
      <p:var range="element"/>
      <p:var range="pattern"/>
    </p:judgement>
    <p:judgement name="valid">
      <p:var range="element"/>
    </p:judgement>
  </p:rule>
      

</p:proofSystem>

</section>

<section>
<title>Example</title>

<para>Let <p:var range="element" sub="0"/> be</para>

<p:formula>

<p:function name="element">
  <p:function name="name">
    <p:function name="emptyString"/>
    <p:string>foo</p:string>
  </p:function>
  <p:var range="context" sub="0"/>
  <p:function name="emptySet"/>
  <p:var range="mixed"/>
</p:function>

</p:formula>

<para>where <p:var range="mixed"/> is</para>

<p:formula>
  <p:function name="append">
    <p:var range="element" sub="1"/>
    <p:var range="element" sub="2"/>
  </p:function>
</p:formula>

<para>and <p:var range="element" sub="1"/> is</para>

<p:formula>
  <p:function name="element">
    <p:function name="name">
      <p:string>http://www.example.com/n1</p:string>
      <p:string>bar1</p:string>
    </p:function>
    <p:var range="context" sub="1"/>
    <p:function name="emptySet"/>
    <p:function name="emptySequence"/>
  </p:function>
</p:formula>

<para>and <p:var range="element" sub="2"/> is</para>

<p:formula>
  <p:function name="element">
    <p:function name="name">
      <p:string>http://www.example.com/n2</p:string>
      <p:string>bar2</p:string>
    </p:function>
    <p:var range="context" sub="2"/>
    <p:function name="emptySet"/>
    <p:function name="emptySequence"/>
  </p:function>
</p:formula>

<para>Assuming appropriate definitions of <p:var range="context"
sub="0"/>, <p:var range="context" sub="1"/> and <p:var range="context"
sub="2"/>, this represents the document in <xref
linkend="data-model-example"/>.</para>

<para>We now show how <p:var range="element" sub="0"/> can be shown to
be valid with respect to the schema in <xref
linkend="simple-syntax-example"/>.  The schema is equivalent to the
following propositions:</para>

<p:formula>
  <p:judgement name="start">
    <p:element name="ref">
      <p:attribute name="name"><p:string>foo</p:string></p:attribute>
    </p:element>
  </p:judgement>
</p:formula>

<p:formula>
  <p:judgement name="bind">
    <p:string>foo.element</p:string>
    <p:element name="name">
      <p:attribute name="ns"><p:function name="emptyString"/></p:attribute>
      <p:string>foo</p:string>
    </p:element>
    <p:element name="group">
      <p:element name="ref">
	<p:attribute name="name">
	  <p:string>bar1</p:string>
	</p:attribute>
      </p:element>
      <p:element name="ref">
	<p:attribute name="name">
	  <p:string>bar2</p:string>
	</p:attribute>
      </p:element>
    </p:element>
  </p:judgement>
</p:formula>

<p:formula>
  <p:judgement name="bind">
    <p:string>bar1.element</p:string>
    <p:element name="name">
      <p:attribute name="ns">
	<p:string>http://www.example.com/n1</p:string>
      </p:attribute>
      <p:string>bar1</p:string>
    </p:element>
    <p:element name="empty"/>
  </p:judgement>
</p:formula>

<p:formula>
  <p:judgement name="bind">
    <p:string>bar2.element</p:string>
    <p:element name="name">
      <p:attribute name="ns">
	<p:string>http://www.example.com/n2</p:string>
      </p:attribute>
      <p:string>bar2</p:string>
    </p:element>
    <p:element name="empty"/>
  </p:judgement>
</p:formula>


<para>Let name class <p:var range="nameClass" sub="1"/> be</para>

<p:formula>
  <p:element name="name">
    <p:attribute name="ns">
      <p:string>http://www.example.com/n1</p:string>
    </p:attribute>
    <p:string>bar1</p:string>
  </p:element>
</p:formula>

<para>and let <p:var range="nameClass" sub="2"/> be</para>

<p:formula>
  <p:element name="name">
    <p:attribute name="ns">
      <p:string>http://www.example.com/n2</p:string>
    </p:attribute>
    <p:string>bar2</p:string>
  </p:element>
</p:formula>

<para>Then, by the inference rule (name) in <xref
linkend="name-classes"/>, we have</para>

<p:formula>
  <p:judgement name="belongs">
    <p:function name="name">
      <p:string>http://www.example.com/n1</p:string>
      <p:string>bar1</p:string>
    </p:function>
    <p:var range="nameClass" sub="1"/>
  </p:judgement>
</p:formula>

<para>and</para>

<p:formula>
  <p:judgement name="belongs">
    <p:function name="name">
      <p:string>http://www.example.com/n2</p:string>
      <p:string>bar2</p:string>
    </p:function>
    <p:var range="nameClass" sub="2"/>
  </p:judgement>
</p:formula>


<para>By the inference rule (empty) in <xref linkend="empty-pattern"/>,
we have</para>

<p:formula>
  <p:judgement name="match">
    <p:var range="context" sub="1"/>
    <p:function name="emptySet"/>
    <p:function name="emptySequence"/>
    <p:element name="empty"></p:element>
  </p:judgement>
</p:formula>

<para>and</para>

<p:formula>
  <p:judgement name="match">
    <p:var range="context" sub="2"/>
    <p:function name="emptySet"/>
    <p:function name="emptySequence"/>
    <p:element name="empty"></p:element>
  </p:judgement>
</p:formula>

<para>Thus by the inference rule (element) in <xref
linkend="element-pattern"/>, we have</para>

<p:formula>
  <p:judgement name="match">
    <p:var range="context" sub="0"/>
    <p:function name="emptySet"/>
    <p:var range="element" sub="1"/>
    <p:element name="ref">
      <p:attribute name="name">
        <p:string>bar1</p:string>
      </p:attribute>
    </p:element>
  </p:judgement>
</p:formula>

<para>Note that we have chosen <p:var
range="context" sub="0"/>, since any context is allowed.</para>

<para>Likewise, we have</para>

<p:formula>
  <p:judgement name="match">
    <p:var range="context" sub="0"/>
    <p:function name="emptySet"/>
    <p:var range="element" sub="2"/>
    <p:element name="ref">
      <p:attribute name="name">
        <p:string>bar2</p:string>
      </p:attribute>
    </p:element>
  </p:judgement>
</p:formula>

<para>By the inference rule (group) in <xref
linkend="choice-pattern"/>, we have</para>

<p:formula>
  <p:judgement name="match">
    <p:var range="context" sub="0"/>
    <p:function name="emptySet"/>
    <p:function name="append">
      <p:var range="element" sub="1"/>
      <p:var range="element" sub="2"/>
    </p:function>
    <p:element name="group">
      <p:element name="ref">
        <p:attribute name="name">
          <p:string>bar1</p:string>
        </p:attribute>
      </p:element>
      <p:element name="ref">
        <p:attribute name="name">
          <p:string>bar2</p:string>
        </p:attribute>
      </p:element>
    </p:element>
  </p:judgement>
</p:formula>

<para>By the inference rule (element) in <xref
linkend="element-pattern"/>, we have</para>

<p:formula>
  <p:judgement name="match">
    <p:var range="context" sub="3"/>
    <p:function name="emptySet"/>
    <p:function name="element">
      <p:function name="name">
        <p:function name="emptyString"/>
        <p:string>foo</p:string>
      </p:function>
      <p:var range="context" sub="0"/>
      <p:function name="emptySet"/>
      <p:var range="mixed"/>
    </p:function>
    <p:element name="ref">
      <p:attribute name="name">
        <p:string>foo</p:string>
      </p:attribute>
    </p:element>
  </p:judgement>
</p:formula>

<para>Here <p:var range="context" sub="3"/> is an arbitrary
context.</para>

<para>Thus we can apply the inference rule (valid) in <xref
linkend="validity"/> and obtain</para>

<p:formula>
  <p:judgement name="valid">
    <p:var range="element" sub="0"/>
  </p:judgement>
</p:formula>

</section>

</section>

<section id="restriction">
<title>Restrictions</title>

<para>The following constraints are all checked after the grammar has
been transformed to the simple form described in <xref
linkend="simple-syntax"/>. The purpose of these restrictions is to
catch user errors and to facilitate implementation.</para>

<section id="contextual-restriction">
<title>Contextual restrictions</title>

<para>In this section we describe restrictions on where elements are
allowed in the schema based on the names of the ancestor elements. We
use the concept of a <firstterm>prohibited path</firstterm> to
describe these restrictions. A path is a sequence of NCNames separated
by <literal>/</literal> or <literal>//</literal>.</para>

<itemizedlist>

<listitem><para>An element matches a path
<replaceable>x</replaceable>, where <replaceable>x</replaceable> is an
NCName, if and only if the local name of the element is
<replaceable>x</replaceable></para></listitem>

<listitem><para>An element matches a path
<replaceable>x</replaceable><literal>/</literal><replaceable>p</replaceable>,
where <replaceable>x</replaceable> is an NCName and
<replaceable>p</replaceable> is a path, if and only if the local name
of the element is <replaceable>x</replaceable> and the element has a
child that matches <replaceable>p</replaceable></para></listitem>

<listitem><para>An element matches a path
<replaceable>x</replaceable><literal>//</literal><replaceable>p</replaceable>,
where <replaceable>x</replaceable> is an NCName and
<replaceable>p</replaceable> is a path, if and only if the local name
of the element is <replaceable>x</replaceable> and the element has a
descendant that matches <replaceable>p</replaceable></para></listitem>

</itemizedlist>

<para>For example, the element</para>

<programlisting><![CDATA[<foo>
  <bar>
    <baz/>
  </bar>
</foo>]]></programlisting>

<para>matches the paths <literal>foo</literal>,
<literal>foo/bar</literal>, <literal>foo//bar</literal>,
<literal>foo//baz</literal>, <literal>foo/bar/baz</literal>,
<literal>foo/bar//baz</literal> and <literal>foo//bar/baz</literal>,
but not <literal>foo/baz</literal> or
<literal>foobar</literal>.</para>

<para>A correct RELAX NG schema must be such that, after
transformation to the simple form, it does not contain any element
that matches a prohibited path.</para>

<section>
<title><literal>attribute</literal> pattern</title>

<para>The following paths are prohibited:</para>

<itemizedlist>
<listitem><para><literal>attribute//ref</literal></para></listitem>
<listitem><para><literal>attribute//attribute</literal></para></listitem>
</itemizedlist>

</section>

<section>
<title><literal>oneOrMore</literal> pattern</title>

<para>The following paths are prohibited:</para>

<itemizedlist>
<listitem><para><literal>oneOrMore//group//attribute</literal></para></listitem>
<listitem><para><literal>oneOrMore//interleave//attribute</literal></para></listitem>
</itemizedlist>

</section>

<section id="list-restrictions">
<title><literal>list</literal> pattern</title>

<para>The following paths are prohibited:</para>

<itemizedlist>
<listitem><para><literal>list//list</literal></para></listitem>
<listitem><para><literal>list//ref</literal></para></listitem>
<listitem><para><literal>list//attribute</literal></para></listitem>
<listitem><para><literal>list//text</literal></para></listitem>
<listitem><para><literal>list//interleave</literal></para></listitem>
</itemizedlist>
</section>

<section id="context-data-except">
<title><literal>except</literal> in <literal>data</literal> pattern</title>

<para>The following paths are prohibited:</para>

<itemizedlist>
<listitem><para><literal>data/except//attribute</literal></para></listitem>
<listitem><para><literal>data/except//ref</literal></para></listitem>
<listitem><para><literal>data/except//text</literal></para></listitem>
<listitem><para><literal>data/except//list</literal></para></listitem>
<listitem><para><literal>data/except//group</literal></para></listitem>
<listitem><para><literal>data/except//interleave</literal></para></listitem>
<listitem><para><literal>data/except//oneOrMore</literal></para></listitem>
<listitem><para><literal>data/except//empty</literal></para></listitem>
</itemizedlist>

<note><para>This implies that an <literal>except</literal> element
with a <literal>data</literal> parent can contain only
<literal>data</literal>, <literal>value</literal> and
<literal>choice</literal> elements.</para></note>

</section>

<section id="context-start">
<title><literal>start</literal> element</title>

<para>The following paths are prohibited:</para>

<itemizedlist>
<listitem><para><literal>start//attribute</literal></para></listitem>
<listitem><para><literal>start//data</literal></para></listitem>
<listitem><para><literal>start//value</literal></para></listitem>
<listitem><para><literal>start//text</literal></para></listitem>
<listitem><para><literal>start//list</literal></para></listitem>
<listitem><para><literal>start//group</literal></para></listitem>
<listitem><para><literal>start//interleave</literal></para></listitem>
<listitem><para><literal>start//oneOrMore</literal></para></listitem>
<listitem><para><literal>start//empty</literal></para></listitem>
</itemizedlist>
</section>

</section>

<section id="string-sequences">
<title>String sequences</title>

<para>RELAX NG does not allow a pattern such as:</para>

<programlisting><![CDATA[<element name="foo">
  <group>
    <data type="int"/>
    <element name="bar">
      <empty/>
    </element>
  </group>
</element>]]></programlisting>

<para>Nor does it allow a pattern such as:</para>

<programlisting><![CDATA[<element name="foo">
  <group>
    <data type="int"/>
    <text/>
  </group>
</element>]]></programlisting>

<para>More generally, if the pattern for the content of an element or
attribute contains</para>

<itemizedlist>

<listitem><para>a pattern that can match a child
(that is, an <literal>element</literal>, <literal>data</literal>,
<literal>value</literal>, <literal>list</literal> or
<literal>text</literal> pattern), and</para></listitem>

<listitem><para>a pattern that matches a single string (that is, a
<literal>data</literal>, <literal>value</literal> or
<literal>list</literal> pattern),</para></listitem>

</itemizedlist>

<para>then the two patterns must be alternatives to each other.</para>

<para>This rule does not apply to patterns occurring within a
<literal>list</literal> pattern.</para>

<para>To formalize this, we use the concept of a content-type.  A
pattern that is allowable as the content of an element has one of
three content-types: empty, complex and simple.  We use the following
notation.</para>

<variablelist>

<varlistentry>
<term><p:function name="empty"/></term>
<listitem><para>returns the empty content-type</para></listitem>
</varlistentry>

<varlistentry>
<term><p:function name="complex"/></term>
<listitem><para>returns the complex content-type</para></listitem>
</varlistentry>

<varlistentry>
<term><p:function name="simple"/></term>
<listitem><para>returns the simple content-type</para></listitem>
</varlistentry>

<varlistentry><term><p:var range="contentType"/></term>
<listitem><para>ranges over content-types</para></listitem>
</varlistentry>

<varlistentry><term>
  <p:judgement name="groupable">
    <p:var range="contentType" sub="1"/>
    <p:var range="contentType" sub="2"/>
  </p:judgement>
</term>
<listitem><para>asserts that the content-types <p:var
range="contentType" sub="1"/> and <p:var range="contentType" sub="2"/>
are groupable</para></listitem>
</varlistentry>

</variablelist>

<para>The empty content-type is groupable with anything.  In addition,
the complex content-type is groupable with the complex content-type. The
following rules formalize this.</para>

<p:proofSystem>
<p:rule name="group empty 1">
  <p:judgement name="groupable">
    <p:function name="empty"/>
    <p:var range="contentType"/>
  </p:judgement>
</p:rule>
<p:rule name="group empty 2">
  <p:judgement name="groupable">
    <p:var range="contentType"/>
    <p:function name="empty"/>
  </p:judgement>
</p:rule>
<p:rule name="group complex">
  <p:judgement name="groupable">
    <p:function name="complex"/>
    <p:function name="complex"/>
  </p:judgement>
</p:rule>
</p:proofSystem>

<para>Some patterns have a content-type. We use the following
additional notation.</para>

<variablelist>

<varlistentry><term>
  <p:judgement name="contentType">
    <p:var range="pattern"/>
    <p:var range="contentType"/>
  </p:judgement>
</term>
<listitem><para>asserts that pattern <p:var range="pattern"/> has
content-type <p:var range="contentType"/></para></listitem>
</varlistentry>

<varlistentry><term>
  <p:function name="max">
    <p:var range="contentType" sub="1"/>
    <p:var range="contentType" sub="2"/>
  </p:function>
</term>
<listitem><para>returns the maximum of <p:var range="contentType"
sub="1"/> and <p:var range="contentType" sub="2"/> where the
content-types in increasing order are <p:function name="empty"/>,
<p:function name="complex"/>, <p:function
name="simple"/></para></listitem>
</varlistentry>

</variablelist>

<para>The following rules define when a pattern has a content-type and,
if so, what it is.</para>

<p:proofSystem>
<p:rule name="value">
  <p:judgement name="contentType">
    <p:element name="value">
      <p:attribute name="datatypeLibrary">
	<p:var range="uri" sub="1"/>
      </p:attribute>
      <p:attribute name="type">
	<p:var range="ncname"/>
      </p:attribute>
      <p:attribute name="ns">
	<p:var range="uri" sub="2"/>
      </p:attribute>
      <p:var range="string"/>
    </p:element>
    <p:function name="simple"/>
  </p:judgement>
</p:rule>

<p:rule name="data 1">
  <p:judgement name="contentType">
    <p:element name="data">
      <p:attribute name="datatypeLibrary">
	<p:var range="uri"/>
      </p:attribute>
      <p:attribute name="type">
	<p:var range="ncname"/>
      </p:attribute>
      <p:var range="params"/>
    </p:element>
    <p:function name="simple"/>
  </p:judgement>
</p:rule>

<p:rule name="data 2">
  <p:judgement name="contentType">
    <p:var range="pattern"/>
    <p:var range="contentType"/>
  </p:judgement>
  <p:judgement name="contentType">
    <p:element name="data">
      <p:attribute name="datatypeLibrary">
	<p:var range="uri"/>
      </p:attribute>
      <p:attribute name="type">
	<p:var range="ncname"/>
      </p:attribute>
      <p:var range="params"/>
      <p:element name="except">
        <p:var range="pattern"/>
      </p:element>
    </p:element>
    <p:function name="simple"/>
  </p:judgement>
</p:rule>

<p:rule name="list">
  <p:judgement name="contentType">
    <p:element name="list">
      <p:var range="pattern"/>
    </p:element>
    <p:function name="simple"/>
  </p:judgement>
</p:rule>

<p:rule name="text">
  <p:judgement name="contentType">
    <p:element name="text"/>
    <p:function name="complex"/>
  </p:judgement>
</p:rule>

<p:rule name="ref">
  <p:judgement name="contentType">
    <p:element name="ref">
      <p:attribute name="name">
	<p:var range="ncname"/>
      </p:attribute>
    </p:element>
    <p:function name="complex"/>
  </p:judgement>
</p:rule>

<p:rule name="empty">
  <p:judgement name="contentType">
    <p:element name="empty"/>
    <p:function name="empty"/>
  </p:judgement>
</p:rule>

<p:rule name="attribute">
  <p:judgement name="contentType">
    <p:var range="pattern"/>
    <p:var range="contentType"/>
  </p:judgement>
  <p:judgement name="contentType">
    <p:element name="attribute">
      <p:var range="nameClass"/>
      <p:var range="pattern"/>
    </p:element>
    <p:function name="empty"/>
  </p:judgement>
</p:rule>

<p:rule name="group">
  <p:judgement name="contentType">
    <p:var range="pattern" sub="1"/>
    <p:var range="contentType" sub="1"/>
  </p:judgement>
  <p:judgement name="contentType">
    <p:var range="pattern" sub="2"/>
    <p:var range="contentType" sub="2"/>
  </p:judgement>
  <p:judgement name="groupable">
    <p:var range="contentType" sub="1"/>
    <p:var range="contentType" sub="2"/>
  </p:judgement>
  <p:judgement name="contentType">
    <p:element name="group">
      <p:var range="pattern" sub="1"/>
      <p:var range="pattern" sub="2"/>
    </p:element>
    <p:function name="max">
      <p:var range="contentType" sub="1"/>
      <p:var range="contentType" sub="2"/>
    </p:function>
  </p:judgement>
</p:rule>

<p:rule name="interleave">
  <p:judgement name="contentType">
    <p:var range="pattern" sub="1"/>
    <p:var range="contentType" sub="1"/>
  </p:judgement>
  <p:judgement name="contentType">
    <p:var range="pattern" sub="2"/>
    <p:var range="contentType" sub="2"/>
  </p:judgement>
  <p:judgement name="groupable">
    <p:var range="contentType" sub="1"/>
    <p:var range="contentType" sub="2"/>
  </p:judgement>
  <p:judgement name="contentType">
    <p:element name="interleave">
      <p:var range="pattern" sub="1"/>
      <p:var range="pattern" sub="2"/>
    </p:element>
    <p:function name="max">
      <p:var range="contentType" sub="1"/>
      <p:var range="contentType" sub="2"/>
    </p:function>
  </p:judgement>
</p:rule>

<p:rule name="oneOrMore">
  <p:judgement name="contentType">
    <p:var range="pattern"/>
    <p:var range="contentType"/>
  </p:judgement>
  <p:judgement name="groupable">
    <p:var range="contentType"/>
    <p:var range="contentType"/>
  </p:judgement>
  <p:judgement name="contentType">
    <p:element name="oneOrMore">
      <p:var range="pattern"/>
    </p:element>
    <p:var range="contentType"/>
  </p:judgement>
</p:rule>

<p:rule name="choice">
  <p:judgement name="contentType">
    <p:var range="pattern" sub="1"/>
    <p:var range="contentType" sub="1"/>
  </p:judgement>
  <p:judgement name="contentType">
    <p:var range="pattern" sub="2"/>
    <p:var range="contentType" sub="2"/>
  </p:judgement>
  <p:judgement name="contentType">
    <p:element name="choice">
      <p:var range="pattern" sub="1"/>
      <p:var range="pattern" sub="2"/>
    </p:element>
    <p:function name="max">
      <p:var range="contentType" sub="1"/>
      <p:var range="contentType" sub="2"/>
    </p:function>
  </p:judgement>
</p:rule>

</p:proofSystem>

<note><para>The antecedent in the (data 2) rule above is in fact
redundant because of the prohibited paths in <xref
linkend="context-data-except"/>.</para></note>

<para>Now we can describe the restriction. We use the following
notation.</para>

<variablelist>

<varlistentry><term>
  <p:judgement name="incorrectSchema"/>
</term>
<listitem><para>asserts that the schema is incorrect</para></listitem>
</varlistentry>

</variablelist>

<para>All patterns occurring as the content of an element pattern must
have a content-type.</para>

<p:proofSystem>

<p:rule name="element">
  <p:judgement name="bind">
    <p:var range="ncname"/>
    <p:var range="nameClass"/>
    <p:var range="pattern"/>
  </p:judgement>
  <p:not>
    <p:judgement name="contentType">
      <p:var range="pattern"/>
      <p:var range="contentType"/>
    </p:judgement>
  </p:not>
  <p:judgement name="incorrectSchema"/>
</p:rule>

</p:proofSystem>

</section>

<section id="attribute-restrictions">
<title>Restrictions on attributes</title>

<para>Duplicate attributes are not allowed.  More precisely, for a
pattern <literal>&lt;group> <replaceable>p1</replaceable>
<replaceable>p2</replaceable> &lt;/group></literal> or
<literal>&lt;interleave> <replaceable>p1</replaceable>
<replaceable>p2</replaceable> &lt;/interleave></literal>, there must
not be a name that belongs to both the name class of an
<literal>attribute</literal> pattern occurring in
<replaceable>p1</replaceable> and the name class of an
<literal>attribute</literal> pattern occurring in
<replaceable>p2</replaceable>. A pattern <replaceable>p1</replaceable>
is defined to <firstterm>occur in</firstterm> a pattern
<replaceable>p2</replaceable> if</para>

<itemizedlist>

<listitem><para><replaceable>p1</replaceable> is
<replaceable>p2</replaceable>, or</para></listitem>

<listitem><para><replaceable>p2</replaceable> is a
<literal>choice</literal>, <literal>interleave</literal>,
<literal>group</literal> or <literal>oneOrMore</literal> element and
<replaceable>p1</replaceable> occurs in one or more children of
<replaceable>p2</replaceable>.</para></listitem>

</itemizedlist>

<para>Attributes using infinite name classes must be repeated.  More
precisely, an <literal>attribute</literal> element that has an
<literal>anyName</literal> or <literal>nsName</literal> descendant
element must have a <literal>oneOrMore</literal> ancestor
element.</para>

<note><para>This restriction is necessary for closure under
negation.</para></note>

</section>

<section id="interleave-restrictions">
<title>Restrictions on <literal>interleave</literal></title>

<para>For a pattern <literal>&lt;interleave>
<replaceable>p1</replaceable> <replaceable>p2</replaceable>
&lt;/interleave></literal>,</para>

<itemizedlist>

<listitem><para>there must not be a name that belongs to both the name
class of an <literal>element</literal> pattern referenced by a
<literal>ref</literal> pattern occurring in
<replaceable>p1</replaceable> and the name class of an
<literal>element</literal> pattern referenced by a
<literal>ref</literal> pattern occurring in
<replaceable>p2</replaceable>, and</para></listitem>

<listitem><para>a <literal>text</literal> pattern must not occur in
both <replaceable>p1</replaceable> and
<replaceable>p2</replaceable>.</para></listitem>

</itemizedlist>

<para><xref linkend="attribute-restrictions"/> defines when one
pattern is considered to occur in another pattern.</para>

</section>

</section>

<section id="conformance">
<title>Conformance</title>

<para>A conforming RELAX NG validator must be able to determine for
any XML document whether it is a correct RELAX NG schema.  A
conforming RELAX NG validator must be able to determine for any XML
document and for any correct RELAX NG schema whether the document is
valid with respect to the schema.</para>

<para>However, the requirements in the preceding paragraph do not
apply if the schema uses a datatype library that the validator does
not support.  A conforming RELAX NG validator is only required to
support the built-in datatype library described in <xref
linkend="built-in-datatype"/>.  A validator that claims conformance to
RELAX NG should document which datatype libraries it supports.  The
requirements in the preceding paragraph also do not apply if the
schema includes <literal>externalRef</literal> or
<literal>include</literal> elements and the validator is unable to
retrieve the resource identified by the URI or is unable to construct
an element from the retrieved resource.  A validator that claims
conformance to RELAX NG should document its capabilities for handling
URI references.</para>

</section>

<appendix>
<title>RELAX NG schema for RELAX NG</title>

<rngref src="relaxng.rng"/>

</appendix>

<appendix>
<title>Changes since version 0.9</title>

<para>The changes in this version relative to version 0.9
are as follows:</para>

<itemizedlist>

<listitem><para>in the namespace URI, <literal>0.9</literal> has been
changed to <literal>1.0</literal></para></listitem>

<listitem><para><literal>data/except//empty</literal> has been added
as a prohibited path (see <xref
linkend="context-data-except"/>)</para></listitem>

<listitem><para><literal>start//empty</literal> has been added
as a prohibited path (see <xref
linkend="context-start"/>)</para></listitem>

<listitem><para><xref linkend="number-child-elements"/> now specifies how a
<literal>list</literal> element with more than one child element is
transformed</para></listitem>

<listitem><para><xref linkend="notAllowed"/> now specifies how a
<literal>notAllowed</literal> element occurring in an
<literal>except</literal> element is transformed</para></listitem>

<listitem><para>although a relative URI is not allowed as the value of
the <literal>ns</literal> and <literal>datatypeLibrary</literal>
attributes, an empty string is allowed (see <xref
linkend="full-syntax"/>)</para></listitem>

<listitem><para>the removal of unreachable definitions in <xref
linkend="define-ref"/> is now correctly specified</para></listitem>

<listitem><para><xref linkend="notAllowed"/> now specifies that
<literal>define</literal> elements that are no longer reachable are
removed</para></listitem>

<listitem><para><xref linkend="constraints"/> has been added; the
restrictions on the contents of <literal>except</literal> in name
classes that are now specified in the newly added section were
previously specified in a subsection of <xref
linkend="contextual-restriction"/>, which has been
removed</para></listitem>

<listitem><para>the treatment of element and attribute values that
consist only of whitespace has been refined (see <xref
linkend="element-pattern"/> and <xref
linkend="data-pattern"/>)</para></listitem>

<listitem><para>attributes with infinite name classes are now required
to be repeated (see <xref
linkend="attribute-restrictions"/>)</para></listitem>

<listitem><para>restrictions have been imposed on
<literal>interleave</literal> (see <xref
linkend="interleave-restrictions"/>); <literal>list//interleave</literal>
has been added as a prohibited path (see <xref
linkend="list-restrictions"/>)</para></listitem>

<listitem><para>some of the prohibited paths in <xref
linkend="contextual-restriction"/> have been corrected to use
<literal>ref</literal> rather than
<literal>element</literal></para></listitem>

<listitem><para>an error in the inference rule (text 1) in <xref
linkend="text-pattern"/> has been corrected</para></listitem>

<listitem><para>the value of the <literal>ns</literal> attribute is
now unconstrained (see <xref
linkend="full-syntax"/>)</para></listitem>

</itemizedlist>

</appendix>

<appendix>
<title>RELAX NG TC (Non-Normative)</title>

<para>This specification was prepared and approved for publication by
the RELAX NG TC. The current members of the TC are:</para>

<itemizedlist>
<listitem><para>Fabio Arciniegas</para></listitem>
<listitem><para>James Clark</para></listitem>
<listitem><para>Mike Fitzgerald</para></listitem>
<listitem><para>KAWAGUCHI Kohsuke</para></listitem>
<listitem><para>Josh Lubell</para></listitem>
<listitem><para>MURATA Makoto</para></listitem>
<listitem><para>Norman Walsh</para></listitem>
<listitem><para>David Webber</para></listitem>
</itemizedlist>

</appendix>

<bibliography><title>References</title>

<bibliodiv><title>Normative</title>

<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray,
Jean Paoli, and
C. M. Sperberg-McQueen, Eve Maler, editors.
<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup
Language (XML) 1.0 Second Edition</ulink></citetitle>.
W3C (World Wide Web Consortium), 2000.</bibliomixed>

<bibliomixed id="xml-names"><abbrev>XML Namespaces</abbrev>Tim Bray,
Dave Hollander,
and Andrew Layman, editors.
<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in
XML</ulink></citetitle>.
W3C (World Wide Web Consortium), 1999.</bibliomixed>

<bibliomixed id="xlink"><abbrev>XLink</abbrev>Steve DeRose, Eve Maler
and David Orchard, editors.
<citetitle><ulink url="http://www.w3.org/TR/xlink/">XML Linking
Language (XLink) Version 1.0</ulink></citetitle>.
W3C (World Wide Web Consortium), 2001.</bibliomixed>

<bibliomixed id="infoset"><abbrev>XML Infoset</abbrev>John Cowan, Richard Tobin,
editors.
<citetitle><ulink url="http://www.w3.org/TR/xml-infoset/">XML
Information Set</ulink></citetitle>.
W3C (World Wide Web Consortium), 2001.</bibliomixed>

<bibliomixed id="rfc2396"><abbrev>RFC 2396</abbrev>T. Berners-Lee, R. Fielding, L. Masinter.
<citetitle><ulink url="http://www.ietf.org/rfc/rfc2396.txt" >RFC 2396:
Uniform Resource Identifiers (URI): Generic
Syntax</ulink></citetitle>.
IETF (Internet Engineering Task Force). 1998.</bibliomixed>

<bibliomixed id="rfc2732"><abbrev>RFC 2732</abbrev>R. Hinden, B. Carpenter, L. Masinter.
<citetitle><ulink url="http://www.ietf.org/rfc/rfc2732.txt">RFC 2732: Format for Literal IPv6 Addresses in URL's</ulink></citetitle>.
IETF (Internet Engineering Task Force), 1999.</bibliomixed>

<bibliomixed id="rfc3023"><abbrev>RFC 3023</abbrev> M. Murata,
S. St.Laurent, D. Kohn.  <citetitle><ulink
url="http://www.ietf.org/rfc/rfc3023.txt">RFC 3023: XML Media
Types</ulink></citetitle>. IETF (Internet Engineering Task Force),
2001.</bibliomixed>

</bibliodiv>

<bibliodiv><title>Non-Normative</title>

<bibliomixed id="xmlschema-2"><abbrev>W3C XML Schema Datatypes</abbrev>Paul V. Biron, Ashok Malhotra, editors.
<citetitle><ulink url="http://www.w3.org/TR/xmlschema-2/">XML Schema Part 2: Datatypes</ulink></citetitle>.
W3C (World Wide Web Consortium), 2001.</bibliomixed>

<bibliomixed id="trex"><abbrev>TREX</abbrev>James Clark.
<citetitle><ulink url="http://www.thaiopensource.com/trex/">TREX - Tree Regular Expressions for XML</ulink></citetitle>.
Thai Open Source Software Center, 2001.</bibliomixed>

<bibliomixed id="relax"><abbrev>RELAX</abbrev>MURATA Makoto.
<citetitle><ulink url="http://www.xml.gr.jp/relax/">RELAX (Regular
Language description for XML)</ulink></citetitle>.  INSTAC
(Information Technology Research and Standardization Center), 2001.</bibliomixed>

<bibliomixed id="xsfd"><abbrev>XML Schema Formal</abbrev>Allen Brown,
Matthew Fuchs, Jonathan Robie, Philip Wadler, editors.
<citetitle><ulink url="http://www.w3.org/TR/xmlschema-formal/">XML Schema: Formal Description</ulink></citetitle>.
W3C (World Wide Web Consortium), 2001.</bibliomixed>

<bibliomixed id="tutorial"><abbrev>Tutorial</abbrev>James Clark,
Makoto MURATA, editors.  <citetitle><ulink
url="http://www.oasis-open.org/committees/relax-ng/tutorial.html">RELAX
NG Tutorial</ulink></citetitle>.  OASIS, 2001.</bibliomixed>

</bibliodiv>

</bibliography>

</article>
