lfs-ru/stylesheets/lfs-xsl/docbook-xsl-1.79.1/slides/schema/relaxng/slides.rnc
2023-05-25 00:08:02 +05:00

207 lines
5.4 KiB
Plaintext

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 }