[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: docbook tiny? Again.
Attached, (I think attachments get through on this list) a 'tiny' (my definition) version of docbook. After Jirka corrected me, it is now valid to docbook 5.0b Just to show what can be done I guess? I haven't 'extended' it at all. Changing the subject: >From the reports from xml 2005, quote Awards! Ken Holman (Yeah!!), yet another Canadian (there aren't many NON-Canadians here!) is now presenting to Dr. James Mason a collection of notes from the SGML standard committees from the last twenty years of his overseeing the evolution of SGML. Lauren Wood is now awarding the XML Cup - the winner are ... Norm Walsh (Father of DocBook, TAG and many others) and Michael Kay (THE XSLT Guru of gurus!)!! Fantastic! end quote http://www.understandingxml.com/archives/2005/11/keynote_from_at.html#more -- Regards, Dave Pawson XSLT + Docbook FAQ http://www.dpawson.co.uk
default namespace db = "http://docbook.org/ns/docbook" namespace s = "http://www.ascc.net/xml/schematron" namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" include "/sgml/docbook/v5/rng/docbook.rnc" { ## file level brace ## Start point. I chose article. YMMV start = db.article ## ## Note. Reductions have removed structure. ## Always look at docbook.rnc to check on the original definition ## when restoring content models, to keep aligned with docbook ## div { ## Remove db.all.blocks* db.itemizedlist |= element itemizedlist { db.itemizedlist.attlist, db.itemizedlist.info, db.listitem+ } } div { ## db.listitem reductions. db.listitem = element listitem { db.listitem.attlist, db.para.blocks+ } } div { ## ## db.info.elements reductions. db.artpagenums db.bibliocoverage ## db.biblioid db.bibliosource db.collab db.confgroup ## db.contractsponsor db.contractnum db.keywordset db.legalnotice ## db.mediaobject db.pagenums db.printhistory db.productname ## db.productnumber db.seriesvolnums db.subjectset db.volumenum ## db.extendedlink (db.bibliomisc | db.bibliomset | ## db.bibliorelation | db.biblioset) db.itermset ## db.info.elements = (db.abstract | db.address | db.author | db.authorgroup | db.authorinitials | db.copyright | db.date | db.edition | db.editor | db.issuenum | db.orgname | db.othercredit | db.pubdate | db.publisher | db.publishername | db.releaseinfo | db.revhistory) | db.annotation } div{ ## db.para.blocks reductions. db.anchor, db.simpara db.para.blocks = db.para | db.formalpara } div{ ## db.nopara reductions. db.math.blocks db.indexterm db.synopsis.blocks ## FIXME. db.nopara.blocks = db.list.blocks | db.admonition.blocks | db.formal.blocks | db.informal.blocks | db.publishing.blocks | db.graphic.blocks | db.technical.blocks | db.verbatim.blocks | db.bridgehead | db.remark | db.revhistory } div{ ## ## db.list.block reductions. db.procedure db.variablelist db.segmentedlist ## db.glosslist db.bibliolist db.calloutlist db.qandaset db.list.blocks = db.itemizedlist | db.orderedlist | db.simplelist } div{ ## ## db.admonition.blocks reductions. db.tip | db.warning ## db.admonition.blocks = db.caution | db.important | db.note } ## Basic excludes. I decided I didn't want them. You choose. # These are not allowed anywhere. div{ ## ## db.blocks reduction. ## db.informal.blocks=notAllowed } div{ ## ## db.publishing.blocks reduction. db.epigraph ## db.publishing.blocks = db.sidebar | db.blockquote | db.address } div{ ## ## db.graphic.blocks reduction. db.screenshot ## db.graphic.blocks = db.mediaobject } div{ ## ## db.technical.blocks reduction. (db.productionset | db.constraintdef) ## db.msgset ## div{ db.technical.blocks = db.procedure | db.task } ## ## db.verbatim.blocks reduction. db.screen db.synopsis ## (db.programlistingco | db.screenco) ## db.verbatim.blocks = db.programlisting | db.literallayout | db.screen } div{ ## ## db.synopsis.blocks reduction. All removed ## db.synopsis.blocks = notAllowed } div{ ## ## db.revdescription reductions. db.all.blocks* ## Added. db.para.blocks* ## ## A extended description of a revision to a document db.revdescription = element revdescription { db.revdescription.attlist, db.para.blocks* } } div { ## ## db.date.contentmodel reductions. text ## db.date.contentmodel = xsd:date | xsd:dateTime | xsd:gYearMonth | xsd:gYear } div{ ## ## db.para reductions. db.nopara.blocks replaced by text ## db.para = ## A paragraph [ s:pattern [ name = "Root must have version" "\x{a}" ~ " " s:rule [ context = "/db:para" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] ] element para { db.para.attlist, db.para.info, (db.all.inlines, text )* } } div{ # # General high level element restrictions. # db.abstract = notAllowed db.accel = notAllowed db.ackno = notAllowed db.anchor=notAllowed db.bibliography=notAllowed db.bibliolist=notAllowed db.calloutlist=notAllowed db.caution=notAllowed db.classsynopsis=notAllowed db.cmdsynopsis=notAllowed db.colophon=notAllowed db.constraintdef=notAllowed db.constructorsynopsis=notAllowed db.destructorsynopsis=notAllowed db.epigraph=notAllowed db.equation=notAllowed db.fieldsynopsis=notAllowed db.formalpara=notAllowed db.funcsynopsis=notAllowed db.glossary=notAllowed db.glosslist=notAllowed db.important=notAllowed db.index=notAllowed db.indexterm=notAllowed db.informalequation=notAllowed db.informalexample=notAllowed db.informalfigure=notAllowed db.informaltable=notAllowed db.methodsynopsis=notAllowed db.msgset=notAllowed db.productionset=notAllowed db.programlistingco=notAllowed db.refentry=notAllowed db.screenco=notAllowed db.screenshot=notAllowed db.sect1=notAllowed db.sect2=notAllowed db.sect3=notAllowed db.sect4=notAllowed db.sect5=notAllowed db.segmentedlist=notAllowed db.sidebar=notAllowed db.simplesect=notAllowed db.subtitle=notAllowed db.synopsis=notAllowed db.task=notAllowed db.tip=notAllowed db.titleabbrev=notAllowed db.variablelist=notAllowed db.warning=notAllowed } ## ##Inline reductions ## div{ # # db.publishing.inlines reductions. db.glossary.inlines db.coref db.wordasword # db.publishing.inlines = db.abbrev | db.acronym | db.date | db.emphasis | db.footnote | db.footnoteref | db.foreignphrase | db.phrase | db.quote | db.subscript | db.superscript } div { ## ## db.product.inlines reductions. ## db.product.inlines = notAllowed } div{ ## ## db.bibliography.inlines reductions. db.citation db.citerefentry ## db.citetitle db.citebiblioid ## db.bibliography.inlines = db.author | db.personname | db.orgname | db.editor } div { ## ## db.indexing.inlines reductions. db.indexterm ## db.indexing.inlines=notAllowed } div{ ## ## db.link.inlines reductions. db.biblioref ## db.link.inlines = db.xref | db.link | db.olink | db.anchor } div{ ## ## db.technical.inlines reductions. all. ## db.technical.inlines =notAllowed } div{ ## ## db.error.inlines reductions. all ## db.error.inlines = notAllowed } div{ ## ## db.os.inlines reductions. db.prompt db.envar db.computeroutput ## db.userinput ## db.os.inlines = db.filename | db.command } div{ ## ## db.programming.inlines reductions. all ## db.programming.inlines = notAllowed } div{ ## ## db.oo.inlines reductions. All ## db.oo.inlines = notAllowed } div{ ## ## db.markup.inlines reductions. db.tag db.markup db.token db.symbol ## db.literal db.constant ## db.markup.inlines = db.code | db.email | db.uri } div{ ## ## db.gui.inlines. All. ## db.gui.inlines = notAllowed } div{ ## ## db.keyboard.inlines reductions. All. ## db.keyboard.inlines =notAllowed } div{ ## ## db.systemitem.inlines reductions. db.co ## db.systemitem.inlines = db._text } div{ ## ## db.ubiq.inlines reductions. db.indexterm ## db.ubiq.inlines = (db.inlinemediaobject | db.remark | db.superscript | db.subscript | db.link.inlines | db.alt) | db.annotation } div{ ## ## db._text reductions. db.replaceable ## db._text = (text | db.ubiq.inlines | db._phrase )* } ## ##Attribute reductions. ## div { ## ## db.common.attributes reductions. db.remap.attribute ## db.revisionflag.attribute db.version.attribute ## db.effectivity.attributes ## db.common.attributes = db.xml.id.attribute? & db.xml.lang.attribute? & db.xml.base.attribute? & db.xreflabel.attribute? & db.dir.attribute? & db.annotations.attribute? } div { ## ## db.common.idreq.attributes reductions. db.version.attribute ## db.remap.attribute db.revisionflag.attribute db.effectivity.attributes db.common.idreq.attributes = db.xml.id.attribute & db.xml.lang.attribute? & db.xml.base.attribute? & db.xreflabel.attribute? & db.dir.attribute? & db.annotations.attribute? } }
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]