summaryrefslogtreecommitdiff
path: root/etc/schema/soextbl.rnc
diff options
context:
space:
mode:
Diffstat (limited to 'etc/schema/soextbl.rnc')
-rw-r--r--etc/schema/soextbl.rnc260
1 files changed, 260 insertions, 0 deletions
diff --git a/etc/schema/soextbl.rnc b/etc/schema/soextbl.rnc
new file mode 100644
index 00000000000..2e69127b4a2
--- /dev/null
+++ b/etc/schema/soextbl.rnc
@@ -0,0 +1,260 @@
+# XML EXCHANGE TABLE MODEL DECLARATION MODULE
+
+# This set of declarations defines the XML version of the Exchange
+# Table Model as of the date shown in the Formal Public Identifier
+# (FPI) for this entity.
+#
+# This set of declarations may be referred to using a public external
+# entity declaration and reference as shown in the following three
+# lines:
+#
+# <!ENTITY % calstblx
+# PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN">
+# %calstblx;
+#
+# If various parameter entities used within this set of declarations
+# are to be given non-default values, the appropriate declarations
+# should be given before calling in this package (i.e., before the
+# "%calstblx;" reference).
+
+# The motivation for this XML version of the Exchange Table Model
+# is simply to create an XML version of the SGML Exchange Table
+# Model. By design, no effort has been made to "improve" the model.
+#
+# This XML version incorporates the logical bare minimum changes
+# necessary to make the Exchange Table Model a valid XML DTD.
+
+# The XML version of the Exchange Table Model differs from
+# the SGML version in the following ways:
+#
+# The following parameter entities have been removed:
+#
+# - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep
+# There are no exceptions in XML. The following normative statement
+# is made in lieu of exceptions: the exchange table model explicitly
+# forbids a table from occurring within another table. If the
+# content model of an entry includes a table element, then this
+# cannot be enforced by the DTD, but it is a deviation from the
+# exchange table model to include a table within a table.
+#
+# - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att
+# The motivation for these elements was to change the table
+# header/footer elements. Since XML does not allow element declarations
+# to contain name groups, and the exchange table model does not
+# allow a table to contain footers, the continued presence of these
+# attributes seems unnecessary.
+#
+# The following parameter entity has been added:
+#
+# - tbl.thead.att
+# This entity parameterizes the attributes on thead. It replaces
+# the tbl.hdft.att parameter entity.
+#
+# Other miscellaneous changes:
+#
+# - Tag ommission indicators have been removed
+# - Comments have been removed from declarations
+# - NUMBER attributes have been changed to NMTOKEN
+# - NUTOKEN attributes have been to changed to NMTOKEN
+# - Removed the grouping characters around the content model
+# parameter entry for the 'entry' element. This is necessary
+# so that an entry can contain #PCDATA and be defined as an
+# optional, repeatable OR group beginning with #PCDATA.
+
+# This entity includes a set of element and attribute declarations
+# that partially defines the Exchange table model. However, the model
+# is not well-defined without the accompanying natural language
+# description of the semantics (meanings) of these various elements,
+# attributes, and attribute values. The semantic writeup, also available
+# from SGML Open, should be used in conjunction with this entity.
+
+# In order to use the Exchange table model, various parameter entity
+# declarations are required. A brief description is as follows:
+#
+# ENTITY NAME WHERE USED WHAT IT IS
+#
+# %yesorno In ATTLIST of: An attribute declared value
+# almost all elements for a "boolean" attribute
+#
+# %paracon In content model of: The "text" (logical content)
+# <entry> of the model group for <entry>
+#
+# %titles In content model of: The "title" part of the model
+# table element group for the table element
+#
+# %tbl.table.name In declaration of: The name of the "table"
+# table element element
+#
+# %tbl.table-titles.mdl In content model of: The model group for the title
+# table elements part of the content model for
+# table element
+#
+# %tbl.table.mdl In content model of: The model group for the content
+# table elements model for table element,
+# often (and by default) defined
+# in terms of %tbl.table-titles.mdl
+# and tgroup
+#
+# %tbl.table.att In ATTLIST of: Additional attributes on the
+# table element table element
+#
+# %bodyatt In ATTLIST of: Additional attributes on the
+# table element table element (for backward
+# compatibility with the SGML
+# model)
+#
+# %tbl.tgroup.mdl In content model of: The model group for the content
+# <tgroup> model for <tgroup>
+#
+# %tbl.tgroup.att In ATTLIST of: Additional attributes on the
+# <tgroup> <tgroup> element
+#
+# %tbl.thead.att In ATTLIST of: Additional attributes on the
+# <thead> <thead> element
+#
+# %tbl.tbody.att In ATTLIST of: Additional attributes on the
+# <tbody> <tbody> element
+#
+# %tbl.colspec.att In ATTLIST of: Additional attributes on the
+# <colspec> <colspec> element
+#
+# %tbl.row.mdl In content model of: The model group for the content
+# <row> model for <row>
+#
+# %tbl.row.att In ATTLIST of: Additional attributes on the
+# <row> <row> element
+#
+# %tbl.entry.mdl In content model of: The model group for the content
+# <entry> model for <entry>
+#
+# %tbl.entry.att In ATTLIST of: Additional attributes on the
+# <entry> <entry> element
+#
+# This set of declarations will use the default definitions shown below
+# for any of these parameter entities that are not declared before this
+# set of declarations is referenced.
+
+# These definitions are not directly related to the table model, but are
+# used in the default CALS table model and may be defined elsewhere (and
+# prior to the inclusion of this table module) in the referencing DTD.
+
+yesorno = xsd:NMTOKEN
+# no if zero(s), yes if any other value
+pcd = text
+paracon = pcd
+# default for use in entry content
+
+# The parameter entities as defined below change and simplify the CALS table
+# model as published (as part of the Example DTD) in MIL-HDBK-28001. The
+# resulting simplified DTD has support from the SGML Open vendors and is
+# therefore more interoperable among different systems.
+#
+# These following declarations provide the Exchange default definitions
+# for these entities. However, these entities can be redefined (by giving
+# the appropriate parameter entity declaration(s) prior to the reference
+# to this Table Model declaration set entity) to fit the needs of the
+# current application.
+#
+# Note, however, that changes may have significant effect on the ability to
+# interchange table information. These changes may manifest themselves
+# in useability, presentation, and possible structure information degradation.
+tbl.table-titles.mdl = title
+tbl.table-main.mdl = tgroup+
+tbl.table.mdl = tbl.table-titles.mdl | tbl.table-main.mdl
+tbl.table.att = attribute pgwide { yesorno }?
+bodyatt = empty
+tbl.tgroup.mdl = colspec*, thead?, tbody
+tbl.tgroup.att = empty
+tbl.thead.att = empty
+tbl.tbody.att = empty
+tbl.colspec.att = empty
+tbl.row.mdl = entry+
+tbl.row.att = empty
+tbl.entry.mdl = paracon*
+tbl.entry.att = empty
+# ===== Element and attribute declarations follow. =====
+
+# Default declarations previously defined in this entity and
+# referenced below include:
+# ENTITY % tbl.table.name "table"
+# ENTITY % tbl.table-titles.mdl "%titles;,"
+# ENTITY % tbl.table.mdl "%tbl.table-titles; tgroup+"
+# ENTITY % tbl.table.att "
+# pgwide %yesorno; #IMPLIED "
+table = element table { table.attlist, tbl.table.mdl }
+table.attlist &=
+ attribute frame {
+ "top" | "bottom" | "topbot" | "all" | "sides" | "none"
+ }?,
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ tbl.table.att,
+ bodyatt
+# Default declarations previously defined in this entity and
+# referenced below include:
+# ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody"
+# ENTITY % tbl.tgroup.att ""
+tgroup = element tgroup { tgroup.attlist, tbl.tgroup.mdl }
+tgroup.attlist &=
+ attribute cols { xsd:NMTOKEN },
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ attribute align { "left" | "right" | "center" | "justify" | "char" }?,
+ tbl.tgroup.att
+# Default declarations previously defined in this entity and
+# referenced below include:
+# ENTITY % tbl.colspec.att ""
+colspec = element colspec { colspec.attlist, empty }
+colspec.attlist &=
+ attribute colnum { xsd:NMTOKEN }?,
+ attribute colname { xsd:NMTOKEN }?,
+ attribute colwidth { text }?,
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ attribute align { "left" | "right" | "center" | "justify" | "char" }?,
+ attribute char { text }?,
+ attribute charoff { xsd:NMTOKEN }?,
+ tbl.colspec.att
+# Default declarations previously defined in this entity and
+# referenced below include:
+# ENTITY % tbl.thead.att ""
+thead = element thead { thead.attlist, row+ }
+thead.attlist &=
+ attribute valign { "top" | "middle" | "bottom" }?,
+ tbl.thead.att
+# Default declarations previously defined in this entity and
+# referenced below include:
+# ENTITY % tbl.tbody.att ""
+tbody = element tbody { tbody.attlist, row+ }
+tbody.attlist &=
+ attribute valign { "top" | "middle" | "bottom" }?,
+ tbl.tbody.att
+# Default declarations previously defined in this entity and
+# referenced below include:
+# ENTITY % tbl.row.mdl "entry+"
+# ENTITY % tbl.row.att ""
+row = element row { row.attlist, tbl.row.mdl }
+row.attlist &=
+ attribute rowsep { yesorno }?,
+ attribute valign { "top" | "middle" | "bottom" }?,
+ tbl.row.att
+# Default declarations previously defined in this entity and
+# referenced below include:
+# ENTITY % paracon "#PCDATA"
+# ENTITY % tbl.entry.mdl "(%paracon;)*"
+# ENTITY % tbl.entry.att ""
+entry = element entry { entry.attlist, tbl.entry.mdl }
+entry.attlist &=
+ attribute colname { xsd:NMTOKEN }?,
+ attribute namest { xsd:NMTOKEN }?,
+ attribute nameend { xsd:NMTOKEN }?,
+ attribute morerows { xsd:NMTOKEN }?,
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ attribute align { "left" | "right" | "center" | "justify" | "char" }?,
+ attribute char { text }?,
+ attribute charoff { xsd:NMTOKEN }?,
+ attribute valign { "top" | "middle" | "bottom" }?,
+ tbl.entry.att
+title |= notAllowed
+start = table