diff options
author | Shaun McCance <shaunm@gnome.org> | 2011-04-23 19:13:23 -0400 |
---|---|---|
committer | Shaun McCance <shaunm@gnome.org> | 2011-04-23 19:13:51 -0400 |
commit | 04c9e71835fbacb43322918b678c716c3e328f74 (patch) | |
tree | ddef209fad740a4bb3dbe130ac36c337cd56e95f | |
parent | 0559202b39bd2ef81f0a9d5871f2c64ebc00fb6d (diff) | |
download | gnome-doc-utils-04c9e71835fbacb43322918b678c716c3e328f74.tar.gz |
rng/mallard: Updated Mallard schemas
-rw-r--r-- | rng/mallard/mallard.rnc | 366 | ||||
-rw-r--r-- | rng/mallard/mallard.rng | 914 |
2 files changed, 637 insertions, 643 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,436 +4,6 @@ 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"/> - <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_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> - -<define name="mal_info_attr"> - <group> - <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> - <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_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> - </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> - <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_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_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_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_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> - <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"/> - </element> -</define> - -<define name="mal_info_desc_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_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_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_info_revision_content"> - <ref name="mal_external"/> -</define> - -<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_info_years_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_years_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"/> - </element> -</define> - -<define name="mal_info_email_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_email_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"/> - </element> -</define> - -<define name="mal_info_name_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_name_inline"> - <ref name="mal_inline"/> -</define> - <define name="mal_links"> <element name="links"> <ref name="mal_links_attr"/> @@ -458,7 +28,7 @@ </optional> <optional> <attribute name="groups"> - <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> + <text/> </attribute> </optional> <zeroOrMore> @@ -476,10 +46,7 @@ <ref name="mal_block_elements"/> <element> <anyName> - <except> - <nsName ns="http://projectmallard.org/1.0/"/> - <nsName ns=""/> - </except> + <except/> </anyName> <zeroOrMore> <attribute> @@ -1323,9 +890,9 @@ <define name="mal_table_td"> <element name="td"> <ref name="mal_table_td_attr"/> - <oneOrMore> + <zeroOrMore> <ref name="mal_table_td_content"/> - </oneOrMore> + </zeroOrMore> </element> </define> @@ -1356,14 +923,14 @@ <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"/> +<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_title_attr"> +<define name="mal_block_desc_attr"> <group> <optional> <attribute name="style"> @@ -1376,7 +943,41 @@ </group> </define> -<define name="mal_block_title_inline"> +<define name="mal_block_desc_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"/> + </element> +</define> + +<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_cite_inline"> <ref name="mal_inline"/> </define> @@ -1404,14 +1005,14 @@ <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_block_title"> + <element name="title"> + <ref name="mal_block_title_attr"/> + <ref name="mal_block_title_inline"/> </element> </define> -<define name="mal_block_desc_attr"> +<define name="mal_block_title_attr"> <group> <optional> <attribute name="style"> @@ -1424,29 +1025,176 @@ </group> </define> -<define name="mal_block_desc_inline"> +<define name="mal_block_title_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"> + <element name="info"> + <ref name="mal_info_attr"/> + <ref name="mal_info_content"/> </element> </define> -<define name="mal_block_cite_attr"> +<define name="mal_info_attr"> + <group> + <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> + <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_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> </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="date"> + <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_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_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_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_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> + <optional> + <attribute name="style"> + <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> + </attribute> + </optional> <optional> <attribute name="href"> <text/> @@ -1458,7 +1206,160 @@ </group> </define> -<define name="mal_block_cite_inline"> +<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_info_desc_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_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_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_info_revision_content"> + <ref name="mal_external"/> +</define> + +<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_info_years_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_years_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"/> + </element> +</define> + +<define name="mal_info_email_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_email_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"/> + </element> +</define> + +<define name="mal_info_name_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_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> |