[gnome-doc-utils] rng/mallard: Updated Mallard schemas



commit 04c9e71835fbacb43322918b678c716c3e328f74
Author: Shaun McCance <shaunm gnome org>
Date:   Sat Apr 23 19:13:23 2011 -0400

    rng/mallard: Updated Mallard schemas

 rng/mallard/mallard.rnc |  366 ++++++------
 rng/mallard/mallard.rng | 1454 +++++++++++++++++++++++------------------------
 2 files changed, 907 insertions(+), 913 deletions(-)
---
diff --git a/rng/mallard/mallard.rnc b/rng/mallard/mallard.rnc
index 6bb92af..dceae10 100644
--- a/rng/mallard/mallard.rnc
+++ b/rng/mallard/mallard.rnc
@@ -1,167 +1,4 @@
 
-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 ?,
@@ -170,7 +7,7 @@ mal_links = element links {
 mal_links_attr = (
   attribute type { xsd:NMTOKEN },
   attribute style { xsd:NMTOKENS } ?,
-  attribute groups { xsd:NMTOKENS } ?,
+  attribute groups { text } ?,
   mal_attr_external *
 )
 mal_links_content = mal_external
@@ -495,7 +332,7 @@ mal_table_tfoot_attr = (
 
 mal_table_td = element td {
   mal_table_td_attr,
-  mal_table_td_content +
+  mal_table_td_content *
 }
 mal_table_td_attr = (
   attribute style { xsd:NMTOKENS } ?,
@@ -505,15 +342,27 @@ mal_table_td_attr = (
 )
 mal_table_td_content = mal_block
 
-mal_block_title = element title {
-  mal_block_title_attr,
-  mal_block_title_inline
+mal_block_desc = element desc {
+  mal_block_desc_attr,
+  mal_block_desc_inline
 }
-mal_block_title_attr = (
+mal_block_desc_attr = (
   attribute style { xsd:NMTOKENS } ?,
   mal_attr_external *
 )
-mal_block_title_inline = mal_inline
+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,
@@ -525,29 +374,143 @@ mal_block_subtitle_attr = (
 )
 mal_block_subtitle_inline = mal_inline
 
-mal_block_desc = element desc {
-  mal_block_desc_attr,
-  mal_block_desc_inline
+mal_block_title = element title {
+  mal_block_title_attr,
+  mal_block_title_inline
 }
-mal_block_desc_attr = (
+mal_block_title_attr = (
   attribute style { xsd:NMTOKENS } ?,
   mal_attr_external *
 )
-mal_block_desc_inline = mal_inline
+mal_block_title_inline = mal_inline
 
-mal_block_cite = element cite {
-  mal_block_cite_attr,
-  mal_block_cite_inline
+mal_info = element info {
+  mal_info_attr,
+  mal_info_content
 }
-mal_block_cite_attr = (
+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 date { text } ?,
   attribute href { text } ?,
   mal_attr_external *
 )
-mal_block_cite_inline = mal_inline
+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_inline = {
+mal_inline = (
   mal_inline_app * &
   mal_inline_cmd * &
   mal_inline_code * &
@@ -569,7 +532,7 @@ mal_inline = {
     mal_inline
   } * &
   text ?
-}
+)
 
 mal_inline_app = element app {
   mal_inline_app_attr,
@@ -760,6 +723,27 @@ 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 * &
@@ -783,3 +767,19 @@ 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 720b18e..c8f4b3b 100644
--- a/rng/mallard/mallard.rng
+++ b/rng/mallard/mallard.rng
@@ -4,52 +4,30 @@
     xmlns:mal="http://projectmallard.org/1.0/";
     ns="http://projectmallard.org/1.0/";>
 
-<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"/>
+<define name="mal_links">
+  <element name="links">
+    <ref name="mal_links_attr"/>
     <optional>
-      <ref name="mal_block_subtitle"/>
+      <ref name="mal_block_title"/>
     </optional>
     <zeroOrMore>
-      <choice>
-        <ref name="mal_block"/>
-        <ref name="mal_links"/>
-      </choice>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_section"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="mal_links"/>
+      <ref name="mal_links_content"/>
     </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_page_attr">
+<define name="mal_links_attr">
   <group>
-    <attribute name="id">
+    <attribute name="type">
       <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">
+      <attribute name="groups">
         <text/>
       </attribute>
     </optional>
@@ -59,105 +37,73 @@
   </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>
-
-<define name="mal_info">
-  <element name="info">
-    <ref name="mal_info_attr"/>
-    <ref name="mal_info_content"/>
-  </element>
+<define name="mal_links_content">
+  <ref name="mal_external"/>
 </define>
 
-<define name="mal_info_attr">
-  <group>
-    <zeroOrMore>
-      <ref name="mal_attr_external"/>
-    </zeroOrMore>
-  </group>
+<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_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>
-    <zeroOrMore>
-      <ref name="mal_external"/>
-    </zeroOrMore>
-  </interleave>
+<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_info_credit">
-  <element name="credit">
-    <ref name="mal_info_credit_attr"/>
-    <ref name="mal_info_credit_content"/>
+<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_info_credit_attr">
+<define name="mal_block_code_attr">
   <group>
     <optional>
-      <attribute name="type">
+      <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>
@@ -166,108 +112,77 @@
   </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 name="mal_block_code_inline">
+  <ref name="mal_inline"/>
 </define>
 
-<define name="mal_info_link">
-  <element name="link">
-    <ref name="mal_info_link_attr"/>
-    <zeroOrMore>
-      <ref name="mal_info_link_content"/>
-    </zeroOrMore>
+<define name="mal_block_example">
+  <element name="example">
+    <ref name="mal_block_example_attr"/>
+    <oneOrMore>
+      <ref name="mal_block_example_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_info_link_attr">
+<define name="mal_block_example_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 name="mal_block_example_content">
+  <ref name="mal_block"/>
 </define>
 
-<define name="mal_info_title">
-  <element name="title">
-    <ref name="mal_info_title_attr"/>
-    <ref name="mal_info_title_inline"/>
+<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_info_title_attr">
+<define name="mal_block_media_attr">
   <group>
-    <attribute name="type">
-      <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
-    </attribute>
+    <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="role">
-        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      <attribute name="mime">
+        <text/>
       </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"/>
-    <oneOrMore>
-      <ref name="mal_info_license_content"/>
-    </oneOrMore>
-  </element>
-</define>
-
-<define name="mal_info_license_attr">
-  <group>
+    <attribute name="src">
+      <text/>
+    </attribute>
     <optional>
-      <attribute name="style">
-        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      <attribute name="height">
+        <text/>
       </attribute>
     </optional>
     <optional>
-      <attribute name="href">
+      <attribute name="width">
         <text/>
       </attribute>
     </optional>
@@ -277,18 +192,18 @@
   </group>
 </define>
 
-<define name="mal_info_license_content">
+<define name="mal_block_media_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_block_p">
+  <element name="p">
+    <ref name="mal_block_p_attr"/>
+    <ref name="mal_block_p_inline"/>
   </element>
 </define>
 
-<define name="mal_info_desc_attr">
+<define name="mal_block_p_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -301,26 +216,18 @@
   </group>
 </define>
 
-<define name="mal_info_desc_inline">
+<define name="mal_block_p_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>
-    <zeroOrMore>
-      <ref name="mal_info_revision_content"/>
-    </zeroOrMore>
+<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_info_revision_attr">
+<define name="mal_block_screen_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -328,48 +235,36 @@
       </attribute>
     </optional>
     <optional>
-      <attribute name="version">
-        <text/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="docversion">
-        <text/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="pkgversion">
+      <attribute name="mime">
         <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_info_revision_content">
-  <ref name="mal_external"/>
+<define name="mal_block_screen_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_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>
   </element>
 </define>
 
-<define name="mal_info_years_attr">
+<define name="mal_block_quote_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -382,18 +277,26 @@
   </group>
 </define>
 
-<define name="mal_info_years_inline">
-  <ref name="mal_inline"/>
+<define name="mal_block_quote_content">
+  <ref name="mal_block"/>
 </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_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_comment_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_info_email_attr">
+<define name="mal_block_comment_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -406,18 +309,26 @@
   </group>
 </define>
 
-<define name="mal_info_email_inline">
-  <ref name="mal_inline"/>
+<define name="mal_block_comment_content">
+  <ref name="mal_block"/>
 </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_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_info_name_attr">
+<define name="mal_block_figure_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -430,135 +341,87 @@
   </group>
 </define>
 
-<define name="mal_info_name_inline">
-  <ref name="mal_inline"/>
+<define name="mal_block_figure_content">
+  <ref name="mal_block"/>
 </define>
 
-<define name="mal_links">
-  <element name="links">
-    <ref name="mal_links_attr"/>
+<define name="mal_block_listing">
+  <element name="listing">
+    <ref name="mal_block_listing_attr"/>
     <optional>
       <ref name="mal_block_title"/>
     </optional>
-    <zeroOrMore>
-      <ref name="mal_links_content"/>
-    </zeroOrMore>
+    <optional>
+      <ref name="mal_block_desc"/>
+    </optional>
+    <oneOrMore>
+      <ref name="mal_block_listing_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_links_attr">
+<define name="mal_block_listing_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">
-        <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_links_content">
-  <ref name="mal_external"/>
-</define>
-
-<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 name="mal_block_listing_content">
+  <ref name="mal_block"/>
 </define>
 
-<define name="mal_block_code">
-  <element name="code">
-    <ref name="mal_block_code_attr"/>
-    <ref name="mal_block_code_inline"/>
+<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_block_code_attr">
+<define name="mal_block_note_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_code_inline">
-  <ref name="mal_inline"/>
+<define name="mal_block_note_content">
+  <ref name="mal_block"/>
 </define>
 
-<define name="mal_block_example">
-  <element name="example">
-    <ref name="mal_block_example_attr"/>
+<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_example_content"/>
+      <ref name="mal_block_synopsis_content"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_example_attr">
+<define name="mal_block_synopsis_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -571,29 +434,27 @@
   </group>
 </define>
 
-<define name="mal_block_example_content">
+<define name="mal_block_synopsis_content">
   <ref name="mal_block"/>
 </define>
 
-<define name="mal_block_media">
-  <element name="media">
-    <ref name="mal_block_media_attr"/>
-    <zeroOrMore>
-      <ref name="mal_block_media_content"/>
-    </zeroOrMore>
+<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_block_media_attr">
+<define name="mal_block_list_attr">
   <group>
     <optional>
       <attribute name="type">
-        <choice>
-          <value>image</value>
-          <value>video</value>
-          <value>audio</value>
-          <value>application</value>
-        </choice>
+        <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
     <optional>
@@ -601,22 +462,26 @@
         <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_list_item">
+  <element name="item">
+    <ref name="mal_block_list_item_attr"/>
+    <oneOrMore>
+      <ref name="mal_block_list_item_content"/>
+    </oneOrMore>
+  </element>
+</define>
+
+<define name="mal_block_list_item_attr">
+  <group>
     <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 name="style">
+        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
       </attribute>
     </optional>
     <zeroOrMore>
@@ -625,18 +490,23 @@
   </group>
 </define>
 
-<define name="mal_block_media_content">
+<define name="mal_block_list_item_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"/>
+<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>
   </element>
 </define>
 
-<define name="mal_block_p_attr">
+<define name="mal_block_steps_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -649,55 +519,45 @@
   </group>
 </define>
 
-<define name="mal_block_p_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_block_steps_item">
+  <element name="item">
+    <ref name="mal_block_steps_item_attr"/>
+    <oneOrMore>
+      <ref name="mal_block_steps_item_content"/>
+    </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_screen_attr">
+<define name="mal_block_steps_item_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_screen_inline">
-  <ref name="mal_inline"/>
+<define name="mal_block_steps_item_content">
+  <ref name="mal_block"/>
 </define>
 
-<define name="mal_block_quote">
-  <element name="quote">
-    <ref name="mal_block_quote_attr"/>
+<define name="mal_block_terms">
+  <element name="terms">
+    <ref name="mal_block_terms_attr"/>
     <optional>
       <ref name="mal_block_title"/>
     </optional>
-    <optional>
-      <ref name="mal_block_cite"/>
-    </optional>
     <oneOrMore>
-      <ref name="mal_block_quote_content"/>
+      <ref name="mal_block_terms_item"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_quote_attr">
+<define name="mal_block_terms_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -710,26 +570,19 @@
   </group>
 </define>
 
-<define name="mal_block_quote_content">
-  <ref name="mal_block"/>
-</define>
-
-<define name="mal_block_comment">
-  <element name="comment">
-    <ref name="mal_block_comment_attr"/>
-    <optional>
+<define name="mal_block_terms_item">
+  <element name="item">
+    <ref name="mal_block_terms_item_attr"/>
+    <oneOrMore>
       <ref name="mal_block_title"/>
-    </optional>
-    <optional>
-      <ref name="mal_block_cite"/>
-    </optional>
+    </oneOrMore>
     <oneOrMore>
-      <ref name="mal_block_comment_content"/>
+      <ref name="mal_block_terms_item_content"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_comment_attr">
+<define name="mal_block_terms_item_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -742,26 +595,46 @@
   </group>
 </define>
 
-<define name="mal_block_comment_content">
+<define name="mal_block_terms_item_content">
   <ref name="mal_block"/>
 </define>
 
-<define name="mal_block_figure">
-  <element name="figure">
-    <ref name="mal_block_figure_attr"/>
+<define name="mal_block_tree">
+  <element name="tree">
+    <ref name="mal_block_tree_attr"/>
     <optional>
       <ref name="mal_block_title"/>
     </optional>
-    <optional>
-      <ref name="mal_block_desc"/>
-    </optional>
     <oneOrMore>
-      <ref name="mal_block_figure_content"/>
+      <ref name="mal_block_tree_item"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_figure_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>
+    <zeroOrMore>
+      <ref name="mal_attr_external"/>
+    </zeroOrMore>
+  </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>
+  </element>
+</define>
+
+<define name="mal_block_tree_item_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -774,55 +647,124 @@
   </group>
 </define>
 
-<define name="mal_block_figure_content">
-  <ref name="mal_block"/>
+<define name="mal_block_tree_item_inline">
+  <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_listing">
-  <element name="listing">
-    <ref name="mal_block_listing_attr"/>
+<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>
-    <oneOrMore>
-      <ref name="mal_block_listing_content"/>
-    </oneOrMore>
+    <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_listing_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_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>
+<define name="mal_table_col">
+  <element name="col">
+    <ref name="mal_table_col_attr"/>
   </element>
 </define>
 
-<define name="mal_block_note_attr">
+<define name="mal_table_col_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -835,26 +777,16 @@
   </group>
 </define>
 
-<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>
+<define name="mal_table_colgroup">
+  <element name="colgroup">
+    <ref name="mal_table_colgroup_attr"/>
+    <zeroOrMore>
+      <ref name="mal_table_col"/>
+    </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_block_synopsis_attr">
+<define name="mal_table_colgroup_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -867,30 +799,18 @@
   </group>
 </define>
 
-<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>
+<define name="mal_table_tr">
+  <element name="tr">
+    <ref name="mal_table_tr_attr"/>
+    <zeroOrMore>
+      <ref name="mal_table_td"/>
+    </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_block_list_attr">
+<define name="mal_table_tr_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>
@@ -901,16 +821,16 @@
   </group>
 </define>
 
-<define name="mal_block_list_item">
-  <element name="item">
-    <ref name="mal_block_list_item_attr"/>
+<define name="mal_table_thead">
+  <element name="thead">
+    <ref name="mal_table_thead_attr"/>
     <oneOrMore>
-      <ref name="mal_block_list_item_content"/>
+      <ref name="mal_table_tr"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_list_item_attr">
+<define name="mal_table_thead_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -923,23 +843,16 @@
   </group>
 </define>
 
-<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>
+<define name="mal_table_tbody">
+  <element name="tbody">
+    <ref name="mal_table_tbody_attr"/>
     <oneOrMore>
-      <ref name="mal_block_steps_item"/>
+      <ref name="mal_table_tr"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_steps_attr">
+<define name="mal_table_tbody_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -952,16 +865,16 @@
   </group>
 </define>
 
-<define name="mal_block_steps_item">
-  <element name="item">
-    <ref name="mal_block_steps_item_attr"/>
+<define name="mal_table_tfoot">
+  <element name="tfoot">
+    <ref name="mal_table_tfoot_attr"/>
     <oneOrMore>
-      <ref name="mal_block_steps_item_content"/>
+      <ref name="mal_table_tr"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_block_steps_item_attr">
+<define name="mal_table_tfoot_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -974,48 +887,50 @@
   </group>
 </define>
 
-<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>
+<define name="mal_table_td">
+  <element name="td">
+    <ref name="mal_table_td_attr"/>
+    <zeroOrMore>
+      <ref name="mal_table_td_content"/>
+    </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_block_terms_attr">
+<define name="mal_table_td_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_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>
+<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"/>
   </element>
 </define>
 
-<define name="mal_block_terms_item_attr">
+<define name="mal_block_desc_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1028,46 +943,52 @@
   </group>
 </define>
 
-<define name="mal_block_terms_item_content">
-  <ref name="mal_block"/>
+<define name="mal_block_desc_inline">
+  <ref name="mal_inline"/>
 </define>
 
-<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>
+<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_block_tree_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_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_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"/>
   </element>
 </define>
 
-<define name="mal_block_tree_item_attr">
+<define name="mal_block_subtitle_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1080,148 +1001,90 @@
   </group>
 </define>
 
-<define name="mal_block_tree_item_inline">
+<define name="mal_block_subtitle_inline">
   <ref name="mal_inline"/>
 </define>
 
-<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>
+<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_table_attr">
+<define name="mal_block_title_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_title_inline">
+  <ref name="mal_inline"/>
+</define>
+
+<define name="mal_info">
+  <element name="info">
+    <ref name="mal_info_attr"/>
+    <ref name="mal_info_content"/>
   </element>
 </define>
 
-<define name="mal_table_col_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_table_colgroup">
-  <element name="colgroup">
-    <ref name="mal_table_colgroup_attr"/>
+<define name="mal_info_content">
+  <interleave>
+    <optional>
+      <ref name="mal_info_desc"/>
+    </optional>
     <zeroOrMore>
-      <ref name="mal_table_col"/>
+      <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_table_colgroup_attr">
+<define name="mal_info_credit_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>
@@ -1232,82 +1095,129 @@
   </group>
 </define>
 
-<define name="mal_table_tr">
-  <element name="tr">
-    <ref name="mal_table_tr_attr"/>
+<define name="mal_info_credit_content">
+  <interleave>
+    <ref name="mal_info_name"/>
     <zeroOrMore>
-      <ref name="mal_table_td"/>
+      <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"/>
+    <zeroOrMore>
+      <ref name="mal_info_link_content"/>
     </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_table_tr_attr">
+<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="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_table_thead">
-  <element name="thead">
-    <ref name="mal_table_thead_attr"/>
-    <oneOrMore>
-      <ref name="mal_table_tr"/>
-    </oneOrMore>
+<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"/>
   </element>
 </define>
 
-<define name="mal_table_thead_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_table_tbody">
-  <element name="tbody">
-    <ref name="mal_table_tbody_attr"/>
+<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"/>
     <oneOrMore>
-      <ref name="mal_table_tr"/>
+      <ref name="mal_info_license_content"/>
     </oneOrMore>
   </element>
 </define>
 
-<define name="mal_table_tbody_attr">
+<define name="mal_info_license_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_table_tfoot">
-  <element name="tfoot">
-    <ref name="mal_table_tfoot_attr"/>
-    <oneOrMore>
-      <ref name="mal_table_tr"/>
-    </oneOrMore>
+<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"/>
   </element>
 </define>
 
-<define name="mal_table_tfoot_attr">
+<define name="mal_info_desc_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1320,16 +1230,26 @@
   </group>
 </define>
 
-<define name="mal_table_td">
-  <element name="td">
-    <ref name="mal_table_td_attr"/>
-    <oneOrMore>
-      <ref name="mal_table_td_content"/>
-    </oneOrMore>
+<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>
+    <zeroOrMore>
+      <ref name="mal_info_revision_content"/>
+    </zeroOrMore>
   </element>
 </define>
 
-<define name="mal_table_td_attr">
+<define name="mal_info_revision_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1337,37 +1257,28 @@
       </attribute>
     </optional>
     <optional>
-      <attribute name="rowspan">
+      <attribute name="version">
         <text/>
       </attribute>
     </optional>
     <optional>
-      <attribute name="colspan">
+      <attribute name="docversion">
         <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="style">
-        <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+      <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>
@@ -1376,18 +1287,18 @@
   </group>
 </define>
 
-<define name="mal_block_title_inline">
-  <ref name="mal_inline"/>
+<define name="mal_info_revision_content">
+  <ref name="mal_external"/>
 </define>
 
-<define name="mal_block_subtitle">
-  <element name="subtitle">
-    <ref name="mal_block_subtitle_attr"/>
-    <ref name="mal_block_subtitle_inline"/>
+<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_subtitle_attr">
+<define name="mal_info_years_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1400,18 +1311,18 @@
   </group>
 </define>
 
-<define name="mal_block_subtitle_inline">
+<define name="mal_info_years_inline">
   <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_desc">
-  <element name="desc">
-    <ref name="mal_block_desc_attr"/>
-    <ref name="mal_block_desc_inline"/>
+<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_desc_attr">
+<define name="mal_info_email_attr">
   <group>
     <optional>
       <attribute name="style">
@@ -1424,41 +1335,31 @@
   </group>
 </define>
 
-<define name="mal_block_desc_inline">
+<define name="mal_info_email_inline">
   <ref name="mal_inline"/>
 </define>
 
-<define name="mal_block_cite">
-  <element name="cite">
-    <ref name="mal_block_cite_attr"/>
-    <ref name="mal_block_cite_inline"/>
+<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_cite_attr">
+<define name="mal_info_name_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">
+<define name="mal_info_name_inline">
   <ref name="mal_inline"/>
 </define>
 
@@ -1515,10 +1416,7 @@
     <zeroOrMore>
       <element>
         <anyName>
-          <except>
-            <nsName ns="http://projectmallard.org/1.0/"/>
-            <nsName ns=""/>
-          </except>
+          <except/>
         </anyName>
         <zeroOrMore>
           <attribute>
@@ -2025,6 +1923,61 @@
   <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>
@@ -2110,4 +2063,45 @@
     </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]