namespace c = "http://schema.cross-lfs.org/book" # We are building around the DocBook Schema include "../../../docbook/4.5/rng/docbook.rnc" { sect1 = ( element sect1 { sect1.attlist, sect1info?, sect.title.content, nav.class*, ((divcomponent.mix+, (refentry.class* | sect2* | simplesect*)) | refentry.class+ | sect2+ | simplesect+), nav.class* } | clfs.sect.package ) } # Extend the standard profiling attributes local.effectivity.attrib &= clfs.attrib.arch, clfs.attrib.bits, clfs.attrib.multilib # Profiling Attributes clfs.attrib.arch = attribute c:arch { text }? clfs.attrib.bits = attribute c:bits { text }? clfs.attrib.multilib = attribute c:multilib { "true" | "false" }? # Inline Elements clfs.inline = (clfs.inline.literal | clfs.inline.replaceable | clfs.inline.application | clfs.inline.dirname | clfs.inline.filename | clfs.inline.command | text)* clfs.inline.common.attrib = clfs.attrib.arch, clfs.attrib.bits, clfs.attrib.multilib clfs.inline.literal = element c:literal { clfs.inline.common.attrib, clfs.inline } clfs.inline.replaceable = element c:replaceable { clfs.inline.common.attrib, clfs.inline } clfs.inline.application = element c:application { clfs.inline.common.attrib, clfs.inline } clfs.inline.dirname = element c:dirname { clfs.inline.common.attrib, clfs.inline } clfs.inline.filename = element c:filename { clfs.inline.common.attrib, clfs.inline } clfs.inline.command = element c:command { clfs.inline.common.attrib, clfs.inline } # Block Elements clfs.package.para = element c:para { clfs.attrib.arch, clfs.attrib.bits, clfs.attrib.multilib, clfs.inline } clfs.package.note = element c:note { clfs.attrib.arch, clfs.attrib.bits, clfs.attrib.multilib, (clfs.package.para | clfs.package.command)* } clfs.package.warning = element c:note { clfs.attrib.arch, clfs.attrib.bits, clfs.attrib.multilib, (clfs.package.para | clfs.package.command)* } clfs.package.command = element c:command { clfs.attrib.arch, clfs.attrib.bits, clfs.attrib.multilib, attribute c:nodump { "true" | "false" }?, (element c:literal { text } | text)+ } # The Package clfs.sect.package = element c:package { attribute xml:base { text }?, attribute id { text }, clfs.attrib.arch, clfs.attrib.bits, clfs.attrib.multilib, attribute c:multibuild { "true" | "false" }, element c:title { text }, element c:version { text }, element c:description { clfs.inline }, element c:install { (clfs.package.para | clfs.package.command | clfs.package.note | clfs.package.warning)+ }?, element c:contents { attribute c:ref { text } | ( element c:program { element c:name { text }, element c:description { clfs.inline } }*, element c:library { element c:name { text }, element c:description { clfs.inline } }*, element c:directory { element c:name { text }, element c:description { clfs.inline } }* ) }? }