diff options
author | Christian Faulhammer <opfer@gentoo.org> | 2007-07-25 09:45:50 +0000 |
---|---|---|
committer | Christian Faulhammer <opfer@gentoo.org> | 2007-07-25 09:45:50 +0000 |
commit | 871ec30fdb19d1d8ff5b3703497c93bb7b66ade9 (patch) | |
tree | b80fa8d61ae5722a027a74e9fa276c14ff4dea3b /app-emacs/nxml-gentoo-schemas/files | |
parent | Remove unused version, and more unused patches. (diff) | |
download | gentoo-2-871ec30fdb19d1d8ff5b3703497c93bb7b66ade9.tar.gz gentoo-2-871ec30fdb19d1d8ff5b3703497c93bb7b66ade9.tar.bz2 gentoo-2-871ec30fdb19d1d8ff5b3703497c93bb7b66ade9.zip |
initial commit from Flameeyes overlay. Prepare nxml-mode for Gentoo XML schemas
(Portage version: 2.1.2.9)
Diffstat (limited to 'app-emacs/nxml-gentoo-schemas/files')
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/81nxml-gentoo-schemas-gentoo.el | 3 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/book.rnc | 309 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/digest-nxml-gentoo-schemas-20070710 | 0 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/gleps.rnc | 14 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/glsa.rnc | 297 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/guide.rnc | 337 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/metadata.rnc | 91 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/metadoc.rnc | 293 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/project.rnc | 203 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/schemas.xml | 7 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/staffing-needs.rnc | 22 | ||||
-rw-r--r-- | app-emacs/nxml-gentoo-schemas/files/userinfo.rnc | 80 |
12 files changed, 1656 insertions, 0 deletions
diff --git a/app-emacs/nxml-gentoo-schemas/files/81nxml-gentoo-schemas-gentoo.el b/app-emacs/nxml-gentoo-schemas/files/81nxml-gentoo-schemas-gentoo.el new file mode 100644 index 000000000000..77c583e5b20b --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/81nxml-gentoo-schemas-gentoo.el @@ -0,0 +1,3 @@ +;;; nxml-gentoo-schemas-configuration + +(add-to-list 'rng-schema-locating-files-default "@SITELISP@/schemas.xml") diff --git a/app-emacs/nxml-gentoo-schemas/files/book.rnc b/app-emacs/nxml-gentoo-schemas/files/book.rnc new file mode 100644 index 000000000000..b69d824ef3a8 --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/book.rnc @@ -0,0 +1,309 @@ +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 +book = + element book { + book.attlist, + title, + values?, + author+, + abstract, + license?, + version, + date, + part+ + } +book.attlist &= + 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 +subsection = element subsection { subsection.attlist, title?, body+ } +subsection.attlist &= + attribute id { text }?, + attribute test { text }? +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+ } +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+ } +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.attlist &= attribute href { text } +start = book | sections diff --git a/app-emacs/nxml-gentoo-schemas/files/digest-nxml-gentoo-schemas-20070710 b/app-emacs/nxml-gentoo-schemas/files/digest-nxml-gentoo-schemas-20070710 new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/digest-nxml-gentoo-schemas-20070710 diff --git a/app-emacs/nxml-gentoo-schemas/files/gleps.rnc b/app-emacs/nxml-gentoo-schemas/files/gleps.rnc new file mode 100644 index 000000000000..19d90c09d5f1 --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/gleps.rnc @@ -0,0 +1,14 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + +gleps = element gleps { attlist.gleps, glep+ } +attlist.gleps &= empty +glep = element glep { attlist.glep, (text | uri)* } +attlist.glep &= + attribute id { text }, + attribute file { text }, + [ a:defaultValue = "S" ] attribute type { "S" | "I" }?, + [ a:defaultValue = "D" ] + attribute status { "D" | "d" | "A" | "F" | "R" | "W" | "M" }? +uri = element uri { attlist.uri, text } +attlist.uri &= attribute link { text } +start = gleps diff --git a/app-emacs/nxml-gentoo-schemas/files/glsa.rnc b/app-emacs/nxml-gentoo-schemas/files/glsa.rnc new file mode 100644 index 000000000000..e69a3607ff1b --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/glsa.rnc @@ -0,0 +1,297 @@ +# $Header: /var/cvsroot/gentoo-x86/app-emacs/nxml-gentoo-schemas/files/glsa.rnc,v 1.1 2007/07/25 09:45:50 opfer Exp $ + +glsa = + element glsa { + attlist.glsa, + title, + synopsis, + product, + announced, + revised, + bug*, + access?, + affected, + background?, + description, + impact, + workaround, + resolution, + references, + license?, + metadata* + } +attlist.glsa &= attribute id { text } +# Element: title +# Description: Provides a 4-5 word description about the advisory +# Example: <title>Buffer overflow vulnerability found in openssl-0.9.5</title> +title = element title { attlist.title, text } +attlist.title &= empty +# Element: synopsis +# Description: Small, to-the-point description about the GLSA +# +# Example: <synopsis> +# rsync has an exploitable buffer overflow that can lead to +# remote compromise +# </synopsis> +synopsis = element synopsis { attlist.synopsis, text } +attlist.synopsis &= empty +# Element: product +# Description: Defines what type of security announcement this is. +# +# Valid types are: +# - ebuild A Portage-provided ebuild has a security +# issue +# - informational This GLSA is purely informational, no Gentoo +# system is affected +# - infrastructure The security issue involves the Gentoo +# infrastructure +# +# The text contains one keyword that defines the issue. +# +# Example: <product type="ebuild">openssl</product> +# Example: <product type="infrastructure">rsync mirror</product> +product = element product { attlist.product, text } +attlist.product &= + attribute type { "ebuild" | "infrastructure" | "informational" } +# Element: announced +# Description: Date when the advisory is publicised +# The format must be "YYYY-mm-dd" +# +# Example: <announced>2003-11-20</announced> +announced = element announced { attlist.announced, text } +attlist.announced &= empty +# Element: revised +# Description: Last revision date of the GLSA +# +# Example: <revised>2003-11-20</revised> +revised = element revised { attlist.revised, text } +attlist.revised &= empty +# Element: bug +# Description: Number of the bug on bugs.gentoo.org, if any +# Occurrence: The bug element can occur 0, 1 or more times +# +# Example: <bug>34200</bug> +bug = element bug { attlist.bug, text } +attlist.bug &= empty +# Element: access +# Description: Type of access necessary to exploit the security issue +# This element should only be used when product@type = 'ebuild' +# Occurrence: The access element can occur 0 or 1 time +# +# Example: <access>Remote</access> +access = element access { attlist.access, text } +attlist.access &= empty +# Element: affected +# Description: Describe what the affected subjects are. +# +# If product@type = 'build', the child elements are 'package' +# If product@type = 'portage', the child elements are 'package' +# If product@type = 'infrastructure', the child elements are +# 'service' +# +affected = element affected { attlist.affected, (package* | service*) } +attlist.affected &= empty +# Element: package +# Description: Provide all necessary information regarded the affected +# packages. It also contains information about the affected +# architectures, if automatic updates can be done and the update +# +# The "update" attribute contains the path to the non-vulnerable +# version of the package +# +# The "auto" attribute contains either "yes" or "no" and tells +# Portage that the package can be updated automatically (to be +# implemented) without further user interaction +# +# The "arch" attribute contains either the architecture (as used +# by ACCEPT_KEYWORDS) or the "*" value (in case all +# architectures are affected) +# +# Occurrence: The package element can occur 0, 1 or more times +# Example: <package name="dev-libs/openssl" auto="yes" arch="*"> +# <vulnerable range="lt">0.9.6k</vulnerable> +# <unaffected range="gt">0.9.6k</unaffected> +# </package> +package = + element package { attlist.package, (vulnerable | unaffected)* } +attlist.package &= + attribute name { text }, + attribute auto { "yes" | "no" }, + attribute arch { text } +# Element: vulnerable +# Description: Version of the vulnerable package. Can be a range too +vulnerable = element vulnerable { attlist.vulnerable, text } +attlist.vulnerable &= + attribute range { + "le" | "lt" | "eq" | "gt" | "ge" | "rlt" | "rle" | "rgt" | "rge" + } +# Element: unaffected +# Description: Version of the fixed (or unaffected) package. In case the +# package is superseded by another package, you need to +# define that package using the "name" attribute. +# +# The r* range information is revision-specific. For instance, +# rge foo-1.2.3-r4 == >=foo-1.2.3-r4 && <foo-1.2.4 +# +# Example: +# <unaffected range="gt" name="foobar">2.0.0</unaffected> +unaffected = element unaffected { attlist.unaffected, text } +attlist.unaffected &= + attribute range { + "le" | "lt" | "eq" | "gt" | "ge" | "rlt" | "rle" | "rgt" | "rge" + }, + attribute name { text }? +# Element: service +# Description: Provide information about the Gentoo services that are +# affected by the security advisory. Portage must be able +# to parse this information to make decisions (for instance, +# ignore an rsync server or a certain distfiles mirror). +# +# The type attribute can be one of "rsync", "web", "mirror". +# +# The fixed attribute (denoting if the problem has been solved) +# can be one of "yes" or "no". If not used, the default value is +# "no". +# +# Occurrence: The service element can occur 0, 1 or more times +# Example: <service type="rsync">rsync://rsync.someserver.tld/gentoo-portage</service> +service = element service { attlist.service, text } +attlist.service &= + attribute type { "rsync" | "web" | "mirror" }, + attribute fixed { "yes" | "no" }? +# Element: uri +# Description: Link to the organisation involved in releasing the advisory +# Occurrence: The uri element can occur 0, 1 or more times +# +# Example: <uri link="http://www.cert.org">CERT</uri> +uri = element uri { attlist.uri, text } +attlist.uri &= attribute link { text }? +# Element: mail +# Description: Mail address of the people involved in releasing the advisory +# Occurrence: The mail element can occur 0, 1 or more times +# +# Example: <mail link="some@person.com">Some Person</mail> +mail = element mail { attlist.mail, text } +attlist.mail &= attribute link { text } +# Element: p +# Description: Plain text +# Occurrence: The "p" element can occur 0, 1 or more times and can contain +# links or addresses +# +# Example: <p>Please update your system</p> +p = element p { attlist.p, (text | uri | mail | b | u | i | br)* } +attlist.p &= empty +# Element: code +# Description: The code element contains text that should preserve whitespace +# and is therefore useful for code listings or commands +# +# Example: <code>emerge sync</code> +code = element code { attlist.code, text } +attlist.code &= empty +# Element: background +# Description: Provides a background of the affected package(s)/service(s) +# The background element contains only "<p>"s in which the text +# is placed +# +background = element background { attlist.background, (p | ul | ol)* } +attlist.background &= empty +# Element: description +# Description: Provides a description about the security issue +# The description element contains only "<p>"s. +description = + element description { attlist.description, (p | ul | ol)* } +attlist.description &= empty +# Element: impact +# Description: Provides information about the impact that the security issue +# can have +# +# The "impact" element contains only "<p>"s. +# +# The type element gives a short term, such as +# "Denial of Service", "Buffer Overflow", ... +# +impact = element impact { attlist.impact, (p | ul | ol)* } +attlist.impact &= attribute type { text } +# Element: workaround +# Description: Provides information about how the security issue can be +# (temporarily) resolved through a work-around +# +# The "workaround" element contains only "<p>"s and "<code>"s. +workaround = + element workaround { attlist.workaround, (p | code | ul | ol)* } +attlist.workaround &= empty +# Element: resolution +# Description: Provides information about how the security issue can be +# resolved. +# +# The "resolution" element contains only "<p>"s and "<code>"s. +resolution = + element resolution { attlist.resolution, (p | code | ul | ol)* } +attlist.resolution &= empty +# Element: references +# Description: Provides links to resources / references available online. +# +# The "reference" element contains only "<uri>"s. +references = element references { attlist.references, uri* } +attlist.references &= empty +# Element: ul +# Description: Add an unnumbered listing; can only contain <li>'s +ul = element ul { attlist.ul, li* } +attlist.ul &= empty +# Element: ol +# Description: Add a numbered listing; can only contain <li>'s +ol = element ol { attlist.ol, li* } +attlist.ol &= empty +# Element: li +# Description: Element of a listing +# +# Example: <ul> +# <li>This is element one</li> +# <li>This is a second element</li> +# </ul> +li = element li { attlist.li, text } +attlist.li &= empty +# Element: b +# Description: Bold text +# +# 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) +# +# Example: The user has to type in <i>ls</i> to see. +i = element i { attlist.i, text } +attlist.i &= empty +# Element: br +# Description: hard line break +# +# Example: And then: <br/> +# KABLAM! +br = element br { attlist.br, text } +attlist.br &= empty +# Element: license +# Description: Add license information +# +# Example: <license/> +license = element license { attlist.license, text } +attlist.license &= empty +# Element: metadata +# Description: Metadata information for GLSAMaker +# +# Example: <metadata tag="approved">Level 1</metadata> +# +# On request of plasmaroo, metadata can contain all elements again. +metadata = element metadata { attlist.metadata, (text | metadata)* } +attlist.metadata &= + attribute tag { text }, + attribute revision { text }?, + attribute author { text }?, + attribute timestamp { text }? +start = glsa diff --git a/app-emacs/nxml-gentoo-schemas/files/guide.rnc b/app-emacs/nxml-gentoo-schemas/files/guide.rnc new file mode 100644 index 000000000000..c8c84c1b254e --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/guide.rnc @@ -0,0 +1,337 @@ +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 +mainpage = + element mainpage { + mainpage.attlist, + title, + author+, + abstract?, + license?, + version, + date?, + (devmap? | newsitems? | chapter+) + } +mainpage.attlist &= attribute lang { text }? +newsitems = element newsitems { newsitems.attlist, empty } +newsitems.attlist &= empty +devmap = element devmap { devmap.attlist, empty } +devmap.attlist &= empty +guide = + element guide { + guide.attlist, + title, + subtitle?, + author+, + abstract, + summary?, + license?, + version, + date, + chapter+ + } +guide.attlist &= + attribute link { text }?, + attribute type { text }?, + attribute disclaimer { + "articles" | "oldbook" | "draft" | "obsolete" + }?, + attribute redirect { text }?, + attribute lang { text }? +news = + element news { news.attlist, poster, date, title, summary?, body } +news.attlist &= + [ a:defaultValue = "no" ] attribute gentoo { "yes" | "no" }?, + 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.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 +chapter = element chapter { chapter.attlist, title, section+ } +chapter.attlist &= attribute id { text }? +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 &= 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 diff --git a/app-emacs/nxml-gentoo-schemas/files/metadata.rnc b/app-emacs/nxml-gentoo-schemas/files/metadata.rnc new file mode 100644 index 000000000000..6d49c86afa36 --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/metadata.rnc @@ -0,0 +1,91 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + +packages = element packages { attlist.packages, pkgmetadata* } +attlist.packages &= empty +# Metadata for a category +catmetadata = + element catmetadata { attlist.catmetadata, longdescription* } +attlist.catmetadata &= + [ a:defaultValue = "" ] attribute pkgname { text }? +# Metadata for a package +pkgmetadata = + element pkgmetadata { + attlist.pkgmetadata, (herd | maintainer | longdescription)* + } +attlist.pkgmetadata &= + [ a:defaultValue = "" ] attribute pkgname { text }? +# One tag for each herd this package is assigned to. +herd = element herd { attlist.herd, text } +# One tag for each maintainer of a package, multiple allowed +maintainer = + element maintainer { + attlist.maintainer, email, (description | name)* + } +# A long description of the package in freetext +longdescription = + element longdescription { attlist.longdescription, text } +# The changelog of the package +changelog = element changelog { attlist.changelog, change* } +attlist.changelog &= empty +# The changelog contains various "changes" +change = + element change { + attlist.change, + date, + (developer | version | description | file | contributor | bug)* + } +attlist.change &= empty +date = element date { attlist.date, text } +attlist.date &= empty +# The date of the change, in "YYYY-MM-DD" format +developer = element developer { attlist.developer, name?, email } +attlist.developer &= empty +# The developer that made the change. The email is required, name +# is optional +version = element version { attlist.version, text } +attlist.version &= empty +# version of the packages involved (one tag per version) +file = element file { attlist.file, text } +attlist.file &= empty +# one tag per file touched +contributor = element contributor { attlist.contributor, name?, email? } +attlist.contributor &= empty +# A reference to a user that helped in causing this change. +# There should at least be a name or email address included. +# Email is preferred +bug = element bug { attlist.bug, text } +attlist.bug &= empty +# bug-id of a bug fixed by this change, multiple allowed. The +# format of this is a number or alias for a bug. NOT including a +# # character + +# Common attributes + +# the lang attribute, specifies the language of this tag. This is +# only useful for descriptions of various kinds. If a tag with this +# attribute is included there must be a description in the default +# language "C" or "en", which is equivalent +attlist.description &= [ a:defaultValue = "C" ] attribute lang { text }? +attlist.longdescription &= + [ a:defaultValue = "C" ] attribute lang { text }? +# The restrict attribute, this attribute specifies restrictions on +# the applicability of tags on versions. The format of this attribute is +# equal to the format of DEPEND lines in ebuilds. There is one special +# value though: restrict="*". A tag that specifies this only applies if +# there are no other tags that apply. +# +# For required tags, there must be either an unrestricted version, or a +# version that is default restricted. +attlist.herd &= attribute restrict { text }? +attlist.maintainer &= attribute restrict { text }? +attlist.longdescription &= attribute restrict { text }? +# standard parts +email = element email { attlist.email, text } +attlist.email &= empty +# an email address +name = element name { attlist.name, text } +attlist.name &= empty +# the name of a person (maintainer, contributor) +description = element description { attlist.description, text } +start = changelog | packages | catmetadata +# A description of a maintainer or change diff --git a/app-emacs/nxml-gentoo-schemas/files/metadoc.rnc b/app-emacs/nxml-gentoo-schemas/files/metadoc.rnc new file mode 100644 index 000000000000..3bae1c37af65 --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/metadoc.rnc @@ -0,0 +1,293 @@ +metadoc = + element metadoc { + metadoc.attlist, version, members, categories, files, docs + } +metadoc.attlist &= + attribute lang { text }, + attribute parent { text }? +version = element version { version.attlist, text } +version.attlist &= empty +members = element members { members.attlist, lead*, member* } +members.attlist &= empty +lead = element lead { lead.attlist, text* } +lead.attlist &= empty +# <lead>nickname</lead> +member = element member { member.attlist, text* } +member.attlist &= + attribute mail { text }?, + attribute fullname { text }? +categories = element categories { categories.attlist, cat* } +categories.attlist &= empty +cat = element cat { cat.attlist, text* } +cat.attlist &= + attribute id { text }, + attribute parent { text }? +files = element files { files.attlist, file* } +files.attlist &= empty +file = element file { file.attlist, text* } +file.attlist &= attribute id { text } +docs = element docs { docs.attlist, doc* } +docs.attlist &= empty +doc = element doc { doc.attlist, memberof*, fileid, bugs? } +doc.attlist &= attribute id { text } +memberof = element memberof { memberof.attlist, text* } +memberof.attlist &= empty +fileid = element fileid { fileid.attlist, text* } +fileid.attlist &= + attribute vpart { text }?, + attribute vchap { text }? +bugs = element bugs { bugs.attlist, bug* } +bugs.attlist &= empty +bug = element bug { bug.attlist, text* } +bug.attlist &= + attribute stopper { "yes" | "no" }?, + attribute arch { text }? +dynamic = + element dynamic { + dynamic.attlist, + version?, + title, + intro?, + (listing | catid* | overview) + } +dynamic.attlist &= attribute metadoc { text } +title = element title { title.attlist, text* } +title.attlist &= empty +intro = element intro { intro.attlist, section* } +intro.attlist &= empty +# Section stuff copy/pasted from guide.dtd +listing = element listing { listing.attlist, \list* } +listing.attlist &= empty +\list = element list { list.attlist, text* } +list.attlist &= empty +catid = element catid { catid.attlist, text* } +catid.attlist &= empty +overview = element overview { overview.attlist, empty } +overview.attlist &= empty +inline.class = b | brite | c | e | path | img | br | mail | uri +pre.class = comment | i +block.class = + box | figure | fig | note | impo | warn | pre | p | table | ul | ol +section = element section { section.attlist, title?, body } +section.attlist &= attribute id { text }? +body = + element body { + body.attlist, (block.class | glsa-latest | glsaindex)* + } +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 &= 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 | inline.class)* } +th.attlist &= empty +ti = element ti { ti.attlist, (text | inline.class | block.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 | inline.class | ul | ol)* } +li.attlist &= empty +# STYLE TAGS +b = element b { b.attlist, (text | inline.class)* } +b.attlist &= empty +brite = element brite { brite.attlist, (text | inline.class)* } +brite.attlist &= empty +box = element box { box.attlist, (text | inline.class)* } +box.attlist &= empty +c = element c { c.attlist, (text | inline.class)* } +c.attlist &= empty +comment = element comment { comment.attlist, (text | pre.class)* } +comment.attlist &= empty +e = element e { e.attlist, (text | inline.class)* } +e.attlist &= empty +i = element i { i.attlist, (text | pre.class)* } +i.attlist &= empty +path = element path { path.attlist, (text | inline.class)* } +path.attlist &= empty +# LINK TAGS +mail = element mail { mail.attlist, text* } +mail.attlist &= attribute link { text }? +uri = element uri { uri.attlist, text* } +uri.attlist &= attribute link { text }? +glsa-latest |= notAllowed +glsaindex |= notAllowed +start = dynamic | metadoc +# 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 diff --git a/app-emacs/nxml-gentoo-schemas/files/project.rnc b/app-emacs/nxml-gentoo-schemas/files/project.rnc new file mode 100644 index 000000000000..b48108c14057 --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/project.rnc @@ -0,0 +1,203 @@ +# 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* } +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, + name, + longname?, + date?, + author*, + description, + longdescription, + goals?, + (dev + | resource + | subproject + | plannedproject + | extraproject + | extrachapter + | herd + | task + | author)* + } +project.attlist &= empty +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)* + } +longdescription.attlist &= empty +goals = element goals { goals.attlist, (text | all.class)* } +goals.attlist &= empty +dev = element dev { dev.attlist, text } +dev.attlist &= + [ a:defaultValue = "member" ] attribute role { text }?, + attribute description { text }? +resource = element resource { resource.attlist, text } +resource.attlist &= attribute link { text }? +subproject = element subproject { subproject.attlist, empty } +subproject.attlist &= + attribute ref { text }, + [ a:defaultValue = "no" ] attribute inheritmembers { "yes" | "no" }?, + [ a:defaultValue = "no" ] attribute inheritresources { "yes" | "no" }? +extraproject = + element extraproject { extraproject.attlist, (text | all.class)* } +extraproject.attlist &= + attribute name { text }, + attribute lead { text }?, + attribute link { text }? +plannedproject = + element plannedproject { plannedproject.attlist, (text | all.class)* } +plannedproject.attlist &= attribute name { text } +extrachapter = + element extrachapter { extrachapter.attlist, title, section+ } +extrachapter.attlist &= + [ a:defaultValue = "bottom" ] + attribute position { + "top" + | "bottom" + | "subproject" + | "goals" + | "resources" + | "devs" + | "tasks" + }? +herd = element herd { herd.attlist, empty } +herd.attlist &= attribute name { text } +# TASK tags declaration +task = + element task { + task.attlist, + name, + description, + longdescription?, + startdate, + enddate?, + (reference | milestone | dev | depends)* + } +task.attlist &= + attribute id { xsd:ID }?, + attribute lead { text }, + [ a:defaultValue = "no" ] attribute finished { "yes" | "no" }? +startdate = element startdate { startdate.attlist, text } +startdate.attlist &= empty +enddate = element enddate { enddate.attlist, text } +enddate.attlist &= empty +reference = + element reference { reference.attlist, (text | bug | link.class)* } +reference.attlist &= empty +bug = element bug { bug.attlist, text } +bug.attlist &= attribute no { text } +milestone = + element milestone { milestone.attlist, enddate, description } +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 diff --git a/app-emacs/nxml-gentoo-schemas/files/schemas.xml b/app-emacs/nxml-gentoo-schemas/files/schemas.xml new file mode 100644 index 000000000000..2888db948109 --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/schemas.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0"> + <documentElement localName="guide" uri="guide.rnc" /> + <documentElement localName="project" uri="project.rnc" /> + <documentElement localName="glsa" uri="glsa.rnc" /> + <documentElement localName="pkgmetadata" uri="metadata.rnc" /> +</locatingRules>
\ No newline at end of file diff --git a/app-emacs/nxml-gentoo-schemas/files/staffing-needs.rnc b/app-emacs/nxml-gentoo-schemas/files/staffing-needs.rnc new file mode 100644 index 000000000000..bb6274223cad --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/staffing-needs.rnc @@ -0,0 +1,22 @@ +staffingNeeds = element staffingNeeds { attlist.staffingNeeds, needed* } +attlist.staffingNeeds &= empty +needed = + element needed { attlist.needed, summary, contact, description } +attlist.needed &= empty +summary = element summary { attlist.summary, text } +# If unset, treated as '0'. +attlist.summary &= attribute priority { text }? +# Should be in RFC-2822. +attlist.summary &= attribute dateRequested { text } +contact = element contact { attlist.contact, text } +# Makes a link called "Joe Bloggs", for example rather than jbloggs@... +attlist.contact &= attribute name { text }? +# If set to not "" then the string is formatted to "the ... herd" +attlist.contact &= attribute herd { text }? +# If set to not "" then the string is formatted to "the ... team" +attlist.contact &= attribute team { text }? +description = element description { attlist.description, (text | uri)* } +attlist.description &= empty +uri = element uri { attlist.uri, text } +attlist.uri &= attribute link { text }? +start = staffingNeeds diff --git a/app-emacs/nxml-gentoo-schemas/files/userinfo.rnc b/app-emacs/nxml-gentoo-schemas/files/userinfo.rnc new file mode 100644 index 000000000000..75968df7d23d --- /dev/null +++ b/app-emacs/nxml-gentoo-schemas/files/userinfo.rnc @@ -0,0 +1,80 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + +userlist = element userlist { attlist.userlist, user* } +attlist.userlist &= empty +user = + element user { + attlist.user, + realname, + pgpkey, + email+, + joined, + birthday, + status?, + roles?, + location?, + address* + } +attlist.user &= attribute username { xsd:ID } +realname = element realname { attlist.realname, firstname, familyname } +attlist.realname &= attribute fullname { text }? +firstname = element firstname { attlist.firstname, text } +attlist.firstname &= empty +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 +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' +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 } +attlist.roles &= empty +# Location is the string displayed on the webpage +location = element location { attlist.location, text } +# signed decimal numbers. degrees north/east. +attlist.location &= + attribute latitude { text }?, + attribute longitude { text }? +start = retired | userlist | pgpfingerprint |