[gnome-doc-utils] rng/mallard: Update again from projectmallard RNG



commit 9708a5413fe565bd0f31eae4b7d7565da7f18502
Author: Shaun McCance <shaunm gnome org>
Date:   Sun Apr 24 20:06:57 2011 -0400

    rng/mallard: Update again from projectmallard RNG

 rng/mallard/mallard.rnc |  358 ++++++------
 rng/mallard/mallard.rng | 1432 ++++++++++++++++++++++++-----------------------
 2 files changed, 898 insertions(+), 892 deletions(-)
---
diff --git a/rng/mallard/mallard.rnc b/rng/mallard/mallard.rnc
index dceae10..7242748 100644
--- a/rng/mallard/mallard.rnc
+++ b/rng/mallard/mallard.rnc
@@ -1,4 +1,167 @@
 
+namespace local = ""
+default namespace mal = "http://projectmallard.org/1.0/";
+start = mal_page
+mal_page = element page {
+  mal_page_attr,
+
+  mal_info ?,
+  mal_block_title,
+  mal_block_subtitle ?,
+  ( mal_block | mal_links ) *,
+  mal_section *,
+  mal_links *
+}
+mal_page_attr = (
+  attribute id { xsd:NMTOKEN },
+  attribute type { xsd:NMTOKEN } ?,
+  attribute style { xsd:NMTOKENS } ?,
+  attribute version { text } ?,
+  mal_attr_external *
+)
+
+mal_section = element section {
+  mal_section_attr,
+
+  mal_info ?,
+  mal_block_title,
+  mal_block_subtitle ?,
+  ( mal_block | mal_links ) *,
+  mal_section *,
+  mal_links *
+}
+mal_section_attr = (
+  attribute id { xsd:ID },
+  attribute style { xsd:NMTOKENS } ?,
+  mal_attr_external *
+)
+
+mal_info = element info {
+  mal_info_attr,
+  mal_info_content
+}
+mal_info_attr = (
+  mal_attr_external *
+)
+mal_info_content = (
+  mal_info_desc ? &
+  mal_info_credit * &
+  mal_info_license * &
+  mal_info_link * &
+  mal_info_title * &
+  mal_info_revision * &
+  mal_external *
+)
+
+mal_info_credit = element credit {
+  mal_info_credit_attr,
+  mal_info_credit_content
+}
+mal_info_credit_attr = (
+  attribute type { xsd:NMTOKENS } ?,
+  attribute style { xsd:NMTOKENS } ?,
+  mal_attr_external *
+)
+mal_info_credit_content = (
+  mal_info_name &
+  mal_info_email * &
+  mal_info_years ? &
+  mal_external *
+)
+
+mal_info_link = element link {
+  mal_info_link_attr,
+  mal_info_link_content *
+}
+mal_info_link_attr = (
+  attribute type { xsd:NMTOKEN },
+  attribute style { xsd:NMTOKENS } ?,
+  mal_attr_link +,
+  attribute group { text } ?,
+  mal_attr_external *
+)
+mal_info_link_content = mal_external
+
+mal_info_title = element title {
+  mal_info_title_attr,
+  mal_info_title_inline
+}
+mal_info_title_attr = (
+  attribute type { xsd:NMTOKEN },
+  attribute style { xsd:NMTOKENS } ?,
+  attribute role { xsd:NMTOKEN } ?,
+  mal_attr_external *
+)
+mal_info_title_inline = mal_inline
+
+mal_info_license = element license {
+  mal_info_license_attr,
+  mal_info_license_content +
+}
+mal_info_license_attr = (
+  attribute style { xsd:NMTOKENS } ?,
+  attribute href { text } ?,
+  mal_attr_external *
+)
+mal_info_license_content = mal_block
+
+mal_info_desc = element desc {
+  mal_info_desc_attr,
+  mal_info_desc_inline
+}
+mal_info_desc_attr = (
+  attribute style { xsd:NMTOKENS } ?,
+  mal_attr_external *
+)
+mal_info_desc_inline = mal_inline
+
+mal_info_revision = element revision {
+  mal_info_revision_attr,
+  mal_block_title ?,
+  mal_block_desc ?,
+  mal_info_revision_content *
+}
+mal_info_revision_attr = (
+  attribute style { xsd:NMTOKENS } ?,
+  attribute version { text } ?,
+  attribute docversion { text } ?,
+  attribute pkgversion { text } ?,
+  attribute date { xsd:date } ?,
+  attribute status { xsd:NMTOKEN } ?,
+  mal_attr_external *
+)
+mal_info_revision_content = mal_external
+
+mal_info_years = element years {
+  mal_info_years_attr,
+  mal_info_years_inline
+}
+mal_info_years_attr = (
+  attribute style { xsd:NMTOKENS } ?,
+  mal_attr_external *
+)
+mal_info_years_inline = mal_inline
+
+mal_info_email = element email {
+  mal_info_email_attr,
+  mal_info_email_inline
+}
+mal_info_email_attr = (
+  attribute style { xsd:NMTOKENS } ?,
+  mal_attr_external *
+)
+mal_info_email_inline = mal_inline
+
+mal_info_name = element name {
+  mal_info_name_attr,
+  mal_info_name_inline
+}
+mal_info_name_attr = (
+  attribute style { xsd:NMTOKENS } ?,
+  mal_attr_external *
+)
+mal_info_name_inline = mal_inline
+
 mal_links = element links {
   mal_links_attr,
   mal_block_title ?,
@@ -342,38 +505,6 @@ mal_table_td_attr = (
 )
 mal_table_td_content = mal_block
 
-mal_block_desc = element desc {
-  mal_block_desc_attr,
-  mal_block_desc_inline
-}
-mal_block_desc_attr = (
-  attribute style { xsd:NMTOKENS } ?,
-  mal_attr_external *
-)
-mal_block_desc_inline = mal_inline
-
-mal_block_cite = element cite {
-  mal_block_cite_attr,
-  mal_block_cite_inline
-}
-mal_block_cite_attr = (
-  attribute style { xsd:NMTOKENS } ?,
-  attribute date { text } ?,
-  attribute href { text } ?,
-  mal_attr_external *
-)
-mal_block_cite_inline = mal_inline
-
-mal_block_subtitle = element subtitle {
-  mal_block_subtitle_attr,
-  mal_block_subtitle_inline
-}
-mal_block_subtitle_attr = (
-  attribute style { xsd:NMTOKENS } ?,
-  mal_attr_external *
-)
-mal_block_subtitle_inline = mal_inline
-
 mal_block_title = element title {
   mal_block_title_attr,
   mal_block_title_inline
@@ -384,131 +515,37 @@ mal_block_title_attr = (
 )
 mal_block_title_inline = mal_inline
 
-mal_info = element info {
-  mal_info_attr,
-  mal_info_content
-}
-mal_info_attr = (
-  mal_attr_external *
-)
-mal_info_content = (
-  mal_info_desc ? &
-  mal_info_credit * &
-  mal_info_license * &
-  mal_info_link * &
-  mal_info_title * &
-  mal_info_revision * &
-  mal_external *
-)
-
-mal_info_credit = element credit {
-  mal_info_credit_attr,
-  mal_info_credit_content
-}
-mal_info_credit_attr = (
-  attribute type { xsd:NMTOKENS } ?,
-  attribute style { xsd:NMTOKENS } ?,
-  mal_attr_external *
-)
-mal_info_credit_content = (
-  mal_info_name &
-  mal_info_email * &
-  mal_info_years ? &
-  mal_external *
-)
-
-mal_info_link = element link {
-  mal_info_link_attr,
-  mal_info_link_content *
+mal_block_subtitle = element subtitle {
+  mal_block_subtitle_attr,
+  mal_block_subtitle_inline
 }
-mal_info_link_attr = (
-  attribute type { xsd:NMTOKEN },
+mal_block_subtitle_attr = (
   attribute style { xsd:NMTOKENS } ?,
-  mal_attr_link +,
-  attribute group { text } ?,
   mal_attr_external *
 )
-mal_info_link_content = mal_external
+mal_block_subtitle_inline = mal_inline
 
-mal_info_title = element title {
-  mal_info_title_attr,
-  mal_info_title_inline
+mal_block_desc = element desc {
+  mal_block_desc_attr,
+  mal_block_desc_inline
 }
-mal_info_title_attr = (
-  attribute type { xsd:NMTOKEN },
+mal_block_desc_attr = (
   attribute style { xsd:NMTOKENS } ?,
-  attribute role { xsd:NMTOKEN } ?,
   mal_attr_external *
 )
-mal_info_title_inline = mal_inline
+mal_block_desc_inline = mal_inline
 
-mal_info_license = element license {
-  mal_info_license_attr,
-  mal_info_license_content +
+mal_block_cite = element cite {
+  mal_block_cite_attr,
+  mal_block_cite_inline
 }
-mal_info_license_attr = (
+mal_block_cite_attr = (
   attribute style { xsd:NMTOKENS } ?,
+  attribute date { text } ?,
   attribute href { text } ?,
   mal_attr_external *
 )
-mal_info_license_content = mal_block
-
-mal_info_desc = element desc {
-  mal_info_desc_attr,
-  mal_info_desc_inline
-}
-mal_info_desc_attr = (
-  attribute style { xsd:NMTOKENS } ?,
-  mal_attr_external *
-)
-mal_info_desc_inline = mal_inline
-
-mal_info_revision = element revision {
-  mal_info_revision_attr,
-  mal_block_title ?,
-  mal_block_desc ?,
-  mal_info_revision_content *
-}
-mal_info_revision_attr = (
-  attribute style { xsd:NMTOKENS } ?,
-  attribute version { text } ?,
-  attribute docversion { text } ?,
-  attribute pkgversion { text } ?,
-  attribute date { xsd:date } ?,
-  attribute status { xsd:NMTOKEN } ?,
-  mal_attr_external *
-)
-mal_info_revision_content = mal_external
-
-mal_info_years = element years {
-  mal_info_years_attr,
-  mal_info_years_inline
-}
-mal_info_years_attr = (
-  attribute style { xsd:NMTOKENS } ?,
-  mal_attr_external *
-)
-mal_info_years_inline = mal_inline
-
-mal_info_email = element email {
-  mal_info_email_attr,
-  mal_info_email_inline
-}
-mal_info_email_attr = (
-  attribute style { xsd:NMTOKENS } ?,
-  mal_attr_external *
-)
-mal_info_email_inline = mal_inline
-
-mal_info_name = element name {
-  mal_info_name_attr,
-  mal_info_name_inline
-}
-mal_info_name_attr = (
-  attribute style { xsd:NMTOKENS } ?,
-  mal_attr_external *
-)
-mal_info_name_inline = mal_inline
+mal_block_cite_inline = mal_inline
 
 mal_inline = (
   mal_inline_app * &
@@ -723,27 +760,6 @@ mal_inline_var_attr = (
 )
 mal_inline_var_inline = mal_inline
 
-namespace local = ""
-default namespace mal = "http://projectmallard.org/1.0/";
-start = mal_page
-mal_page = element page {
-  mal_page_attr,
-
-  mal_info ?,
-  mal_block_title,
-  mal_block_subtitle ?,
-  ( mal_block | mal_links ) *,
-  mal_section *,
-  mal_links *
-}
-mal_page_attr = (
-  attribute id { xsd:NMTOKEN },
-  attribute type { xsd:NMTOKEN } ?,
-  attribute style { xsd:NMTOKENS } ?,
-  attribute version { text } ?,
-  mal_attr_external *
-)
-
 mal_external = element * - (mal:* | local:*) {
   attribute * { text } *,
   ( mal_anything * &
@@ -767,19 +783,3 @@ mal_attr_mal_link = (
   attribute mal:xref { text } ?,
   attribute mal:action { text } ?
 )
-
-mal_section = element section {
-  mal_section_attr,
-
-  mal_info ?,
-  mal_block_title,
-  mal_block_subtitle ?,
-  ( mal_block | mal_links ) *,
-  mal_section *,
-  mal_links *
-}
-mal_section_attr = (
-  attribute id { xsd:ID },
-  attribute style { xsd:NMTOKENS } ?,
-  mal_attr_external *
-)
diff --git a/rng/mallard/mallard.rng b/rng/mallard/mallard.rng
index c8f4b3b..3ab8fd7 100644
--- a/rng/mallard/mallard.rng
+++ b/rng/mallard/mallard.rng
@@ -4,30 +4,52 @@
     xmlns:mal="http://projectmallard.org/1.0/";
     ns="http://projectmallard.org/1.0/";>
 
-<define name="mal_links">
-  <element name="links">
-    <ref name="mal_links_attr"/>
+<start>
+  <ref name="mal_page"/>
+</start>
+
+<define name="mal_page">
+  <element name="page">
+    <ref name="mal_page_attr"/>
     <optional>
-      <ref name="mal_block_title"/>
+      <ref name="mal_info"/>
+    </optional>
+    <ref name="mal_block_title"/>
+    <optional>
+      <ref name="mal_block_subtitle"/>
     </optional>
     <zeroOrMore>
-      <ref name="mal_links_content"/>
+      <choice>
+        <ref name="mal_block"/>
+        <ref name="mal_links"/>
+      </choice>
+    </zeroOrMore>
+    <zeroOrMore>
+      <ref name="mal_section"/>
+    </zeroOrMore>
+    <zeroOrMore>
+      <ref name="mal_links"/>
     </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_links_attr">
+<define name="mal_page_attr">
   <group>
-    <attribute name="type">
+    <attribute name="id">
       <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
     </attribute>
     <optional>
+      <attribute name="type">
+        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      </attribute>
+    </optional>
+    <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
     <optional>
-      <attribute name="groups">
+      <attribute name="version">
         <text/>
       </attribute>
     </optional>
@@ -37,130 +59,100 @@
   </group>
 </define>
 
-<define name="mal_links_content">
-  <ref name="mal_external"/>
-</define>
-
-<define name="mal_block">
-  <choice>
-    <ref name="mal_block_elements"/>
-    <element>
-      <anyName>
-        <except/>
-      </anyName>
-      <zeroOrMore>
-        <attribute>
-          <anyName/>
-          <text/>
-        </attribute>
-      </zeroOrMore>
-      <interleave>
-        <zeroOrMore>
-          <ref name="mal_external"/>
-        </zeroOrMore>
-        <zeroOrMore>
-          <ref name="mal_block_elements"/>
-        </zeroOrMore>
-      </interleave>
-    </element>
-  </choice>
-</define>
-
-<define name="mal_block_elements">
-  <choice>
-    <ref name="mal_block_code"/>
-    <ref name="mal_block_comment"/>
-    <ref name="mal_block_example"/>
-    <ref name="mal_block_figure"/>
-    <ref name="mal_block_list"/>
-    <ref name="mal_block_listing"/>
-    <ref name="mal_block_media"/>
-    <ref name="mal_block_note"/>
-    <ref name="mal_block_p"/>
-    <ref name="mal_block_quote"/>
-    <ref name="mal_block_screen"/>
-    <ref name="mal_block_steps"/>
-    <ref name="mal_block_synopsis"/>
-    <ref name="mal_block_terms"/>
-    <ref name="mal_block_tree"/>
-    <ref name="mal_table"/>
-  </choice>
-</define>
-
-<define name="mal_block_code">
-  <element name="code">
-    <ref name="mal_block_code_attr"/>
-    <ref name="mal_block_code_inline"/>
+<define name="mal_section">
+  <element name="section">
+    <ref name="mal_section_attr"/>
+    <optional>
+      <ref name="mal_info"/>
+    </optional>
+    <ref name="mal_block_title"/>
+    <optional>
+      <ref name="mal_block_subtitle"/>
+    </optional>
+    <zeroOrMore>
+      <choice>
+        <ref name="mal_block"/>
+        <ref name="mal_links"/>
+      </choice>
+    </zeroOrMore>
+    <zeroOrMore>
+      <ref name="mal_section"/>
+    </zeroOrMore>
+    <zeroOrMore>
+      <ref name="mal_links"/>
+    </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_block_code_attr">
+<define name="mal_section_attr">
   <group>
+    <attribute name="id">
+      <data type="ID" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+    </attribute>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
-    <optional>
-      <attribute name="mime">
-        <text/>
-      </attribute>
-    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_block_code_inline">
-  <ref name="mal_inline"/>
-</define>
-
-<define name="mal_block_example">
-  <element name="example">
-    <ref name="mal_block_example_attr"/>
-    <oneOrMore>
-      <ref name="mal_block_example_content"/>
-    </oneOrMore>
+<define name="mal_info">
+  <element name="info">
+    <ref name="mal_info_attr"/>
+    <ref name="mal_info_content"/>
   </element>
 </define>
 
-<define name="mal_block_example_attr">
+<define name="mal_info_attr">
   <group>
-    <optional>
-      <attribute name="style">
-        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-      </attribute>
-    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_block_example_content">
-  <ref name="mal_block"/>
-</define>
-
-<define name="mal_block_media">
-  <element name="media">
-    <ref name="mal_block_media_attr"/>
+<define name="mal_info_content">
+  <interleave>
+    <optional>
+      <ref name="mal_info_desc"/>
+    </optional>
     <zeroOrMore>
-      <ref name="mal_block_media_content"/>
+      <ref name="mal_info_credit"/>
+    </zeroOrMore>
+    <zeroOrMore>
+      <ref name="mal_info_license"/>
     </zeroOrMore>
+    <zeroOrMore>
+      <ref name="mal_info_link"/>
+    </zeroOrMore>
+    <zeroOrMore>
+      <ref name="mal_info_title"/>
+    </zeroOrMore>
+    <zeroOrMore>
+      <ref name="mal_info_revision"/>
+    </zeroOrMore>
+    <zeroOrMore>
+      <ref name="mal_external"/>
+    </zeroOrMore>
+  </interleave>
+</define>
+
+<define name="mal_info_credit">
+  <element name="credit">
+    <ref name="mal_info_credit_attr"/>
+    <ref name="mal_info_credit_content"/>
   </element>
 </define>
 
-<define name="mal_block_media_attr">
+<define name="mal_info_credit_attr">
   <group>
     <optional>
       <attribute name="type">
-        <choice>
-          <value>image</value>
-          <value>video</value>
-          <value>audio</value>
-          <value>application</value>
-        </choice>
+        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
     <optional>
@@ -168,21 +160,51 @@
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
+    <zeroOrMore>
+      <ref name="mal_attr_external"/>
+    </zeroOrMore>
+  </group>
+</define>
+
+<define name="mal_info_credit_content">
+  <interleave>
+    <ref name="mal_info_name"/>
+    <zeroOrMore>
+      <ref name="mal_info_email"/>
+    </zeroOrMore>
     <optional>
-      <attribute name="mime">
-        <text/>
-      </attribute>
+      <ref name="mal_info_years"/>
     </optional>
-    <attribute name="src">
-      <text/>
+    <zeroOrMore>
+      <ref name="mal_external"/>
+    </zeroOrMore>
+  </interleave>
+</define>
+
+<define name="mal_info_link">
+  <element name="link">
+    <ref name="mal_info_link_attr"/>
+    <zeroOrMore>
+      <ref name="mal_info_link_content"/>
+    </zeroOrMore>
+  </element>
+</define>
+
+<define name="mal_info_link_attr">
+  <group>
+    <attribute name="type">
+      <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
     </attribute>
     <optional>
-      <attribute name="height">
-        <text/>
+      <attribute name="style">
+        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
+    <oneOrMore>
+      <ref name="mal_attr_link"/>
+    </oneOrMore>
     <optional>
-      <attribute name="width">
+      <attribute name="group">
         <text/>
       </attribute>
     </optional>
@@ -192,42 +214,52 @@
   </group>
 </define>
 
-<define name="mal_block_media_content">
-  <ref name="mal_block"/>
+<define name="mal_info_link_content">
+  <ref name="mal_external"/>
 </define>
 
-<define name="mal_block_p">
-  <element name="p">
-    <ref name="mal_block_p_attr"/>
-    <ref name="mal_block_p_inline"/>
+<define name="mal_info_title">
+  <element name="title">
+    <ref name="mal_info_title_attr"/>
+    <ref name="mal_info_title_inline"/>
   </element>
 </define>
 
-<define name="mal_block_p_attr">
+<define name="mal_info_title_attr">
   <group>
+    <attribute name="type">
+      <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+    </attribute>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
+    <optional>
+      <attribute name="role">
+        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      </attribute>
+    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_block_p_inline">
+<define name="mal_info_title_inline">
   <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_screen">
-  <element name="screen">
-    <ref name="mal_block_screen_attr"/>
-    <ref name="mal_block_screen_inline"/>
+<define name="mal_info_license">
+  <element name="license">
+    <ref name="mal_info_license_attr"/>
+    <oneOrMore>
+      <ref name="mal_info_license_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_screen_attr">
+<define name="mal_info_license_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -235,7 +267,7 @@
       </attribute>
     </optional>
     <optional>
-      <attribute name="mime">
+      <attribute name="href">
         <text/>
       </attribute>
     </optional>
@@ -245,26 +277,18 @@
   </group>
 </define>
 
-<define name="mal_block_screen_inline">
-  <ref name="mal_inline"/>
+<define name="mal_info_license_content">
+  <ref name="mal_block"/>
 </define>
 
-<define name="mal_block_quote">
-  <element name="quote">
-    <ref name="mal_block_quote_attr"/>
-    <optional>
-      <ref name="mal_block_title"/>
-    </optional>
-    <optional>
-      <ref name="mal_block_cite"/>
-    </optional>
-    <oneOrMore>
-      <ref name="mal_block_quote_content"/>
-    </oneOrMore>
+<define name="mal_info_desc">
+  <element name="desc">
+    <ref name="mal_info_desc_attr"/>
+    <ref name="mal_info_desc_inline"/>
   </element>
 </define>
 
-<define name="mal_block_quote_attr">
+<define name="mal_info_desc_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -277,58 +301,75 @@
   </group>
 </define>
 
-<define name="mal_block_quote_content">
-  <ref name="mal_block"/>
+<define name="mal_info_desc_inline">
+  <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_comment">
-  <element name="comment">
-    <ref name="mal_block_comment_attr"/>
+<define name="mal_info_revision">
+  <element name="revision">
+    <ref name="mal_info_revision_attr"/>
     <optional>
       <ref name="mal_block_title"/>
     </optional>
     <optional>
-      <ref name="mal_block_cite"/>
+      <ref name="mal_block_desc"/>
     </optional>
-    <oneOrMore>
-      <ref name="mal_block_comment_content"/>
-    </oneOrMore>
+    <zeroOrMore>
+      <ref name="mal_info_revision_content"/>
+    </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_block_comment_attr">
+<define name="mal_info_revision_attr">
   <group>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
+    <optional>
+      <attribute name="version">
+        <text/>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="docversion">
+        <text/>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="pkgversion">
+        <text/>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="date">
+        <data type="date" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="status">
+        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      </attribute>
+    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_block_comment_content">
-  <ref name="mal_block"/>
+<define name="mal_info_revision_content">
+  <ref name="mal_external"/>
 </define>
 
-<define name="mal_block_figure">
-  <element name="figure">
-    <ref name="mal_block_figure_attr"/>
-    <optional>
-      <ref name="mal_block_title"/>
-    </optional>
-    <optional>
-      <ref name="mal_block_desc"/>
-    </optional>
-    <oneOrMore>
-      <ref name="mal_block_figure_content"/>
-    </oneOrMore>
+<define name="mal_info_years">
+  <element name="years">
+    <ref name="mal_info_years_attr"/>
+    <ref name="mal_info_years_inline"/>
   </element>
 </define>
 
-<define name="mal_block_figure_attr">
+<define name="mal_info_years_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -341,26 +382,18 @@
   </group>
 </define>
 
-<define name="mal_block_figure_content">
-  <ref name="mal_block"/>
+<define name="mal_info_years_inline">
+  <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_listing">
-  <element name="listing">
-    <ref name="mal_block_listing_attr"/>
-    <optional>
-      <ref name="mal_block_title"/>
-    </optional>
-    <optional>
-      <ref name="mal_block_desc"/>
-    </optional>
-    <oneOrMore>
-      <ref name="mal_block_listing_content"/>
-    </oneOrMore>
+<define name="mal_info_email">
+  <element name="email">
+    <ref name="mal_info_email_attr"/>
+    <ref name="mal_info_email_inline"/>
   </element>
 </define>
 
-<define name="mal_block_listing_attr">
+<define name="mal_info_email_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -373,23 +406,18 @@
   </group>
 </define>
 
-<define name="mal_block_listing_content">
-  <ref name="mal_block"/>
+<define name="mal_info_email_inline">
+  <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_note">
-  <element name="note">
-    <ref name="mal_block_note_attr"/>
-    <optional>
-      <ref name="mal_block_title"/>
-    </optional>
-    <oneOrMore>
-      <ref name="mal_block_note_content"/>
-    </oneOrMore>
+<define name="mal_info_name">
+  <element name="name">
+    <ref name="mal_info_name_attr"/>
+    <ref name="mal_info_name_inline"/>
   </element>
 </define>
 
-<define name="mal_block_note_attr">
+<define name="mal_info_name_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -402,64 +430,113 @@
   </group>
 </define>
 
-<define name="mal_block_note_content">
-  <ref name="mal_block"/>
+<define name="mal_info_name_inline">
+  <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_synopsis">
-  <element name="synopsis">
-    <ref name="mal_block_synopsis_attr"/>
+<define name="mal_links">
+  <element name="links">
+    <ref name="mal_links_attr"/>
     <optional>
       <ref name="mal_block_title"/>
     </optional>
-    <optional>
-      <ref name="mal_block_desc"/>
-    </optional>
-    <oneOrMore>
-      <ref name="mal_block_synopsis_content"/>
-    </oneOrMore>
+    <zeroOrMore>
+      <ref name="mal_links_content"/>
+    </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_block_synopsis_attr">
+<define name="mal_links_attr">
   <group>
+    <attribute name="type">
+      <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+    </attribute>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
+    <optional>
+      <attribute name="groups">
+        <text/>
+      </attribute>
+    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_block_synopsis_content">
-  <ref name="mal_block"/>
+<define name="mal_links_content">
+  <ref name="mal_external"/>
 </define>
 
-<define name="mal_block_list">
-  <element name="list">
-    <ref name="mal_block_list_attr"/>
-    <optional>
-      <ref name="mal_block_title"/>
-    </optional>
-    <oneOrMore>
-      <ref name="mal_block_list_item"/>
-    </oneOrMore>
+<define name="mal_block">
+  <choice>
+    <ref name="mal_block_elements"/>
+    <element>
+      <anyName>
+        <except>
+          <nsName ns="http://projectmallard.org/1.0/"/>
+          <nsName ns=""/>
+        </except>
+      </anyName>
+      <zeroOrMore>
+        <attribute>
+          <anyName/>
+          <text/>
+        </attribute>
+      </zeroOrMore>
+      <interleave>
+        <zeroOrMore>
+          <ref name="mal_external"/>
+        </zeroOrMore>
+        <zeroOrMore>
+          <ref name="mal_block_elements"/>
+        </zeroOrMore>
+      </interleave>
+    </element>
+  </choice>
+</define>
+
+<define name="mal_block_elements">
+  <choice>
+    <ref name="mal_block_code"/>
+    <ref name="mal_block_comment"/>
+    <ref name="mal_block_example"/>
+    <ref name="mal_block_figure"/>
+    <ref name="mal_block_list"/>
+    <ref name="mal_block_listing"/>
+    <ref name="mal_block_media"/>
+    <ref name="mal_block_note"/>
+    <ref name="mal_block_p"/>
+    <ref name="mal_block_quote"/>
+    <ref name="mal_block_screen"/>
+    <ref name="mal_block_steps"/>
+    <ref name="mal_block_synopsis"/>
+    <ref name="mal_block_terms"/>
+    <ref name="mal_block_tree"/>
+    <ref name="mal_table"/>
+  </choice>
+</define>
+
+<define name="mal_block_code">
+  <element name="code">
+    <ref name="mal_block_code_attr"/>
+    <ref name="mal_block_code_inline"/>
   </element>
 </define>
 
-<define name="mal_block_list_attr">
+<define name="mal_block_code_attr">
   <group>
     <optional>
-      <attribute name="type">
-        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      <attribute name="style">
+        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
     <optional>
-      <attribute name="style">
-        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      <attribute name="mime">
+        <text/>
       </attribute>
     </optional>
     <zeroOrMore>
@@ -468,16 +545,20 @@
   </group>
 </define>
 
-<define name="mal_block_list_item">
-  <element name="item">
-    <ref name="mal_block_list_item_attr"/>
+<define name="mal_block_code_inline">
+  <ref name="mal_inline"/>
+</define>
+
+<define name="mal_block_example">
+  <element name="example">
+    <ref name="mal_block_example_attr"/>
     <oneOrMore>
-      <ref name="mal_block_list_item_content"/>
+      <ref name="mal_block_example_content"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_list_item_attr">
+<define name="mal_block_example_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -490,45 +571,72 @@
   </group>
 </define>
 
-<define name="mal_block_list_item_content">
+<define name="mal_block_example_content">
   <ref name="mal_block"/>
 </define>
 
-<define name="mal_block_steps">
-  <element name="steps">
-    <ref name="mal_block_steps_attr"/>
-    <optional>
-      <ref name="mal_block_title"/>
-    </optional>
-    <oneOrMore>
-      <ref name="mal_block_steps_item"/>
-    </oneOrMore>
+<define name="mal_block_media">
+  <element name="media">
+    <ref name="mal_block_media_attr"/>
+    <zeroOrMore>
+      <ref name="mal_block_media_content"/>
+    </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_block_steps_attr">
+<define name="mal_block_media_attr">
   <group>
     <optional>
+      <attribute name="type">
+        <choice>
+          <value>image</value>
+          <value>video</value>
+          <value>audio</value>
+          <value>application</value>
+        </choice>
+      </attribute>
+    </optional>
+    <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
+    <optional>
+      <attribute name="mime">
+        <text/>
+      </attribute>
+    </optional>
+    <attribute name="src">
+      <text/>
+    </attribute>
+    <optional>
+      <attribute name="height">
+        <text/>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="width">
+        <text/>
+      </attribute>
+    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_block_steps_item">
-  <element name="item">
-    <ref name="mal_block_steps_item_attr"/>
-    <oneOrMore>
-      <ref name="mal_block_steps_item_content"/>
-    </oneOrMore>
+<define name="mal_block_media_content">
+  <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_p">
+  <element name="p">
+    <ref name="mal_block_p_attr"/>
+    <ref name="mal_block_p_inline"/>
   </element>
 </define>
 
-<define name="mal_block_steps_item_attr">
+<define name="mal_block_p_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -541,48 +649,55 @@
   </group>
 </define>
 
-<define name="mal_block_steps_item_content">
-  <ref name="mal_block"/>
+<define name="mal_block_p_inline">
+  <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_terms">
-  <element name="terms">
-    <ref name="mal_block_terms_attr"/>
-    <optional>
-      <ref name="mal_block_title"/>
-    </optional>
-    <oneOrMore>
-      <ref name="mal_block_terms_item"/>
-    </oneOrMore>
+<define name="mal_block_screen">
+  <element name="screen">
+    <ref name="mal_block_screen_attr"/>
+    <ref name="mal_block_screen_inline"/>
   </element>
 </define>
 
-<define name="mal_block_terms_attr">
+<define name="mal_block_screen_attr">
   <group>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
+    <optional>
+      <attribute name="mime">
+        <text/>
+      </attribute>
+    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_block_terms_item">
-  <element name="item">
-    <ref name="mal_block_terms_item_attr"/>
-    <oneOrMore>
+<define name="mal_block_screen_inline">
+  <ref name="mal_inline"/>
+</define>
+
+<define name="mal_block_quote">
+  <element name="quote">
+    <ref name="mal_block_quote_attr"/>
+    <optional>
       <ref name="mal_block_title"/>
-    </oneOrMore>
+    </optional>
+    <optional>
+      <ref name="mal_block_cite"/>
+    </optional>
     <oneOrMore>
-      <ref name="mal_block_terms_item_content"/>
+      <ref name="mal_block_quote_content"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_terms_item_attr">
+<define name="mal_block_quote_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -595,23 +710,26 @@
   </group>
 </define>
 
-<define name="mal_block_terms_item_content">
+<define name="mal_block_quote_content">
   <ref name="mal_block"/>
 </define>
 
-<define name="mal_block_tree">
-  <element name="tree">
-    <ref name="mal_block_tree_attr"/>
+<define name="mal_block_comment">
+  <element name="comment">
+    <ref name="mal_block_comment_attr"/>
     <optional>
       <ref name="mal_block_title"/>
     </optional>
+    <optional>
+      <ref name="mal_block_cite"/>
+    </optional>
     <oneOrMore>
-      <ref name="mal_block_tree_item"/>
+      <ref name="mal_block_comment_content"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_tree_attr">
+<define name="mal_block_comment_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -624,17 +742,26 @@
   </group>
 </define>
 
-<define name="mal_block_tree_item">
-  <element name="item">
-    <ref name="mal_block_tree_item_attr"/>
-    <ref name="mal_block_tree_item_inline"/>
-    <zeroOrMore>
-      <ref name="mal_block_tree_item"/>
-    </zeroOrMore>
+<define name="mal_block_comment_content">
+  <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_figure">
+  <element name="figure">
+    <ref name="mal_block_figure_attr"/>
+    <optional>
+      <ref name="mal_block_title"/>
+    </optional>
+    <optional>
+      <ref name="mal_block_desc"/>
+    </optional>
+    <oneOrMore>
+      <ref name="mal_block_figure_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_tree_item_attr">
+<define name="mal_block_figure_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -647,124 +774,55 @@
   </group>
 </define>
 
-<define name="mal_block_tree_item_inline">
-  <ref name="mal_inline"/>
+<define name="mal_block_figure_content">
+  <ref name="mal_block"/>
 </define>
 
-<define name="mal_table">
-  <element name="table">
-    <ref name="mal_table_attr"/>
+<define name="mal_block_listing">
+  <element name="listing">
+    <ref name="mal_block_listing_attr"/>
     <optional>
       <ref name="mal_block_title"/>
     </optional>
     <optional>
       <ref name="mal_block_desc"/>
     </optional>
-    <optional>
-      <choice>
-        <oneOrMore>
-          <ref name="mal_table_col"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="mal_table_colgroup"/>
-        </oneOrMore>
-      </choice>
-    </optional>
-    <choice>
-      <oneOrMore>
-        <ref name="mal_table_tr"/>
-      </oneOrMore>
-      <group>
-        <optional>
-          <ref name="mal_table_thead"/>
-        </optional>
-        <oneOrMore>
-          <ref name="mal_table_tbody"/>
-        </oneOrMore>
-        <optional>
-          <ref name="mal_table_tfoot"/>
-        </optional>
-      </group>
-    </choice>
+    <oneOrMore>
+      <ref name="mal_block_listing_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_table_attr">
+<define name="mal_block_listing_attr">
   <group>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
-    <optional>
-      <attribute name="frame">
-        <choice>
-          <value>all</value>
-          <value>none</value>
-          <list>
-            <zeroOrMore>
-              <choice>
-                <value>top</value>
-                <value>bottom</value>
-                <value>left</value>
-                <value>right</value>
-              </choice>
-            </zeroOrMore>
-          </list>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rules">
-        <choice>
-          <value>all</value>
-          <value>groups</value>
-          <value>none</value>
-          <list>
-            <zeroOrMore>
-              <choice>
-                <value>rows</value>
-                <value>rowgroups</value>
-                <value>cols</value>
-                <value>colgroups</value>
-              </choice>
-            </zeroOrMore>
-          </list>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="shade">
-        <choice>
-          <value>all</value>
-          <value>groups</value>
-          <value>none</value>
-          <list>
-            <zeroOrMore>
-              <choice>
-                <value>rows</value>
-                <value>rowgroups</value>
-                <value>cols</value>
-                <value>colgroups</value>
-              </choice>
-            </zeroOrMore>
-          </list>
-        </choice>
-      </attribute>
-    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_table_col">
-  <element name="col">
-    <ref name="mal_table_col_attr"/>
+<define name="mal_block_listing_content">
+  <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_note">
+  <element name="note">
+    <ref name="mal_block_note_attr"/>
+    <optional>
+      <ref name="mal_block_title"/>
+    </optional>
+    <oneOrMore>
+      <ref name="mal_block_note_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_table_col_attr">
+<define name="mal_block_note_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -777,16 +835,26 @@
   </group>
 </define>
 
-<define name="mal_table_colgroup">
-  <element name="colgroup">
-    <ref name="mal_table_colgroup_attr"/>
-    <zeroOrMore>
-      <ref name="mal_table_col"/>
-    </zeroOrMore>
+<define name="mal_block_note_content">
+  <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_synopsis">
+  <element name="synopsis">
+    <ref name="mal_block_synopsis_attr"/>
+    <optional>
+      <ref name="mal_block_title"/>
+    </optional>
+    <optional>
+      <ref name="mal_block_desc"/>
+    </optional>
+    <oneOrMore>
+      <ref name="mal_block_synopsis_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_table_colgroup_attr">
+<define name="mal_block_synopsis_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -799,18 +867,30 @@
   </group>
 </define>
 
-<define name="mal_table_tr">
-  <element name="tr">
-    <ref name="mal_table_tr_attr"/>
-    <zeroOrMore>
-      <ref name="mal_table_td"/>
-    </zeroOrMore>
+<define name="mal_block_synopsis_content">
+  <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_list">
+  <element name="list">
+    <ref name="mal_block_list_attr"/>
+    <optional>
+      <ref name="mal_block_title"/>
+    </optional>
+    <oneOrMore>
+      <ref name="mal_block_list_item"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_table_tr_attr">
+<define name="mal_block_list_attr">
   <group>
     <optional>
+      <attribute name="type">
+        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      </attribute>
+    </optional>
+    <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
@@ -821,16 +901,16 @@
   </group>
 </define>
 
-<define name="mal_table_thead">
-  <element name="thead">
-    <ref name="mal_table_thead_attr"/>
+<define name="mal_block_list_item">
+  <element name="item">
+    <ref name="mal_block_list_item_attr"/>
     <oneOrMore>
-      <ref name="mal_table_tr"/>
+      <ref name="mal_block_list_item_content"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_table_thead_attr">
+<define name="mal_block_list_item_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -843,16 +923,23 @@
   </group>
 </define>
 
-<define name="mal_table_tbody">
-  <element name="tbody">
-    <ref name="mal_table_tbody_attr"/>
+<define name="mal_block_list_item_content">
+  <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_steps">
+  <element name="steps">
+    <ref name="mal_block_steps_attr"/>
+    <optional>
+      <ref name="mal_block_title"/>
+    </optional>
     <oneOrMore>
-      <ref name="mal_table_tr"/>
+      <ref name="mal_block_steps_item"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_table_tbody_attr">
+<define name="mal_block_steps_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -865,16 +952,16 @@
   </group>
 </define>
 
-<define name="mal_table_tfoot">
-  <element name="tfoot">
-    <ref name="mal_table_tfoot_attr"/>
+<define name="mal_block_steps_item">
+  <element name="item">
+    <ref name="mal_block_steps_item_attr"/>
     <oneOrMore>
-      <ref name="mal_table_tr"/>
+      <ref name="mal_block_steps_item_content"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_table_tfoot_attr">
+<define name="mal_block_steps_item_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -887,50 +974,48 @@
   </group>
 </define>
 
-<define name="mal_table_td">
-  <element name="td">
-    <ref name="mal_table_td_attr"/>
-    <zeroOrMore>
-      <ref name="mal_table_td_content"/>
-    </zeroOrMore>
+<define name="mal_block_steps_item_content">
+  <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_terms">
+  <element name="terms">
+    <ref name="mal_block_terms_attr"/>
+    <optional>
+      <ref name="mal_block_title"/>
+    </optional>
+    <oneOrMore>
+      <ref name="mal_block_terms_item"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_table_td_attr">
+<define name="mal_block_terms_attr">
   <group>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
-    <optional>
-      <attribute name="rowspan">
-        <text/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colspan">
-        <text/>
-      </attribute>
-    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_table_td_content">
-  <ref name="mal_block"/>
-</define>
-
-<define name="mal_block_desc">
-  <element name="desc">
-    <ref name="mal_block_desc_attr"/>
-    <ref name="mal_block_desc_inline"/>
+<define name="mal_block_terms_item">
+  <element name="item">
+    <ref name="mal_block_terms_item_attr"/>
+    <oneOrMore>
+      <ref name="mal_block_title"/>
+    </oneOrMore>
+    <oneOrMore>
+      <ref name="mal_block_terms_item_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_desc_attr">
+<define name="mal_block_terms_item_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -943,52 +1028,46 @@
   </group>
 </define>
 
-<define name="mal_block_desc_inline">
-  <ref name="mal_inline"/>
+<define name="mal_block_terms_item_content">
+  <ref name="mal_block"/>
 </define>
 
-<define name="mal_block_cite">
-  <element name="cite">
-    <ref name="mal_block_cite_attr"/>
-    <ref name="mal_block_cite_inline"/>
+<define name="mal_block_tree">
+  <element name="tree">
+    <ref name="mal_block_tree_attr"/>
+    <optional>
+      <ref name="mal_block_title"/>
+    </optional>
+    <oneOrMore>
+      <ref name="mal_block_tree_item"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_cite_attr">
+<define name="mal_block_tree_attr">
   <group>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
-    <optional>
-      <attribute name="date">
-        <text/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="href">
-        <text/>
-      </attribute>
-    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_block_cite_inline">
-  <ref name="mal_inline"/>
-</define>
-
-<define name="mal_block_subtitle">
-  <element name="subtitle">
-    <ref name="mal_block_subtitle_attr"/>
-    <ref name="mal_block_subtitle_inline"/>
+<define name="mal_block_tree_item">
+  <element name="item">
+    <ref name="mal_block_tree_item_attr"/>
+    <ref name="mal_block_tree_item_inline"/>
+    <zeroOrMore>
+      <ref name="mal_block_tree_item"/>
+    </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_block_subtitle_attr">
+<define name="mal_block_tree_item_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1001,90 +1080,148 @@
   </group>
 </define>
 
-<define name="mal_block_subtitle_inline">
+<define name="mal_block_tree_item_inline">
   <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_title">
-  <element name="title">
-    <ref name="mal_block_title_attr"/>
-    <ref name="mal_block_title_inline"/>
+<define name="mal_table">
+  <element name="table">
+    <ref name="mal_table_attr"/>
+    <optional>
+      <ref name="mal_block_title"/>
+    </optional>
+    <optional>
+      <ref name="mal_block_desc"/>
+    </optional>
+    <optional>
+      <choice>
+        <oneOrMore>
+          <ref name="mal_table_col"/>
+        </oneOrMore>
+        <oneOrMore>
+          <ref name="mal_table_colgroup"/>
+        </oneOrMore>
+      </choice>
+    </optional>
+    <choice>
+      <oneOrMore>
+        <ref name="mal_table_tr"/>
+      </oneOrMore>
+      <group>
+        <optional>
+          <ref name="mal_table_thead"/>
+        </optional>
+        <oneOrMore>
+          <ref name="mal_table_tbody"/>
+        </oneOrMore>
+        <optional>
+          <ref name="mal_table_tfoot"/>
+        </optional>
+      </group>
+    </choice>
   </element>
 </define>
 
-<define name="mal_block_title_attr">
+<define name="mal_table_attr">
   <group>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
+    <optional>
+      <attribute name="frame">
+        <choice>
+          <value>all</value>
+          <value>none</value>
+          <list>
+            <zeroOrMore>
+              <choice>
+                <value>top</value>
+                <value>bottom</value>
+                <value>left</value>
+                <value>right</value>
+              </choice>
+            </zeroOrMore>
+          </list>
+        </choice>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="rules">
+        <choice>
+          <value>all</value>
+          <value>groups</value>
+          <value>none</value>
+          <list>
+            <zeroOrMore>
+              <choice>
+                <value>rows</value>
+                <value>rowgroups</value>
+                <value>cols</value>
+                <value>colgroups</value>
+              </choice>
+            </zeroOrMore>
+          </list>
+        </choice>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="shade">
+        <choice>
+          <value>all</value>
+          <value>groups</value>
+          <value>none</value>
+          <list>
+            <zeroOrMore>
+              <choice>
+                <value>rows</value>
+                <value>rowgroups</value>
+                <value>cols</value>
+                <value>colgroups</value>
+              </choice>
+            </zeroOrMore>
+          </list>
+        </choice>
+      </attribute>
+    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_block_title_inline">
-  <ref name="mal_inline"/>
-</define>
-
-<define name="mal_info">
-  <element name="info">
-    <ref name="mal_info_attr"/>
-    <ref name="mal_info_content"/>
+<define name="mal_table_col">
+  <element name="col">
+    <ref name="mal_table_col_attr"/>
   </element>
 </define>
 
-<define name="mal_info_attr">
+<define name="mal_table_col_attr">
   <group>
+    <optional>
+      <attribute name="style">
+        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      </attribute>
+    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_info_content">
-  <interleave>
-    <optional>
-      <ref name="mal_info_desc"/>
-    </optional>
-    <zeroOrMore>
-      <ref name="mal_info_credit"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_info_license"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_info_link"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_info_title"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_info_revision"/>
-    </zeroOrMore>
+<define name="mal_table_colgroup">
+  <element name="colgroup">
+    <ref name="mal_table_colgroup_attr"/>
     <zeroOrMore>
-      <ref name="mal_external"/>
+      <ref name="mal_table_col"/>
     </zeroOrMore>
-  </interleave>
-</define>
-
-<define name="mal_info_credit">
-  <element name="credit">
-    <ref name="mal_info_credit_attr"/>
-    <ref name="mal_info_credit_content"/>
   </element>
 </define>
 
-<define name="mal_info_credit_attr">
+<define name="mal_table_colgroup_attr">
   <group>
     <optional>
-      <attribute name="type">
-        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-      </attribute>
-    </optional>
-    <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
@@ -1095,129 +1232,82 @@
   </group>
 </define>
 
-<define name="mal_info_credit_content">
-  <interleave>
-    <ref name="mal_info_name"/>
-    <zeroOrMore>
-      <ref name="mal_info_email"/>
-    </zeroOrMore>
-    <optional>
-      <ref name="mal_info_years"/>
-    </optional>
-    <zeroOrMore>
-      <ref name="mal_external"/>
-    </zeroOrMore>
-  </interleave>
-</define>
-
-<define name="mal_info_link">
-  <element name="link">
-    <ref name="mal_info_link_attr"/>
+<define name="mal_table_tr">
+  <element name="tr">
+    <ref name="mal_table_tr_attr"/>
     <zeroOrMore>
-      <ref name="mal_info_link_content"/>
+      <ref name="mal_table_td"/>
     </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_info_link_attr">
+<define name="mal_table_tr_attr">
   <group>
-    <attribute name="type">
-      <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-    </attribute>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
-    <oneOrMore>
-      <ref name="mal_attr_link"/>
-    </oneOrMore>
-    <optional>
-      <attribute name="group">
-        <text/>
-      </attribute>
-    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
-</define>
-
-<define name="mal_info_link_content">
-  <ref name="mal_external"/>
-</define>
-
-<define name="mal_info_title">
-  <element name="title">
-    <ref name="mal_info_title_attr"/>
-    <ref name="mal_info_title_inline"/>
+</define>
+
+<define name="mal_table_thead">
+  <element name="thead">
+    <ref name="mal_table_thead_attr"/>
+    <oneOrMore>
+      <ref name="mal_table_tr"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_info_title_attr">
+<define name="mal_table_thead_attr">
   <group>
-    <attribute name="type">
-      <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-    </attribute>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
-    <optional>
-      <attribute name="role">
-        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-      </attribute>
-    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_info_title_inline">
-  <ref name="mal_inline"/>
-</define>
-
-<define name="mal_info_license">
-  <element name="license">
-    <ref name="mal_info_license_attr"/>
+<define name="mal_table_tbody">
+  <element name="tbody">
+    <ref name="mal_table_tbody_attr"/>
     <oneOrMore>
-      <ref name="mal_info_license_content"/>
+      <ref name="mal_table_tr"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_info_license_attr">
+<define name="mal_table_tbody_attr">
   <group>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
-    <optional>
-      <attribute name="href">
-        <text/>
-      </attribute>
-    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_info_license_content">
-  <ref name="mal_block"/>
-</define>
-
-<define name="mal_info_desc">
-  <element name="desc">
-    <ref name="mal_info_desc_attr"/>
-    <ref name="mal_info_desc_inline"/>
+<define name="mal_table_tfoot">
+  <element name="tfoot">
+    <ref name="mal_table_tfoot_attr"/>
+    <oneOrMore>
+      <ref name="mal_table_tr"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_info_desc_attr">
+<define name="mal_table_tfoot_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1230,26 +1320,16 @@
   </group>
 </define>
 
-<define name="mal_info_desc_inline">
-  <ref name="mal_inline"/>
-</define>
-
-<define name="mal_info_revision">
-  <element name="revision">
-    <ref name="mal_info_revision_attr"/>
-    <optional>
-      <ref name="mal_block_title"/>
-    </optional>
-    <optional>
-      <ref name="mal_block_desc"/>
-    </optional>
+<define name="mal_table_td">
+  <element name="td">
+    <ref name="mal_table_td_attr"/>
     <zeroOrMore>
-      <ref name="mal_info_revision_content"/>
+      <ref name="mal_table_td_content"/>
     </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_info_revision_attr">
+<define name="mal_table_td_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1257,28 +1337,37 @@
       </attribute>
     </optional>
     <optional>
-      <attribute name="version">
-        <text/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="docversion">
+      <attribute name="rowspan">
         <text/>
       </attribute>
     </optional>
     <optional>
-      <attribute name="pkgversion">
+      <attribute name="colspan">
         <text/>
       </attribute>
     </optional>
+    <zeroOrMore>
+      <ref name="mal_attr_external"/>
+    </zeroOrMore>
+  </group>
+</define>
+
+<define name="mal_table_td_content">
+  <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_title">
+  <element name="title">
+    <ref name="mal_block_title_attr"/>
+    <ref name="mal_block_title_inline"/>
+  </element>
+</define>
+
+<define name="mal_block_title_attr">
+  <group>
     <optional>
-      <attribute name="date">
-        <data type="date" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="status">
-        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      <attribute name="style">
+        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
     <zeroOrMore>
@@ -1287,18 +1376,18 @@
   </group>
 </define>
 
-<define name="mal_info_revision_content">
-  <ref name="mal_external"/>
+<define name="mal_block_title_inline">
+  <ref name="mal_inline"/>
 </define>
 
-<define name="mal_info_years">
-  <element name="years">
-    <ref name="mal_info_years_attr"/>
-    <ref name="mal_info_years_inline"/>
+<define name="mal_block_subtitle">
+  <element name="subtitle">
+    <ref name="mal_block_subtitle_attr"/>
+    <ref name="mal_block_subtitle_inline"/>
   </element>
 </define>
 
-<define name="mal_info_years_attr">
+<define name="mal_block_subtitle_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1311,18 +1400,18 @@
   </group>
 </define>
 
-<define name="mal_info_years_inline">
+<define name="mal_block_subtitle_inline">
   <ref name="mal_inline"/>
 </define>
 
-<define name="mal_info_email">
-  <element name="email">
-    <ref name="mal_info_email_attr"/>
-    <ref name="mal_info_email_inline"/>
+<define name="mal_block_desc">
+  <element name="desc">
+    <ref name="mal_block_desc_attr"/>
+    <ref name="mal_block_desc_inline"/>
   </element>
 </define>
 
-<define name="mal_info_email_attr">
+<define name="mal_block_desc_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1335,31 +1424,41 @@
   </group>
 </define>
 
-<define name="mal_info_email_inline">
+<define name="mal_block_desc_inline">
   <ref name="mal_inline"/>
 </define>
 
-<define name="mal_info_name">
-  <element name="name">
-    <ref name="mal_info_name_attr"/>
-    <ref name="mal_info_name_inline"/>
+<define name="mal_block_cite">
+  <element name="cite">
+    <ref name="mal_block_cite_attr"/>
+    <ref name="mal_block_cite_inline"/>
   </element>
 </define>
 
-<define name="mal_info_name_attr">
+<define name="mal_block_cite_attr">
   <group>
     <optional>
       <attribute name="style">
         <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
+    <optional>
+      <attribute name="date">
+        <text/>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="href">
+        <text/>
+      </attribute>
+    </optional>
     <zeroOrMore>
       <ref name="mal_attr_external"/>
     </zeroOrMore>
   </group>
 </define>
 
-<define name="mal_info_name_inline">
+<define name="mal_block_cite_inline">
   <ref name="mal_inline"/>
 </define>
 
@@ -1416,7 +1515,10 @@
     <zeroOrMore>
       <element>
         <anyName>
-          <except/>
+          <except>
+            <nsName ns="http://projectmallard.org/1.0/"/>
+            <nsName ns=""/>
+          </except>
         </anyName>
         <zeroOrMore>
           <attribute>
@@ -1923,61 +2025,6 @@
   <ref name="mal_inline"/>
 </define>
 
-<start>
-  <ref name="mal_page"/>
-</start>
-
-<define name="mal_page">
-  <element name="page">
-    <ref name="mal_page_attr"/>
-    <optional>
-      <ref name="mal_info"/>
-    </optional>
-    <ref name="mal_block_title"/>
-    <optional>
-      <ref name="mal_block_subtitle"/>
-    </optional>
-    <zeroOrMore>
-      <choice>
-        <ref name="mal_block"/>
-        <ref name="mal_links"/>
-      </choice>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_section"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_links"/>
-    </zeroOrMore>
-  </element>
-</define>
-
-<define name="mal_page_attr">
-  <group>
-    <attribute name="id">
-      <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-    </attribute>
-    <optional>
-      <attribute name="type">
-        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="style">
-        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="version">
-        <text/>
-      </attribute>
-    </optional>
-    <zeroOrMore>
-      <ref name="mal_attr_external"/>
-    </zeroOrMore>
-  </group>
-</define>
-
 <define name="mal_external">
   <element>
     <anyName>
@@ -2063,45 +2110,4 @@
     </optional>
   </group>
 </define>
-
-<define name="mal_section">
-  <element name="section">
-    <ref name="mal_section_attr"/>
-    <optional>
-      <ref name="mal_info"/>
-    </optional>
-    <ref name="mal_block_title"/>
-    <optional>
-      <ref name="mal_block_subtitle"/>
-    </optional>
-    <zeroOrMore>
-      <choice>
-        <ref name="mal_block"/>
-        <ref name="mal_links"/>
-      </choice>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_section"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_links"/>
-    </zeroOrMore>
-  </element>
-</define>
-
-<define name="mal_section_attr">
-  <group>
-    <attribute name="id">
-      <data type="ID" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-    </attribute>
-    <optional>
-      <attribute name="style">
-        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-      </attribute>
-    </optional>
-    <zeroOrMore>
-      <ref name="mal_attr_external"/>
-    </zeroOrMore>
-  </group>
-</define>
 </grammar>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]