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 namespace
- dbs._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.attribute
- dbs.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.attribute
- dbs.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.attribute
- dbs.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.attribute
- dbs.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.attributes
- dbs.handoutnotes =
- ## Indicates notes that are meant for printed copies
- element handoutnotes { dbs.handoutnotes.attlist,
- db.all.blocks+
- }
- ## Role attribute for the handoutnotes element
- dbs.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.attributes
- dbs.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 }
|