blob: 16fb9fa13f52c4ea62cb903dbef90dab1eb3cda4 [file] [log] [blame]
# =============================================================
# HEADER
# =============================================================
# MODULE: DITA Common Elements
# VERSION: 1.1
# DATE: June 2006
#
# =============================================================
# =============================================================
# PUBLIC DOCUMENT TYPE DEFINITION
# TYPICAL INVOCATION
#
# Refer to this file by the following public identifier or an
# appropriate system identifier
# PUBLIC "-//OASIS//ELEMENTS DITA Common Elements//EN"
# Delivered as file "commonElements.mod"
# =============================================================
# SYSTEM: Darwin Information Typing Architecture (DITA)
#
# PURPOSE: Declaring the elements and specialization
# attributes for content elements used in both
# topics and maps.
#
# ORIGINAL CREATION DATE:
# June 2006
#
# (C) Copyright OASIS Open 2005, 2006.
# (C) Copyright IBM Corporation 2001, 2004.
# All Rights Reserved.
#
# UPDATES:
# 2006.06.06 RDA: Add data element
# 2006.06.07 RDA: Add @scale to image
# 2006.06.07 RDA: Add index-base element
# 2006.06.07 RDA: Make universal attributes universal
# (DITA 1.1 proposal #12)
# 2006.06.07 RDA: Add unknown element
# 2006.06.14 RDA: Add dir attribute to localization-atts
# =============================================================
# =============================================================
# ELEMENT NAME ENTITIES
# =============================================================
# =============================================================
# COMMON ATTLIST SETS
# =============================================================
# Phrase/inline elements of various classes
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
basic.ph = ph | term | xref | cite | q | boolean | state | keyword | tm
# Elements common to most body-like contexts
basic.block =
p
| lq
| note
| dl
| ul
| ol
| sl
| pre
| lines
| fig
| image
| object
| table
| simpletable
# class groupings to preserve in a schema
basic.phandblock = basic.ph | basic.block
# Exclusions: models modified by removing excluded content
basic.ph.noxref = ph | term | q | boolean | state | keyword | tm
basic.ph.notm = ph | term | xref | cite | q | boolean | state | keyword
basic.block.notbl =
p | lq | note | dl | ul | ol | sl | pre | lines | fig | image | object
basic.block.nonote =
p
| lq
| dl
| ul
| ol
| sl
| pre
| lines
| fig
| image
| object
| table
| simpletable
basic.block.nopara =
lq
| note
| dl
| ul
| ol
| sl
| pre
| lines
| fig
| image
| object
| table
| simpletable
basic.block.nolq =
p
| note
| dl
| ul
| ol
| sl
| pre
| lines
| fig
| image
| object
| table
| simpletable
basic.block.notbnofg =
p | lq | note | dl | ul | ol | sl | pre | lines | image | object
basic.block.notbfgobj =
p | lq | note | dl | ul | ol | sl | pre | lines | image
# Inclusions: defined sets that can be added into appropriate models
txt.incl =
draft-comment | required-cleanup | fn | indextermref | indexterm
# Metadata elements intended for specialization
data.elements.incl = data | data-about
foreign.unknown.incl = foreign | unknown
# Predefined content model groups, based on the previous, element-only categories:
# txt.incl is appropriate for any mixed content definitions (those that have PCDATA)
# the context for blocks is implicitly an InfoMaster "containing_division"
listitem.cnt =
text
| basic.ph
| basic.block
| itemgroup
| txt.incl
| data.elements.incl
| foreign.unknown.incl
itemgroup.cnt =
text
| basic.ph
| basic.block
| txt.incl
| data.elements.incl
| foreign.unknown.incl
title.cnt =
text
| basic.ph.noxref
| image
| data.elements.incl
| foreign.unknown.incl
xreftext.cnt =
text
| basic.ph.noxref
| image
| data.elements.incl
| foreign.unknown.incl
xrefph.cnt =
text | basic.ph.noxref | data.elements.incl | foreign.unknown.incl
shortquote.cnt =
text | basic.ph | data.elements.incl | foreign.unknown.incl
para.cnt =
text
| basic.ph
| basic.block.nopara
| txt.incl
| data.elements.incl
| foreign.unknown.incl
note.cnt =
text
| basic.ph
| basic.block.nonote
| txt.incl
| data.elements.incl
| foreign.unknown.incl
longquote.cnt =
text
| basic.ph
| basic.block.nolq
| txt.incl
| data.elements.incl
| foreign.unknown.incl
tblcell.cnt =
text
| basic.ph
| basic.block.notbl
| txt.incl
| data.elements.incl
| foreign.unknown.incl
desc.cnt =
text
| basic.ph
| basic.block.notbfgobj
| data.elements.incl
| foreign.unknown.incl
ph.cnt =
text
| basic.ph
| image
| txt.incl
| data.elements.incl
| foreign.unknown.incl
fn.cnt =
text
| basic.ph
| basic.block.notbl
| data.elements.incl
| foreign.unknown.incl
term.cnt =
text | basic.ph | image | data.elements.incl | foreign.unknown.incl
defn.cnt =
text
| basic.ph
| basic.block
| itemgroup
| txt.incl
| data.elements.incl
| foreign.unknown.incl
pre.cnt =
text | basic.ph | txt.incl | data.elements.incl | foreign.unknown.incl
fig.cnt =
basic.block.notbnofg
| simpletable
| xref
| fn
| data.elements.incl
| foreign.unknown.incl
words.cnt =
text | keyword | term | data.elements.incl | foreign.unknown.incl
data.cnt = words.cnt | image | object | ph | title
# =============================================================
# COMMON ATTLIST SETS
# =============================================================
# Copied into metaDecl.mod
# <!ENTITY % date-format 'CDATA' >
display-atts =
attribute scale {
"50"
| "60"
| "70"
| "80"
| "90"
| "100"
| "110"
| "120"
| "140"
| "160"
| "180"
| "200"
}?,
attribute frame {
"top" | "bottom" | "topbot" | "all" | "sides" | "none"
}?,
attribute expanse { "page" | "column" | "textline" }?
# Provide a default of no attribute extensions
filter-atts =
attribute props { text }?,
attribute base { text }?,
attribute platform { text }?,
attribute product { text }?,
attribute audience { text }?,
attribute otherprops { text }?,
props-attribute-extensions,
base-attribute-extensions
select-atts =
filter-atts,
attribute importance {
"obsolete"
| "deprecated"
| "optional"
| "default"
| "low"
| "normal"
| "high"
| "recommended"
| "required"
| "urgent"
}?,
attribute rev { text }?,
attribute status { "new" | "changed" | "deleted" | "unchanged" }?
id-atts =
attribute id { xsd:NMTOKEN }?,
attribute conref { text }?
# Attributes related to localization that are used everywhere
localization-atts =
attribute translate { "yes" | "no" }?,
attribute xml:lang { xsd:NMTOKEN }?,
attribute dir { "ltr" | "rtl" | "lro" | "rlo" }?
# The following entity should be used when defaulting a new
# element to translate="no", so that other (or new) localization
# attributes will always be included.
localization-atts-translate-no =
[ a:defaultValue = "no" ] attribute translate { "yes" | "no" }?,
attribute xml:lang { xsd:NMTOKEN }?,
attribute dir { "ltr" | "rtl" | "lro" | "rlo" }?
univ-atts = id-atts, select-atts, localization-atts
univ-atts-translate-no =
id-atts, select-atts, localization-atts-translate-no
global-atts =
attribute xtrc { text }?,
attribute xtrf { text }?
# =============================================================
# ELEMENT DECLARATIONS
# =============================================================
# LONG NAME: Data About
data-about.element =
element data-about { data-about.attlist, data, (data | data-about)* }
data-about.attlist &=
univ-atts,
attribute href { text }?,
attribute format { text }?,
attribute type { text }?,
attribute scope { "local" | "peer" | "external" }?,
attribute outputclass { text }?
data-element-atts =
univ-atts,
attribute name { text }?,
attribute datatype { text }?,
attribute value { text }?,
attribute href { text }?,
attribute format { text }?,
attribute type { text }?,
attribute scope { "local" | "peer" | "external" }?,
attribute outputclass { text }?
# LONG NAME: Data element
data.element = element data { data.attlist, data.cnt* }
data.attlist &= data-element-atts
# LONG NAME: Unknown element
unknown.element = element unknown { unknown.attlist, any }
unknown.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Foreign content element
foreign.element = element foreign { foreign.attlist, any }
foreign.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Title
# This is referenced inside CALS table
title.element = element title { title.attlist, title.cnt* }
title.attlist &=
id-atts,
localization-atts,
attribute outputclass { text }?
# LONG NAME: Short Description
shortdesc.element = element shortdesc { shortdesc.attlist, title.cnt* }
shortdesc.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Description
# Desc is used in context with figure and
# table titles and also for content models
# within linkgroup and object (for
# accessibility)
desc.element = element desc { desc.attlist, desc.cnt* }
desc.attlist &=
univ-atts,
attribute outputclass { text }?
# =============================================================
# BASIC DOCUMENT ELEMENT DECLARATIONS
# (rich text)
# =============================================================
# LONG NAME: Paragraph
p.element = element p { p.attlist, para.cnt* }
p.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Note
note.element = element note { note.attlist, note.cnt* }
note.attlist &=
attribute type {
"note"
| "tip"
| "fastpath"
| "restriction"
| "important"
| "remember"
| "attention"
| "caution"
| "danger"
| "other"
}?,
attribute spectitle { text }?,
attribute othertype { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Long Quote (Excerpt)
lq.element = element lq { lq.attlist, longquote.cnt* }
lq.attlist &=
attribute href { text }?,
attribute keyref { text }?,
attribute type { "external" | "internal" | "bibliographic" }?,
attribute reftitle { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Quoted text
q.element = element q { q.attlist, shortquote.cnt* }
q.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Simple List
sl.element = element sl { sl.attlist, sli+ }
sl.attlist &=
attribute compact { "yes" | "no" }?,
attribute spectitle { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Simple List Item
sli.element = element sli { sli.attlist, ph.cnt* }
sli.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Unordered List
ul.element = element ul { ul.attlist, li+ }
ul.attlist &=
attribute compact { "yes" | "no" }?,
attribute spectitle { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Ordered List
ol.element = element ol { ol.attlist, li+ }
ol.attlist &=
attribute compact { "yes" | "no" }?,
attribute spectitle { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: List Item
li.element = element li { li.attlist, listitem.cnt* }
li.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Item Group
itemgroup.element =
element itemgroup { itemgroup.attlist, itemgroup.cnt* }
itemgroup.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Definition List
dl.element = element dl { dl.attlist, dlhead?, dlentry+ }
dl.attlist &=
attribute compact { "yes" | "no" }?,
attribute spectitle { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Definition List Head
dlhead.element = element dlhead { dlhead.attlist, dthd?, ddhd? }
dlhead.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Term Header
dthd.element = element dthd { dthd.attlist, title.cnt* }
dthd.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Definition Header
ddhd.element = element ddhd { ddhd.attlist, title.cnt* }
ddhd.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Definition List Entry
dlentry.element = element dlentry { dlentry.attlist, dt+, dd+ }
dlentry.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Definition Term
dt.element = element dt { dt.attlist, term.cnt* }
dt.attlist &=
attribute keyref { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Definition Description
dd.element = element dd { dd.attlist, defn.cnt* }
dd.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Figure
fig.element =
element fig { fig.attlist, title?, desc?, (figgroup | fig.cnt)* }
fig.attlist &=
display-atts,
attribute spectitle { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Figure Group
figgroup.element =
element figgroup {
figgroup.attlist, title?, (figgroup | xref | fn | ph | keyword)*
}
figgroup.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Preformatted Text
pre.element = element pre { pre.attlist, pre.cnt* }
pre.attlist &=
display-atts,
attribute spectitle { text }?,
[ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Line Respecting Text
lines.element = element lines { lines.attlist, pre.cnt* }
lines.attlist &=
display-atts,
attribute spectitle { text }?,
[ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }?,
univ-atts,
attribute outputclass { text }?
# =============================================================
# BASE FORM PHRASE TYPES
# =============================================================
# LONG NAME: Keyword
keyword.element = element keyword { keyword.attlist, (text | tm)* }
keyword.attlist &=
attribute keyref { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Term
term.element = element term { term.attlist, (text | tm)* }
term.attlist &=
attribute keyref { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Phrase
ph.element = element ph { ph.attlist, ph.cnt* }
ph.attlist &=
attribute keyref { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Trade Mark
tm.element = element tm { tm.attlist, (text | tm)* }
tm.attlist &=
univ-atts,
attribute trademark { text }?,
attribute tmowner { text }?,
attribute tmtype { "tm" | "reg" | "service" },
attribute tmclass { text }?
# LONG NAME: Boolean (deprecated)
boolean.element = element boolean { boolean.attlist, empty }
boolean.attlist &=
attribute state { "yes" | "no" },
univ-atts,
attribute outputclass { text }?
# LONG NAME: State
# A state can have a name and a string value,
# even if empty or indeterminate
state.element = element state { state.attlist, empty }
state.attlist &=
attribute name { text },
attribute value { text },
univ-atts,
attribute outputclass { text }?
# LONG NAME: Image Data
image.element = element image { image.attlist, alt? }
image.attlist &=
attribute href { text },
attribute keyref { xsd:NMTOKEN }?,
attribute alt { text }?,
attribute longdescref { text }?,
attribute height { xsd:NMTOKEN }?,
attribute width { xsd:NMTOKEN }?,
attribute align { text }?,
attribute scale { xsd:NMTOKEN }?,
[ a:defaultValue = "inline" ]
attribute placement { "inline" | "break" }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Alternate text
alt.element = element alt { alt.attlist, words.cnt* }
alt.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Object (Streaming/Executable
# Data)
object.element =
element object {
object.attlist, desc?, param*, foreign.unknown.incl*
}
object.attlist &=
attribute declare { "declare" }?,
attribute classid { text }?,
attribute codebase { text }?,
attribute data { text }?,
attribute type { text }?,
attribute codetype { text }?,
attribute archive { text }?,
attribute standby { text }?,
attribute height { xsd:NMTOKEN }?,
attribute width { xsd:NMTOKEN }?,
attribute usemap { text }?,
attribute name { text }?,
attribute tabindex { xsd:NMTOKEN }?,
attribute longdescre { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Parameter
param.element = element param { param.attlist, empty }
param.attlist &=
univ-atts,
attribute name { text },
attribute value { text }?,
attribute valuetype { "data" | "ref" | "object" }?,
attribute type { text }?
# LONG NAME: Simple Table
simpletable.element =
element simpletable { simpletable.attlist, sthead?, strow+ }
simpletable.attlist &=
attribute relcolwidth { text }?,
attribute keycol { xsd:NMTOKEN }?,
attribute refcols { xsd:NMTOKENS }?,
display-atts,
attribute spectitle { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Simple Table Head
sthead.element = element sthead { sthead.attlist, stentry+ }
sthead.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Simple Table Row
strow.element = element strow { strow.attlist, stentry* }
strow.attlist &=
univ-atts,
attribute outputclass { text }?
# LONG NAME: Simple Table Cell (entry)
stentry.element = element stentry { stentry.attlist, tblcell.cnt* }
stentry.attlist &=
attribute specentry { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Review Comments Block
draft-comment.element =
element draft-comment {
draft-comment.attlist,
(text
| basic.phandblock
| data.elements.incl
| foreign.unknown.incl)*
}
draft-comment.attlist &=
attribute author { text }?,
attribute time { text }?,
attribute disposition {
"issue"
| "open"
| "accepted"
| "rejected"
| "deferred"
| "duplicate"
| "reopened"
| "unassigned"
| "completed"
}?,
univ-atts-translate-no,
attribute outputclass { text }?
# LONG NAME: Required Cleanup Block
required-cleanup.element =
element required-cleanup { required-cleanup.attlist, any }
required-cleanup.attlist &=
attribute remap { text }?,
univ-atts-translate-no,
attribute outputclass { text }?
# LONG NAME: Footnote
fn.element = element fn { fn.attlist, fn.cnt* }
fn.attlist &=
attribute callout { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Index Term
indexterm.element =
element indexterm {
indexterm.attlist, (words.cnt | indexterm | index-base)*
}
indexterm.attlist &=
attribute keyref { text }?,
attribute start { text }?,
attribute end { text }?,
univ-atts
# LONG NAME: Index Base
index-base.element =
element index-base { index-base.attlist, (words.cnt | indexterm)* }
index-base.attlist &=
attribute keyref { text }?,
univ-atts
# LONG NAME: Index term reference
indextermref.element =
element indextermref { indextermref.attlist, empty }
indextermref.attlist &=
attribute keyref { text },
univ-atts
# LONG NAME: Citation (bibliographic source)
cite.element = element cite { cite.attlist, xrefph.cnt* }
cite.attlist &=
attribute keyref { text }?,
univ-atts,
attribute outputclass { text }?
# LONG NAME: Cross Reference/Link
xref.element = element xref { xref.attlist, (xreftext.cnt | desc)* }
xref.attlist &=
attribute href { text }?,
attribute keyref { text }?,
attribute type { text }?,
univ-atts,
attribute format { text }?,
attribute scope { "local" | "peer" | "external" }?,
attribute outputclass { text }?
include "tblDecl.mod.rnc"
# =============================================================
# SPECIALIZATION ATTRIBUTE DECLARATIONS
# =============================================================
alt.attlist &=
global-atts,
[ a:defaultValue = "- topic/alt " ] attribute class { text }?
boolean.attlist &=
global-atts,
[ a:defaultValue = "- topic/boolean " ] attribute class { text }?
cite.attlist &=
global-atts,
[ a:defaultValue = "- topic/cite " ] attribute class { text }?
dd.attlist &=
global-atts,
[ a:defaultValue = "- topic/dd " ] attribute class { text }?
data.attlist &=
global-atts,
[ a:defaultValue = "- topic/data " ] attribute class { text }?
data-about.attlist &=
global-atts,
[ a:defaultValue = "- topic/data-about " ] attribute class { text }?
ddhd.attlist &=
global-atts,
[ a:defaultValue = "- topic/ddhd " ] attribute class { text }?
desc.attlist &=
global-atts,
[ a:defaultValue = "- topic/desc " ] attribute class { text }?
dl.attlist &=
global-atts,
[ a:defaultValue = "- topic/dl " ] attribute class { text }?
dlentry.attlist &=
global-atts,
[ a:defaultValue = "- topic/dlentry " ] attribute class { text }?
dlhead.attlist &=
global-atts,
[ a:defaultValue = "- topic/dlhead " ] attribute class { text }?
draft-comment.attlist &=
global-atts,
[ a:defaultValue = "- topic/draft-comment " ]
attribute class { text }?
dt.attlist &=
global-atts,
[ a:defaultValue = "- topic/dt " ] attribute class { text }?
dthd.attlist &=
global-atts,
[ a:defaultValue = "- topic/dthd " ] attribute class { text }?
fig.attlist &=
global-atts,
[ a:defaultValue = "- topic/fig " ] attribute class { text }?
figgroup.attlist &=
global-atts,
[ a:defaultValue = "- topic/figgroup " ] attribute class { text }?
fn.attlist &=
global-atts,
[ a:defaultValue = "- topic/fn " ] attribute class { text }?
foreign.attlist &=
global-atts,
[ a:defaultValue = "- topic/foreign " ] attribute class { text }?
image.attlist &=
global-atts,
[ a:defaultValue = "- topic/image " ] attribute class { text }?
indexterm.attlist &=
global-atts,
[ a:defaultValue = "- topic/indexterm " ] attribute class { text }?
index-base.attlist &=
global-atts,
[ a:defaultValue = "- topic/index-base " ] attribute class { text }?
indextermref.attlist &=
global-atts,
[ a:defaultValue = "- topic/indextermref " ] attribute class { text }?
itemgroup.attlist &=
global-atts,
[ a:defaultValue = "- topic/itemgroup " ] attribute class { text }?
keyword.attlist &=
global-atts,
[ a:defaultValue = "- topic/keyword " ] attribute class { text }?
li.attlist &=
global-atts,
[ a:defaultValue = "- topic/li " ] attribute class { text }?
lines.attlist &=
global-atts,
[ a:defaultValue = "- topic/lines " ] attribute class { text }?
lq.attlist &=
global-atts,
[ a:defaultValue = "- topic/lq " ] attribute class { text }?
note.attlist &=
global-atts,
[ a:defaultValue = "- topic/note " ] attribute class { text }?
object.attlist &=
global-atts,
[ a:defaultValue = "- topic/object " ] attribute class { text }?
ol.attlist &=
global-atts,
[ a:defaultValue = "- topic/ol " ] attribute class { text }?
p.attlist &=
global-atts,
[ a:defaultValue = "- topic/p " ] attribute class { text }?
param.attlist &=
global-atts,
[ a:defaultValue = "- topic/param " ] attribute class { text }?
ph.attlist &=
global-atts,
[ a:defaultValue = "- topic/ph " ] attribute class { text }?
pre.attlist &=
global-atts,
[ a:defaultValue = "- topic/pre " ] attribute class { text }?
q.attlist &=
global-atts,
[ a:defaultValue = "- topic/q " ] attribute class { text }?
required-cleanup.attlist &=
global-atts,
[ a:defaultValue = "- topic/required-cleanup " ]
attribute class { text }?
simpletable.attlist &=
global-atts,
[ a:defaultValue = "- topic/simpletable " ] attribute class { text }?
sl.attlist &=
global-atts,
[ a:defaultValue = "- topic/sl " ] attribute class { text }?
sli.attlist &=
global-atts,
[ a:defaultValue = "- topic/sli " ] attribute class { text }?
state.attlist &=
global-atts,
[ a:defaultValue = "- topic/state " ] attribute class { text }?
stentry.attlist &=
global-atts,
[ a:defaultValue = "- topic/stentry " ] attribute class { text }?
sthead.attlist &=
global-atts,
[ a:defaultValue = "- topic/sthead " ] attribute class { text }?
strow.attlist &=
global-atts,
[ a:defaultValue = "- topic/strow " ] attribute class { text }?
term.attlist &=
global-atts,
[ a:defaultValue = "- topic/term " ] attribute class { text }?
title.attlist &=
global-atts,
[ a:defaultValue = "- topic/title " ] attribute class { text }?
tm.attlist &=
global-atts,
[ a:defaultValue = "- topic/tm " ] attribute class { text }?
ul.attlist &=
global-atts,
[ a:defaultValue = "- topic/ul " ] attribute class { text }?
unknown.attlist &=
global-atts,
[ a:defaultValue = "- topic/unknown " ] attribute class { text }?
xref.attlist &=
global-atts,
[ a:defaultValue = "- topic/xref " ] attribute class { text }?
# ================== End Common Elements Module ==============