# =============================================================

# 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  ==============
