diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-11-21 22:43:57 +0100 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-11-21 22:43:57 +0100 |
commit | fb953092500af901e36070608d755bbe82c3b495 (patch) | |
tree | eceedb4ed82f96490516a6e3106c407157161ee5 | |
parent | Add some sort of licence. (diff) | |
download | nxml-gentoo-schemas-fb953092500af901e36070608d755bbe82c3b495.tar.gz nxml-gentoo-schemas-fb953092500af901e36070608d755bbe82c3b495.tar.bz2 nxml-gentoo-schemas-fb953092500af901e36070608d755bbe82c3b495.zip |
Update .rnc files for all DTDs and add new files that are now deps.
-rw-r--r-- | book.rnc | 282 | ||||
-rw-r--r-- | common.rnc | 121 | ||||
-rw-r--r-- | funnychars.rnc | 164 | ||||
-rw-r--r-- | glsa.rnc | 12 | ||||
-rw-r--r-- | guide.rnc | 293 | ||||
-rw-r--r-- | project.rnc | 121 | ||||
-rw-r--r-- | userinfo.rnc | 54 |
7 files changed, 335 insertions, 712 deletions
@@ -1,161 +1,4 @@ -namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" - -inline.class = - sup | sub | b | brite | c | e | path | img | br | mail | uri | keyval -pre.class = comment | i | keyword | ident | const | stmt | var | keyval -block.class = - figure | fig | note | impo | warn | pre | p | table | ul | ol | dl -# VULGAR FRACTION ONE HALF - -# VULGAR FRACTION ONE HALF - -# VULGAR FRACTION ONE QUARTER - -# VULGAR FRACTION THREE QUARTERS - -# - -# - -# - -# - -# SUPERSCRIPT ONE - -# SUPERSCRIPT TWO - -# SUPERSCRIPT THREE - -# PLUS SIGN - -# PLUS-MINUS SIGN - -# LESS-THAN SIGN - -# EQUALS SIGN - -# GREATER-THAN SIGN - -# DIVISION SIGN - -# MULTIPLICATION SIGN - -# CURRENCY SIGN - -# POUND SIGN - -# DOLLAR SIGN - -# CENT SIGN - -# YEN SIGN - -# NUMBER SIGN - -# PERCENT SIGN - -# AMPERSAND - -# ASTERISK OPERATOR - -# COMMERCIAL AT - -# LEFT SQUARE BRACKET - -# REVERSE SOLIDUS - -# RIGHT SQUARE BRACKET - -# LEFT CURLY BRACKET - -# HORIZONTAL BAR - -# VERTICAL LINE - -# RIGHT CURLY BRACKET - -# MICRO SIGN - -# OHM SIGN - -# DEGREE SIGN - -# MASCULINE ORDINAL INDICATOR - -# FEMININE ORDINAL INDICATOR - -# SECTION SIGN - -# PILCROW SIGN - -# MIDDLE DOT - -# LEFTWARDS DOUBLE ARROW - -# RIGHTWARDS DOUBLE ARROW - -# UPWARDS ARROW - -# DOWNWARDS ARROW - -# COPYRIGHT SIGN - -# REG TRADE MARK SIGN - -# TRADE MARK SIGN - -# BROKEN BAR - -# NOT SIGN - -# - -# EXCLAMATION MARK - -# INVERTED EXCLAMATION MARK - -# QUOTATION MARK - -# APOSTROPHE - -# LEFT PARENTHESIS - -# RIGHT PARENTHESIS - -# COMMA - -# LOW LINE - -# - -# FULL STOP - -# SOLIDUS - -# COLON - -# SEMICOLON - -# QUESTION MARK - -# INVERTED QUESTION MARK - -# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK - -# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK - -# - -# RIGHT SINGLE QUOTATION MARK - -# - -# RIGHT DOUBLE QUOTATION MARK - -# NO-BREAK SPACE - -# SOFT HYPHEN +include "common.rnc" book = element book { book.attlist, @@ -169,141 +12,42 @@ book = part+ } book.attlist &= - attribute link { text }, + attribute link { text }?, attribute disclaimer { "articles" | "oldbook" | "draft" | "obsolete" }?, attribute lang { text }? -title = element title { title.attlist, text } -title.attlist &= empty -values = element values { values.attlist, key+ } -values.attlist &= empty -key = element key { key.attlist, text } -key.attlist &= attribute id { text }? -author = element author { author.attlist, (text | mail)* } -author.attlist &= attribute title { text }? -abstract = element abstract { abstract.attlist, text } -abstract.attlist &= empty -license = element license { license.attlist, empty } -license.attlist &= empty -version = element version { version.attlist, text } -version.attlist &= empty -date = element date { date.attlist, text } -date.attlist &= empty part = element part { part.attlist, title, abstract, chapter+ } part.attlist &= attribute id { text }? chapter = element chapter { chapter.attlist, title, abstract?, \include } chapter.attlist &= attribute id { text }? -section = element section { section.attlist, title, body*, subsection* } -section.attlist &= - attribute id { text }?, - attribute test { text }? sections = element sections { sections.attlist, abstract?, version, date, section+ } sections.attlist &= empty +section = + element section { section.attlist, title, (body+ | subsection+) } +section.attlist &= + attribute id { text }?, + attribute test { text }? subsection = element subsection { subsection.attlist, title?, body+ } subsection.attlist &= attribute id { text }?, attribute test { text }? -body = element body { body.attlist, block.class* } +body = element body { body.attlist, block.class+ } body.attlist &= attribute test { text }? -figure = element figure { figure.attlist, empty } -figure.attlist &= - attribute caption { text }?, - attribute short { text }?, - attribute link { text } -fig = element fig { fig.attlist, empty } -fig.attlist &= - attribute short { text }?, - attribute linkto { text }?, - attribute link { text } -img = element img { img.attlist, empty } -img.attlist &= attribute src { text } -br = element br { br.attlist, text } -br.attlist &= empty -note = element note { note.attlist, (text | inline.class)* } note.attlist &= attribute test { text }? -impo = element impo { impo.attlist, (text | inline.class)* } impo.attlist &= attribute test { text }? -warn = element warn { warn.attlist, (text | inline.class)* } warn.attlist &= attribute test { text }? -pre = element pre { pre.attlist, (text | pre.class)* } -pre.attlist &= - attribute caption { text }, - attribute test { text }? -p = element p { p.attlist, (text | inline.class)* } -p.attlist &= - attribute by { text }?, - attribute test { text }? -table = element table { table.attlist, tcolumn*, tr+ } +pre.attlist &= attribute test { text }? +p.attlist &= attribute test { text }? table.attlist &= attribute test { text }? -tcolumn = element tcolumn { tcolumn.attlist, empty } -tcolumn.attlist &= attribute width { text } -tr = element tr { tr.attlist, (th | ti)+ } -tr.attlist &= - attribute id { text }?, - attribute test { text }? -th = element th { th.attlist, (text | inline.class)* } -th.attlist &= - attribute colspan { text }?, - attribute rowspan { text }? -ti = element ti { ti.attlist, (text | inline.class)* } -ti.attlist &= - attribute colspan { text }?, - attribute rowspan { text }?, - [ a:defaultValue = "left" ] - attribute align { "left" | "center" | "right" }? -dl = element dl { dl.attlist, (dt | dd)+ } -dl.attlist &= empty -dt = element dt { dt.attlist, (text | inline.class)* } -dt.attlist &= empty -dd = element dd { dd.attlist, (text | inline.class | ul | ol)* } -dd.attlist &= empty -ul = element ul { ul.attlist, li+ } +tr.attlist &= attribute test { text }? ul.attlist &= attribute test { text }? -ol = element ol { ol.attlist, li+ } ol.attlist &= attribute test { text }? -li = element li { li.attlist, (text | inline.class | ul | ol)* } li.attlist &= attribute test { text }? -# STYLE TAGS -sup = element sup { sup.attlist, (text | inline.class)* } -sup.attlist &= empty -sub = element sub { sub.attlist, (text | inline.class)* } -sub.attlist &= empty -b = element b { b.attlist, (text | inline.class)* } -b.attlist &= empty -brite = element brite { brite.attlist, (text | inline.class)* } -brite.attlist &= empty -c = element c { c.attlist, (text | inline.class)* } -c.attlist &= empty -e = element e { e.attlist, (text | inline.class)* } -e.attlist &= empty -path = element path { path.attlist, (text | inline.class)* } -path.attlist &= empty -comment = element comment { comment.attlist, (text | pre.class | b)* } -comment.attlist &= empty -i = element i { i.attlist, (text | pre.class)* } -i.attlist &= empty -keyword = element keyword { keyword.attlist, (text | pre.class)* } -keyword.attlist &= empty -ident = element ident { ident.attlist, (text | pre.class)* } -ident.attlist &= empty -const = element const { const.attlist, (text | pre.class)* } -const.attlist &= empty -stmt = element stmt { stmt.attlist, (text | pre.class)* } -stmt.attlist &= empty -var = element var { var.attlist, (text | pre.class)* } -var.attlist &= empty -keyval = element keyval { keyval.attlist, empty } -keyval.attlist &= attribute id { text } -# LINK TAGS -mail = element mail { mail.attlist, text* } -mail.attlist &= attribute link { text } -uri = element uri { uri.attlist, (text | img)* } -uri.attlist &= attribute link { text }? -\include = element include { include.attlist, text } +\include = element include { include.attlist, empty } include.attlist &= attribute href { text } -start = book | sections +start = glepindex | book | sections | summary diff --git a/common.rnc b/common.rnc new file mode 100644 index 0000000..597731f --- /dev/null +++ b/common.rnc @@ -0,0 +1,121 @@ +# Import funny characters + +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + +inline.class = + sup | sub | b | brite | c | e | path | img | br | mail | uri | keyval +pre.class = + comment | i | keyword | ident | const | stmt | var | keyval | uri +lists.class = ul | ol | dl +ti.class = inline.class | lists.class | fig +block.class = + figure | fig | note | impo | warn | pre | p | table | lists.class +title = element title { title.attlist, text } +title.attlist &= empty +values = element values { values.attlist, key+ } +values.attlist &= empty +key = element key { key.attlist, text } +key.attlist &= attribute id { text }? +author = element author { author.attlist, (text | mail)* } +author.attlist &= attribute title { text }? +mail = element mail { mail.attlist, text } +mail.attlist &= attribute link { text }? +uri = element uri { uri.attlist, (text | img)* } +uri.attlist &= attribute link { text }? +date = element date { date.attlist, text } +date.attlist &= empty +abstract = element abstract { abstract.attlist, text } +abstract.attlist &= empty +summary = element summary { summary.attlist, text } +summary.attlist &= empty +license = element license { license.attlist, empty } +license.attlist &= empty +version = element version { version.attlist, text } +version.attlist &= empty +figure = element figure { figure.attlist, empty } +figure.attlist &= + attribute caption { text }?, + attribute short { text }?, + attribute link { text } +fig = element fig { fig.attlist, empty } +fig.attlist &= + attribute short { text }?, + attribute linkto { text }?, + attribute link { text } +img = element img { img.attlist, empty } +img.attlist &= attribute src { text } +br = element br { br.attlist, empty } +br.attlist &= empty +note = element note { note.attlist, (text | inline.class)* } +note.attlist &= empty +impo = element impo { impo.attlist, (text | inline.class)* } +impo.attlist &= empty +warn = element warn { warn.attlist, (text | inline.class)* } +warn.attlist &= empty +pre = element pre { pre.attlist, (text | pre.class)* } +pre.attlist &= attribute caption { text } +comment = element comment { comment.attlist, (text | pre.class | b)* } +comment.attlist &= empty +i = element i { i.attlist, (text | pre.class)* } +i.attlist &= empty +keyword = element keyword { keyword.attlist, (text | pre.class)* } +keyword.attlist &= empty +ident = element ident { ident.attlist, (text | pre.class)* } +ident.attlist &= empty +const = element const { const.attlist, (text | pre.class)* } +const.attlist &= empty +stmt = element stmt { stmt.attlist, (text | pre.class)* } +stmt.attlist &= empty +var = element var { var.attlist, (text | pre.class)* } +var.attlist &= empty +glepindex = element glepindex { glepindex.attlist, empty } +glepindex.attlist &= + attribute status { text }?, + [ a:defaultValue = "/proj/en/glep/gleps.xml" ] + attribute index { text }? +p = element p { p.attlist, (text | inline.class)* } +p.attlist &= attribute by { text }? +table = element table { table.attlist, tcolumn*, tr+ } +table.attlist &= empty +tcolumn = element tcolumn { tcolumn.attlist, empty } +tcolumn.attlist &= attribute width { text } +tr = element tr { tr.attlist, (th | ti)+ } +tr.attlist &= attribute id { text }? +th = element th { th.attlist, (text | inline.class)* } +th.attlist &= + attribute colspan { text }?, + attribute rowspan { text }? +ti = element ti { ti.attlist, (text | ti.class)* } +ti.attlist &= + attribute colspan { text }?, + attribute rowspan { text }?, + [ a:defaultValue = "left" ] + attribute align { "left" | "center" | "right" }? +dl = element dl { dl.attlist, (dt | dd)+ } +dl.attlist &= empty +dt = element dt { dt.attlist, (text | inline.class)* } +dt.attlist &= empty +dd = element dd { dd.attlist, (text | inline.class | ul | ol)* } +dd.attlist &= empty +ul = element ul { ul.attlist, li+ } +ul.attlist &= empty +ol = element ol { ol.attlist, li+ } +ol.attlist &= empty +li = element li { li.attlist, (text | inline.class | ul | ol)* } +li.attlist &= empty +sup = element sup { sup.attlist, (text | inline.class)* } +sup.attlist &= empty +sub = element sub { sub.attlist, (text | inline.class)* } +sub.attlist &= empty +b = element b { b.attlist, (text | inline.class)* } +b.attlist &= empty +brite = element brite { brite.attlist, (text | inline.class)* } +brite.attlist &= empty +c = element c { c.attlist, (text | inline.class)* } +c.attlist &= empty +e = element e { e.attlist, (text | inline.class)* } +e.attlist &= empty +path = element path { path.attlist, (text | inline.class)* } +path.attlist &= empty +keyval = element keyval { keyval.attlist, empty } +keyval.attlist &= attribute id { text } diff --git a/funnychars.rnc b/funnychars.rnc new file mode 100644 index 0000000..a76b2cd --- /dev/null +++ b/funnychars.rnc @@ -0,0 +1,164 @@ + +# VULGAR FRACTION ONE HALF + +# VULGAR FRACTION ONE HALF + +# VULGAR FRACTION ONE QUARTER + +# VULGAR FRACTION THREE QUARTERS + +# + +# + +# + +# + +# SUPERSCRIPT ONE + +# SUPERSCRIPT TWO + +# SUPERSCRIPT THREE + +# PLUS SIGN + +# PLUS-MINUS SIGN + +# LESS-THAN SIGN + +# EQUALS SIGN + +# GREATER-THAN SIGN + +# DIVISION SIGN + +# MULTIPLICATION SIGN + +# CURRENCY SIGN + +# POUND SIGN + +# DOLLAR SIGN + +# CENT SIGN + +# YEN SIGN + +# NUMBER SIGN + +# PERCENT SIGN + +# AMPERSAND + +# ASTERISK OPERATOR + +# COMMERCIAL AT + +# LEFT SQUARE BRACKET + +# REVERSE SOLIDUS + +# RIGHT SQUARE BRACKET + +# LEFT CURLY BRACKET + +# HORIZONTAL BAR + +# VERTICAL LINE + +# RIGHT CURLY BRACKET + +# MICRO SIGN + +# OHM SIGN + +# DEGREE SIGN + +# MASCULINE ORDINAL INDICATOR + +# FEMININE ORDINAL INDICATOR + +# SECTION SIGN + +# PILCROW SIGN + +# MIDDLE DOT + +# LEFTWARDS DOUBLE ARROW + +# RIGHTWARDS DOUBLE ARROW + +# UPWARDS ARROW + +# DOWNWARDS ARROW + +# COPYRIGHT SIGN + +# REG TRADE MARK SIGN + +# TRADE MARK SIGN + +# BROKEN BAR + +# NOT SIGN + +# + +# EXCLAMATION MARK + +# INVERTED EXCLAMATION MARK + +# QUOTATION MARK + +# APOSTROPHE + +# LEFT PARENTHESIS + +# RIGHT PARENTHESIS + +# COMMA + +# LOW LINE + +# + +# FULL STOP + +# SOLIDUS + +# COLON + +# SEMICOLON + +# QUESTION MARK + +# INVERTED QUESTION MARK + +# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + +# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + +# + +# RIGHT SINGLE QUOTATION MARK + +# + +# RIGHT DOUBLE QUOTATION MARK + +# NO-BREAK SPACE + +# SOFT HYPHEN + +# CIRCONFLEXEd a + +# UMLAUTED e + +# ACUTEd e + +# CIRCONFLEXEd i + +# CIRCONFLEXEd u + +# GRAVEd u @@ -1,4 +1,4 @@ -# $Header: /var/cvsroot/gentoo-x86/app-emacs/nxml-gentoo-schemas/files/glsa.rnc,v 1.1 2007/07/25 09:45:50 opfer Exp $ +# $Header: /var/cvsroot/gentoo/xml/htdocs/dtd/glsa.dtd,v 1.16 2007/11/05 00:54:20 robbat2 Exp $ glsa = element glsa { @@ -179,7 +179,7 @@ attlist.mail &= attribute link { text } # links or addresses # # Example: <p>Please update your system</p> -p = element p { attlist.p, (text | uri | mail | b | u | i | br)* } +p = element p { attlist.p, (text | mail | uri | b | i | br)* } attlist.p &= empty # Element: code # Description: The code element contains text that should preserve whitespace @@ -199,7 +199,7 @@ attlist.background &= empty # Description: Provides a description about the security issue # The description element contains only "<p>"s. description = - element description { attlist.description, (p | ul | ol)* } + element description { attlist.description, (p | ul | ol | code)* } attlist.description &= empty # Element: impact # Description: Provides information about the impact that the security issue @@ -257,12 +257,6 @@ attlist.li &= empty # Example: <b>this is bold</b> b = element b { attlist.b, text } attlist.b &= empty -# Element: u -# Description: Underlined text -# -# Example: <u>this is underlined</u> -u = element u { attlist.u, text } -attlist.u &= empty # Element: i # Description: Input text (blue) # @@ -1,173 +1,6 @@ namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" -inline.class = - sup | sub | b | brite | c | e | path | img | br | mail | uri -pre.class = comment | i | keyword | ident | const | stmt | var -block.class = - figure | fig | note | impo | warn | pre | p | table | ul | ol | dl -# VULGAR FRACTION ONE HALF - -# VULGAR FRACTION ONE HALF - -# VULGAR FRACTION ONE QUARTER - -# VULGAR FRACTION THREE QUARTERS - -# - -# - -# - -# - -# SUPERSCRIPT ONE - -# SUPERSCRIPT TWO - -# SUPERSCRIPT THREE - -# PLUS SIGN - -# PLUS-MINUS SIGN - -# LESS-THAN SIGN - -# EQUALS SIGN - -# GREATER-THAN SIGN - -# DIVISION SIGN - -# MULTIPLICATION SIGN - -# CURRENCY SIGN - -# POUND SIGN - -# DOLLAR SIGN - -# CENT SIGN - -# YEN SIGN - -# NUMBER SIGN - -# PERCENT SIGN - -# AMPERSAND - -# ASTERISK OPERATOR - -# COMMERCIAL AT - -# LEFT SQUARE BRACKET - -# REVERSE SOLIDUS - -# RIGHT SQUARE BRACKET - -# LEFT CURLY BRACKET - -# HORIZONTAL BAR - -# VERTICAL LINE - -# RIGHT CURLY BRACKET - -# MICRO SIGN - -# OHM SIGN - -# DEGREE SIGN - -# MASCULINE ORDINAL INDICATOR - -# FEMININE ORDINAL INDICATOR - -# SECTION SIGN - -# PILCROW SIGN - -# MIDDLE DOT - -# LEFTWARDS DOUBLE ARROW - -# RIGHTWARDS DOUBLE ARROW - -# UPWARDS ARROW - -# DOWNWARDS ARROW - -# COPYRIGHT SIGN - -# REG TRADE MARK SIGN - -# TRADE MARK SIGN - -# BROKEN BAR - -# NOT SIGN - -# - -# EXCLAMATION MARK - -# INVERTED EXCLAMATION MARK - -# QUOTATION MARK - -# APOSTROPHE - -# LEFT PARENTHESIS - -# RIGHT PARENTHESIS - -# COMMA - -# LOW LINE - -# - -# FULL STOP - -# SOLIDUS - -# COLON - -# SEMICOLON - -# QUESTION MARK - -# INVERTED QUESTION MARK - -# LEFT-POINTING DOUBLE ANGLE QUOTATION MARK - -# RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK - -# - -# RIGHT SINGLE QUOTATION MARK - -# - -# RIGHT DOUBLE QUOTATION MARK - -# NO-BREAK SPACE - -# SOFT HYPHEN - -# CIRCONFLEXEd a - -# UMLAUTED e - -# ACUTEd e - -# CIRCONFLEXEd i - -# CIRCONFLEXEd u - -# GRAVEd u +include "common.rnc" mainpage = element mainpage { mainpage.attlist, @@ -195,6 +28,7 @@ guide = license?, version, date, + faqindex?, chapter+ } guide.attlist &= @@ -212,126 +46,23 @@ news.attlist &= attribute category { "gentoo" | "main" | "ibm" | "linux" | "moo" | "nvidia" } -title = element title { title.attlist, text* } -title.attlist &= empty subtitle = element subtitle { subtitle.attlist, text } subtitle.attlist &= empty -poster = element poster { poster.attlist, text* } +poster = element poster { poster.attlist, text } poster.attlist &= empty -author = element author { author.attlist, (text | mail)* } -author.attlist &= attribute title { text }? -abstract = element abstract { abstract.attlist, text } -abstract.attlist &= empty -summary = element summary { summary.attlist, text } -summary.attlist &= empty -license = element license { license.attlist, empty } -license.attlist &= empty -glepindex = element glepindex { glepindex.attlist, empty } -glepindex.attlist &= - attribute status { text }?, - [ a:defaultValue = "/proj/en/glep/gleps.xml" ] - attribute index { text }? -glsaindex = element glsaindex { glsaindex.attlist, empty } -glsaindex.attlist &= empty -glsa-latest = element glsa-latest { glsa-latest.attlist, empty } -glsa-latest.attlist &= empty -version = element version { version.attlist, text } -version.attlist &= empty -date = element date { date.attlist, text } -date.attlist &= empty +faqindex = element faqindex { faqindex.attlist, title, section? } +faqindex.attlist &= empty chapter = element chapter { chapter.attlist, title, section+ } chapter.attlist &= attribute id { text }? -section = element section { section.attlist, title?, body } +section = element section { section.attlist, title?, body+ } section.attlist &= attribute id { text }? body = element body { - body.attlist, (block.class | glsa-latest | glsaindex | glepindex)* + body.attlist, (block.class | glsa-latest | glsaindex | glepindex)+ } body.attlist &= empty -figure = element figure { figure.attlist, empty } -figure.attlist &= - attribute caption { text }?, - attribute short { text }?, - attribute link { text } -fig = element fig { fig.attlist, empty } -fig.attlist &= - attribute short { text }?, - attribute linkto { text }?, - attribute link { text } -img = element img { img.attlist, empty } -img.attlist &= attribute src { text } -br = element br { br.attlist, text } -br.attlist &= empty -note = element note { note.attlist, (text | inline.class)* } -note.attlist &= empty -impo = element impo { impo.attlist, (text | inline.class)* } -impo.attlist &= empty -warn = element warn { warn.attlist, (text | inline.class)* } -warn.attlist &= empty -pre = element pre { pre.attlist, (text | pre.class)* } -pre.attlist &= attribute caption { text } -p = element p { p.attlist, (text | inline.class)* } -p.attlist &= attribute by { text }? -table = element table { table.attlist, tcolumn*, tr+ } -table.attlist &= empty -tcolumn = element tcolumn { tcolumn.attlist, empty } -tcolumn.attlist &= attribute width { text } -tr = element tr { tr.attlist, (th | ti)+ } -tr.attlist &= attribute id { text }? -th = element th { th.attlist, (text | inline.class)* } -th.attlist &= - attribute colspan { text }?, - attribute rowspan { text }? -ti = element ti { ti.attlist, (text | inline.class | block.class)* } -ti.attlist &= - attribute colspan { text }?, - attribute rowspan { text }?, - [ a:defaultValue = "left" ] - attribute align { "left" | "center" | "right" }? -dl = element dl { dl.attlist, (dt | dd)+ } -dl.attlist &= empty -dt = element dt { dt.attlist, (text | inline.class)* } -dt.attlist &= empty -dd = element dd { dd.attlist, (text | inline.class | ul | ol)* } -dd.attlist &= empty -ul = element ul { ul.attlist, li+ } -ul.attlist &= empty -ol = element ol { ol.attlist, li+ } -ol.attlist &= empty -li = element li { li.attlist, (text | inline.class | ul | ol)* } -li.attlist &= empty -# STYLE TAGS -sup = element sup { sup.attlist, (text | inline.class)* } -sup.attlist &= empty -sub = element sub { sub.attlist, (text | inline.class)* } -sub.attlist &= empty -b = element b { b.attlist, (text | inline.class)* } -b.attlist &= empty -brite = element brite { brite.attlist, (text | inline.class)* } -brite.attlist &= empty -c = element c { c.attlist, (text | inline.class)* } -c.attlist &= empty -e = element e { e.attlist, (text | inline.class)* } -e.attlist &= empty -path = element path { path.attlist, (text | inline.class)* } -path.attlist &= empty -comment = element comment { comment.attlist, (text | pre.class | b)* } -comment.attlist &= empty -i = element i { i.attlist, (text | pre.class)* } -i.attlist &= empty -keyword = element keyword { keyword.attlist, (text | pre.class)* } -keyword.attlist &= empty -ident = element ident { ident.attlist, (text | pre.class)* } -ident.attlist &= empty -const = element const { const.attlist, (text | pre.class)* } -const.attlist &= empty -stmt = element stmt { stmt.attlist, (text | pre.class)* } -stmt.attlist &= empty -var = element var { var.attlist, (text | pre.class)* } -var.attlist &= empty -# LINK TAGS -mail = element mail { mail.attlist, text* } -mail.attlist &= attribute link { text }? -uri = element uri { uri.attlist, (text | img)* } -uri.attlist &= attribute link { text }? -start = news | mainpage | guide +glsaindex = element glsaindex { glsaindex.attlist, empty } +glsaindex.attlist &= empty +glsa-latest = element glsa-latest { glsa-latest.attlist, empty } +glsa-latest.attlist &= empty +start = news | mainpage | values | guide diff --git a/project.rnc b/project.rnc index b48108c..885c951 100644 --- a/project.rnc +++ b/project.rnc @@ -1,101 +1,9 @@ -# import certain parts of guide.dtd - namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" -style.class = b | box | brite | c | comment | e | i | path -link.class = uri | mail -logic.class = - figure - | fig - | img - | br - | note - | impo - | warn - | pre - | p - | table - | ul - | ol - | glepindex -all.class = logic.class | style.class | link.class -# allow for custom sections -title = element title { title.attlist, (text | style.class)* } -title.attlist &= empty -chapter = element chapter { chapter.attlist, title, section+ } -chapter.attlist &= empty -section = element section { section.attlist, title?, body } -section.attlist &= empty -body = element body { body.attlist, all.class* } +include "common.rnc" +body.class = block.class | glepindex +body = element body { body.attlist, body.class* } body.attlist &= empty -# allow for layout etc. in some cases so define the classes -figure = element figure { figure.attlist, empty } -figure.attlist &= - attribute caption { text }?, - attribute short { text }?, - attribute link { text } -fig = element fig { fig.attlist, empty } -fig.attlist &= - attribute short { text }?, - attribute linkto { text }?, - attribute link { text } -img = element img { img.attlist, empty } -img.attlist &= attribute src { text } -br = element br { br.attlist, text } -br.attlist &= empty -note = element note { note.attlist, (text | all.class)* } -note.attlist &= empty -impo = element impo { impo.attlist, (text | all.class)* } -impo.attlist &= empty -warn = element warn { warn.attlist, (text | all.class)* } -warn.attlist &= empty -pre = element pre { pre.attlist, (text | all.class)* } -pre.attlist &= attribute caption { text } -p = element p { p.attlist, (text | all.class)* } -p.attlist &= empty -table = element table { table.attlist, tcolumn*, tr+ } -table.attlist &= empty -tcolumn = element tcolumn { tcolumn.attlist, empty } -tcolumn.attlist &= attribute width { text } -tr = element tr { tr.attlist, (th | ti)+ } -tr.attlist &= empty -th = element th { th.attlist, (text | all.class)* } -th.attlist &= empty -ti = element ti { ti.attlist, (text | all.class)* } -ti.attlist &= empty -ul = element ul { ul.attlist, li+ } -ul.attlist &= empty -ol = element ol { ol.attlist, li+ } -ol.attlist &= empty -li = element li { li.attlist, (text | all.class)* } -li.attlist &= empty -b = element b { b.attlist, (text | style.class | link.class)* } -b.attlist &= empty -brite = - element brite { brite.attlist, (text | style.class | link.class)* } -brite.attlist &= empty -c = element c { c.attlist, (text | style.class | link.class)* } -c.attlist &= empty -comment = - element comment { - comment.attlist, (text | style.class | link.class)* - } -comment.attlist &= empty -e = element e { e.attlist, (text | style.class | link.class)* } -e.attlist &= empty -i = element i { i.attlist, (text | style.class | link.class)* } -i.attlist &= empty -path = element path { path.attlist, (text | style.class | link.class)* } -path.attlist &= empty -mail = element mail { mail.attlist, (text | style.class)* } -mail.attlist &= attribute link { text } -uri = element uri { uri.attlist, (text | style.class)* } -uri.attlist &= attribute link { text }? -glepindex = element glepindex { glepindex.attlist, empty } -glepindex.attlist &= - attribute status { text }?, - [ a:defaultValue = "/proj/en/glep/gleps.xml" ] - attribute index { text }? project = element project { project.attlist, @@ -121,18 +29,12 @@ name = element name { name.attlist, text } name.attlist &= empty longname = element longname { longname.attlist, text } longname.attlist &= empty -date = element date { date.attlist, text } -date.attlist &= empty -author = element author { author.attlist, (text | mail)* } -author.attlist &= attribute title { text }? description = element description { description.attlist, text } description.attlist &= empty longdescription = - element longdescription { - longdescription.attlist, (text | all.class)* - } + element longdescription { longdescription.attlist, body.class* } longdescription.attlist &= empty -goals = element goals { goals.attlist, (text | all.class)* } +goals = element goals { goals.attlist, body.class* } goals.attlist &= empty dev = element dev { dev.attlist, text } dev.attlist &= @@ -146,16 +48,20 @@ subproject.attlist &= [ a:defaultValue = "no" ] attribute inheritmembers { "yes" | "no" }?, [ a:defaultValue = "no" ] attribute inheritresources { "yes" | "no" }? extraproject = - element extraproject { extraproject.attlist, (text | all.class)* } + element extraproject { extraproject.attlist, (text | inline.class)* } extraproject.attlist &= attribute name { text }, attribute lead { text }?, attribute link { text }? plannedproject = - element plannedproject { plannedproject.attlist, (text | all.class)* } + element plannedproject { + plannedproject.attlist, (text | inline.class)* + } plannedproject.attlist &= attribute name { text } extrachapter = element extrachapter { extrachapter.attlist, title, section+ } +section = element section { section.attlist, title?, body+ } +section.attlist &= empty extrachapter.attlist &= [ a:defaultValue = "bottom" ] attribute position { @@ -189,7 +95,7 @@ startdate.attlist &= empty enddate = element enddate { enddate.attlist, text } enddate.attlist &= empty reference = - element reference { reference.attlist, (text | bug | link.class)* } + element reference { reference.attlist, (text | bug | mail | uri)* } reference.attlist &= empty bug = element bug { bug.attlist, text } bug.attlist &= attribute no { text } @@ -199,5 +105,4 @@ milestone.attlist &= [ a:defaultValue = "no" ] attribute finished { "yes" | "no" }? depends = element depends { depends.attlist, text } depends.attlist &= attribute ref { xsd:IDREF } -box |= notAllowed -start = project | chapter +start = project | abstract | license | summary | version | values diff --git a/userinfo.rnc b/userinfo.rnc index 75968df..fa3492c 100644 --- a/userinfo.rnc +++ b/userinfo.rnc @@ -1,19 +1,17 @@ -namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" - -userlist = element userlist { attlist.userlist, user* } +userlist = element userlist { attlist.userlist, user+ } attlist.userlist &= empty user = element user { attlist.user, realname, pgpkey, + alias*, email+, joined, - birthday, + retired?, status?, roles?, - location?, - address* + location? } attlist.user &= attribute username { xsd:ID } realname = element realname { attlist.realname, firstname, familyname } @@ -24,49 +22,15 @@ familyname = element familyname { attlist.familyname, text } attlist.familyname &= attribute sort { text }? pgpkey = element pgpkey { attlist.pgpkey, text } attlist.pgpkey &= empty -pgpfingerprint = element pgpfingerprint { attlist.pgpfingerprint, text } -attlist.pgpfingerprint &= empty +alias = element alias { attlist.alias, text } +attlist.alias &= empty email = element email { attlist.email, text } -attlist.email &= - attribute role { "primary" | "alias" | "secondary" | "gentoo" } -# all dates should be DD MMMM YYYY - eg '15 October 2006' +attlist.email &= empty +# all dates should be YYYY-MM-DD - eg '2006-11-22' joined = element joined { attlist.joined, text } attlist.joined &= empty retired = element retired { attlist.retired, text } attlist.retired &= empty -birthday = element birthday { attlist.birthday, text } -attlist.birthday &= empty -address = - element address { - attlist.address, - street, - number, - suffix?, - zipcode, - city, - state?, - country, - formatted? - } -attlist.address &= - attribute role { "main" | "work" | "secondary" | "home" } -street = element street { attlist.street, text } -attlist.street &= empty -number = element number { attlist.number, text } -attlist.number &= empty -suffix = element suffix { attlist.suffix, text } -attlist.suffix &= empty -zipcode = element zipcode { attlist.zipcode, text } -attlist.zipcode &= empty -city = element city { attlist.city, text } -attlist.city &= empty -state = element state { attlist.state, text } -attlist.state &= empty -country = element country { attlist.country, text } -attlist.country &= attribute fullname { text }? -formatted = element formatted { attlist.formatted, text } -attlist.formatted &= - [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }? status = element status { attlist.status, text } attlist.status &= empty roles = element roles { attlist.roles, text } @@ -77,4 +41,4 @@ location = element location { attlist.location, text } attlist.location &= attribute latitude { text }?, attribute longitude { text }? -start = retired | userlist | pgpfingerprint +start = userlist |