summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2012-03-18 21:19:52 -0400
committerShaun McCance <shaunm@gnome.org>2012-03-18 21:19:52 -0400
commit41fb68ff107309383a3c769d1c65d2663174db44 (patch)
treeebbf14719e4da0cb2ac68393a6944b8742777f45
parent0dd26f245397b85bb26b08037a2870e185187548 (diff)
downloadgnome-doc-utils-41fb68ff107309383a3c769d1c65d2663174db44.tar.gz
Adding back RNG files for now
Per an IRC discussion with Michael Biebl. The build tools have needed the RNG files. I removed the RNG files and didn't remove that requirement. That was a big screw-up. Then I removed the requirement. That's cool, but there's a whole generation of packages that still need the RNG without the RNG being there. So I'm adding the RNG back, but without any rules that call them. I'll hold it this was for one release cycle, as a way to transition over.
-rw-r--r--configure.in1
-rw-r--r--data/Makefile.am2
-rw-r--r--data/rng/Makefile.am4
-rw-r--r--data/rng/mallard.rnc822
-rw-r--r--data/rng/mallard.rng2158
-rw-r--r--tools/gnome-doc-utils.pc.in2
6 files changed, 2988 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index 89b5837..9176c0c 100644
--- a/configure.in
+++ b/configure.in
@@ -59,6 +59,7 @@ data/icons/hicolor/48x48/Makefile
data/icons/hicolor/48x48/status/Makefile
data/icons/hicolor/scalable/Makefile
data/icons/hicolor/scalable/status/Makefile
+data/rng/Makefile
data/templates/Makefile
data/watermarks/Makefile
doc/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index f113aed..aea6934 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1 +1 @@
-SUBDIRS = icons templates watermarks
+SUBDIRS = icons templates watermarks rng
diff --git a/data/rng/Makefile.am b/data/rng/Makefile.am
new file mode 100644
index 0000000..417251a
--- /dev/null
+++ b/data/rng/Makefile.am
@@ -0,0 +1,4 @@
+specdir = $(datadir)/xml/mallard/1.0/
+spec_DATA = mallard.rnc mallard.rng
+
+EXTRA_DIST = $(spec_DATA)
diff --git a/data/rng/mallard.rnc b/data/rng/mallard.rnc
new file mode 100644
index 0000000..5013388
--- /dev/null
+++ b/data/rng/mallard.rnc
@@ -0,0 +1,822 @@
+
+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 } ?,
+ mal_attr_version ?,
+ 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 ?,
+ mal_links_content *
+}
+mal_links_attr = (
+ attribute type { xsd:NMTOKEN },
+ attribute style { xsd:NMTOKENS } ?,
+ attribute groups { text } ?,
+ mal_attr_external *
+)
+mal_links_content = mal_external
+
+mal_block = (
+ mal_block_elements |
+ element * - (mal:* | local:*) {
+ attribute * { text } *,
+ ( mal_external * &
+ mal_block_elements *
+ )
+ }
+)
+mal_block_elements = (
+ mal_block_code |
+ mal_block_comment |
+ mal_block_example |
+ mal_block_figure |
+ mal_block_list |
+ mal_block_listing |
+ mal_block_media |
+ mal_block_note |
+ mal_block_p |
+ mal_block_quote |
+ mal_block_screen |
+ mal_block_steps |
+ mal_block_synopsis |
+ mal_block_terms |
+ mal_block_tree |
+ mal_table
+)
+mal_block_attr = empty
+
+mal_block_code = element code {
+ mal_block_code_attr,
+ mal_block_code_inline
+}
+mal_block_code_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ attribute mime { text } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_code_inline = mal_inline
+
+mal_block_example = element example {
+ mal_block_example_attr,
+ mal_block_example_content +
+}
+mal_block_example_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_example_content = mal_block
+
+mal_block_media = element media {
+ mal_block_media_attr,
+ mal_block_media_content *
+}
+mal_block_media_attr = (
+ attribute type { "image" | "video" | "audio" | "application" } ?,
+ attribute style { xsd:NMTOKENS } ?,
+ attribute mime { text } ?,
+ attribute src { text },
+ attribute height { text } ?,
+ attribute width { text } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_media_content = mal_block
+
+mal_block_p = element p {
+ mal_block_p_attr,
+ mal_block_p_inline
+}
+mal_block_p_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_p_inline = mal_inline
+
+mal_block_screen = element screen {
+ mal_block_screen_attr,
+ mal_block_screen_inline
+}
+mal_block_screen_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ attribute mime { text } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_screen_inline = mal_inline
+
+mal_block_quote = element quote {
+ mal_block_quote_attr,
+ mal_block_title ?,
+ mal_block_cite ?,
+ mal_block_quote_content +
+}
+mal_block_quote_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_quote_content = mal_block
+
+mal_block_comment = element comment {
+ mal_block_comment_attr,
+ mal_block_title ?,
+ mal_block_cite ?,
+ mal_block_comment_content +
+}
+mal_block_comment_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_comment_content = mal_block
+
+mal_block_figure = element figure {
+ mal_block_figure_attr,
+ mal_block_title ?,
+ mal_block_desc ?,
+ mal_block_figure_content +
+}
+mal_block_figure_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_figure_content = mal_block
+
+mal_block_listing = element listing {
+ mal_block_listing_attr,
+ mal_block_title ?,
+ mal_block_desc ?,
+ mal_block_listing_content +
+}
+mal_block_listing_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_listing_content = mal_block
+
+mal_block_note = element note {
+ mal_block_note_attr,
+ mal_block_title ?,
+ mal_block_note_content +
+}
+mal_block_note_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_note_content = mal_block
+
+mal_block_synopsis = element synopsis {
+ mal_block_synopsis_attr,
+ mal_block_title ?,
+ mal_block_desc ?,
+ mal_block_synopsis_content +
+}
+mal_block_synopsis_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_synopsis_content = mal_block
+
+mal_block_list = element list {
+ mal_block_list_attr,
+ mal_block_title ?,
+ mal_block_list_item +
+}
+mal_block_list_attr = (
+ attribute type { xsd:NMTOKEN } ?,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_list_item = element item {
+ mal_block_list_item_attr,
+ mal_block_list_item_content +
+}
+mal_block_list_item_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_block_list_item_content = mal_block
+
+mal_block_steps = element steps {
+ mal_block_steps_attr,
+ mal_block_title ?,
+ mal_block_steps_item +
+}
+mal_block_steps_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_steps_item = element item {
+ mal_block_steps_item_attr,
+ mal_block_steps_item_content +
+}
+mal_block_steps_item_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_block_steps_item_content = mal_block
+
+mal_block_terms = element terms {
+ mal_block_terms_attr,
+ mal_block_title ?,
+ mal_block_terms_item +
+}
+mal_block_terms_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_terms_item = element item {
+ mal_block_terms_item_attr,
+ mal_block_title +,
+ mal_block_terms_item_content +
+}
+mal_block_terms_item_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_block_terms_item_content = mal_block
+
+mal_block_tree = element tree {
+ mal_block_tree_attr,
+ mal_block_title ?,
+ mal_block_tree_item +
+}
+mal_block_tree_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+mal_block_tree_item = element item {
+ mal_block_tree_item_attr,
+ mal_block_tree_item_inline,
+ mal_block_tree_item *
+}
+mal_block_tree_item_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_block_tree_item_inline = mal_inline
+
+mal_table = element table {
+ mal_table_attr,
+
+ mal_block_title ?,
+ mal_block_desc ?,
+
+ ( mal_table_col + |
+ mal_table_colgroup +
+ ) ?,
+
+ ( mal_table_tr + |
+ ( mal_table_thead ?,
+ mal_table_tbody +,
+ mal_table_tfoot ?
+ )
+ )
+}
+mal_table_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ attribute frame {
+ "all" | "none" |
+ list { ("top" | "bottom" | "left" | "right") * }
+ } ?,
+ attribute rules {
+ "all" | "groups" | "none" |
+ list { ("rows" | "rowgroups" | "cols" | "colgroups") * }
+ } ?,
+ attribute shade {
+ "all" | "groups" | "none" |
+ list { ("rows" | "rowgroups" | "cols" | "colgroups") * }
+ } ?,
+ mal_block_attr,
+ mal_attr_external *
+)
+
+mal_table_col = element col {
+ mal_table_col_attr
+}
+mal_table_col_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_table_colgroup = element colgroup {
+ mal_table_colgroup_attr,
+ mal_table_col *
+}
+mal_table_colgroup_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+
+mal_table_tr = element tr {
+ mal_table_tr_attr,
+ mal_table_td *
+}
+mal_table_tr_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_table_thead = element thead {
+ mal_table_thead_attr,
+ mal_table_tr +
+}
+mal_table_thead_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_table_tbody = element tbody {
+ mal_table_tbody_attr,
+ mal_table_tr +
+}
+mal_table_tbody_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_table_tfoot = element tfoot {
+ mal_table_tfoot_attr,
+ mal_table_tr +
+}
+mal_table_tfoot_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+
+mal_table_td = element td {
+ mal_table_td_attr,
+ mal_table_td_content *
+}
+mal_table_td_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ attribute rowspan { text } ?,
+ attribute colspan { text } ?,
+ mal_attr_external *
+)
+mal_table_td_content = mal_block
+
+mal_block_title = element title {
+ mal_block_title_attr,
+ mal_block_title_inline
+}
+mal_block_title_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_block_title_inline = mal_inline
+
+mal_block_subtitle = element subtitle {
+ mal_block_subtitle_attr,
+ mal_block_subtitle_inline
+}
+mal_block_subtitle_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_block_subtitle_inline = mal_inline
+
+mal_block_desc = element desc {
+ mal_block_desc_attr,
+ mal_block_desc_inline
+}
+mal_block_desc_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_attr_external *
+)
+mal_block_desc_inline = mal_inline
+
+mal_block_cite = element cite {
+ mal_block_cite_attr,
+ mal_block_cite_inline
+}
+mal_block_cite_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ attribute date { text } ?,
+ attribute href { text } ?,
+ mal_attr_external *
+)
+mal_block_cite_inline = mal_inline
+
+mal_inline = (
+ mal_inline_app * &
+ mal_inline_cmd * &
+ mal_inline_code * &
+ mal_inline_em * &
+ mal_inline_file * &
+ mal_inline_gui * &
+ mal_inline_guiseq * &
+ mal_inline_input * &
+ mal_inline_key * &
+ mal_inline_keyseq * &
+ mal_inline_link * &
+ mal_inline_media * &
+ mal_inline_output * &
+ mal_inline_span * &
+ mal_inline_sys * &
+ mal_inline_var * &
+ element * - (mal:* | local:*) {
+ attribute * { text } *,
+ mal_inline
+ } * &
+ text ?
+)
+mal_inline_attr = empty
+
+mal_inline_app = element app {
+ mal_inline_app_attr,
+ mal_inline_app_inline
+}
+mal_inline_app_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_app_inline = mal_inline
+
+mal_inline_code = element code {
+ mal_inline_code_attr,
+ mal_inline_code_inline
+}
+mal_inline_code_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ attribute mime { text } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_code_inline = mal_inline
+
+mal_inline_cmd = element cmd {
+ mal_inline_cmd_attr,
+ mal_inline_cmd_inline
+}
+mal_inline_cmd_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ attribute mime { text } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_cmd_inline = mal_inline
+
+mal_inline_output = element output {
+ mal_inline_output_attr,
+ mal_inline_output_inline
+}
+mal_inline_output_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_output_inline = mal_inline
+
+mal_inline_em = element em {
+ mal_inline_em_attr,
+ mal_inline_em_inline
+}
+mal_inline_em_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_em_inline = mal_inline
+
+mal_inline_file = element file {
+ mal_inline_file_attr,
+ mal_inline_file_inline
+}
+mal_inline_file_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_file_inline = mal_inline
+
+mal_inline_gui = element gui {
+ mal_inline_gui_attr,
+ mal_inline_gui_inline
+}
+mal_inline_gui_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_gui_inline = mal_inline
+
+mal_inline_guiseq = element guiseq {
+ mal_inline_guiseq_attr,
+ mal_inline_guiseq_inline
+}
+mal_inline_guiseq_attr = (
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_guiseq_inline = (
+ mal_inline_gui + &
+ text
+)
+
+mal_inline_link = element link {
+ mal_inline_link_attr,
+ mal_inline_link_inline
+}
+mal_inline_link_attr = (
+ mal_attr_link +,
+ attribute style { xsd:NMTOKENS } ?,
+ attribute role { text } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_link_inline = mal_inline
+
+mal_inline_media = element media {
+ mal_inline_media_attr,
+ mal_inline_media_inline
+}
+mal_inline_media_attr = (
+ mal_attr_link *,
+ attribute type { "image" | "video" | "audio" | "application" } ?,
+ attribute style { xsd:NMTOKENS } ?,
+ attribute mime { text } ?,
+ attribute src { text },
+ attribute height { text } ?,
+ attribute width { text } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_media_inline = mal_inline
+
+mal_inline_keyseq = element keyseq {
+ mal_inline_keyseq_attr,
+ mal_inline_keyseq_inline
+}
+mal_inline_keyseq_attr = (
+ attribute type { "combo" | "sequence" } ?,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_keyseq_inline = (
+ mal_inline_key * &
+ mal_inline_keyseq * &
+ text
+)
+
+mal_inline_key = element key {
+ mal_inline_key_attr,
+ mal_inline_key_inline
+}
+mal_inline_key_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_key_inline = mal_inline
+
+mal_inline_span = element span {
+ mal_inline_span_attr,
+ mal_inline_span_inline
+}
+mal_inline_span_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_span_inline = mal_inline
+
+mal_inline_sys = element sys {
+ mal_inline_sys_attr,
+ mal_inline_sys_inline
+}
+mal_inline_sys_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_sys_inline = mal_inline
+
+mal_inline_input = element input {
+ mal_inline_input_attr,
+ mal_inline_input_inline
+}
+mal_inline_input_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_input_inline = mal_inline
+
+mal_inline_var = element var {
+ mal_inline_var_attr,
+ mal_inline_var_inline
+}
+mal_inline_var_attr = (
+ mal_attr_link *,
+ attribute style { xsd:NMTOKENS } ?,
+ mal_inline_attr,
+ mal_attr_external *
+)
+mal_inline_var_inline = mal_inline
+
+mal_external = element * - (mal:* | local:*) {
+ attribute * { text } *,
+ ( mal_anything * &
+ text ?
+ )
+}
+mal_anything = element * {
+ attribute * { text } *,
+ ( mal_anything * &
+ text ?
+ )
+}
+mal_attr_external = attribute * - (mal:* | local:*) { text }
+
+mal_attr_version = attribute version { text }
+
+mal_attr_link = (
+ attribute xref { text } |
+ attribute href { text } |
+ attribute action { text }
+)
+mal_attr_mal_link = (
+ attribute mal:xref { text } ?,
+ attribute mal:action { text } ?
+)
diff --git a/data/rng/mallard.rng b/data/rng/mallard.rng
new file mode 100644
index 0000000..81a26c8
--- /dev/null
+++ b/data/rng/mallard.rng
@@ -0,0 +1,2158 @@
+<?xml version="1.0"?>
+<grammar
+ xmlns="http://relaxng.org/ns/structure/1.0"
+ 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>
+ <ref name="mal_attr_version"/>
+ </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"/>
+ <optional>
+ <ref name="mal_block_title"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="mal_links_content"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="mal_links_attr">
+ <group>
+ <attribute name="type">
+ <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="groups">
+ <text/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_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>
+
+<define name="mal_block_attr">
+ <empty/>
+</define>
+
+<define name="mal_block_code">
+ <element name="code">
+ <ref name="mal_block_code_attr"/>
+ <ref name="mal_block_code_inline"/>
+ </element>
+</define>
+
+<define name="mal_block_code_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>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_block_code_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_block_example">
+ <element name="example">
+ <ref name="mal_block_example_attr"/>
+ <oneOrMore>
+ <ref name="mal_block_example_content"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="mal_block_example_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_block_example_content">
+ <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_media">
+ <element name="media">
+ <ref name="mal_block_media_attr"/>
+ <zeroOrMore>
+ <ref name="mal_block_media_content"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="mal_block_media_attr">
+ <group>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>image</value>
+ <value>video</value>
+ <value>audio</value>
+ <value>application</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mime">
+ <text/>
+ </attribute>
+ </optional>
+ <attribute name="src">
+ <text/>
+ </attribute>
+ <optional>
+ <attribute name="height">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <text/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_block_media_content">
+ <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_p">
+ <element name="p">
+ <ref name="mal_block_p_attr"/>
+ <ref name="mal_block_p_inline"/>
+ </element>
+</define>
+
+<define name="mal_block_p_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </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"/>
+ </element>
+</define>
+
+<define name="mal_block_screen_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mime">
+ <text/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_block_screen_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_block_quote">
+ <element name="quote">
+ <ref name="mal_block_quote_attr"/>
+ <optional>
+ <ref name="mal_block_title"/>
+ </optional>
+ <optional>
+ <ref name="mal_block_cite"/>
+ </optional>
+ <oneOrMore>
+ <ref name="mal_block_quote_content"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="mal_block_quote_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </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>
+ <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_block_comment_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_block_comment_content">
+ <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_figure">
+ <element name="figure">
+ <ref name="mal_block_figure_attr"/>
+ <optional>
+ <ref name="mal_block_title"/>
+ </optional>
+ <optional>
+ <ref name="mal_block_desc"/>
+ </optional>
+ <oneOrMore>
+ <ref name="mal_block_figure_content"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="mal_block_figure_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_block_figure_content">
+ <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_listing">
+ <element name="listing">
+ <ref name="mal_block_listing_attr"/>
+ <optional>
+ <ref name="mal_block_title"/>
+ </optional>
+ <optional>
+ <ref name="mal_block_desc"/>
+ </optional>
+ <oneOrMore>
+ <ref name="mal_block_listing_content"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="mal_block_listing_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <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>
+ </element>
+</define>
+
+<define name="mal_block_note_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </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>
+ </element>
+</define>
+
+<define name="mal_block_synopsis_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </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>
+ </element>
+</define>
+
+<define name="mal_block_list_attr">
+ <group>
+ <optional>
+ <attribute name="type">
+ <data type="NMTOKEN" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <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="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_list_item_content">
+ <ref name="mal_block"/>
+</define>
+
+<define name="mal_block_steps">
+ <element name="steps">
+ <ref name="mal_block_steps_attr"/>
+ <optional>
+ <ref name="mal_block_title"/>
+ </optional>
+ <oneOrMore>
+ <ref name="mal_block_steps_item"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="mal_block_steps_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_block_steps_item">
+ <element name="item">
+ <ref name="mal_block_steps_item_attr"/>
+ <oneOrMore>
+ <ref name="mal_block_steps_item_content"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<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>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </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>
+ </element>
+</define>
+
+<define name="mal_block_terms_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <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>
+ </element>
+</define>
+
+<define name="mal_block_terms_item_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_terms_item_content">
+ <ref name="mal_block"/>
+</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>
+ </element>
+</define>
+
+<define name="mal_block_tree_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_block_attr"/>
+ <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">
+ <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_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>
+ </element>
+</define>
+
+<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>
+ <ref name="mal_block_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_table_col">
+ <element name="col">
+ <ref name="mal_table_col_attr"/>
+ </element>
+</define>
+
+<define name="mal_table_col_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_table_colgroup">
+ <element name="colgroup">
+ <ref name="mal_table_colgroup_attr"/>
+ <zeroOrMore>
+ <ref name="mal_table_col"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="mal_table_colgroup_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_tr">
+ <element name="tr">
+ <ref name="mal_table_tr_attr"/>
+ <zeroOrMore>
+ <ref name="mal_table_td"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="mal_table_tr_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_thead">
+ <element name="thead">
+ <ref name="mal_table_thead_attr"/>
+ <oneOrMore>
+ <ref name="mal_table_tr"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="mal_table_thead_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_tbody">
+ <element name="tbody">
+ <ref name="mal_table_tbody_attr"/>
+ <oneOrMore>
+ <ref name="mal_table_tr"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="mal_table_tbody_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_tfoot">
+ <element name="tfoot">
+ <ref name="mal_table_tfoot_attr"/>
+ <oneOrMore>
+ <ref name="mal_table_tr"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="mal_table_tfoot_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_td">
+ <element name="td">
+ <ref name="mal_table_td_attr"/>
+ <zeroOrMore>
+ <ref name="mal_table_td_content"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<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_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>
+ </optional>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_block_title_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_subtitle_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_subtitle_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"/>
+ </element>
+</define>
+
+<define name="mal_block_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_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>
+
+<define name="mal_inline">
+ <interleave>
+ <zeroOrMore>
+ <ref name="mal_inline_app"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_cmd"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_code"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_em"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_file"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_gui"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_guiseq"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_input"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_key"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_keyseq"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_link"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_media"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_output"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_span"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_sys"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_var"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element>
+ <anyName>
+ <except>
+ <nsName ns="http://projectmallard.org/1.0/"/>
+ <nsName ns=""/>
+ </except>
+ </anyName>
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ <text/>
+ </attribute>
+ </zeroOrMore>
+ <ref name="mal_inline"/>
+ </element>
+ </zeroOrMore>
+ <optional>
+ <text/>
+ </optional>
+ </interleave>
+</define>
+
+<define name="mal_inline_attr">
+ <empty/>
+</define>
+
+<define name="mal_inline_app">
+ <element name="app">
+ <ref name="mal_inline_app_attr"/>
+ <ref name="mal_inline_app_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_app_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_app_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_code">
+ <element name="code">
+ <ref name="mal_inline_code_attr"/>
+ <ref name="mal_inline_code_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_code_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mime">
+ <text/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_code_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_cmd">
+ <element name="cmd">
+ <ref name="mal_inline_cmd_attr"/>
+ <ref name="mal_inline_cmd_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_cmd_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mime">
+ <text/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_cmd_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_output">
+ <element name="output">
+ <ref name="mal_inline_output_attr"/>
+ <ref name="mal_inline_output_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_output_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_output_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_em">
+ <element name="em">
+ <ref name="mal_inline_em_attr"/>
+ <ref name="mal_inline_em_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_em_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_em_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_file">
+ <element name="file">
+ <ref name="mal_inline_file_attr"/>
+ <ref name="mal_inline_file_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_file_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_file_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_gui">
+ <element name="gui">
+ <ref name="mal_inline_gui_attr"/>
+ <ref name="mal_inline_gui_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_gui_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_gui_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_guiseq">
+ <element name="guiseq">
+ <ref name="mal_inline_guiseq_attr"/>
+ <ref name="mal_inline_guiseq_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_guiseq_attr">
+ <group>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_guiseq_inline">
+ <interleave>
+ <oneOrMore>
+ <ref name="mal_inline_gui"/>
+ </oneOrMore>
+ <text/>
+ </interleave>
+</define>
+
+<define name="mal_inline_link">
+ <element name="link">
+ <ref name="mal_inline_link_attr"/>
+ <ref name="mal_inline_link_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_link_attr">
+ <group>
+ <oneOrMore>
+ <ref name="mal_attr_link"/>
+ </oneOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="role">
+ <text/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_link_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_media">
+ <element name="media">
+ <ref name="mal_inline_media_attr"/>
+ <ref name="mal_inline_media_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_media_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>image</value>
+ <value>video</value>
+ <value>audio</value>
+ <value>application</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mime">
+ <text/>
+ </attribute>
+ </optional>
+ <attribute name="src">
+ <text/>
+ </attribute>
+ <optional>
+ <attribute name="height">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <text/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_media_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_keyseq">
+ <element name="keyseq">
+ <ref name="mal_inline_keyseq_attr"/>
+ <ref name="mal_inline_keyseq_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_keyseq_attr">
+ <group>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>combo</value>
+ <value>sequence</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_keyseq_inline">
+ <interleave>
+ <zeroOrMore>
+ <ref name="mal_inline_key"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mal_inline_keyseq"/>
+ </zeroOrMore>
+ <text/>
+ </interleave>
+</define>
+
+<define name="mal_inline_key">
+ <element name="key">
+ <ref name="mal_inline_key_attr"/>
+ <ref name="mal_inline_key_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_key_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_key_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_span">
+ <element name="span">
+ <ref name="mal_inline_span_attr"/>
+ <ref name="mal_inline_span_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_span_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_span_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_sys">
+ <element name="sys">
+ <ref name="mal_inline_sys_attr"/>
+ <ref name="mal_inline_sys_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_sys_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_sys_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_input">
+ <element name="input">
+ <ref name="mal_inline_input_attr"/>
+ <ref name="mal_inline_input_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_input_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_input_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_inline_var">
+ <element name="var">
+ <ref name="mal_inline_var_attr"/>
+ <ref name="mal_inline_var_inline"/>
+ </element>
+</define>
+
+<define name="mal_inline_var_attr">
+ <group>
+ <zeroOrMore>
+ <ref name="mal_attr_link"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="style">
+ <data type="NMTOKENS" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+ </attribute>
+ </optional>
+ <ref name="mal_inline_attr"/>
+ <zeroOrMore>
+ <ref name="mal_attr_external"/>
+ </zeroOrMore>
+ </group>
+</define>
+
+<define name="mal_inline_var_inline">
+ <ref name="mal_inline"/>
+</define>
+
+<define name="mal_external">
+ <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_anything"/>
+ </zeroOrMore>
+ <optional>
+ <text/>
+ </optional>
+ </interleave>
+ </element>
+</define>
+
+<define name="mal_anything">
+ <element>
+ <anyName/>
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ <text/>
+ </attribute>
+ </zeroOrMore>
+ <interleave>
+ <zeroOrMore>
+ <ref name="mal_anything"/>
+ </zeroOrMore>
+ <optional>
+ <text/>
+ </optional>
+ </interleave>
+ </element>
+</define>
+
+<define name="mal_attr_external">
+ <attribute>
+ <anyName>
+ <except>
+ <nsName ns="http://projectmallard.org/1.0/"/>
+ <nsName ns=""/>
+ </except>
+ </anyName>
+ <text/>
+ </attribute>
+</define>
+
+<define name="mal_attr_version">
+ <attribute name="version">
+ <text/>
+ </attribute>
+</define>
+
+<define name="mal_attr_link">
+ <choice>
+ <attribute name="xref">
+ <text/>
+ </attribute>
+ <attribute name="href">
+ <text/>
+ </attribute>
+ <attribute name="action">
+ <text/>
+ </attribute>
+ </choice>
+</define>
+
+<define name="mal_attr_mal_link">
+ <group>
+ <optional>
+ <attribute name="mal:xref">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mal:action">
+ <text/>
+ </attribute>
+ </optional>
+ </group>
+</define>
+
+</grammar>
diff --git a/tools/gnome-doc-utils.pc.in b/tools/gnome-doc-utils.pc.in
index 86583b0..df859c7 100644
--- a/tools/gnome-doc-utils.pc.in
+++ b/tools/gnome-doc-utils.pc.in
@@ -10,6 +10,8 @@ db2xhtml=${xsltdir}/docbook/html/db2xhtml.xsl
db2omf=${xsltdir}/docbook/omf/db2omf.xsl
mal2html=${xsltdir}/mallard/html/mal2html.xsl
mal2xhtml=${xsltdir}/mallard/html/mal2xhtml.xsl
+malrnc=${xmldir}/mallard/1.0/mallard.rnc
+malrng=${xmldir}/mallard/1.0/mallard.rng
Name: gnome-doc-utils
Description: GNOME Documentation Utilities