public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/nxml-gentoo-schemas:master commit in: /
Date: Tue, 25 Jan 2022 08:11:18 +0000 (UTC)	[thread overview]
Message-ID: <1643070597.140f12f64dd4da0ff21495bbf4444a350b2d6b51.ulm@gentoo> (raw)

commit:     140f12f64dd4da0ff21495bbf4444a350b2d6b51
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 25 00:29:57 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Jan 25 00:29:57 2022 +0000
URL:        https://gitweb.gentoo.org/proj/nxml-gentoo-schemas.git/commit/?id=140f12f6

devbook.rnc: Update from devmanual

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 devbook.rnc | 213 +++++++++++++++++++++++++++---------------------------------
 1 file changed, 97 insertions(+), 116 deletions(-)

diff --git a/devbook.rnc b/devbook.rnc
index 2d21a4a..4ca931d 100644
--- a/devbook.rnc
+++ b/devbook.rnc
@@ -1,132 +1,113 @@
-# Copyright 2019-2021 Gentoo Authors
-
-# Distributed under the terms of the MIT/X11 license
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the MIT license
 # or the CC-BY-SA-4.0 license (dual-licensed)
 
-# Document Type Definition for the Gentoo Devmanual
-
+# RELAX NG schema for the Gentoo Devmanual
 # Based on common.dtd from GuideXML
 
-namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
-
-block.class =
-  p
-  | pre
-  | codesample
-  | note
-  | important
-  | warning
-  | todo
-  | figure
-  | table
-  | ul
-  | ol
-  | dl
-attrib.class = b | c | e
+block.class = p | pre | codesample | note | important | warning | todo
+| figure | table | ul | ol | dl
+attrib.class = text | b | c | e
 inline.class = attrib.class | d | uri
-all.class = block.class | inline.class
-guide = element guide { guide.attlist, chapter, \include* }
-guide.attlist &=
-  attribute root { "true" }?,
-  attribute self { text }?
-\include = element include { include.attlist, empty }
-include.attlist &= attribute href { text }
-chapter =
-  element chapter { chapter.attlist, title, (body | section), section* }
-chapter.attlist &= empty
-section =
-  element section {
-    section.attlist, title, (body | subsection), subsection*
-  }
-section.attlist &= empty
+
+attrib = attrib.class*
+inline = inline.class*
+all = (block.class | inline.class)*
+
+start = guide
+
+guide = element guide {
+  (attribute root { "true" } | attribute self { text }),
+  chapter,
+  \include*
+}
+
+\include = element include { attribute href { text } }
+
+chapter = element chapter { title, (body | section), section* }
+section = element section { title, (body | subsection), subsection* }
 subsection =
-  element subsection {
-    subsection.attlist, title, (body | subsubsection), subsubsection*
-  }
-subsection.attlist &= empty
-subsubsection =
-  element subsubsection { subsubsection.attlist, title, body }
-subsubsection.attlist &= empty
+  element subsection { title, (body | subsubsection), subsubsection* }
+subsubsection = element subsubsection { title, body }
+
 # Title texts are used as anchors, so allow only text attributes
-title = element title { title.attlist, (text | attrib.class)* }
-title.attlist &= empty
-body =
-  element body { body.attlist, (authors | contentsTree | block.class)+ }
-body.attlist &= empty
-authors = element authors { authors.attlist, (author+ | authorlist+) }
-authors.attlist &= empty
-author = element author { author.attlist, (text | inline.class)* }
-author.attlist &=
+title = element title { attrib }
+
+body = element body { (authors | contentsTree | block.class)+ }
+
+authors = element authors { author+ | authorlist+ }
+
+author = element author {
   attribute name { text },
-  attribute email { text }?
-authorlist = element authorlist { authorlist.attlist, empty }
-authorlist.attlist &=
+  attribute email { text }?,
+  inline
+}
+
+authorlist = element authorlist {
   attribute title { text },
   attribute href { text }
-contentsTree = element contentsTree { contentsTree.attlist, empty }
-contentsTree.attlist &=
-  attribute maxdepth { text }?,
+}
+
+contentsTree = element contentsTree {
+  attribute maxdepth { xsd:unsignedInt }?,
   attribute root { text }?,
   attribute extraction { text }?
-p = element p { p.attlist, (text | inline.class)* }
-p.attlist &= empty
-pre = element pre { pre.attlist, text }
-pre.attlist &= empty
-codesample = element codesample { codesample.attlist, text }
-codesample.attlist &=
+}
+
+p = element p { inline }
+
+pre = element pre { text }
+
+codesample = element codesample {
   attribute lang { "c" | "ebuild" | "make" | "m4" | "sgml" },
-  attribute numbering { "lines" }?
-note = element note { note.attlist, (text | inline.class)* }
-note.attlist &= empty
-important =
-  element important { important.attlist, (text | inline.class)* }
-important.attlist &= empty
-warning = element warning { warning.attlist, (text | inline.class)* }
-warning.attlist &= empty
-todo = element todo { todo.attlist, (text | inline.class)* }
-todo.attlist &= empty
-figure = element figure { figure.attlist, empty }
-figure.attlist &=
+  attribute numbering { "lines" }?,
+  text
+}
+
+note = element note { inline }
+important = element important { inline }
+warning = element warning { inline }
+todo = element todo { inline }
+
+figure = element figure {
   attribute link { text },
   attribute short { text }?,
   attribute caption { text }?
-table = element table { table.attlist, tr+ }
-table.attlist &= empty
-tr = element tr { tr.attlist, (th | ti)+ }
-tr.attlist &= empty
-th = element th { th.attlist, (text | inline.class)* }
-th.attlist &=
-  attribute colspan { text }?,
-  attribute rowspan { text }?,
-  [ a:defaultValue = "left" ]
-  attribute align { "left" | "center" | "right" }?
-ti = element ti { ti.attlist, (text | all.class)* }
-ti.attlist &=
-  attribute colspan { text }?,
-  attribute rowspan { text }?,
-  attribute nowrap { text }?,
-  [ a:defaultValue = "left" ]
-  attribute align { "left" | "center" | "right" }?
-ul = element ul { ul.attlist, li+ }
-ul.attlist &= attribute class { text }?
-ol = element ol { ol.attlist, li+ }
-ol.attlist &= empty
-li = element li { li.attlist, (text | all.class)* }
-li.attlist &= empty
-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 | all.class)* }
-dd.attlist &= empty
-b = element b { b.attlist, (text | inline.class)* }
-b.attlist &= empty
-c = element c { c.attlist, (text | inline.class)* }
-c.attlist &= empty
-e = element e { e.attlist, (text | inline.class)* }
-e.attlist &= empty
-d = element d { d.attlist, empty }
-d.attlist &= empty
-uri = element uri { uri.attlist, (text | inline.class)* }
-uri.attlist &= attribute link { text }?
-start = guide
+}
+
+table = element table { tr+ }
+tr = element tr { (th | ti)+ }
+
+th = element th {
+  attribute colspan { xsd:unsignedInt }?,
+  attribute rowspan { xsd:unsignedInt }?,
+  attribute align { "left" | "center" | "right" }?,
+  inline
+}
+
+ti = element ti {
+  attribute colspan { xsd:unsignedInt }?,
+  attribute rowspan { xsd:unsignedInt }?,
+  attribute nowrap { "nowrap" }?,
+  attribute align { "left" | "center" | "right" }?,
+  all
+}
+
+ul = element ul { attribute class { "list-group" }?, li+ }
+ol = element ol { li+ }
+li = element li { all }
+
+dl = element dl { (dt | dd)+ }
+dt = element dt { inline }
+dd = element dd { all }
+
+b = element b { inline }
+c = element c { inline }
+e = element e { inline }
+d = element d { empty }
+
+uri = element uri {
+  # uri can have either an URI in the body text or a link attribute
+  xsd:anyURI
+  | (attribute link { text }, inline)
+}


             reply	other threads:[~2022-01-25  8:11 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-25  8:11 Ulrich Müller [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-16 12:51 [gentoo-commits] proj/nxml-gentoo-schemas:master commit in: / Ulrich Müller
2024-11-12 18:22 Ulrich Müller
2024-11-12 18:22 Ulrich Müller
2024-10-31 19:27 Ulrich Müller
2024-10-31 19:27 Ulrich Müller
2024-10-31 19:27 Ulrich Müller
2024-02-08 10:56 Ulrich Müller
2023-10-22 21:05 Ulrich Müller
2023-10-07 14:17 Ulrich Müller
2023-09-14 16:01 Ulrich Müller
2023-02-27 18:20 Ulrich Müller
2022-11-03 17:48 Ulrich Müller
2022-10-01  9:42 Ulrich Müller
2022-10-01  9:40 Ulrich Müller
2022-10-01  9:40 Ulrich Müller
2022-09-16  7:15 Ulrich Müller
2022-07-30  5:31 Ulrich Müller
2022-06-19 15:46 Ulrich Müller
2022-05-26  6:10 Ulrich Müller
2022-05-26  6:10 Ulrich Müller
2022-05-24 17:59 Ulrich Müller
2022-04-28 22:38 Ulrich Müller
2022-04-28 22:35 Ulrich Müller
2022-01-25  8:11 Ulrich Müller
2022-01-25  8:11 Ulrich Müller
2022-01-21 22:08 Ulrich Müller
2021-09-08 17:55 Ulrich Müller
2021-09-06 18:11 Ulrich Müller
2021-03-15 13:15 Ulrich Müller
2021-02-03 13:45 Ulrich Müller
2020-03-03  8:33 Ulrich Müller
2020-02-29 16:15 Ulrich Müller
2020-02-29 16:15 Ulrich Müller
2020-01-22 19:54 Ulrich Müller
2020-01-09 23:37 Ulrich Müller
2020-01-09 23:37 Ulrich Müller
2019-12-27  9:50 Ulrich Müller
2019-12-27  9:50 Ulrich Müller
2019-12-17 19:07 Ulrich Müller
2019-12-17 19:07 Ulrich Müller
2019-12-17 19:07 Ulrich Müller
2019-12-17 17:22 Ulrich Müller
2019-12-11  6:55 Ulrich Müller
2019-12-03 14:57 Ulrich Müller
2018-06-18 19:48 Ulrich Müller
2018-06-11 22:42 Ulrich Müller
2018-06-11 22:42 Ulrich Müller
2016-05-06  7:59 Ulrich Müller
2016-03-12 12:28 Ulrich Müller
2016-03-12 12:28 Ulrich Müller
2016-01-25 21:23 Ulrich Müller
2016-01-25 21:23 Ulrich Müller
2016-01-25 21:23 Ulrich Müller
2016-01-25 21:23 Ulrich Müller
2016-01-25  9:28 Ulrich Müller
2016-01-25  9:21 Ulrich Müller
2016-01-25  9:21 Ulrich Müller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1643070597.140f12f64dd4da0ff21495bbf4444a350b2d6b51.ulm@gentoo \
    --to=ulm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox