doc/share/xml/freebsd50.rnc
John Baldwin 86bba6a538 Add infrastructure for links to Git commits.
- Add a <githash> tag which accepts a Git hash.  Leave
  <revnumber> as is for svn revisions.  In theory we
  could add a new attribute to <revnumber> to say which
  VCS to use, but this would require tagging either all
  SVN revisions or all Git hashes explicitly which would
  be invasive.  A new tag going forward seems simpler.

- Revert svnweb.link back to generating svnweb links.  This
  fixes all the explicit <revnumber>'s referring to SVN src
  commits in existing documentation.

- Add a cgit.link which links to a Git commit in cgit.
  githash generates cgit.link's when asked to generate a
  href.

Reviewed by:	gjb, ygy
Differential Revision:	https://reviews.freebsd.org/D27703
2020-12-22 13:48:38 -08:00

70 lines
2.1 KiB
Text

default namespace db = "http://docbook.org/ns/docbook"
# $FreeBSD$
# ======================================================================
include "/usr/local/share/xml/docbook/5.0/rng/docbook.rnc" inherit = db {
# XXX: trademark not allowed in lineannotation in normal DocBook 5.0
db.lineannotation =
element lineannotation { db.lineannotation.attlist, (db._text | db.trademark)* }
# XXX: trademark not allowed in application in normal DocBook 5.0
db.application =
element application { db.application.attlist, (db._text | db.trademark)* }
# XXX: trademark not allowed in contrib in normal DocBook 5.0
db.contrib =
element contrib { db.contrib.attlist, (db._text | db.trademark)* }
# XXX: email not allowed in attribution in normal DocBook 5.0
db.attribution =
element attribution {
db.attribution.attlist,
(db._text
| db.person
| db.personname
| db.citetitle
| db.citation
| db.email )*
}
# XXX: DocBook 5.0 disallows mixing CDATA and itemizedlist
db.entry =
element entry {
db.entry.attlist, (db.all.inlines|db.all.blocks)*
}
# FreeBSD extension: add buildtarget element to allowed inlines
db.extension.inlines = db.buildtarget
| db.revnumber
| db.githash
# | db.trademark
# FreeBSD extension: edition and releasetype profiling attributes
db.effectivity.attributes =
db.arch.attribute?
& db.audience.attribute?
& db.condition.attribute?
& db.conformance.attribute?
& db.os.attribute?
& db.revision.attribute?
& db.security.attribute?
& db.userlevel.attribute?
& db.vendor.attribute?
& db.wordsize.attribute?
& db.edition.attribute?
& db.releasetype.attribute?
}
# FreeBSD extension: buildtarget for make targets
db.buildtarget = element buildtarget { (text | db.replaceable)* }
# FreeBSD extension: profiling attribute for edition (online, print)
db.edition.attribute = attribute edition { text }
# FreeBSD extension: profiling attribute for release type (release,
# current, snapshot)
db.releasetype.attribute = attribute releasetype { text }