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 }