aboutsummaryrefslogtreecommitdiff
path: root/share/xml/freebsd50.rnc
blob: 695542c1c6527483722800a8bee75d9881e97b76 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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 }