<?xml version="1.0" encoding="iso-8859-1"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<!-- $Id: text.rng 42702 2004-03-13 12:34:18Z gregor $ -->
    
<!-- Text Module -->
<grammar xmlns="http://relaxng.org/ns/structure/1.0">

<define name="br">
  <element name="br">
    <ref name="br.attlist"/>
    <empty/>
  </element>
</define>

<define name="br.attlist">
  <ref name="Core.attrib"/>
</define>

<define name="span">
  <element name="span">
    <ref name="span.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="span.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="abbr">
  <element name="abbr">
    <ref name="abbr.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="abbr.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="acronym">
  <element name="acronym">
    <ref name="acronym.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="acronym.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="cite">
  <element name="cite">
    <ref name="cite.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="cite.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="code">
  <element name="code">
    <ref name="code.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="code.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="dfn">
  <element name="dfn">
    <ref name="dfn.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="dfn.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="em">
  <element name="em">
    <ref name="em.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="em.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="kbd">
  <element name="kbd">
    <ref name="kbd.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="kbd.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="q">
  <element name="q">
    <ref name="q.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="q.attlist">
  <ref name="Common.attrib"/>
  <optional>
    <attribute name="cite">
      <ref name="URI.datatype"/>
    </attribute>
  </optional>
</define>

<define name="samp">
  <element name="samp">
    <ref name="samp.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="samp.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="strong">
  <element name="strong">
    <ref name="strong.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="strong.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="var">
  <element name="var">
    <ref name="var.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="var.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="div">
  <element name="div">
    <ref name="div.attlist"/>
    <ref name="Flow.model"/>
  </element>
</define>

<define name="div.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="p">
  <element name="p">
    <ref name="p.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="p.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="address">
  <element name="address">
    <ref name="address.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="address.attlist">
  <ref name="Common.attrib"/>
</define>

<define name="blockquote">
  <element name="blockquote">
    <ref name="blockquote.attlist"/>
    <ref name="Block.model"/>
  </element>
</define>

<define name="blockquote.attlist">
  <ref name="Common.attrib"/>
  <optional>
    <attribute name="cite">
      <ref name="URI.datatype"/>
    </attribute>
  </optional>
</define>

<define name="pre">
  <element name="pre">
    <ref name="pre.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="pre.attlist">
  <ref name="Common.attrib"/>
  <optional>
    <attribute name="xml:space">
      <value>preserve</value>
    </attribute>
  </optional>
</define>

<define name="h1">
  <element name="h1">
    <ref name="Heading.attrib"/>
    <ref name="Heading.content"/>
  </element>
</define>
 
<define name="h2">
  <element name="h2">
    <ref name="Heading.attrib"/>
    <ref name="Heading.content"/>
  </element>
</define>
 
<define name="h3">
  <element name="h3">
    <ref name="Heading.attrib"/>
    <ref name="Heading.content"/>
  </element>
</define>
 
<define name="h4">
  <element name="h4">
    <ref name="Heading.attrib"/>
    <ref name="Heading.content"/>
  </element>
</define>
 
<define name="h5">
  <element name="h5">
    <ref name="Heading.attrib"/>
    <ref name="Heading.content"/>
  </element>
</define>

<define name="h6">
  <element name="h6">
    <ref name="Heading.attrib"/>
    <ref name="Heading.content"/>
  </element>
</define>

<define name="Heading.attrib">
  <ref name="Common.attrib"/>
</define>
 
<define name="Heading.content">
  <ref name="Inline.model"/>
</define>

<define name="Heading.class">
  <choice>
    <ref name="h1"/>
    <ref name="h2"/>
    <ref name="h3"/>
    <ref name="h4"/>
    <ref name="h5"/>
    <ref name="h6"/>
  </choice>
</define>

<define name="Block.class">
  <choice>
    <ref name="address"/>
    <ref name="blockquote"/>
    <ref name="div"/>
    <ref name="p"/>
    <ref name="pre"/>
    <ref name="Heading.class"/>
  </choice>
</define>

<define name="Inline.class">
  <choice>
    <ref name="abbr"/>
    <ref name="acronym"/>
    <ref name="br"/>
    <ref name="cite"/>
    <ref name="code"/>
    <ref name="dfn"/>
    <ref name="em"/>
    <ref name="kbd"/>
    <ref name="q"/>
    <ref name="samp"/>
    <ref name="span"/>
    <ref name="strong"/>
    <ref name="var"/>
  </choice>
</define>

<define name="Inline.model">
  <zeroOrMore>
    <choice>
      <text/>
      <ref name="Inline.class"/>
    </choice>
  </zeroOrMore>
</define>

<!-- This is redefined by the legacy module to include inlines. -->
<define name="Block.mix">
  <ref name="Block.class"/>
</define>

<define name="Block.model">
  <oneOrMore>
    <ref name="Block.mix"/>
  </oneOrMore>
</define>

<define name="Flow.model">
  <zeroOrMore>
    <choice>
      <text/>
      <ref name="Inline.class"/>
      <ref name="Block.class"/>
    </choice>
  </zeroOrMore>
</define>

</grammar>