| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 | namespace db = "http://docbook.org/ns/docbook"namespace mml = "http://www.w3.org/1998/Math/MathML"namespace svg = "http://www.w3.org/2000/svg"default namespace dbs = "http://docbook.org/ns/docbook-slides"# See http://docbook.org/ns/docbook-slides# This file is part of DocBook Slides V5.0# # Copyright 2012 Gabor Kovesdan# # Release: $Id$# # Permission to use, copy, modify and distribute the DocBook Slides# schema and its accompanying documentation for any purpose and without# fee is hereby granted in perpetuity, provided that the above copyright# notice and this paragraph appear in all copies. The copyright# holders make no representation about the suitability of the schema# for any purpose. It is provided "as is" without expressed or implied# warranty.# # If you modify the DocBook Slides schema in any way, label your schema# as a variant of DocBook Slides. See the reference documentation# (http://docbook.org/tdg5/en/html/ch05.html#s-notdocbook)# for more information.# # Please direct all questions, bug reports, or suggestions for changes# to the docbook@lists.oasis-open.org mailing list. For more# information, see http://www.oasis-open.org/docbook/.# # ======================================================================include "../../../../docbook/relaxng/docbook/docbook/docbook.rnc" inherit = db {  start = dbs.slides    # Avoid ID clashes  db._any.attribute = attribute * - (xml:id | linkend) { text }  db.common.attributes =    db.xml.id.attribute?    & db.common.base.attributes    & db.annotations.attribute?    & dbs.style.attributes?  # Any element and attribute from the SVG namespace  db._any.svg =    element svg:* { (dbs._any.attribute | text | db._any)* }  # Any element and attribute from the MathML namespace  db._any.mml =    element mml:* { (dbs._any.attribute | text | db._any)* }}# Any attribute from any namespacedbs._any.attribute = attribute * { text }dbs.all.content = db.all.blocks? &  dbs.speakernotes &  dbs.handoutnotes &  db._any.svg? &  db._any.mml? &  dbs.block?dbs.block =  ## Indicates a formatting block that can have its own styling applied  element block { dbs.block.attlist,  dbs.all.content*}dbs.block.role.attribute =  ## Role attribute for the block element  attribute role { text }dbs.block.status.attribute =  ## Status attribute for the block element  db.status.attributedbs.block.attlist = dbs.block.role.attribute?  & db.common.attributes  & db.common.linking.attributes  & db.label.attribute?  & dbs.block.status.attribute?dbs.slides =  ## Root element of a slides document  element slides { dbs.slides.attlist,  db._info.title.req,  dbs.speakernotes?,  dbs.handoutnotes?,  (    dbs.foil? &    dbs.foilgroup?  )*}dbs.slides.role.attribute =  ## Role attribute for the slides element  attribute role { text }dbs.slides.status.attribute =  ## Status attribute for the slides element  db.status.attributedbs.slides.attlist = dbs.slides.role.attribute?  & db.common.attributes  & db.common.linking.attributes  & db.label.attribute?  & dbs.slides.status.attribute?dbs.foilgroup = element foilgroup {  dbs.foilgroup.attlist,  db._info.title.req,  dbs.all.content*,  dbs.foil+}dbs.foilgroup.role.attribute =  ## Role attribute for the foilgroup element  attribute role { text }dbs.foilgroup.status.attribute =  ## Status attribute for the foilgroup element  db.status.attributedbs.foilgroup.attlist = dbs.foilgroup.role.attribute?  & db.common.attributes  & db.common.linking.attributes  & db.label.attribute?  & dbs.slides.status.attribute?dbs.foil =  ## Indicates a foil that may have some info and content  element foil { dbs.foil.attlist,  db._info.title.req,  dbs.all.content*,  db.navigation.components*}dbs.foil.role.attribute =  ## Role attribute for the foil element  attribute role { text }dbs.foil.status.attribute =  ## Status attribute for the foil element  db.status.attributedbs.foil.attlist = dbs.foil.role.attribute?  & db.common.attributes  & db.common.linking.attributes  & db.label.attribute?  & dbs.foil.status.attribute?dbs.speakernotes =  ## Indicates notes for the speaker  element speakernotes { dbs.speakernotes.attlist,  db.all.blocks+}dbs.speakernotes.role.attribute =  ## Role attribute for the speakernotes element  attribute role { text }dbs.speakernotes.attlist = dbs.speakernotes.role.attribute?  & db.common.attributes  & db.common.linking.attributesdbs.handoutnotes =  ## Indicates notes that are meant for printed copies  element handoutnotes { dbs.handoutnotes.attlist,  db.all.blocks+}## Role attribute for the handoutnotes elementdbs.handoutnotes.role.attribute =  ## Role attribute for the handoutnotes element  attribute role { text }dbs.handoutnotes.attlist = dbs.handoutnotes.role.attribute?  & db.common.attributes  & db.common.linking.attributesdbs.style.attributes  = dbs.incremental.attribute?  & dbs.collapsible.attribute?  & dbs.style.attribute?dbs.incremental.attribute =  ## Attribute indicating an incremental part  attribute dbs:incremental {  ## disabled  "0" |   ## enabled  "1" }dbs.collapsible.attribute =  ## Attribute indicating a collapsible part  attribute dbs:collapsible {  ## disabled  "0" |  ## enabled  "1" |  ## enabled and expanded by default  "expanded" }dbs.style.attribute =  ## Attribute indicating a formatting style class  attribute dbs:style { text }
 |