summaryrefslogtreecommitdiffstats
path: root/doc/editor_configs/xmlmind/addon
diff options
context:
space:
mode:
Diffstat (limited to 'doc/editor_configs/xmlmind/addon')
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/common.incl652
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/cals_table.imp24
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/collapsible.imp135
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/docbook1.imp1157
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/docbook2.imp1292
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/example1.css20
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/html_cals_table.imp101
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/image.imp23
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/print.imp15
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/refentry.imp524
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/scons.css17
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/structure.css140
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/table.imp87
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/css/visible_inclusions.css9
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/htmlTable.incl195
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons.css11
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons.xxe37
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons2.xml7
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_catalog.xml9
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_templates/appendix.xml10
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_templates/article.xml20
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_templates/book.xml23
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_templates/chapter.xml10
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_templates/glossary.xml16
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_templates/part.xml13
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_templates/refentry.xml25
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_templates/sconsdoc.xml15
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_templates/section.xml7
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/calstblx.xsd390
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbhierx.xsd2186
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbnotnx.xsd102
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbpoolx.xsd8682
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/htmltblx.xsd431
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/scons.xsd99
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/xml.xsd15
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/toolBar.incl189
-rw-r--r--doc/editor_configs/xmlmind/addon/config/scons/xslMenu.incl688
37 files changed, 17376 insertions, 0 deletions
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/common.incl b/doc/editor_configs/xmlmind/addon/config/scons/common.incl
new file mode 100644
index 0000000..eafa0a4
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/common.incl
@@ -0,0 +1,652 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<configuration
+ xmlns="http://www.xmlmind.com/xmleditor/schema/configuration"
+ xmlns:cfg="http://www.xmlmind.com/xmleditor/schema/configuration">
+
+ <translation location="docbook_en.properties" />
+
+ <inclusionScheme name="XInclude">
+ <class>com.xmlmind.xml.xinclude.XIncludeScheme</class>
+ </inclusionScheme>
+
+ <cfg:preserveSpace xmlns=""
+ elements="address funcsynopsisinfo classsynopsisinfo
+ literallayout programlisting screen synopsis" />
+
+ <cfg:documentResources xmlns="">
+ <cfg:resource path="//@fileref" />
+ </cfg:documentResources>
+
+ <!-- Fixes the cols attribute of tgroup and entrytbl if needed to -->
+ <validateHook>
+ <class>com.xmlmind.xmleditext.docbook.table.ValidateHookImpl</class>
+ </validateHook>
+
+ <cfg:spellCheckOptions xmlns=""
+ useAutomaticSpellChecker="true"
+ languageAttribute="lang"
+ skippedElements="address programlisting screen synopsis code sgmltag
+ classsynopsisinfo modifier package classname
+ interfacename exceptionname varname methodname
+ funcsynopsisinfo modifier type function
+ initializer parameter funcparams
+ lhs rhs nonterminal" />
+
+ <!-- Menu ============================================================== -->
+
+ <command name="docb.tableEdit">
+ <class>com.xmlmind.xmleditext.docbook.DBTableEdit</class>
+ </command>
+
+ <command name="docb.promote">
+ <class>com.xmlmind.xmleditext.docbook.Promote</class>
+ </command>
+ <command name="docb.demote">
+ <class>com.xmlmind.xmleditext.docbook.Demote</class>
+ </command>
+
+ <command name="docb.toggleInformal">
+ <macro undoable="true"
+ label="Convert informal&lt;element&gt; to/from &lt;element&gt;">
+ <choice>
+ <sequence>
+ <command name="selectNode"
+ parameter="ancestorOrSelf[implicitElement]
+ informaltable informalfigure informalexample" />
+
+ <!-- DocBook 4.3 supports HTML tables and we will *not* attempt to
+ transform an HTML informaltable to a HTML table
+ with a caption. -->
+
+ <test context="$selected"
+ expression="local-name() != 'informaltable' or ./tgroup" />
+
+ <command name="selectNode" parameter="children" />
+ <command name="copy" />
+ <command name="selectNode" parameter="parent" />
+ <get context="$selected"
+ expression="substring-after(local-name(), 'informal')" />
+ <command name="replace" parameter="%_" />
+ <set variable="selectedNodes" context="$selected"
+ expression="./*[position() &gt; 1]" />
+ <command name="paste" parameter="to" />
+ </sequence>
+
+ <sequence>
+ <command name="selectNode"
+ parameter="ancestorOrSelf[implicitElement] table figure example" />
+ <!-- Assumes that first child is a title and not a blockinfo. -->
+ <set variable="selectedNodes" context="$selected"
+ expression="./*[position() &gt; 1]" />
+ <command name="copy" />
+ <command name="selectNode" parameter="parent" />
+ <get context="$selected"
+ expression="concat('informal', local-name())" />
+ <command name="replace" parameter="%_" />
+ <command name="selectNode" parameter="children" />
+ <command name="paste" parameter="to" />
+ </sequence>
+ </choice>
+ </macro>
+ </command>
+
+ <menu label="_DocBook">
+ <menu label="C_olumn">
+ <item label="_Insert Before"
+ icon="scons_icons/insertColumnBefore.png"
+ command="docb.tableEdit" parameter="insertColumnBefore"/>
+ <item label="I_nsert After"
+ icon="scons_icons/insertColumnAfter.png"
+ command="docb.tableEdit" parameter="insertColumnAfter"/>
+ <separator />
+ <item label="_Cut"
+ icon="scons_icons/cut.png"
+ command="docb.tableEdit" parameter="cutColumn"/>
+ <item label="C_opy"
+ icon="scons_icons/copy.png"
+ command="docb.tableEdit" parameter="copyColumn"/>
+ <item label="_Paste Before"
+ icon="scons_icons/pasteBefore.png"
+ command="docb.tableEdit" parameter="pasteColumnBefore"/>
+ <item label="P_aste After"
+ icon="scons_icons/pasteAfter.png"
+ command="docb.tableEdit" parameter="pasteColumnAfter"/>
+ <item label="_Delete"
+ icon="scons_icons/deleteColumn.png"
+ command="docb.tableEdit" parameter="deleteColumn"/>
+ </menu>
+ <menu label="_Row">
+ <item label="_Insert Before"
+ icon="scons_icons/insertRowBefore.png"
+ command="docb.tableEdit" parameter="insertRowBefore"/>
+ <item label="I_nsert After"
+ icon="scons_icons/insertRowAfter.png"
+ command="docb.tableEdit" parameter="insertRowAfter"/>
+ <separator />
+ <item label="_Cut"
+ icon="scons_icons/cut.png"
+ command="docb.tableEdit" parameter="cutRow"/>
+ <item label="C_opy"
+ icon="scons_icons/copy.png"
+ command="docb.tableEdit" parameter="copyRow"/>
+ <item label="_Paste Before"
+ icon="scons_icons/pasteBefore.png"
+ command="docb.tableEdit" parameter="pasteRowBefore"/>
+ <item label="P_aste After"
+ icon="scons_icons/pasteAfter.png"
+ command="docb.tableEdit" parameter="pasteRowAfter"/>
+ <item label="_Delete"
+ icon="scons_icons/deleteRow.png"
+ command="docb.tableEdit" parameter="deleteRow"/>
+ </menu>
+ <menu label="C_ell">
+ <item label="_Increment Column Span"
+ icon="scons_icons/incrementColumnSpan.png"
+ command="docb.tableEdit" parameter="incrColumnSpan"/>
+ <item label="_Decrement Column Span"
+ icon="scons_icons/decrementColumnSpan.png"
+ command="docb.tableEdit" parameter="decrColumnSpan"/>
+ <separator />
+ <item label="I_ncrement Row Span"
+ icon="scons_icons/incrementRowSpan.png"
+ command="docb.tableEdit" parameter="incrRowSpan"/>
+ <item label="D_ecrement Row Span"
+ icon="scons_icons/decrementRowSpan.png"
+ command="docb.tableEdit" parameter="decrRowSpan"/>
+ </menu>
+ <separator />
+ <item label="Convert in_formal&lt;element&gt; to/from &lt;element&gt;"
+ command="docb.toggleInformal"/>
+ <separator />
+ <item label="_Go to Opposite Link End"
+ command="selectById" parameter="swapIdAndReference"/>
+ <item label="Go to _Next Link"
+ command="selectById" parameter="nextReference"/>
+ <item label="Go to _Previous Link"
+ command="selectById" parameter="previousReference"/>
+ <separator />
+ <item label="Move _Up"
+ icon="scons_icons/up.png"
+ command="moveElement" parameter="up" />
+ <item label="Move Do_wn"
+ icon="scons_icons/down.png"
+ command="moveElement" parameter="down" />
+ </menu>
+
+ <!-- Toolbar ============================================================ -->
+
+ <command name="docb.convertWithAttribute">
+ <macro repeatable="true" undoable="true" label="Convert">
+ <sequence>
+ <choice>
+ <command name="selectNode"
+ parameter="self[implicitElement] %0" />
+ <command name="convert"
+ parameter="[implicitElement] %0" />
+ </choice>
+ <command name="putAttribute" parameter="%1 %2" />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- Easier to implement with "add" instead of "insertNode" but slower. -->
+
+ <command name="docb.addListItem">
+ <macro>
+ <sequence>
+ <command name="selectNode"
+ parameter="ancestor[implicitElement] itemizedlist orderedlist
+ variablelist calloutlist procedure substeps
+ simplelist segmentedlist" />
+ <command name="selectNode" parameter="child" />
+ <command name="insertNode" parameter="sameElement%0" />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- This macro is required for DocBook where a para can contains
+ lists, tables, etc.
+ Note that this is not the case of para in Simplified DocBook. -->
+
+ <command name="docb.addAfter">
+ <macro>
+ <choice>
+ <sequence>
+ <command name="selectNode"
+ parameter="ancestorOrSelf[implicitElement] para" />
+ <command name="insert" parameter="after[implicitElement] %0" />
+ </sequence>
+ <command name="add" parameter="after[implicitElement] %0" />
+ </choice>
+ </macro>
+ </command>
+
+ <!-- Bindings =========================================================== -->
+
+ <binding>
+ <keyPressed code="F2" />
+ <keyPressed code="UP" />
+ <command name="moveElement" parameter="up" />
+ </binding>
+
+ <binding>
+ <keyPressed code="F2" />
+ <keyPressed code="DOWN" />
+ <command name="moveElement" parameter="down" />
+ </binding>
+
+ <!-- Inside a para or simpara (and only inside a para or simpara),
+ XXE attempts to behave like a word-processor. -->
+
+ <binding>
+ <keyPressed code="ENTER" />
+ <command name="docb.splitOrInsertNewLine" />
+ </binding>
+
+ <binding>
+ <keyPressed code="DELETE" />
+ <command name="docb.joinOrDeleteChar" />
+ </binding>
+
+ <binding>
+ <keyPressed code="BACK_SPACE" />
+ <command name="docb.joinOrDeleteChar" parameter="backwards" />
+ </binding>
+
+ <command name="docb.splitOrInsertNewLine">
+ <macro>
+ <choice>
+ <command name="insertControlChar" parameter="\n" />
+
+ <sequence>
+ <command name="selectNode"
+ parameter="ancestorOrSelf[implicitElement] simpara para" />
+ <command name="split" />
+ </sequence>
+ </choice>
+ </macro>
+ </command>
+
+ <command name="docb.joinOrDeleteChar">
+ <macro>
+ <choice>
+ <sequence>
+ <test
+ expression="($dot/ancestor::para or $dot/ancestor::simpara) and
+ not($selected) and not($mark)" />
+ <command name="deleteSelectionOrJoinOrDeleteChar" parameter="%0" />
+ </sequence>
+
+ <command name="deleteSelectionOrDeleteChar" parameter="%0" />
+ </choice>
+ </macro>
+ </command>
+
+ <!-- Easy way to add paragraphs and list items -->
+
+ <binding>
+ <keyPressed code="ENTER" modifiers="mod" />
+ <command name="docb.addSame" parameter="After" />
+ </binding>
+
+ <binding>
+ <keyPressed code="ENTER" modifiers="mod shift" />
+ <command name="docb.addSame" parameter="Before" />
+ </binding>
+
+ <command name="docb.addSame">
+ <macro>
+ <choice>
+ <sequence>
+ <command name="selectNode"
+ parameter="ancestorOrSelf[implicitElement] simpara para" />
+
+ <choice>
+ <sequence>
+ <match context="$selected"
+ pattern="listitem/*[position() = 1]|
+ callout/*[position() = 1]|
+ step/*[position() = 1]" />
+ <command name="docb.addListItem" parameter="%0" />
+ </sequence>
+
+ <command name="insertNode" parameter="sameElement%0" />
+ </choice>
+ </sequence>
+
+ <command name="docb.addListItem" parameter="%0" />
+ </choice>
+ </macro>
+ </command>
+
+ <!-- Note that Shift-Enter is not bound. -->
+
+ <!-- An easy way to paste paragraphs copied from another application. -->
+
+ <command name="docb.pasteAfterAsParagraphs">
+ <macro>
+ <sequence>
+ <command name="makeParagraphs" parameter="%0" />
+ <command name="paste" parameter="after[implicitElement] %_" />
+ </sequence>
+ </macro>
+ </command>
+
+ <binding>
+ <keyPressed code="ESCAPE" />
+ <charTyped char="w" />
+ <command name="docb.pasteAfterAsParagraphs" parameter="para" />
+ </binding>
+
+ <!-- An easy way to specify the URL in ulink -->
+
+ <binding>
+ <appEvent name="drop" />
+ <command name="docb.fileDrop" parameter="'%{value}'" />
+ </binding>
+
+ <command name="docb.fileDrop">
+ <macro>
+ <choice>
+ <sequence>
+ <match context="$clickedElement" pattern="ulink" />
+ <set variable="selectedElement" expression="$clickedElement" />
+
+ <set variable="dropped" context="$selectedElement"
+ expression="relativize-uri(uri-or-file-name('%0'))" />
+ <get expression="$dropped" />
+ <command name="putAttribute" parameter="url '%_'" />
+
+ <get expression="$dropped" />
+ <command name="status" parameter="url='%_'" />
+ </sequence>
+
+ <command name="XXE.open" parameter="%0" />
+ </choice>
+ </macro>
+ </command>
+
+ <!-- Element templates ================================================== -->
+
+ <!-- Unlike graphic, mediaobject/imageobject is also supported by
+ simplified docbook. -->
+
+ <elementTemplate name="image" selectable="override">
+ <figure xmlns="">
+ <title></title>
+ <mediaobject cfg:template="image" />
+ </figure>
+ </elementTemplate>
+
+ <elementTemplate name="screenshot">
+ <figure xmlns="">
+ <title></title>
+ <screenshot cfg:template="simple" />
+ </figure>
+ </elementTemplate>
+
+ <elementTemplate name="simple" selectable="override">
+ <screenshot xmlns="">
+ <screeninfo></screeninfo>
+ <mediaobject cfg:template="image" />
+ </screenshot>
+ </elementTemplate>
+
+ <!-- Replacement for automatically generated mediaobject
+ (which contains a textobject) -->
+
+ <elementTemplate name="image" selectable="override">
+ <mediaobject xmlns="">
+ <imageobject><imagedata cfg:template="simple" /></imageobject>
+ </mediaobject>
+ </elementTemplate>
+
+ <elementTemplate name="image" selectable="override">
+ <inlinemediaobject xmlns="">
+ <imageobject><imagedata cfg:template="simple" /></imageobject>
+ </inlinemediaobject>
+ </elementTemplate>
+
+ <!-- fileref is not a mandatory attribute of imagedata -->
+
+ <elementTemplate name="simple" selectable="override">
+ <imagedata xmlns="" fileref="???" />
+ </elementTemplate>
+
+ <!-- Replacement for automatically generated caption of a mediaobject
+ (which is empty) -->
+
+ <elementTemplate name="simple" selectable="override">
+ <caption xmlns="">
+ <para></para>
+ </caption>
+ </elementTemplate>
+
+ <!-- Replacement for automatically generated table
+ (which contains a graphic) -->
+
+ <elementTemplate name="simple" selectable="override">
+ <table xmlns="">
+ <title></title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </elementTemplate>
+
+<!--
+ <elementTemplate name="withPara" selectable="override">
+ <entry xmlns=""><para></para></entry>
+ </elementTemplate>
+
+ <elementTemplate name="withPara" selectable="override">
+ <entrytbl xmlns="" cols="2">
+ <tbody>
+ <row>
+ <entry><para></para></entry><entry><para></para></entry>
+ </row>
+ <row>
+ <entry><para></para></entry><entry><para></para></entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </elementTemplate>
+-->
+
+ <elementTemplate name="head_row">
+ <table xmlns="">
+ <title></title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry align="center"></entry><entry align="center"></entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </elementTemplate>
+
+ <elementTemplate name="head_column">
+ <table xmlns="">
+ <title></title>
+ <tgroup cols="2">
+ <colspec align="center"/>
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </elementTemplate>
+
+ <elementTemplate name="head_row_column">
+ <table xmlns="">
+ <title></title>
+ <tgroup cols="2">
+ <colspec align="center" />
+ <thead>
+ <row>
+ <entry align="center"></entry><entry align="center"></entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </elementTemplate>
+
+ <!-- Replacement for automatically generated informaltable
+ (which contains a graphic) -->
+
+ <elementTemplate name="simple" selectable="override">
+ <informaltable xmlns="">
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </elementTemplate>
+
+ <elementTemplate name="head_row">
+ <informaltable xmlns="">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry align="center"></entry><entry align="center"></entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </elementTemplate>
+
+ <elementTemplate name="head_column">
+ <informaltable xmlns="">
+ <tgroup cols="2">
+ <colspec align="center"/>
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </elementTemplate>
+
+ <elementTemplate name="head_row_column">
+ <informaltable xmlns="">
+ <tgroup cols="2">
+ <colspec align="center" />
+ <thead>
+ <row>
+ <entry align="center"></entry><entry align="center"></entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </elementTemplate>
+
+ <elementTemplate name="1x2">
+ <entrytbl xmlns="" cols="2">
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </elementTemplate>
+
+ <elementTemplate name="2x1">
+ <entrytbl xmlns="" cols="1">
+ <tbody>
+ <row>
+ <entry></entry>
+ </row>
+ <row>
+ <entry></entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </elementTemplate>
+
+ <elementTemplate name="2x2">
+ <entrytbl xmlns="" cols="2">
+ <tbody>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ <row>
+ <entry></entry><entry></entry>
+ </row>
+ </tbody>
+ </entrytbl>
+ </elementTemplate>
+
+ <!-- indexterm -->
+
+ <elementTemplate name="singular" selectable="override">
+ <indexterm xmlns=""><primary></primary></indexterm>
+ </elementTemplate>
+
+ <elementTemplate name="startofrange">
+ <indexterm xmlns="" id="???"
+ class="startofrange"><primary></primary></indexterm>
+ </elementTemplate>
+
+ <elementTemplate name="endofrange">
+ <indexterm xmlns="" class="endofrange" startref="???" />
+ </elementTemplate>
+
+ <!-- DocBook 4.3, Simplified DocBook 1.1, etc, support
+ both HTML and CALS tables. -->
+ <include location="htmlTable.incl" />
+</configuration>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/cals_table.imp b/doc/editor_configs/xmlmind/addon/config/scons/css/cals_table.imp
new file mode 100644
index 0000000..6e02a94
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/cals_table.imp
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2005-2009 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Styles for CALS tables (up to DocBook 4.2).
+ */
+
+@import "table.imp";
+
+/*
+ * "black" is the color used to draw a border around the table and its cells
+ * based on values of attributes such as frame, rowsep and colsep.
+ *
+ * "rgb(238,238,224)" (a very light gray) is the color used to draw
+ * a border around each cell whether the cell actually has borders or not.
+ * Remove this parameter if this ``cell footprint'' disturbs you.
+ *
+ * For more information about table support for DocBook, see
+ * XMLmind XML Editor - Configuration and Deployment.
+ */
+@extension "com.xmlmind.xmleditext.docbook.table.TableSupport black rgb(238,238,224)";
+
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/collapsible.imp b/doc/editor_configs/xmlmind/addon/config/scons/css/collapsible.imp
new file mode 100644
index 0000000..443f990
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/collapsible.imp
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2003-2007 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Styles for making sections and blocks with titles collapsible.
+ */
+
+set,
+book,
+part,
+reference,
+chapter,
+preface,
+article,
+sect1,
+sect2,
+sect3,
+sect4,
+section,
+appendix,
+figure,
+example,
+table {
+ collapsible: yes;
+ not-collapsible-head: 1; /* title or metainfo */
+}
+
+figure {
+ collapsed-content: url(icons/figure.png);
+ collapsed-content-align: center;
+}
+
+example {
+ collapsed-content: url(icons/para.png);
+ collapsed-content-align: center;
+}
+
+table {
+ collapsed-content: url(icons/table.png);
+ collapsed-content-align: center;
+}
+
+set > title:first-child:before,
+book > title:first-child:before,
+reference > title:first-child:before,
+preface > title:first-child:before,
+article > title:first-child:before,
+figure > title:before,
+example > title:before,
+table > title:before {
+ content: collapser() " ";
+}
+
+part > title:first-child:before {
+ content: collapser() " Part " simple-counter(n-, upper-roman) ": ";
+}
+
+chapter > title:first-child:before {
+ content: collapser() " Chapter " simple-counter(n-, decimal) ": ";
+}
+
+sect1 > title:first-child:before {
+ content: collapser() " " simple-counter(n-) " ";
+}
+
+sect2 > title:first-child:before {
+ content: collapser() " " simple-counter(nn-) " ";
+}
+
+sect3 > title:first-child:before {
+ content: collapser() " " simple-counter(nnn-) " ";
+}
+
+sect4 > title:first-child:before {
+ content: collapser() " " simple-counter(nnnn-) " ";
+}
+
+section > title:first-child:before {
+ content: collapser() " " simple-counter(n-) " ";
+}
+
+section section > title:first-child:before {
+ content: collapser() " " simple-counter(nn-) " ";
+}
+
+section section section > title:first-child:before {
+ content: collapser() " " simple-counter(nnn-) " ";
+}
+
+section section section section > title:first-child:before {
+ content: collapser() " " simple-counter(nnnn-) " ";
+}
+
+section section section * section > title:first-child:before {
+ content: "";
+}
+
+appendix > title:first-child:before {
+ content: collapser() " Appendix " simple-counter(n-, upper-alpha) ": ";
+}
+
+appendixinfo:first-child,
+articleinfo:first-child,
+bookinfo:first-child,
+chapterinfo:first-child,
+partinfo:first-child,
+prefaceinfo:first-child,
+referenceinfo:first-child,
+sect1info:first-child,
+sect2info:first-child,
+sect3info:first-child,
+sect4info:first-child,
+sectioninfo:first-child,
+setinfo:first-child {
+ margin-left: 20px;
+}
+
+appendixinfo:first-child:before,
+articleinfo:first-child:before,
+bookinfo:first-child:before,
+chapterinfo:first-child:before,
+partinfo:first-child:before,
+prefaceinfo:first-child:before,
+referenceinfo:first-child:before,
+sect1info:first-child:before,
+sect2info:first-child:before,
+sect3info:first-child:before,
+sect4info:first-child:before,
+sectioninfo:first-child:before,
+setinfo:first-child:before {
+ content: collapser();
+ display: marker;
+}
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/docbook1.imp b/doc/editor_configs/xmlmind/addon/config/scons/css/docbook1.imp
new file mode 100644
index 0000000..27a7561
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/docbook1.imp
@@ -0,0 +1,1157 @@
+/*
+ * Copyright (c) 2003-2010 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Styles for elements other than those found in Simplified DocBook.
+ */
+
+/* =====================================
+ Book structure
+===================================== */
+
+set {
+ display: block;
+}
+
+set > title {
+ font-size: 2.5em;
+ margin: 0.25ex 0;
+ border-width: 4px;
+ border-style: solid;
+ border-color: transparent transparent #004080 transparent;
+}
+
+book {
+ display: block;
+}
+
+book > title {
+ font-size: 2.5em;
+ margin: 0.25ex 0;
+ border-width: 3px;
+ border-style: solid;
+ border-color: transparent transparent #004080 transparent;
+}
+
+dedication,
+colophon {
+ display: block;
+ /* content of dedication has a margin */
+}
+
+part,
+reference {
+ display: block;
+}
+
+part > title,
+reference > title {
+ font-size: 2em;
+ margin: 0.5ex 0;
+ border-width: 2px;
+ border-style: solid;
+ border-color: transparent transparent #004080 transparent;
+}
+
+part > title:before {
+ content: "Part " simple-counter(n-, upper-roman) ": ";
+}
+
+partintro {
+ display: block;
+ /* content of partintro has a margin */
+}
+
+chapter,
+preface {
+ display: block;
+}
+
+chapter > title,
+preface > title {
+ font-size: 2em;
+ margin: 0.5ex 0;
+ border-width: 1px;
+ border-style: solid;
+ border-color: transparent transparent #004080 transparent;
+}
+
+chapter > title:before {
+ content: "Chapter " simple-counter(n-, decimal) ": ";
+}
+
+/* -------------------------------------
+ TOC
+------------------------------------- */
+
+toc {
+ display: block;
+ /* content of toc has a margin */
+}
+
+tocchap,
+tocpart {
+ display: block;
+ margin: 1.33ex 0;
+}
+
+tocfront,
+tocback,
+tocentry {
+ display: block;
+ /* no vertical margins to make it more compact */
+}
+
+toclevel1,
+toclevel2,
+toclevel3,
+toclevel4,
+toclevel5 {
+ display: block;
+ /* no vertical margins to make it more compact */
+}
+
+toclevel2,
+toclevel3,
+toclevel4,
+toclevel5 {
+ margin-left: 4ex;
+}
+
+/* -------------------------------------
+ LOT
+------------------------------------- */
+
+lot {
+ display: block;
+ /* content of lot has a margin */
+}
+
+lotentry {
+ display: block;
+ /* no vertical margins to make it more compact */
+}
+
+/* -------------------------------------
+ Glossary
+------------------------------------- */
+
+glossary,
+glossdiv {
+ display: block;
+ /* content of glossary has a margin */
+}
+
+glosslist {
+ display: block;
+ margin-left: 2ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+glossentry {
+ display: block;
+ /* no vertical margins to make it more compact */
+}
+
+glossterm {
+ display: inline;
+ font-style: italic;
+}
+
+glossentry > acronym,
+glossentry > abbrev,
+glossentry > indexterm,
+glossentry > revhistory {
+ display: block;
+ margin-left: 4ex;
+ margin-top: 0;
+ margin-bottom: 1.33ex;
+}
+
+glossdef,
+glosssee {
+ display: block;
+ margin-left: 4ex;
+ margin-bottom: 1.33ex;
+}
+
+glossdef > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+glossseealso {
+ display: block;
+ margin: 1.33ex 0;
+}
+
+glosssee:before,
+glossseealso:before {
+ display: inline;
+ font-size: small;
+ color: #004080;
+}
+
+glosssee:before {
+ content: "See ";
+}
+
+glossseealso:before {
+ content: "See also ";
+}
+
+/* -------------------------------------
+ Index
+------------------------------------- */
+
+index,
+setindex,
+indexdiv {
+ display: block;
+ /* content of index has a margin */
+}
+
+indexentry {
+ display: block;
+ /* no vertical margins to make it more compact */
+}
+
+primaryie,
+secondaryie,
+tertiaryie,
+seeie,
+seealsoie {
+ display: block;
+ /* no vertical margins to make it more compact */
+}
+
+secondaryie {
+ margin-left: 2ex;
+}
+
+tertiaryie {
+ margin-left: 4ex;
+}
+
+seeie,
+seealsoie {
+ margin-left: 6ex;
+}
+
+seeie:before,
+seealsoie:before {
+ display: inline;
+ font-size: small;
+ color: #004080;
+}
+
+seeie:before {
+ content: "See ";
+}
+
+seealsoie:before {
+ content: "See also ";
+}
+
+/* =====================================
+ Paragraphs
+===================================== */
+
+ackno {
+ display: block;
+ margin: 1.33ex 0;
+}
+
+address {
+ display: block;
+ white-space: pre;
+ margin: 1.33ex 0;
+}
+
+street,
+pob,
+postcode,
+city,
+state,
+country,
+phone,
+fax,
+otheraddr {
+ display: inline;
+}
+
+formalpara {
+ display: block;
+ /* content of formalpara has a margin */
+}
+
+/* =====================================
+ Lists
+===================================== */
+
+procedure {
+ display: block;
+ margin-left: 2ex; /* all lists are slightly indented */
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+stepalternatives,
+substeps {
+ display: block;
+}
+
+stepalternatives > *:first-child,
+substeps > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+step {
+ display: block;
+ margin-left: 6ex;
+}
+
+step > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+step:before {
+ display: marker;
+ content: simple-counter(n, decimal) ".";
+ font-weight: bold;
+ color: #004080;
+}
+
+step step:before {
+ content: simple-counter(n, lower-alpha) ".";
+}
+step step step:before {
+ content: simple-counter(n, decimal) ".";
+}
+step step step step:before {
+ content: simple-counter(n, lower-alpha) ".";
+}
+step step step step step:before {
+ content: simple-counter(n, decimal) ".";
+}
+
+segmentedlist {
+ display: block;
+ margin-left: 2ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+segmentedlist > title {
+ margin-top: 0;
+}
+
+segtitle {
+ display: inline;
+ font-weight: bold;
+ color: #004080;
+}
+
+seglistitem {
+ display: block;
+ margin: 1.33ex 0;
+}
+
+seg {
+ display: inline;
+}
+
+segtitle:before,
+seg:before {
+ content: " ";
+}
+
+segtitle:first-child:before,
+title + segtitle:before,
+seg:first-child:before {
+ content: "";
+}
+
+simplelist { /* also works for type=vert */
+ display: block;
+ margin-left: 2ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+member {
+ display: block;
+}
+
+simplelist[type=inline] > member,
+simplelist[type=horiz] > member {
+ display: inline;
+}
+
+simplelist[type=inline] > member:before {
+ content: ", ";
+ color: gray;
+}
+
+simplelist[type=horiz] > member:before {
+ content: " ";
+}
+
+simplelist[type=inline] > member:first-child:before,
+simplelist[type=horiz] > member:first-child:before {
+ content: "";
+}
+
+/* =====================================
+ Figures
+===================================== */
+
+graphic {
+ display: block;
+ margin: 1.33ex auto;
+}
+
+inlinegraphic {
+ display: inline;
+}
+
+/*
+ * Replaced content of graphic and inlinegraphic
+ * is defined in image.imp.
+ */
+
+equation,
+informalequation {
+ display: block;
+ margin: 1.33ex auto;
+}
+
+equation > title {
+ font-style: italic;
+ font-weight: normal;
+ text-align: center;
+ margin: 0; /* content of equation generally already has a margin */
+}
+
+mathphrase,
+alt {
+ display: block;
+ text-align: center;
+ margin: 1.33ex 0;
+}
+
+mathphrase {
+ font-style: italic;
+}
+
+alt {
+ font-size: small;
+ background-color: #EEEEFF;
+}
+
+inlineequation {
+ display: inline;
+}
+
+inlineequation > mathphrase,
+inlineequation > alt,
+inlineequation > graphic { /* inlineequation > graphic is a DTD bug */
+ display: inline;
+}
+
+screenshot {
+ display: block;
+ /* content of screenshot has a margin */
+}
+
+screeninfo {
+ display: block;
+ margin: 1.33ex 0;
+ font-size: small;
+ background-color: #EEEEFF;
+ text-align: center;
+}
+
+/* -------------------------------------
+ Callouts
+------------------------------------- */
+
+mediaobjectco {
+ display: block;
+ /* content of mediaobjectco has a margin */
+}
+
+graphicco,
+imageobjectco,
+programlistingco,
+screenco {
+ display: block;
+ /* content of graphicco has a margin */
+}
+
+areaspec,
+areaset,
+area {
+ display: tree;
+}
+
+co {
+ display: inline;
+ content: icon(left-half-disc) simple-counter(n) icon(right-half-disc);
+ color: #004080;
+}
+
+coref {
+ display: inline;
+ content: icon(left-half-disc) attr(linkend) icon(right-half-disc);
+ color: #004080;
+}
+
+calloutlist {
+ display: block;
+ margin-left: 2ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+callout {
+ display: block;
+ margin-left: 6ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+callout > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+calloutlist > callout:before {
+ display: marker;
+ content: icon(left-half-disc) simple-counter(n) icon(right-half-disc);
+ color: #004080;
+}
+
+/* =====================================
+ Divisions
+===================================== */
+
+highlights {
+ display: block;
+ margin-bottom: 1.33ex;
+ background-color: #F8E0F8;
+ border: thin solid #F880F8;
+ padding: 2px;
+}
+
+highlights:before {
+ display: block;
+ content: element-label();
+ font-weight: bold;
+ color: #E840E8;
+ margin-top: 1.33ex;
+}
+
+/* =====================================
+ Special sections
+===================================== */
+
+/* -------------------------------------
+ Task
+------------------------------------- */
+
+task {
+ display: block;
+ /* content of task has a margin */
+}
+
+tasksummary,
+taskprerequisites,
+taskrelated,
+task > procedure {
+ display: block;
+ margin-left: 2ex;
+ /* content of taskxxx has a margin */
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+/* -------------------------------------
+ Question-and-answer set
+------------------------------------- */
+
+qandaset,
+qandadiv {
+ display: block;
+ /* content of qandaset has a margin */
+}
+
+qandaentry {
+ display: block;
+ margin: 1.33ex 0;
+}
+
+question,
+answer {
+ display: block;
+ margin-left: 4ex;
+ /* content of question has a margin */
+}
+
+question > *:first-child,
+answer > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+question:before,
+answer:before {
+ display: marker;
+ color: #004080;
+ font-weight: bold;
+}
+
+question:before {
+ content: "Q:";
+}
+
+answer:before {
+ content: "A:";
+}
+
+label {
+ display: block;
+ margin: 1.33ex 0;
+ color: #004080;
+ font-weight: bold;
+}
+
+/* -------------------------------------
+ Set of messages
+------------------------------------- */
+
+msgset {
+ display: block;
+ /* content of msgset has a margin */
+}
+
+msgentry,
+simplemsgentry {
+ display: block;
+ margin: 1.33ex 0;
+ border: thin solid gray;
+ padding: 2px;
+}
+
+msg,
+msgmain,
+msgsub,
+msgrel,
+msgtext,
+msgexplan,
+msginfo {
+ display: block;
+ margin-left: 10ex;
+ /* content of msg has a margin */
+}
+
+msg > *:first-child,
+msgmain > *:first-child,
+msgsub > *:first-child,
+msgrel > *:first-child,
+msgtext > *:first-child,
+msgexplan > *:first-child,
+msginfo > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+msg:before,
+msgmain:before,
+msgsub:before,
+msgrel:before,
+simplemsgentry > msgtext:before,
+msgexplan:before,
+msginfo:before {
+ display: marker;
+ content: element-label();
+ font-size: small;
+ color: #004080;
+}
+
+msglevel,
+msgorig,
+msgaud {
+ display: inline;
+}
+
+msglevel:before,
+msgorig:before,
+msgaud:before {
+ content: icon(left-half-disc) element-local-name() " ";
+ font-size: small;
+ color: gray;
+}
+
+msglevel:after,
+msgorig:after,
+msgaud:after {
+ content: icon(right-half-disc);
+ color: gray;
+}
+
+/* -------------------------------------
+ Bibliography
+ (complements docbook2.imp)
+------------------------------------- */
+
+bibliocoverage,
+bibliorelation,
+bibliosource {
+ display: inline;
+}
+
+biblioid,
+isbn,
+issn,
+pubsnumber {
+ display: inline;
+}
+
+citebiblioid {
+ display: inline;
+}
+
+biblioref {
+ content: attr(linkend) icon(right-link);
+ vertical-align: text-top; /* for the icon */
+ color: navy;
+}
+
+/* -------------------------------------
+ Meta-information
+ (complements docbook2.imp)
+------------------------------------- */
+
+artpagenums,
+pagenums,
+seriesvolnums,
+invpartnumber {
+ display: inline;
+}
+
+itermset {
+ /* Could be block but inline is safer when used in strange places
+ and when used in meta-info, display is forced to be block. */
+ display: inline;
+}
+
+collab {
+ display: block; /* can contain affiliation */
+ margin: 1.33ex 0;
+}
+
+collabname {
+ display: inline;
+}
+
+confgroup {
+ display: block; /* can contain address */
+ margin: 1.33ex 0;
+}
+
+confdates,
+conftitle,
+confnum,
+confsponsor {
+ display: inline;
+}
+
+confdates:after,
+conftitle:after,
+confnum:after,
+confsponsor:after {
+ content: " ";
+}
+
+contractnum,
+contractsponsor {
+ display: inline;
+}
+
+publisher {
+ display: block; /* can contain address */
+ margin: 1.33ex 0;
+}
+
+printhistory {
+ display: block;
+ /* content of printhistory has a margin */
+}
+
+/* =====================================
+ Other elements
+===================================== */
+
+bridgehead {
+ display: block;
+ font-weight: bold;
+ color: #004080;
+ margin: 1.33ex 0;
+}
+
+bridgehead[renderas=sect1] {
+ font-size: 1.5em;
+ margin: .83ex 0;
+}
+
+bridgehead[renderas=sect2] {
+ font-size: 1.3em;
+ margin: 1ex 0;
+}
+
+/* ---------------------------------------------------------------------------
+ Inlined elements other than those belonging to modules
+
+ Note that default display is inline, so there is no need to specify it.
+--------------------------------------------------------------------------- */
+
+/* -------------------------------------
+ Technical
+------------------------------------- */
+
+keycombo {
+ display: inline;
+}
+
+keycombo > *:before {
+ content: icon(plus);
+ color: gray;
+}
+
+keycombo[action] > *:before {
+ content: " ";
+}
+
+keycombo[action=simul] > *:before {
+ content: icon(plus);
+}
+
+keycombo > *:first-child:before {
+ content: "";
+}
+
+keycap,
+keysym,
+mousebutton {
+ font-weight: bold;
+}
+
+keycode {
+ font-family: monospace;
+}
+
+menuchoice {
+ display: inline;
+}
+
+menuchoice > *:before {
+ content: icon(pop-right);
+ color: gray;
+}
+
+menuchoice > *:first-child:before,
+menuchoice > shortcut + *:before {
+ content: "";
+}
+
+shortcut {
+ display: inline;
+}
+
+/* shortcut:before should be enough but this selector makes this rule more
+ specific than the above one */
+
+menuchoice > shortcut:first-child:before {
+ content: "(";
+ color: gray;
+}
+
+shortcut:after {
+ content: ") ";
+ color: gray;
+}
+
+shortcut > *:before {
+ content: " ";
+}
+
+shortcut > *:first-child:before {
+ content: "";
+}
+
+guimenu,
+guisubmenu,
+guimenuitem,
+guibutton,
+guilabel,
+guiicon,
+accel,
+interface {
+ font-weight: bold;
+}
+
+accel {
+ text-decoration: underline;
+}
+
+action {
+ display: inline;
+}
+
+application,
+hardware,
+database,
+productnumber {
+ display: inline;
+}
+
+medialabel {
+ font-weight: bold;
+}
+
+package,
+uri,
+code,
+constant,
+envar,
+markup,
+prompt,
+property,
+sgmltag,
+token,
+type,
+function,
+parameter,
+varname,
+returnvalue,
+errorcode,
+errorname,
+errortext,
+errortype,
+exceptionname,
+classname,
+methodname,
+interfacename,
+structfield,
+structname,
+symbol {
+ font-family: monospace;
+}
+
+optional {
+ display: inline;
+}
+synopsis > optional:before {
+ content: "[";
+ color: gray;
+}
+synopsis > optional:after {
+ content: "]";
+ color: gray;
+}
+
+sgmltag:before,
+sgmltag:after {
+ color: gray;
+}
+
+sgmltag[class=attvalue]:before {
+ content: '"';
+}
+sgmltag[class=attvalue]:after {
+ content: '"';
+}
+
+sgmltag[class=starttag]:before,
+sgmltag[class=emptytag]:before {
+ content: "<";
+}
+sgmltag[class=endtag]:before {
+ content: "</";
+}
+sgmltag[class=endtag]:after,
+sgmltag[class=starttag]:after {
+ content: ">";
+}
+sgmltag[class=emptytag]:after {
+ content: "/>";
+}
+
+sgmltag[class=pi]:before,
+sgmltag[class=xmlpi]:before {
+ content: "<?";
+}
+sgmltag[class=pi]:after,
+sgmltag[class=xmlpi]:after {
+ content: "?>";
+}
+
+sgmltag[class=sgmlcomment]:before {
+ content: "<!--";
+}
+sgmltag[class=sgmlcomment]:after {
+ content: "-->";
+}
+
+sgmltag[class=paramentity]:before {
+ content: "%";
+}
+sgmltag[class=genentity]:before {
+ content: "&";
+}
+sgmltag[class=numcharref]:before {
+ content: "&#";
+}
+sgmltag[class=paramentity]:after,
+sgmltag[class=genentity]:after,
+sgmltag[class=numcharref]:after {
+ content: ";";
+}
+
+/* -------------------------------------
+ General
+------------------------------------- */
+
+remark {
+ font-style: italic;
+ color: #880000;
+}
+
+firstterm,
+foreignphrase {
+ font-style: italic;
+}
+
+citation:before {
+ content: "[";
+ color: gray;
+}
+
+citation:after {
+ content: "]";
+ color: gray;
+}
+
+wordasword {
+ font-family: sans-serif;
+ font-size: medium;
+ font-style: normal;
+ font-weight: normal;
+ color: black;
+}
+
+olink {
+ color: navy;
+ text-decoration: underline;
+}
+
+olink:after {
+ vertical-align: text-top; /* for the icon */
+}
+
+olink[targetdoc]:after {
+ content: icon(left-link) attr(targetdoc);
+}
+
+olink[targetdoc][targetptr]:after {
+ content: icon(left-link) attr(targetdoc) ":" attr(targetptr);
+}
+
+modespec {
+ display: inline;
+}
+
+indexterm,
+primary,
+secondary,
+tertiary,
+see,
+seealso {
+ display: inline;
+ font-size: small;
+}
+
+indexterm:before {
+ content: icon(left-half-disc);
+ color: gray;
+}
+
+indexterm:after {
+ content: icon(right-half-disc);
+ color: gray;
+}
+
+indexterm[class=startofrange][id]:before {
+ content: icon(left-half-disc) attr(id) icon(half-disc-separator);
+}
+
+indexterm[class=startofrange][xml|id]:before {
+ content: icon(left-half-disc) attr(xml|id) icon(half-disc-separator);
+}
+
+indexterm[class=endofrange]:after {
+ content: icon(half-disc-separator) attr(startref) icon(right-half-disc);
+}
+
+indexterm > *:before {
+ content: "; ";
+ color: gray;
+ font-weight: bold;
+}
+
+indexterm > see:before {
+ content: " see ";
+}
+
+indexterm > seealso:before {
+ content: " see also ";
+}
+
+indexterm > *:first-child:before {
+ content: "";
+}
+
+termdef {
+ display: inline;
+}
+
+termdef:before {
+ content: icon(right) element-local-name() " ";
+ color: gray;
+}
+
+termdef:after {
+ content: icon(left);
+ color: gray;
+}
+
+/* -------------------------------------
+ Other
+------------------------------------- */
+
+beginpage {
+ display: inline;
+ content: url(icons/beginpage.png);
+}
+
+sbr {
+ display: inline;
+ content: "\A";
+ color: gray;
+}
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/docbook2.imp b/doc/editor_configs/xmlmind/addon/config/scons/css/docbook2.imp
new file mode 100644
index 0000000..d558ca7
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/docbook2.imp
@@ -0,0 +1,1292 @@
+/*
+ * Copyright (c) 2003-2010 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Styles for elements found in Simplified DocBook
+ * (and closely related elements even if not found in Simplified DocBook).
+ */
+
+/* =====================================
+ Article structure
+===================================== */
+
+sconsdoc,
+article {
+ display: block;
+}
+
+article > title {
+ font-size: 2em;
+ margin: 0.5ex 0;
+ border-width: 1px;
+ border-style: solid;
+ border-color: transparent transparent #004080 transparent;
+}
+
+title,
+subtitle,
+titleabbrev {
+ display: block;
+ color: #004080;
+ margin: 1.33ex 0;
+}
+
+title,
+subtitle {
+ font-weight: bold;
+}
+
+/* -------------------------------------
+ Sections
+------------------------------------- */
+
+section,
+sect1,
+sect2,
+sect3,
+sect4,
+sect5,
+simplesect {
+ display: block;
+}
+
+tool,
+builder,
+scons_function,
+cvar {
+ display: block;
+}
+
+sconsdoc > tool:before {
+ color: #004080;
+ font-size: 1.5em;
+ margin: .83ex 0;
+ display: block;
+ content: "Tool '" attr(name) "'";
+}
+
+sconsdoc > builder:before {
+ color: #004080;
+ font-size: 1.5em;
+ margin: .83ex 0;
+ display: block;
+ content: "Builder '" attr(name) "'";
+}
+
+sconsdoc > scons_function:before {
+ color: #004080;
+ font-size: 1.5em;
+ margin: .83ex 0;
+ display: block;
+ content: "Function '" attr(name) "'";
+}
+
+sconsdoc > cvar:before {
+ color: #004080;
+ font-size: 1.5em;
+ margin: .83ex 0;
+ display: block;
+ content: "CVar '" attr(name) "'";
+}
+
+cvar > summary:before,
+scons_function > summary:before,
+builder > summary:before,
+tool > summary:before {
+ font-size: 1.3em;
+ font-weight: bold;
+ margin: .83ex 0;
+ display: block;
+ content: "Summary: ";
+}
+
+scons_function > arguments:before {
+ font-size: 1.2em;
+ margin: .83ex 0;
+ display: block;
+ content: "Arguments";
+}
+
+section > title,
+sect1 > title {
+ font-size: 1.5em;
+ margin: .83ex 0;
+}
+
+section > title:before,
+sect1 > title:before {
+ content: simple-counter(n-) " ";
+}
+
+section section > title,
+sect2 > title {
+ font-size: 1.3em;
+ margin: 1ex 0;
+}
+
+section * section > title {
+ font-size: 1em;
+ margin: 1.33ex 0;
+}
+
+section section > title:before,
+sect2 > title:before {
+ content: simple-counter(nn-) " ";
+}
+
+section section section > title:before,
+sect3 > title:before {
+ content: simple-counter(nnn-) " ";
+}
+
+section section section section > title:before,
+sect4 > title:before {
+ content: simple-counter(nnnn-) " ";
+}
+
+section section section * section > title:before {
+ content: "";
+}
+
+/* -------------------------------------
+ Appendix
+------------------------------------- */
+
+appendix {
+ display: block;
+}
+
+appendix > title { /* in a book or in a part */
+ font-size: 2em;
+ margin: 0.5ex 0;
+ border-width: 1px;
+ border-style: solid;
+ border-color: transparent transparent #004080 transparent;
+}
+
+article > appendix > title {
+ font-size: 1.5em;
+ margin: 0.83ex 0;
+ border-width: 0;
+ border-style: none;
+}
+
+appendix > title:before {
+ content: "Appendix " simple-counter(n-, upper-alpha) ": ";
+}
+
+/* =====================================
+ Paragraphs
+===================================== */
+
+para,
+simpara {
+ display: block;
+ margin: 1.33ex 0;
+}
+
+/* =====================================
+ Lists
+===================================== */
+
+/* -------------------------------------
+ itemizedlist
+------------------------------------- */
+
+uses,
+sets,
+itemizedlist {
+ display: block;
+ margin-left: 2ex; /* all lists are slightly indented */
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+listitem {
+ display: block;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+uses[spacing=compact] > listitem,
+sets[spacing=compact] > listitem,
+itemizedlist[spacing=compact] > listitem,
+orderedlist[spacing=compact] > listitem {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+listitem > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+uses > listitem,
+sets > listitem,
+itemizedlist > listitem {
+ margin-left: 2.5ex;
+}
+
+uses > listitem:before,
+sets > listitem:before,
+itemizedlist > listitem:before {
+ display: marker;
+ content: disc;
+ color: #004080;
+}
+
+itemizedlist > listitem itemizedlist > listitem:before {
+ content: square;
+}
+
+itemizedlist > listitem itemizedlist > listitem itemizedlist >
+listitem:before {
+ content: icon(diamond);
+}
+
+itemizedlist > listitem itemizedlist > listitem itemizedlist >
+listitem itemizedlist > listitem:before {
+ content: circle;
+}
+
+/* -------------------------------------
+ orderedlist
+------------------------------------- */
+
+orderedlist {
+ display: block;
+ margin-left: 2ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+ counter-reset: item;
+}
+
+orderedlist[continuation=continues] {
+ counter-reset: none;
+}
+
+orderedlist > listitem {
+ margin-left: 6ex;
+ counter-increment: item;
+}
+
+orderedlist > listitem:before {
+ display: marker;
+ content: counter(item, decimal) ".";
+ font-weight: bold;
+ color: #004080;
+}
+
+orderedlist[numeration=loweralpha] > listitem:before {
+ content: counter(item, lower-alpha) ".";
+}
+
+orderedlist[numeration=upperalpha] > listitem:before {
+ content: counter(item, upper-alpha) ".";
+}
+
+orderedlist[numeration=lowerroman] > listitem:before {
+ content: counter(item, lower-roman) ".";
+}
+
+orderedlist[numeration=upperroman] > listitem:before {
+ content: counter(item, upper-roman) ".";
+}
+
+orderedlist[inheritnum=inherit] > listitem:before,
+orderedlist[inheritnum=inherit][numeration=arabic] > listitem:before {
+ content: counters(item, ".", decimal) ".";
+}
+
+orderedlist[inheritnum=inherit][numeration=loweralpha] > listitem:before {
+ content: counters(item, ".", lower-alpha) ".";
+}
+
+orderedlist[inheritnum=inherit][numeration=upperalpha] > listitem:before {
+ content: counters(item, ".", upper-alpha) ".";
+}
+
+orderedlist[inheritnum=inherit][numeration=lowerroman] > listitem:before {
+ content: counters(item, ".", lower-roman) ".";
+}
+
+orderedlist[inheritnum=inherit][numeration=upperroman] > listitem:before {
+ content: counters(item, ".", upper-roman) ".";
+}
+
+/* -------------------------------------
+ variablelist
+------------------------------------- */
+
+variablelist {
+ display: block;
+ margin-left: 2ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+varlistentry {
+ display: block;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+variablelist[spacing=compact] > varlistentry {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+term {
+ display: block;
+ font-weight: bold;
+}
+
+varlistentry > listitem {
+ margin-left: 4ex;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+/* =====================================
+ Figures
+===================================== */
+
+programlisting,
+screen,
+scons_example,
+scons_example_file,
+example_commands,
+sconstruct,
+scons_output,
+scons_output_command,
+file,
+directory,
+literallayout,
+synopsis {
+ display: block;
+ white-space: pre;
+ font-family: monospace;
+ margin: 1.33ex 0;
+}
+
+example_commands,
+programlisting {
+ background-color: #EEEEEE;
+ border: thin solid gray;
+ padding: 2px;
+}
+
+scons_example,
+sconstruct,
+scons_output {
+ background-color: #94CAEE;
+ border: thin solid gray;
+ padding: 2px;
+}
+
+file,
+directory,
+scons_example_file {
+ background-color: #EED27B;
+}
+
+screen {
+ background-color: #EEEEFF;
+ border: thin solid #8888FF;
+ padding: 2px;
+}
+
+figure,
+informalfigure,
+example,
+informalexample {
+ display: block;
+ margin: 1.33ex auto;
+}
+
+figure > title,
+example > title {
+ font-style: italic;
+ font-weight: normal;
+ text-align: center;
+ margin: 0; /* content of figure generally already has a margin */
+}
+
+mediaobject {
+ display: table;
+ border-spacing: 2px;
+ margin: 1.33ex auto;
+}
+
+inlinemediaobject {
+ display: inline-table;
+ border-spacing: 2px;
+}
+
+caption {
+ display: table-caption;
+ color: #004080;
+ font-style: italic;
+ font-weight: normal;
+ text-align: center;
+ /* content of caption already has a margin */
+}
+
+audioobject,
+videoobject,
+imageobject,
+textobject {
+ display: table-cell; /* this will create one row per cell */
+ text-align: center;
+}
+
+objectinfo {
+ text-align: left;
+}
+
+mediaobject > objectinfo {
+ display: table-cell;
+}
+
+audiodata {
+ display: inline;
+ content: url(icons/audio.png);
+}
+
+videodata {
+ display: inline;
+ content: url(icons/video.png);
+}
+
+/*
+ * imagedata is defined in image.imp.
+ */
+
+textdata {
+ display: inline;
+ content: url(icons/text.png);
+}
+
+/* =====================================
+ Divisions
+===================================== */
+
+abstract {
+ display: block;
+ margin-left: 18ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+abstract > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+abstract:before {
+ display: marker;
+ content: element-label();
+ font-weight: bold;
+ color: #004080;
+}
+
+blockquote,
+epigraph {
+ display: block;
+ margin: 1.33ex 10ex;
+}
+
+blockquote > title {
+ font-style: italic;
+ font-weight: normal;
+ text-align: center;
+ margin: 0; /* content of blockquote already has a margin */
+}
+
+attribution {
+ display: block;
+ text-align: right;
+}
+
+attribution:before {
+ content: " -- ";
+}
+
+footnote {
+ display: block;
+ margin-left: 18ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+ margin-right: 10ex;
+ font-size: small;
+ padding: 2px;
+ background-color: #F0F0FF;
+}
+
+footnote > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+footnote:before {
+ display: marker;
+ content: element-label();
+ color: #004080;
+}
+
+footnote[label]:before {
+ content: "[" attr(label) "]";
+}
+
+note,
+caution,
+important,
+tip,
+warning {
+ display: block;
+ margin-left: 18ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+note > *:first-child,
+caution > *:first-child,
+important > *:first-child,
+tip > *:first-child,
+warning > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+note:before,
+caution:before,
+important:before,
+tip:before,
+warning:before {
+ display: marker;
+ content: element-label();
+ font-weight: bold;
+ color: #004080;
+}
+
+sidebar {
+ display: block;
+ margin: 1.33ex 0;
+ border: thin solid #80F880;
+ background-color: #E0F8E0;
+ padding: 2px;
+}
+
+sidebar > title {
+ margin: 0; /* content of sidebar already has a margin */
+}
+
+/* =====================================
+ Special sections
+===================================== */
+
+/* -------------------------------------
+ Bibliography
+ (complemented in docbook1.imp)
+------------------------------------- */
+
+bibliography,
+bibliodiv,
+bibliolist {
+ display: block;
+ /* content of bibliography has a margin */
+}
+
+bibliomixed,
+bibliomset,
+biblioentry,
+biblioset {
+ display: block;
+ margin: 1.33ex 0;
+}
+
+bibliomixed,
+biblioentry {
+ border: thin solid gray;
+ padding: 2px;
+}
+
+bibliomixed > title,
+bibliomixed > subtitle,
+bibliomixed > titleabbrev,
+bibliomset > title,
+bibliomset > subtitle,
+bibliomset > titleabbrev,
+biblioentry > title,
+biblioentry > subtitle,
+biblioentry > titleabbrev,
+biblioset > title,
+biblioset > subtitle,
+biblioset > titleabbrev {
+ /* title of a bibliography entry, not ``caption'' of a formal block */
+ font-weight: normal;
+ font-size: 1em;
+ color: black;
+}
+
+bibliomixed > title,
+bibliomixed > subtitle,
+bibliomixed > titleabbrev,
+bibliomset > title,
+bibliomset > subtitle,
+bibliomset > titleabbrev {
+ display: inline;
+}
+
+bibliomixed > title,
+bibliomixed > subtitle,
+bibliomset > title,
+bibliomset > subtitle {
+ font-style: italic;
+}
+
+bibliomisc {
+ display: inline;
+}
+
+/* -------------------------------------
+ Meta-information
+ (complemented in docbook1.imp)
+------------------------------------- */
+
+appendixinfo,
+articleinfo,
+bibliographyinfo,
+blockinfo,
+bookinfo,
+chapterinfo,
+glossaryinfo,
+indexinfo,
+objectinfo,
+partinfo,
+prefaceinfo,
+refentryinfo,
+refmeta,
+referenceinfo,
+refsect1info,
+refsect2info,
+refsect3info,
+refsectioninfo,
+refsynopsisdivinfo,
+sect1info,
+sect2info,
+sect3info,
+sect4info,
+sect5info,
+sectioninfo,
+setindexinfo,
+setinfo,
+sidebarinfo {
+ display: block;
+ margin: 1.33ex 0;
+ border: thin solid #C0F8F8;
+ background-color: #E0F8F8;
+ padding: 2px;
+}
+
+authorgroup {
+ display: block;
+ /* content of authorgroup has a margin */
+}
+
+author,
+editor,
+othercredit {
+ display: block; /* can contain authorblurb, address */
+ margin: 1.33ex 0;
+}
+
+personname {
+ display: inline;
+}
+
+honorific,
+firstname,
+surname,
+lineage,
+othername {
+ display: inline;
+}
+
+honorific:after,
+firstname:after,
+surname:after,
+lineage:after,
+othername:after {
+ content: " ";
+}
+
+contrib {
+ display: inline;
+}
+
+authorblurb,
+personblurb {
+ display: block;
+ /* content of authorblurb has a margin */
+}
+
+corpauthor,
+corpname {
+ /* Could be block but inline is safer when used in strange places
+ and when used in meta-info, display is forced to be block. */
+ display: inline;
+}
+
+affiliation {
+ display: block; /* can contain address */
+ margin: 1.33ex 0;
+}
+
+shortaffil,
+jobtitle,
+orgname,
+orgdiv {
+ display: inline;
+}
+
+shortaffil:after,
+affiliation > jobtitle:after,
+affiliation > orgname:after,
+orgdiv:after {
+ content: " ";
+}
+
+copyright {
+ display: inline;
+}
+
+year,
+holder {
+ display: inline;
+}
+
+year:after,
+holder:after {
+ content: " ";
+}
+
+date,
+pubdate {
+ display: inline;
+}
+
+edition {
+ display: inline;
+}
+
+issuenum {
+ display: inline;
+}
+
+keywordset,
+subjectset {
+ display: inline;
+}
+
+keyword,
+subject,
+subjectterm {
+ display: inline;
+}
+
+keyword:after,
+subjectterm:after {
+ content: " ";
+}
+
+legalnotice {
+ display: block;
+ /* content of legalnotice has a margin */
+}
+
+publishername {
+ display: inline;
+}
+
+releaseinfo {
+ display: inline;
+}
+
+revhistory {
+ display: block;
+ margin: 1.33ex 0;
+}
+
+revision {
+ display: block;
+ margin-left: 2.5ex;
+}
+
+revision:before {
+ display: marker;
+ content: icon(right);
+ color: #004080;
+}
+
+revision > author,
+authorinitials {
+ display: inline;
+ font-weight: bold;
+}
+
+revnumber,
+revremark {
+ display: inline;
+}
+
+revnumber:after,
+revision > date:after,
+revision > author:after,
+revision > authorinitials:after {
+ content: " ";
+}
+
+revdescription {
+ display: block;
+ /* content of revdescription has a margin */
+}
+
+volumenum {
+ display: inline;
+}
+
+/* ---------------------------------------------------------------------------
+ Inlined elements other than those belonging to modules
+
+ Note that default display is inline, so there is no need to specify it.
+--------------------------------------------------------------------------- */
+
+emphasis {
+ font-style: italic;
+}
+emphasis[role=bold] {
+ font-style: normal;
+ font-weight: bold;
+}
+emphasis[role=underline] {
+ font-style: normal;
+ text-decoration: underline;
+}
+emphasis[role=strikethrough] {
+ font-style: normal;
+ text-decoration: line-through;
+}
+
+emphasis > emphasis {
+ font-style: normal;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+directory,
+literal {
+ font-family: monospace;
+}
+
+link,
+ulink,
+email {
+ color: navy;
+ text-decoration: underline;
+}
+
+/* -------------------------------------
+ Technical
+------------------------------------- */
+
+command,
+computeroutput,
+filename,
+option,
+systemitem,
+userinput {
+ font-family: monospace;
+}
+
+computeroutput,
+userinput {
+ background-color: #EEEEEE;
+}
+
+command,
+option {
+ font-weight: bold;
+}
+
+lineannotation {
+ font-style: italic;
+ font-size: medium; /* occurs in verbatim, fixed font, blocks */
+}
+
+replaceable {
+ font-style: italic;
+}
+
+/* -------------------------------------
+ General
+------------------------------------- */
+
+anchor {
+ content: icon(right-target);
+ color: gray;
+}
+
+subscript,
+superscript {
+ display: inline-block;
+ white-space: nowrap;
+ font-size: small;
+}
+subscript {
+ vertical-align: sub;
+}
+superscript {
+ vertical-align: super;
+}
+
+abbrev,
+acronym {
+ font-weight: bold;
+}
+
+citetitle {
+ font-style: italic;
+}
+
+footnoteref {
+ content: "[" attr(linkend) "]";
+ font-size: small;
+ vertical-align: super;
+ color: navy;
+}
+
+footnoteref[label] {
+ content: "[" attr(label) "]";
+}
+
+phrase[revisionflag=deleted] {
+ text-decoration: line-through;
+}
+
+phrase[revisionflag=added] {
+ text-decoration: underline;
+}
+
+quote:before {
+ content: open-quote;
+ font-weight: bold;
+ color: gray;
+}
+
+quote:after {
+ content: close-quote;
+ font-weight: bold;
+ color: gray;
+}
+
+trademark,
+productname {
+ color: #004080;
+}
+
+trademark:after,
+productname:after {
+ font-size: small;
+ color: gray;
+}
+
+trademark:after, /* also works for class=trade */
+productname[class=trade]:after {
+ content: "[tm]";
+}
+
+trademark[class=copyright]:after,
+productname[class=copyright]:after {
+ content: "\A9";
+ font-size: medium;
+}
+
+trademark[class=registered]:after,
+productname[class=registered]:after {
+ content: "\AE";
+ font-size: medium;
+}
+
+trademark[class=service]:after,
+productname[class=service]:after {
+ content: "[sm]";
+}
+
+xref {
+ content: icon(left-link)
+ xpath("if(id(@linkend)/@xreflabel, id(@linkend)/@xreflabel, @linkend)");
+ vertical-align: text-top; /* for the icon */
+ color: navy;
+}
+
+xref[endterm] {
+ content: icon(left-link) xpath("if(id(@endterm), id(@endterm), @endterm)");
+}
+
+/* ---------------------------------------------------------------------------
+ Overrides natural display of elements in special sections
+ (must be at the very end of the style sheet)
+--------------------------------------------------------------------------- */
+
+/* -------------------------------------
+ Bibliography
+------------------------------------- */
+
+biblioentry > *,
+biblioset > * {
+ display: block;
+ text-align: left; /* Reset paragraph styles */
+ font: normal normal 1em sans-serif;
+ color: black;
+ margin-left: 18ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+biblioentry > *:first-child,
+biblioset > *:first-child { /* nicer */
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+biblioentry > *:before,
+biblioset > *:before {
+ display: marker;
+ content: element-label();
+ font: normal normal small sans-serif;
+ color: #004080;
+}
+
+biblioentry > *:after,
+biblioset > *:after {
+ content: "";
+}
+
+biblioentry > biblioset,
+biblioset > biblioset {
+ margin-left: 0;
+}
+
+biblioentry > biblioset:before,
+biblioset > biblioset:before {
+ content: "";
+}
+
+/* -------------------------------------
+ Meta-information
+------------------------------------- */
+
+appendixinfo > *,
+articleinfo > *,
+bibliographyinfo > *,
+blockinfo > *,
+bookinfo > *,
+chapterinfo > *,
+glossaryinfo > *,
+indexinfo > *,
+objectinfo > *,
+partinfo > *,
+prefaceinfo > *,
+refentryinfo > *,
+refmeta > *,
+referenceinfo > *,
+refsect1info > *,
+refsect2info > *,
+refsect3info > *,
+refsectioninfo > *,
+refsynopsisdivinfo > *,
+sect1info > *,
+sect2info > *,
+sect3info > *,
+sect4info > *,
+sect5info > *,
+sectioninfo > *,
+setindexinfo > *,
+setinfo > *,
+sidebarinfo > * {
+ display: block;
+ text-align: left; /* Reset paragraph styles */
+ font: normal normal 1em sans-serif;
+ color: black;
+ margin-left: 18ex;
+ margin-right: 0;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+appendixinfo > *:first-child,
+articleinfo > *:first-child,
+bibliographyinfo > *:first-child,
+blockinfo > *:first-child,
+bookinfo > *:first-child,
+chapterinfo > *:first-child,
+glossaryinfo > *:first-child,
+indexinfo > *:first-child,
+objectinfo > *:first-child,
+partinfo > *:first-child,
+prefaceinfo > *:first-child,
+refentryinfo > *:first-child,
+refmeta > *:first-child,
+referenceinfo > *:first-child,
+refsect1info > *:first-child,
+refsect2info > *:first-child,
+refsect3info > *:first-child,
+refsectioninfo > *:first-child,
+refsynopsisdivinfo > *:first-child,
+sect1info > *:first-child,
+sect2info > *:first-child,
+sect3info > *:first-child,
+sect4info > *:first-child,
+sect5info > *:first-child,
+sectioninfo > *:first-child,
+setindexinfo > *:first-child,
+setinfo > *:first-child,
+sidebarinfo > *:first-child { /* nicer */
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+appendixinfo > *:before,
+articleinfo > *:before,
+bibliographyinfo > *:before,
+blockinfo > *:before,
+bookinfo > *:before,
+chapterinfo > *:before,
+glossaryinfo > *:before,
+indexinfo > *:before,
+objectinfo > *:before,
+partinfo > *:before,
+prefaceinfo > *:before,
+refentryinfo > *:before,
+refmeta > *:before,
+referenceinfo > *:before,
+refsect1info > *:before,
+refsect2info > *:before,
+refsect3info > *:before,
+refsectioninfo > *:before,
+refsynopsisdivinfo > *:before,
+sect1info > *:before,
+sect2info > *:before,
+sect3info > *:before,
+sect4info > *:before,
+sect5info > *:before,
+sectioninfo > *:before,
+setindexinfo > *:before,
+setinfo > *:before,
+sidebarinfo > *:before {
+ display: marker;
+ content: element-label();
+ font: normal normal small sans-serif;
+ color: #004080;
+}
+
+appendixinfo > *:after,
+articleinfo > *:after,
+bibliographyinfo > *:after,
+blockinfo > *:after,
+bookinfo > *:after,
+chapterinfo > *:after,
+glossaryinfo > *:after,
+indexinfo > *:after,
+objectinfo > *:after,
+partinfo > *:after,
+prefaceinfo > *:after,
+refentryinfo > *:after,
+refmeta > *:after,
+referenceinfo > *:after,
+refsect1info > *:after,
+refsect2info > *:after,
+refsect3info > *:after,
+refsectioninfo > *:after,
+refsynopsisdivinfo > *:after,
+sect1info > *:after,
+sect2info > *:after,
+sect3info > *:after,
+sect4info > *:after,
+sect5info > *:after,
+sectioninfo > *:after,
+setindexinfo > *:after,
+setinfo > *:after,
+sidebarinfo > *:after {
+ content: "";
+}
+
+appendixinfo > title,
+articleinfo > title,
+bibliographyinfo > title,
+blockinfo > title,
+bookinfo > title,
+chapterinfo > title,
+glossaryinfo > title,
+indexinfo > title,
+objectinfo > title,
+partinfo > title,
+prefaceinfo > title,
+refentryinfo > title, /* refmeta has no title */
+referenceinfo > title,
+refsect1info > title,
+refsect2info > title,
+refsect3info > title,
+refsectioninfo > title,
+refsynopsisdivinfo > title,
+sect1info > title,
+sect2info > title,
+sect3info > title,
+sect4info > title,
+sect5info > title,
+sectioninfo > title,
+setindexinfo > title,
+setinfo > title,
+sidebarinfo > title {
+ font-size: 1.3em;
+ font-weight: bold;
+ color: #004080;
+ margin-left: 0;
+ margin-right: 0;
+ margin-top: 0;
+ margin-bottom: 1ex;
+}
+
+appendixinfo > title:before,
+articleinfo > title:before,
+bibliographyinfo > title:before,
+blockinfo > title:before,
+bookinfo > title:before,
+chapterinfo > title:before,
+glossaryinfo > title:before,
+indexinfo > title:before,
+objectinfo > title:before,
+partinfo > title:before,
+prefaceinfo > title:before,
+refentryinfo > title:before,
+referenceinfo > title:before,
+refsect1info > title:before,
+refsect2info > title:before,
+refsect3info > title:before,
+refsectioninfo > title:before,
+refsynopsisdivinfo > title:before,
+sect1info > title:before,
+sect2info > title:before,
+sect3info > title:before,
+sect4info > title:before,
+sect5info > title:before,
+sectioninfo > title:before,
+setindexinfo > title:before,
+setinfo > title:before,
+sidebarinfo > title:before {
+ content: "";
+}
+
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/example1.css b/doc/editor_configs/xmlmind/addon/config/scons/css/example1.css
new file mode 100644
index 0000000..857d561
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/example1.css
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2003-2008 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * A CSS style sheet for DocBook V4.5.
+ */
+
+doc,
+para {
+ display: block;
+}
+para {
+ margin: 1ex 0;
+}
+para[align] {
+ text-align: concatenate(attr(align));
+}
+
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/html_cals_table.imp b/doc/editor_configs/xmlmind/addon/config/scons/css/html_cals_table.imp
new file mode 100644
index 0000000..dd62d3d
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/html_cals_table.imp
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2005-2009 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Styles for both HTML and CALS tables (DocBook 4.3+).
+ */
+
+@import "table.imp";
+
+/*
+ * "black" is the color used to draw a border around the table and its cells
+ * based on values of attributes such as frame, rowsep and colsep.
+ *
+ * "rgb(238,238,224)" (a very light gray) is the color used to draw
+ * a border around each cell whether the cell actually has borders or not.
+ * Remove this parameter if this ``cell footprint'' disturbs you.
+ *
+ * For more information about table support for DocBook, see
+ * XMLmind XML Editor - Configuration and Deployment.
+ */
+@extension "com.xmlmind.xmleditext.docbook.TableSupport black rgb(238,238,224)";
+
+/*
+ * Real DocBook tables (CALS) contain (graphic+|mediaobject+|tgroup+)
+ * not (tbody+|tr+).
+ */
+
+table:contains-element(tr),
+table:contains-element(tbody),
+informaltable:contains-element(tr),
+informaltable:contains-element(tbody) {
+ display: table;
+ border-style: solid;
+ border-width: 1;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+table:contains-element(tr) > caption,
+table:contains-element(tbody) > caption,
+informaltable:contains-element(tr) > caption,
+informaltable:contains-element(tbody) > caption {
+ display: table-caption;
+ color: #004080;
+ font-style: italic;
+ font-weight: normal;
+ text-align: center;
+ margin: 2px 2ex 2px 2ex;
+}
+
+colgroup {
+ display: table-column-group;
+ collapsed: yes;
+}
+
+col {
+ display: table-column;
+ collapsed: yes;
+}
+
+/*
+ * thead, tbody, tfoot, already properly styled in table.imp.
+ */
+
+table:contains-element(tbody) > thead,
+table:contains-element(tbody) > tfoot {
+ /*
+ * In CALS tables, header and footer rows are often presented
+ * in an alternate typographic style, such as boldface.
+ * There is no such processing expectation for HTML tables.
+ * Explicitly use th instead of td when boldface is needed.
+ */
+ font-weight: normal;
+}
+
+tr {
+ display: table-row;
+ background-color: inherit; /*e.g. from read-only tbody*/
+}
+
+td,
+th {
+ display: table-cell;
+ background-color: inherit; /*e.g. from read-only row*/
+ border-style: solid;
+ border-width: 1;
+ padding: 2;
+}
+
+th {
+ font-weight: bold;
+}
+
+@media print {
+ colgroup,
+ col {
+ display: none;
+ }
+}
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/image.imp b/doc/editor_configs/xmlmind/addon/config/scons/css/image.imp
new file mode 100644
index 0000000..dd1d65f
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/image.imp
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2004-2009 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Display of images.
+ */
+
+mediaobject imagedata {
+ display: block; /* without this, a viewport specified as % will not work */
+ margin: 0 auto;
+}
+
+inlinemediaobject imagedata {
+ display: inline;
+}
+
+graphic,
+inlinegraphic,
+imagedata {
+ content: gadget("com.xmlmind.xmleditext.docbook.Graphic");
+}
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/print.imp b/doc/editor_configs/xmlmind/addon/config/scons/css/print.imp
new file mode 100644
index 0000000..d12a18b
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/print.imp
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2003-2005 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Customizes DocBook CSS style sheet for printing.
+ */
+
+@media print {
+ * {
+ background-color: transparent;
+ line-height: 1.2;
+ }
+}
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/refentry.imp b/doc/editor_configs/xmlmind/addon/config/scons/css/refentry.imp
new file mode 100644
index 0000000..80f1890
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/refentry.imp
@@ -0,0 +1,524 @@
+/*
+ * Copyright (c) 2003 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Styles for refentry elements.
+ */
+
+/* =====================================
+ Refentry structure
+===================================== */
+
+refentry {
+ display: block;
+ border-width: 1px;
+ border-style: solid;
+ border-color: silver transparent silver transparent;
+ margin: 3ex 0;
+}
+
+refnamediv,
+refsynopsisdiv {
+ display: block;
+ margin: 1ex 0;
+}
+
+refnamediv:before,
+refsynopsisdiv:before {
+ display: block;
+ font-size: 1.3em;
+ font-weight: bold;
+ color: #004080;
+ margin: 1ex 0;
+}
+
+refnamediv:before {
+ content: "Name";
+}
+
+refnamediv > *:before {
+ content: " ";
+}
+
+refnamediv > *:first-child:before {
+ content: "";
+}
+
+refdescriptor,
+refname,
+refpurpose,
+refclass {
+ display: inline;
+}
+
+refpurpose:before,
+refclass:before {
+ content: " -- ";
+ color: gray;
+}
+
+refsynopsisdiv:before {
+ content: "Synopsis";
+}
+
+refsynopsisdiv:contains-element(title):before,
+refsynopsisdiv:contains-element(info):before {
+ content: "";
+}
+
+refsynopsisdiv > title {
+ font-size: 1.3em;
+ margin-top: 0;
+ margin-bottom: 1ex;
+}
+
+refsection,
+refsect1,
+refsect2,
+refsect3 {
+ display: block;
+}
+
+refsection > title,
+refsect1 > title {
+ font-size: 1.3em;
+ margin: 1ex 0;
+}
+
+refsection refsection > title {
+ font-size: 1em;
+ margin: 1.33ex 0;
+}
+
+/* =====================================
+ Synopsis environments
+===================================== */
+
+/* -------------------------------------
+ cmdsynopsis
+------------------------------------- */
+
+cmdsynopsis {
+ display: block;
+ font-family: monospace;
+ margin: 1.33ex 0;
+}
+
+synopfragment {
+ display: block;
+ font-family: monospace;
+ margin-left: 4ex;
+}
+
+arg,
+group {
+ display: inline;
+}
+
+arg:before,
+group:before { /* also works for choice=opt */
+ content: " [";
+ color: gray;
+}
+
+group > arg:before,
+group > group:before {
+ content: " | [";
+}
+
+arg:first-child:before,
+group:first-child:before {
+ content: "[";
+}
+
+arg:after,
+group:after {
+ content: "]";
+ color: gray;
+}
+
+arg[rep=repeat]:after,
+group[rep=repeat]:after {
+ content: "]...";
+ color: gray;
+}
+
+arg[choice=req]:before,
+group[choice=req]:before {
+ content: " {";
+}
+
+group > arg[choice=req]:before,
+group > group[choice=req]:before {
+ content: " | {";
+}
+
+arg[choice=req]:first-child:before,
+group[choice=req]:first-child:before {
+ content: "{";
+}
+
+arg[choice=req]:after,
+group[choice=req]:after {
+ content: "}";
+}
+
+arg[choice=req][rep=repeat]:after,
+group[choice=req][rep=repeat]:after {
+ content: "}...";
+}
+
+arg[choice=plain]:before,
+group[choice=plain]:before {
+ content: " ";
+}
+
+group > arg[choice=plain]:before,
+group > group[choice=plain]:before {
+ content: " | ";
+}
+
+arg[choice=plain]:first-child:before,
+group[choice=plain]:first-child:before {
+ content: "";
+}
+
+arg[choice=plain]:after,
+group[choice=plain]:after {
+ content: "";
+}
+
+arg[choice=plain][rep=repeat]:after,
+group[choice=plain][rep=repeat]:after {
+ content: "...";
+}
+
+synopfragmentref {
+ display: inline;
+ color: navy;
+ text-decoration: underline;
+}
+
+synopfragmentref:after {
+ content: icon(left-link) attr(linkend);
+ vertical-align: text-top; /* for the icon */
+}
+
+/* -------------------------------------
+ funcsynopsis
+------------------------------------- */
+
+funcsynopsis {
+ display: block;
+ font-family: monospace;
+ margin: 1.33ex 0;
+}
+
+funcsynopsisinfo {
+ display: block;
+ white-space: pre;
+ margin: 1.33ex 0;
+}
+
+funcprototype {
+ display: block;
+}
+
+funcprototype > *:before {
+ content: " ";
+}
+
+funcprototype > *:first-child:before {
+ content: "";
+}
+
+funcprototype:after {
+ content: ";";
+ color: gray;
+}
+
+funcdef {
+ display: inline;
+}
+
+void {
+ display: inline;
+ content: "void";
+ color: gray;
+}
+
+funcprototype > void {
+ content: "(void)";
+}
+
+varargs {
+ display: inline;
+ content: "(...)";
+ color: gray;
+}
+
+paramdef + varargs {
+ content: ", ...)";
+}
+
+paramdef {
+ display: inline;
+}
+
+paramdef > parameter {
+ font-style: italic;
+}
+
+paramdef:before {
+ content: ", ";
+ color: gray;
+}
+
+paramdef:first-of-type:before {
+ content: " (";
+}
+
+paramdef:last-of-type:after {
+ content: ")";
+ color: gray;
+}
+
+funcparams {
+ display: inline;
+}
+
+paramdef > funcparams:before {
+ content: "(";
+ color: gray;
+}
+
+paramdef > funcparams:after {
+ content: ")";
+ color: gray;
+}
+
+/* -------------------------------------
+ classsynopsis
+------------------------------------- */
+
+classsynopsis {
+ display: block;
+ font-family: monospace;
+ margin-top: 1.33ex;
+}
+
+ooclass + classsynopsisinfo:before,
+oointerface + classsynopsisinfo:before,
+ooexception + classsynopsisinfo:before,
+ooclass + fieldsynopsis:before,
+oointerface + fieldsynopsis:before,
+ooexception + fieldsynopsis:before,
+ooclass + constructorsynopsis:before,
+oointerface + constructorsynopsis:before,
+ooexception + constructorsynopsis:before,
+ooclass + destructorsynopsis:before,
+oointerface + destructorsynopsis:before,
+ooexception + destructorsynopsis:before,
+ooclass + methodsynopsis:before,
+oointerface + methodsynopsis:before,
+ooexception + methodsynopsis:before {
+ display: block;
+ content: "{";
+ color: gray;
+}
+
+classsynopsis:after {
+ display: block;
+ content: "}";
+ color: gray;
+ margin-bottom: 1.33ex;
+}
+
+classsynopsisinfo {
+ display: block;
+ white-space: pre;
+ margin-left: 4ex;
+ margin-top: 1.33ex;
+ margin-bottom: 1.33ex;
+}
+
+ooclass,
+oointerface,
+ooexception {
+ display: inline;
+ font-family: monospace;
+}
+
+classsynopsis > ooclass:after,
+classsynopsis > oointerface:after,
+classsynopsis > ooexception:after {
+ content: " ";
+}
+
+ooclass > *:before,
+oointerface > *:before,
+ooexception > *:before {
+ content: " ";
+}
+
+ooclass > classname:before {
+ content: " class ";
+ color: gray;
+}
+oointerface > interfacename:before {
+ content: " interface ";
+ color: gray;
+}
+ooexception > exceptionname:before {
+ content: " exception ";
+ color: gray;
+}
+
+ooclass > *:first-child:before,
+oointerface > *:first-child:before,
+ooexception > *:first-child:before {
+ content: "";
+}
+
+ooclass > classname:first-child:before {
+ content: "class ";
+ color: gray;
+}
+oointerface > interfacename:first-child:before {
+ content: "interface ";
+ color: gray;
+}
+ooexception > exceptionname:first-child:before {
+ content: "exception ";
+ color: gray;
+}
+
+fieldsynopsis,
+constructorsynopsis,
+destructorsynopsis,
+methodsynopsis {
+ display: block;
+ font-family: monospace;
+ margin: 1.33ex 0;
+}
+
+classsynopsis > fieldsynopsis,
+classsynopsis > constructorsynopsis,
+classsynopsis > destructorsynopsis,
+classsynopsis > methodsynopsis {
+ margin-left: 4ex;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+fieldsynopsis:after,
+constructorsynopsis:after,
+destructorsynopsis:after,
+methodsynopsis:after {
+ content: ";";
+ color: gray;
+}
+
+fieldsynopsis > *:before,
+constructorsynopsis > *:before,
+destructorsynopsis > *:before,
+methodsynopsis > *:before {
+ content: " ";
+}
+
+fieldsynopsis > *:first-child:before,
+constructorsynopsis > *:first-child:before,
+destructorsynopsis > *:first-child:before,
+methodsynopsis > *:first-child:before {
+ content: "";
+}
+
+constructorsynopsis > exceptionname:before,
+destructorsynopsis > exceptionname:before,
+methodsynopsis > exceptionname:before { /*In practice, cannot be first child*/
+ content: " throws ";
+ color: gray;
+}
+
+methodname + void {
+ content: "(void)";
+}
+
+methodparam {
+ display: inline;
+ /* rep and choice attributes not visualized */
+}
+
+methodparam:before {
+ content: ", ";
+ color: gray;
+}
+
+methodparam:first-of-type:before {
+ content: " (";
+}
+
+methodparam:last-of-type:after{
+ content: ")";
+ color: gray;
+}
+
+methodparam > parameter {
+ font-style: italic;
+}
+
+methodparam > *:before {
+ content: " ";
+}
+
+methodparam > *:first-child:before {
+ content: "";
+}
+
+modifier {
+ display: inline;
+ font-family: monospace;
+}
+
+initializer {
+ display: inline;
+ font-family: monospace;
+}
+
+initializer:before { /* Cannot be first child */
+ content: " = ";
+ color: gray;
+}
+
+/* ---------------------------------------------------------------------------
+ Inlined elements other than those belonging to modules
+
+ Note that default display is inline, so there is no need to specify it.
+--------------------------------------------------------------------------- */
+
+/* -------------------------------------
+ General
+------------------------------------- */
+
+citerefentry {
+ display: inline;
+ font-style: italic;
+}
+
+citerefentry > manvolnum:before {
+ content: "(";
+ color: gray;
+}
+
+citerefentry > manvolnum:after {
+ content: ")";
+ color: gray;
+}
+
+refentrytitle,
+manvolnum,
+refmiscinfo { /* also found in refmeta */
+ display: inline;
+}
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/scons.css b/doc/editor_configs/xmlmind/addon/config/scons/css/scons.css
new file mode 100644
index 0000000..1597226
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/scons.css
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2003-2008 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * A CSS style sheet for DocBook V4.5.
+ */
+
+@import "docbook1.imp";
+@import "refentry.imp";
+@import "docbook2.imp";
+@import "html_cals_table.imp";
+@import "image.imp";
+@import "collapsible.imp";
+@import "print.imp";
+
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/structure.css b/doc/editor_configs/xmlmind/addon/config/scons/css/structure.css
new file mode 100644
index 0000000..95f4610
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/structure.css
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2005-2008 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Displays the structure (a little more than a TOC) of a DocBook document.
+ * Titles inside *info (e.g. sectioninfo) elements are not displayed.
+ */
+
+*,
+*:comment,
+*:processing-instruction {
+ display: none;
+}
+
+title {
+ display: block;
+}
+
+title > * {
+ display: inline;
+}
+
+set,
+book,
+part,
+reference,
+refentry,
+preface,
+chapter,
+article,
+appendix,
+section,
+sect1,
+sect2,
+sect3,
+sect4,
+sect5 {
+ display: block;
+ margin-left: 9ex;
+}
+
+set:before,
+book:before,
+part:before,
+reference:before,
+refentry:before,
+preface:before,
+chapter:before,
+article:before,
+appendix:before,
+section:before,
+sect1:before,
+sect2:before,
+sect3:before,
+sect4:before,
+sect5:before {
+ display: marker;
+ marker-offset: fill;
+ content: element-name();
+ font-size: small;
+ color: gray;
+}
+
+part > title:before {
+ content: simple-counter(n-, upper-roman) " ";
+}
+
+chapter > title:before {
+ content: simple-counter(n-, decimal) " ";
+}
+
+appendix > title:before {
+ content: simple-counter(n-, upper-alpha) " ";
+}
+
+refentry {
+ content: xpath("join(.//refname, ', ')");
+ color: gray;
+}
+
+section > title:before,
+sect1 > title:before {
+ content: simple-counter(n-) " ";
+}
+
+section section > title:before,
+sect2 > title:before {
+ content: simple-counter(nn-) " ";
+}
+
+section section section > title:before,
+sect3 > title:before {
+ content: simple-counter(nnn-) " ";
+}
+
+section section section section > title:before,
+sect4 > title:before {
+ content: simple-counter(nnnn-) " ";
+}
+
+section section section section section > title:before,
+sect5 > title:before {
+ content: simple-counter(nnnnn-) " ";
+}
+
+section section section section * section > title:before {
+ content: "";
+}
+
+setinfo,
+setindex,
+bookinfo,
+dedication,
+toc,
+lot,
+glossary,
+bibliography,
+index,
+colophon,
+partinfo,
+partintro,
+referenceinfo,
+prefaceinfo,
+chapterinfo,
+tocchap,
+articleinfo,
+appendixinfo,
+sectioninfo,
+sect1info,
+sect2info,
+sect3info,
+sect4info,
+sect5info {
+ display: block;
+ content: element-name();
+ font-size: small;
+ color: gray;
+}
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/table.imp b/doc/editor_configs/xmlmind/addon/config/scons/css/table.imp
new file mode 100644
index 0000000..0b444bb
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/table.imp
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2005-2009 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ *
+ * Partial styles for DocBook tables. Requires an @extension.
+ * DO NOT IMPORT THIS FILE: INSTEAD @import cals_table.imp OR
+ * @import html_cals_table.imp.
+ */
+
+table,
+informaltable {
+ display: block;
+ margin: 1.33ex 0;
+}
+
+table > title {
+ display: block;
+ font-style: italic;
+ font-weight: normal;
+ text-align: center;
+ /* keep margin because tgroup has no margin */
+}
+
+colspec,
+spanspec {
+ display: table-column;
+ collapsed: yes;
+}
+
+tgroup {
+ display: table;
+ border-style: solid;
+ border-width: 1;
+}
+
+thead,
+tfoot {
+ display: table-row-group;
+ font-weight: bold;
+}
+
+thead {
+ background-color: #F0F0F0;
+}
+
+tfoot {
+ background-color: #E0E0E0;
+}
+
+tbody {
+ display: table-row-group;
+ background-color: inherit; /*e.g. from read-only tgroup*/
+}
+
+row {
+ display: table-row;
+ background-color: inherit; /*e.g. from read-only tbody*/
+}
+
+entry {
+ display: table-cell;
+ background-color: inherit; /*e.g. from read-only row*/
+ border-style: solid;
+ border-width: 1;
+ padding: 2;
+}
+
+entry > *:first-child {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+entrytbl {
+ display: subtable;
+ background-color: inherit; /*e.g. from read-only row*/
+ border-style: solid;
+ border-width: 1;
+}
+
+@media print {
+ colspec,
+ spanspec {
+ display: none;
+ }
+}
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/css/visible_inclusions.css b/doc/editor_configs/xmlmind/addon/config/scons/css/visible_inclusions.css
new file mode 100644
index 0000000..f66b094
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/css/visible_inclusions.css
@@ -0,0 +1,9 @@
+/*
+ * Copyright (c) 2003-2004 Pixware.
+ *
+ * This file is part of the XMLmind XML Editor project.
+ * For conditions of distribution and use, see the accompanying legal.txt file.
+ */
+
+@import "docbook.css";
+@import "../../common/css/visible_inclusions.imp"; \ No newline at end of file
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/htmlTable.incl b/doc/editor_configs/xmlmind/addon/config/scons/htmlTable.incl
new file mode 100644
index 0000000..5ea16b8
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/htmlTable.incl
@@ -0,0 +1,195 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<configuration
+ xmlns="http://www.xmlmind.com/xmleditor/schema/configuration"
+ xmlns:cfg="http://www.xmlmind.com/xmleditor/schema/configuration">
+
+ <!-- Without this, a tgroup is created with a tbody containing tr. -->
+
+ <cfg:elementTemplate xmlns="" name="CALS" selectable="override"
+ parent="tgroup|entrytbl">
+ <tbody>
+ <row><entry></entry></row>
+ </tbody>
+ </cfg:elementTemplate>
+
+ <cfg:elementTemplate xmlns="" name="CALS" selectable="override"
+ parent="tgroup|entrytbl">
+ <thead>
+ <row><entry></entry></row>
+ </thead>
+ </cfg:elementTemplate>
+
+ <cfg:elementTemplate xmlns="" name="CALS" selectable="override"
+ parent="tgroup|entrytbl">
+ <tfoot>
+ <row><entry></entry></row>
+ </tfoot>
+ </cfg:elementTemplate>
+
+ <cfg:elementTemplate xmlns="" name="HTML" selectable="override"
+ parent="table|informaltable">
+ <tbody>
+ <tr><td></td></tr>
+ </tbody>
+ </cfg:elementTemplate>
+
+ <cfg:elementTemplate xmlns="" name="HTML" selectable="override"
+ parent="table|informaltable">
+ <thead>
+ <tr><th></th></tr>
+ </thead>
+ </cfg:elementTemplate>
+
+ <cfg:elementTemplate xmlns="" name="HTML" selectable="override"
+ parent="table|informaltable">
+ <tfoot>
+ <tr><th></th></tr>
+ </tfoot>
+ </cfg:elementTemplate>
+
+ <!-- HTML table templates =============================================== -->
+
+ <!-- selectable="false" is used to avoid clutter in the Element menu.
+ Therefore these templates can only be used by the macros triggered
+ by toobar buttons. -->
+
+ <elementTemplate name="HTML" selectable="false">
+ <informaltable xmlns="" border="1">
+ <tr>
+ <td></td><td></td>
+ </tr>
+ <tr>
+ <td></td><td></td>
+ </tr>
+ </informaltable>
+ </elementTemplate>
+
+ <elementTemplate name="HTML_head_row" selectable="false">
+ <informaltable xmlns="" frame="box" rules="all">
+ <thead>
+ <tr align="center">
+ <th></th><th></th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td></td><td></td>
+ </tr>
+ <tr>
+ <td></td><td></td>
+ </tr>
+ </tbody>
+ </informaltable>
+ </elementTemplate>
+
+ <elementTemplate name="HTML_head_column" selectable="false">
+ <informaltable xmlns="" frame="box" rules="all">
+ <col align="center" span="1" />
+ <tbody>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ </tbody>
+ </informaltable>
+ </elementTemplate>
+
+ <elementTemplate name="HTML_head_row_column" selectable="false">
+ <informaltable xmlns="" frame="box" rules="all">
+ <col align="center" span="1" />
+ <thead>
+ <tr align="center">
+ <th></th><th></th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ </tbody>
+ </informaltable>
+ </elementTemplate>
+
+ <elementTemplate name="HTML" selectable="false">
+ <table xmlns="" border="1">
+ <caption></caption>
+ <tr>
+ <td></td><td></td>
+ </tr>
+ <tr>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </elementTemplate>
+
+ <elementTemplate name="HTML_head_row" selectable="false">
+ <table xmlns="" frame="box" rules="all">
+ <caption></caption>
+ <thead>
+ <tr align="center">
+ <th></th><th></th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td></td><td></td>
+ </tr>
+ <tr>
+ <td></td><td></td>
+ </tr>
+ </tbody>
+ </table>
+ </elementTemplate>
+
+ <elementTemplate name="HTML_head_column" selectable="false">
+ <table xmlns="" frame="box" rules="all">
+ <caption></caption>
+ <col align="center" span="1" />
+ <tbody>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ </tbody>
+ </table>
+ </elementTemplate>
+
+ <elementTemplate name="HTML_head_row_column" selectable="false">
+ <table xmlns="" frame="box" rules="all">
+ <caption></caption>
+ <col align="center" span="1" />
+ <thead>
+ <tr align="center">
+ <th></th><th></th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ <tr>
+ <th></th><td></td>
+ </tr>
+ </tbody>
+ </table>
+ </elementTemplate>
+</configuration>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons.css b/doc/editor_configs/xmlmind/addon/config/scons/scons.css
new file mode 100644
index 0000000..8f52269
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons.css
@@ -0,0 +1,11 @@
+doc,
+para {
+ display: block;
+}
+para {
+ margin: 1ex 0;
+}
+para[align] {
+ text-align: concatenate(attr(align));
+}
+
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons.xxe b/doc/editor_configs/xmlmind/addon/config/scons/scons.xxe
new file mode 100644
index 0000000..07b846d
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons.xxe
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<configuration name="SCons" mimeType="application/docbook+xml"
+ xmlns="http://www.xmlmind.com/xmleditor/schema/configuration"
+ xmlns:cfg="http://www.xmlmind.com/xmleditor/schema/configuration"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <help location="docbook_help.jar" />
+ <include location="common.incl" />
+
+ <detect>
+ <and>
+ <rootElementNamespace>http://www.scons.org/dbxsd/v1.0</rootElementNamespace>
+ </and>
+ </detect>
+ <schema>
+ <location>http://www.scons.org/dbxsd/v1.0 scons.xsd</location>
+ </schema>
+ <template name="Book" location="scons_templates/book.xml" />
+ <template name="Article" location="scons_templates/article.xml" />
+ <template name="Part" location="scons_templates/part.xml" />
+ <template name="Chapter" location="scons_templates/chapter.xml" />
+ <template name="Refentry" location="scons_templates/refentry.xml" />
+ <template name="Appendix" location="scons_templates/appendix.xml" />
+ <template name="Glossary" location="scons_templates/glossary.xml" />
+ <template name="Section" location="scons_templates/section.xml" />
+ <template name="Sconsdoc" location="scons_templates/sconsdoc.xml" />
+
+ <css name="SCons" location="css/scons.css" />
+ <css name="Document structure" alternate="true"
+ location="css/structure.css" />
+ <!-- In principle, this is used to debug modular documents
+ but we think that some users may also like this way of
+ making documents modules more visible. -->
+ <css name="Show info about included elements" alternate="true"
+ location="css/visible_inclusions.css" />
+</configuration>
+
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons2.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons2.xml
new file mode 100644
index 0000000..324e0fa
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons2.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<article xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <para></para>
+</article>
+
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_catalog.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_catalog.xml
new file mode 100644
index 0000000..5146cfa
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_catalog.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" ?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
+ prefer="public">
+ <uri name="http://www.scons.org/dbxsd/v1.0/scons.xsd"
+ uri="scons_xsd/scons.xsd"/>
+ <uriSuffix uriSuffix="scons.xsd"
+ uri="scons_xsd/scons.xsd"/>
+</catalog>
+
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/appendix.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/appendix.xml
new file mode 100644
index 0000000..289fd6a
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/appendix.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<appendix xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <title></title>
+ <section>
+ <title></title>
+ <para></para>
+ </section>
+</appendix>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/article.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/article.xml
new file mode 100644
index 0000000..1a985c5
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/article.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<article xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <articleinfo>
+ <title></title>
+ <author>
+ <firstname></firstname>
+ <surname></surname>
+ <affiliation>
+ <orgname></orgname>
+ </affiliation>
+ </author>
+ <pubdate></pubdate>
+ </articleinfo>
+ <section>
+ <title></title>
+ <para></para>
+ </section>
+</article>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/book.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/book.xml
new file mode 100644
index 0000000..a16a4e5
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/book.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<book xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <bookinfo>
+ <title></title>
+ <author>
+ <firstname></firstname>
+ <surname></surname>
+ <affiliation>
+ <orgname></orgname>
+ </affiliation>
+ </author>
+ <pubdate></pubdate>
+ </bookinfo>
+ <chapter>
+ <title></title>
+ <section>
+ <title></title>
+ <para></para>
+ </section>
+ </chapter>
+</book>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/chapter.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/chapter.xml
new file mode 100644
index 0000000..25fca75
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/chapter.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<chapter xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <title></title>
+ <section>
+ <title></title>
+ <para></para>
+ </section>
+</chapter>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/glossary.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/glossary.xml
new file mode 100644
index 0000000..ab4e01d
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/glossary.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<glossary xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <glossdiv>
+ <title></title>
+
+ <glossentry>
+ <glossterm></glossterm>
+
+ <glossdef>
+ <para></para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+</glossary>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/part.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/part.xml
new file mode 100644
index 0000000..a757894
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/part.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<part xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <title></title>
+ <chapter>
+ <title></title>
+ <section>
+ <title></title>
+ <para></para>
+ </section>
+ </chapter>
+</part>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/refentry.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/refentry.xml
new file mode 100644
index 0000000..f1f36f6
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/refentry.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<refentry xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <refmeta>
+ <refentrytitle></refentrytitle>
+ <manvolnum></manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname></refname>
+ <refpurpose></refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command></command>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsection>
+ <title>Description</title>
+ <para></para>
+ </refsection>
+</refentry>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/sconsdoc.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/sconsdoc.xml
new file mode 100644
index 0000000..9bfcdf9
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/sconsdoc.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<sconsdoc xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <tool name="Foo">
+ <summary>
+ <para></para>
+ </summary>
+ </tool>
+ <cvar name="BAR">
+ <summary>
+ <para></para>
+ </summary>
+ </cvar>
+</sconsdoc>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/section.xml b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/section.xml
new file mode 100644
index 0000000..7306851
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_templates/section.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<section xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 scons.xsd">
+ <title></title>
+ <para></para>
+</section>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/calstblx.xsd b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/calstblx.xsd
new file mode 100644
index 0000000..6f899a3
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/calstblx.xsd
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ...................................................................... -->
+<!-- SCons DocBook V4.5-Based extension V1.0 XML CALS Table Model V4.5 .... -->
+<!-- File calstblx.xsd .................................................... -->
+
+<!-- Copyright (c) 2001-7,2010,2011,2012 The SCons Foundation
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ This DTD extension is based on the DocBook CALS Table Model V4.5 with:
+
+ Copyright 1992-2002 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ This DTD is based on the CALS Table Model
+ PUBLIC "-//USA-DOD//DTD Table Model 951010//EN"
+
+ $Id: calstblx.dtd 6340 2006-10-03 13:23:24Z nwalsh $
+
+ 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/.
+ For the modified SCons extension files
+
+ scons.xsd, dbpoolx.xsd,
+
+ you can write to its developer mailing list. Check out
+ http://www.scons.org/ and http://www.scons.org/lists.php.
+
+-->
+<!-- ...................................................................... -->
+<!--
+ This module contains the definitions for the CALS Table Model
+ converted to XML. It has been modified slightly for use in the
+ combined HTML/CALS models supported by DocBook V4.5.
+-->
+<!--
+ These definitions are not directly related to the table model, but are
+ used in the default CALS table model and are usually defined elsewhere
+ (and prior to the inclusion of this table module) in a CALS DTD.
+-->
+<!--
+ no if zero(s),
+ yes if any other digits value
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
+ <xs:simpleType name="yesorno">
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:group name="titles">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- default for use in entry content -->
+ <!--
+ The parameter entities as defined below provide the CALS table model
+ as published (as part of the Example DTD) in MIL-HDBK-28001.
+
+ These following declarations provide the CALS-compliant default definitions
+ for these entities. However, these entities can and should 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.
+ -->
+ <xs:group name="tbl.table-titles.mdl">
+ <xs:sequence>
+ <xs:group ref="titles"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="tbl.table-main.mdl">
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="tgroup"/>
+ <xs:element maxOccurs="unbounded" ref="graphic"/>
+ </xs:choice>
+ </xs:group>
+ <xs:complexType name="tbl.tgroup.mdl">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="spanspec"/>
+ <xs:element minOccurs="0" ref="thead"/>
+ <xs:element minOccurs="0" ref="tfoot"/>
+ <xs:element ref="tbody"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:attributeGroup name="tbl.tgroup.att">
+ <xs:attribute name="tgroupstyle"/>
+ </xs:attributeGroup>
+ <xs:complexType name="tbl.row.mdl">
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="entry"/>
+ <xs:element ref="entrytbl"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="tbl.entrytbl.mdl">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="spanspec"/>
+ <xs:element minOccurs="0" ref="thead"/>
+ <xs:element ref="tbody"/>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- ===== Element and attribute declarations follow. ===== -->
+ <!-- doc:A formal table in a document. -->
+ <xs:element name="table" substitutionGroup="formal.class">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="tbl.table.mdl">
+ <xs:attributeGroup ref="table.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="table.attlist">
+ <xs:attribute name="frame" type="tbl.frame.attval"/>
+ <xs:attribute name="colsep" type="yesorno"/>
+ <xs:attribute name="rowsep" type="yesorno"/>
+ <xs:attributeGroup ref="tbl.table.att"/>
+ <xs:attributeGroup ref="bodyatt"/>
+ <xs:attributeGroup ref="secur"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for the main content of a table, or part of a table. -->
+ <xs:element name="tgroup">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="tbl.tgroup.mdl">
+ <xs:attributeGroup ref="tgroup.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="tgroup.attlist">
+ <xs:attribute name="cols" use="required"/>
+ <xs:attributeGroup ref="tbl.tgroup.att"/>
+ <xs:attribute name="colsep" type="yesorno"/>
+ <xs:attribute name="rowsep" type="yesorno"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="center"/>
+ <xs:enumeration value="justify"/>
+ <xs:enumeration value="char"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="char"/>
+ <xs:attribute name="charoff"/>
+ <xs:attributeGroup ref="secur"/>
+ </xs:attributeGroup>
+ <!-- doc:Specifications for a column in a table. -->
+ <xs:element name="colspec">
+ <xs:complexType>
+ <xs:attributeGroup ref="colspec.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="colspec.attlist">
+ <xs:attribute name="colnum"/>
+ <xs:attribute name="colname"/>
+ <xs:attribute name="colwidth"/>
+ <xs:attribute name="colsep" type="yesorno"/>
+ <xs:attribute name="rowsep" type="yesorno"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="center"/>
+ <xs:enumeration value="justify"/>
+ <xs:enumeration value="char"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="char"/>
+ <xs:attribute name="charoff"/>
+ </xs:attributeGroup>
+ <!-- doc:Formatting information for a spanned column in a table. -->
+ <xs:element name="spanspec">
+ <xs:complexType>
+ <xs:attributeGroup ref="spanspec.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="spanspec.attlist">
+ <xs:attribute name="namest" use="required"/>
+ <xs:attribute name="nameend" use="required"/>
+ <xs:attribute name="spanname" use="required"/>
+ <xs:attribute name="colsep" type="yesorno"/>
+ <xs:attribute name="rowsep" type="yesorno"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="center"/>
+ <xs:enumeration value="justify"/>
+ <xs:enumeration value="char"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="char"/>
+ <xs:attribute name="charoff"/>
+ </xs:attributeGroup>
+ <!-- doc:A table header consisting of one or more rows. -->
+ <xs:element name="thead">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="tbl.hdft.mdl">
+ <xs:attributeGroup ref="thead.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="thead.attlist">
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="middle"/>
+ <xs:enumeration value="bottom"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="secur"/>
+ </xs:attributeGroup>
+ <!-- doc:A table footer consisting of one or more rows. -->
+ <xs:element name="tfoot">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="tbl.hdft.mdl">
+ <xs:attributeGroup ref="tfoot.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="tfoot.attlist">
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="middle"/>
+ <xs:enumeration value="bottom"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="secur"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for the rows of a table or informal table. -->
+ <xs:element name="tbody">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="tbl.tbody.mdl">
+ <xs:attributeGroup ref="tbody.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="tbody.attlist">
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="middle"/>
+ <xs:enumeration value="bottom"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="secur"/>
+ </xs:attributeGroup>
+ <!-- doc:A row in a table. -->
+ <xs:element name="row">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="tbl.row.mdl">
+ <xs:attributeGroup ref="row.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="row.attlist">
+ <xs:attribute name="rowsep" type="yesorno"/>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="middle"/>
+ <xs:enumeration value="bottom"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="secur"/>
+ </xs:attributeGroup>
+ <!-- doc:A subtable appearing in place of an Entry in a table. -->
+ <xs:element name="entrytbl">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="tbl.entrytbl.mdl">
+ <xs:attributeGroup ref="entrytbl.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="entrytbl.attlist">
+ <xs:attribute name="cols" use="required"/>
+ <xs:attributeGroup ref="tbl.tgroup.att"/>
+ <xs:attribute name="colname"/>
+ <xs:attribute name="spanname"/>
+ <xs:attribute name="namest"/>
+ <xs:attribute name="nameend"/>
+ <xs:attribute name="colsep" type="yesorno"/>
+ <xs:attribute name="rowsep" type="yesorno"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="center"/>
+ <xs:enumeration value="justify"/>
+ <xs:enumeration value="char"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="char"/>
+ <xs:attribute name="charoff"/>
+ <xs:attributeGroup ref="secur"/>
+ </xs:attributeGroup>
+ <!-- doc:A cell in a table. -->
+ <xs:element name="entry">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="tbl.entry.mdl"/>
+ <xs:attributeGroup ref="entry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="entry.attlist">
+ <xs:attribute name="colname"/>
+ <xs:attribute name="namest"/>
+ <xs:attribute name="nameend"/>
+ <xs:attribute name="spanname"/>
+ <xs:attribute name="morerows"/>
+ <xs:attribute name="colsep" type="yesorno"/>
+ <xs:attribute name="rowsep" type="yesorno"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="center"/>
+ <xs:enumeration value="justify"/>
+ <xs:enumeration value="char"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="char"/>
+ <xs:attribute name="charoff"/>
+ <xs:attribute name="rotate" type="yesorno"/>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="middle"/>
+ <xs:enumeration value="bottom"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="secur"/>
+ </xs:attributeGroup>
+</xs:schema>
+<!-- End of SCons DocBook V4.5-Based extension V1.0 XML CALS Table Model V4.5 ... -->
+<!-- ............................................................................ -->
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbhierx.xsd b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbhierx.xsd
new file mode 100644
index 0000000..af99df6
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbhierx.xsd
@@ -0,0 +1,2186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- .............................................................................. -->
+<!-- SCons DocBook V4.5-Based extension V1.0 XML document hierarchy module V4.5 ... -->
+<!-- File dbhierx.xsd ............................................................. -->
+<!-- Copyright (c) 2001-7,2010,2011,2012 The SCons Foundation
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ This DTD extension is based on the DocBook document hierarchy
+ module V4.5 with:
+
+ Copyright 1992-2004 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ $Id: dbhierx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+ 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/.
+ For the modified SCons extension files
+
+ scons.xsd, dbpoolx.xsd,
+
+ you can write to its developer mailing list. Check out
+ http://www.scons.org/ and http://www.scons.org/lists.php.
+
+-->
+<!-- ...................................................................... -->
+<!--
+ This module contains the definitions for the overall document
+ hierarchies of DocBook documents. It covers computer documentation
+ manuals and manual fragments, as well as reference entries (such as
+ man pages) and technical journals or anthologies containing
+ articles.
+
+ This module depends on the DocBook information pool module. All
+ elements and entities referenced but not defined here are assumed
+ to be defined in the information pool module.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbhier PUBLIC
+ "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN"
+ "dbhierx.mod">
+ %dbhier;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+<!-- ...................................................................... -->
+<!-- Entities for module inclusions ....................................... -->
+<!-- ...................................................................... -->
+<!-- Entities for element classes ......................................... -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
+ <xs:element name="appendix.class" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="appendixinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:element minOccurs="0" ref="tocchap"/>
+ <xs:group ref="bookcomponent.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="appendix.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="article.class" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="div.title.content"/>
+ <xs:element minOccurs="0" ref="articleinfo"/>
+ <xs:element minOccurs="0" ref="tocchap"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="lot"/>
+ <xs:group ref="bookcomponent.content"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="nav.class"/>
+ <xs:element ref="appendix.class"/>
+ <xs:element ref="colophon"/>
+ <xs:element ref="ackno"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="article.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="book.class" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="div.title.content"/>
+ <xs:element minOccurs="0" ref="bookinfo"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="dedication"/>
+ <xs:element ref="toc"/>
+ <xs:element ref="lot"/>
+ <xs:element ref="glossary"/>
+ <xs:element ref="bibliography"/>
+ <xs:element ref="preface"/>
+ <xs:element ref="chapter.class"/>
+ <xs:element ref="reference"/>
+ <xs:element ref="part"/>
+ <xs:element ref="article.class"/>
+ <xs:element ref="appendix.class"/>
+ <xs:group ref="index.class"/>
+ <xs:element ref="colophon"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="book.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="chapter.class" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="chapterinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:element minOccurs="0" ref="tocchap"/>
+ <xs:group ref="bookcomponent.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="chapter.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:group name="index.class">
+ <xs:choice>
+ <xs:element ref="index"/>
+ <xs:element ref="setindex"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="refentry.class" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ <xs:element minOccurs="0" ref="refentryinfo"/>
+ <xs:element minOccurs="0" ref="refmeta"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="remark"/>
+ <xs:element ref="link.char.class"/>
+ </xs:choice>
+ <xs:element maxOccurs="unbounded" ref="refnamediv"/>
+ <xs:element minOccurs="0" ref="refsynopsisdiv"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="refsect1"/>
+ <xs:element maxOccurs="unbounded" ref="refsection"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="section.class" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sectioninfo"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="section.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="section.class"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="section.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:group name="nav.class">
+ <xs:choice>
+ <xs:element ref="toc"/>
+ <xs:element ref="lot"/>
+ <xs:element ref="index"/>
+ <xs:element ref="glossary"/>
+ <xs:element ref="bibliography"/>
+ </xs:choice>
+ </xs:group>
+ <!-- Redeclaration placeholder ............................................ -->
+ <!--
+ For redeclaring entities that are declared after this point while
+ retaining their references to the entities that are declared before
+ this point
+ -->
+ <!-- ...................................................................... -->
+ <!-- Entities for element mixtures ........................................ -->
+ <xs:group name="divcomponent.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="formal.class"/>
+ <xs:element ref="compound.class"/>
+ <xs:group ref="genobj.class"/>
+ <xs:group ref="descobj.class"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="refcomponent.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="formal.class"/>
+ <xs:element ref="compound.class"/>
+ <xs:group ref="genobj.class"/>
+ <xs:group ref="descobj.class"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="indexdivcomponent.mix">
+ <xs:choice>
+ <xs:element ref="itemizedlist"/>
+ <xs:element ref="orderedlist"/>
+ <xs:element ref="variablelist"/>
+ <xs:element ref="simplelist"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="anchor"/>
+ <xs:element ref="remark"/>
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="refname.char.mix">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="tech.char.class"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="partcontent.mix">
+ <xs:choice>
+ <xs:element ref="appendix.class"/>
+ <xs:element ref="chapter.class"/>
+ <xs:group ref="nav.class"/>
+ <xs:element ref="article.class"/>
+ <xs:element ref="preface"/>
+ <xs:element ref="refentry.class"/>
+ <xs:element ref="reference"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="refinline.char.mix">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:element ref="xref.char.class"/>
+ <xs:element ref="gen.char.class"/>
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="tech.char.class"/>
+ <xs:group ref="base.char.class"/>
+ <xs:element ref="docinfo.char.class"/>
+ <xs:group ref="other.char.class"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="refclass.char.mix">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="application"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- Redeclaration placeholder 2 .......................................... -->
+ <!--
+ For redeclaring entities that are declared after this point while
+ retaining their references to the entities that are declared before
+ this point
+ -->
+ <!-- ...................................................................... -->
+ <!-- Entities for content models .......................................... -->
+ <xs:group name="div.title.content">
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" ref="subtitle"/>
+ <xs:element minOccurs="0" ref="titleabbrev"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="bookcomponent.title.content">
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" ref="subtitle"/>
+ <xs:element minOccurs="0" ref="titleabbrev"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="sect.title.content">
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" ref="subtitle"/>
+ <xs:element minOccurs="0" ref="titleabbrev"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="refsect.title.content">
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" ref="subtitle"/>
+ <xs:element minOccurs="0" ref="titleabbrev"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="bookcomponent.content">
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect1"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="section.class"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="sect1"/>
+ <xs:element maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ <xs:element maxOccurs="unbounded" ref="section.class"/>
+ </xs:choice>
+ </xs:choice>
+ </xs:group>
+ <!-- ...................................................................... -->
+ <!-- Set and SetInfo ...................................................... -->
+ <xs:attributeGroup name="set.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A collection of books. -->
+ <xs:element name="set">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="div.title.content"/>
+ <xs:element minOccurs="0" ref="setinfo"/>
+ <xs:element minOccurs="0" ref="toc"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="set"/>
+ <xs:element ref="book.class"/>
+ </xs:choice>
+ <xs:element minOccurs="0" ref="setindex"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="set.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of set.element -->
+ <!-- FPI: SGML formal public identifier -->
+ <xs:attributeGroup name="set.attlist">
+ <xs:attribute name="fpi"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="set.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of set.attlist -->
+ <!-- end of set.module -->
+ <xs:attributeGroup name="setinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Set. -->
+ <xs:element name="setinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="setinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of setinfo.element -->
+ <!--
+ Contents: IDs of the ToC, Books, and SetIndex that comprise
+ the set, in the order of their appearance
+ -->
+ <xs:attributeGroup name="setinfo.attlist">
+ <xs:attribute name="contents" type="xs:IDREFS"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="setinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of setinfo.attlist -->
+ <!-- end of setinfo.module -->
+ <!-- end of set.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Book and BookInfo .................................................... -->
+ <xs:attributeGroup name="book.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A book. -->
+ <xs:element name="book" substitutionGroup="book.class"/>
+ <!-- end of book.element -->
+ <!-- FPI: SGML formal public identifier -->
+ <xs:attributeGroup name="book.attlist">
+ <xs:attribute name="fpi"/>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="book.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of book.attlist -->
+ <!-- end of book.module -->
+ <xs:attributeGroup name="bookinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Book. -->
+ <xs:element name="bookinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="bookinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bookinfo.element -->
+ <!--
+ Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters,
+ Appendixes, References, GLossary, Bibliography, and indexes
+ comprising the Book, in the order of their appearance
+ -->
+ <xs:attributeGroup name="bookinfo.attlist">
+ <xs:attribute name="contents" type="xs:IDREFS"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bookinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bookinfo.attlist -->
+ <!-- end of bookinfo.module -->
+ <!-- end of book.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Dedication, ToC, and LoT ............................................. -->
+ <xs:attributeGroup name="dedication.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for the dedication section of a book. -->
+ <xs:element name="dedication">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="sect.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="legalnotice.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="dedication.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of dedication.element -->
+ <xs:attributeGroup name="dedication.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="dedication.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of dedication.attlist -->
+ <!-- end of dedication.module -->
+ <xs:attributeGroup name="colophon.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Text at the back of a book describing facts about its production. -->
+ <xs:element name="colophon">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="sect.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="textobject.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="colophon.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of colophon.element -->
+ <xs:attributeGroup name="colophon.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="colophon.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of colophon.attlist -->
+ <!-- end of colophon.module -->
+ <xs:attributeGroup name="toc.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A table of contents. -->
+ <xs:element name="toc">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="tocfront"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="tocpart"/>
+ <xs:element ref="tocchap"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="tocback"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toc.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of toc.element -->
+ <xs:attributeGroup name="toc.attlist">
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toc.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of toc.attlist -->
+ <!-- end of toc.module -->
+ <xs:attributeGroup name="tocfront.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry in a table of contents for a front matter component. -->
+ <xs:element name="tocfront">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="tocfront.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tocfront.element -->
+ <!-- to element that this entry represents -->
+ <xs:attributeGroup name="tocfront.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocfront.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of tocfront.attlist -->
+ <!-- end of tocfront.module -->
+ <xs:attributeGroup name="tocentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A component title in a table of contents. -->
+ <xs:element name="tocentry">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="tocentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tocentry.element -->
+ <!-- to element that this entry represents -->
+ <xs:attributeGroup name="tocentry.attlist">
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of tocentry.attlist -->
+ <!-- end of tocentry.module -->
+ <xs:attributeGroup name="tocpart.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry in a table of contents for a part of a book. -->
+ <xs:element name="tocpart">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="tocchap"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="tocpart.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tocpart.element -->
+ <xs:attributeGroup name="tocpart.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocpart.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of tocpart.attlist -->
+ <!-- end of tocpart.module -->
+ <xs:attributeGroup name="tocchap.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry in a table of contents for a component in the body of a document. -->
+ <xs:element name="tocchap">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel1"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="tocchap.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tocchap.element -->
+ <xs:attributeGroup name="tocchap.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocchap.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of tocchap.attlist -->
+ <!-- end of tocchap.module -->
+ <xs:attributeGroup name="toclevel1.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A top-level entry within a table of contents entry for a chapter-like component. -->
+ <xs:element name="toclevel1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel2"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel1.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of toclevel1.element -->
+ <xs:attributeGroup name="toclevel1.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel1.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of toclevel1.attlist -->
+ <!-- end of toclevel1.module -->
+ <xs:attributeGroup name="toclevel2.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A second-level entry within a table of contents entry for a chapter-like component. -->
+ <xs:element name="toclevel2">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel3"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel2.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of toclevel2.element -->
+ <xs:attributeGroup name="toclevel2.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel2.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of toclevel2.attlist -->
+ <!-- end of toclevel2.module -->
+ <xs:attributeGroup name="toclevel3.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A third-level entry within a table of contents entry for a chapter-like component. -->
+ <xs:element name="toclevel3">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel4"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel3.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of toclevel3.element -->
+ <xs:attributeGroup name="toclevel3.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel3.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of toclevel3.attlist -->
+ <!-- end of toclevel3.module -->
+ <xs:attributeGroup name="toclevel4.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A fourth-level entry within a table of contents entry for a chapter-like component. -->
+ <xs:element name="toclevel4">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel5"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel4.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of toclevel4.element -->
+ <xs:attributeGroup name="toclevel4.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel4.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of toclevel4.attlist -->
+ <!-- end of toclevel4.module -->
+ <xs:attributeGroup name="toclevel5.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A fifth-level entry within a table of contents entry for a chapter-like component. -->
+ <xs:element name="toclevel5">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel5.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of toclevel5.element -->
+ <xs:attributeGroup name="toclevel5.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel5.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of toclevel5.attlist -->
+ <!-- end of toclevel5.module -->
+ <xs:attributeGroup name="tocback.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry in a table of contents for a back matter component. -->
+ <xs:element name="tocback">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="tocback.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tocback.element -->
+ <!-- to element that this entry represents -->
+ <xs:attributeGroup name="tocback.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocback.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of tocback.attlist -->
+ <!-- end of tocback.module -->
+ <!-- end of toc.content.module -->
+ <xs:attributeGroup name="lot.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A list of the titles of formal objects (as tables or figures) in a document. -->
+ <xs:element name="lot">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="lotentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="lot.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of lot.element -->
+ <xs:attributeGroup name="lot.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="lot.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of lot.attlist -->
+ <!-- end of lot.module -->
+ <xs:attributeGroup name="lotentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry in a list of titles. -->
+ <xs:element name="lotentry">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="lotentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of lotentry.element -->
+ <!--
+ SrcCredit: Information about the source of the entry,
+ as for a list of illustrations
+ -->
+ <!-- linkend: to element that this entry represents -->
+ <xs:attributeGroup name="lotentry.attlist">
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attribute name="srccredit"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="lotentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of lotentry.attlist -->
+ <!-- end of lotentry.module -->
+ <!-- end of lot.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Appendix, Chapter, Part, Preface, Reference, PartIntro ............... -->
+ <xs:attributeGroup name="appendix.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An appendix in a Book or Article. -->
+ <xs:element name="appendix" substitutionGroup="appendix.class"/>
+ <!-- end of appendix.element -->
+ <xs:attributeGroup name="appendix.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="appendix.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of appendix.attlist -->
+ <!-- end of appendix.module -->
+ <xs:attributeGroup name="chapter.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A chapter, as of a book. -->
+ <xs:element name="chapter" substitutionGroup="chapter.class"/>
+ <!-- end of chapter.element -->
+ <xs:attributeGroup name="chapter.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="chapter.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of chapter.attlist -->
+ <!-- end of chapter.module -->
+ <!--
+ Note that Part was to have its content model reduced in V4.5. This
+ change will not be made after all.
+ -->
+ <xs:attributeGroup name="part.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A division in a book. -->
+ <xs:element name="part">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="partinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:element minOccurs="0" ref="partintro"/>
+ <xs:group maxOccurs="unbounded" ref="partcontent.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="part.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of part.element -->
+ <xs:attributeGroup name="part.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="part.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of part.attlist -->
+ <!-- ELEMENT PartIntro (defined below) -->
+ <!-- end of part.module -->
+ <xs:attributeGroup name="preface.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Introductory matter preceding the first chapter of a book. -->
+ <xs:element name="preface">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="prefaceinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:element minOccurs="0" ref="tocchap"/>
+ <xs:group ref="bookcomponent.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="preface.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of preface.element -->
+ <xs:attributeGroup name="preface.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="preface.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of preface.attlist -->
+ <!-- end of preface.module -->
+ <xs:attributeGroup name="reference.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A collection of reference entries. -->
+ <xs:element name="reference">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="referenceinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:element minOccurs="0" ref="partintro"/>
+ <xs:element maxOccurs="unbounded" ref="refentry.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="reference.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of reference.element -->
+ <xs:attributeGroup name="reference.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="reference.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of reference.attlist -->
+ <!-- ELEMENT PartIntro (defined below) -->
+ <!-- end of reference.module -->
+ <xs:attributeGroup name="partintro.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An introduction to the contents of a part. -->
+ <xs:element name="partintro">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="div.title.content"/>
+ <xs:group ref="bookcomponent.content"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="partintro.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of partintro.element -->
+ <xs:attributeGroup name="partintro.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="partintro.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of partintro.attlist -->
+ <!-- end of partintro.module -->
+ <!-- ...................................................................... -->
+ <!-- Other Info elements .................................................. -->
+ <xs:attributeGroup name="appendixinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for an Appendix. -->
+ <xs:element name="appendixinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="appendixinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of appendixinfo.element -->
+ <xs:attributeGroup name="appendixinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="appendixinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of appendixinfo.attlist -->
+ <!-- end of appendixinfo.module -->
+ <xs:attributeGroup name="bibliographyinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Bibliography. -->
+ <xs:element name="bibliographyinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="bibliographyinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliographyinfo.element -->
+ <xs:attributeGroup name="bibliographyinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliographyinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliographyinfo.attlist -->
+ <!-- end of bibliographyinfo.module -->
+ <xs:attributeGroup name="chapterinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Chapter. -->
+ <xs:element name="chapterinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="chapterinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of chapterinfo.element -->
+ <xs:attributeGroup name="chapterinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="chapterinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of chapterinfo.attlist -->
+ <!-- end of chapterinfo.module -->
+ <xs:attributeGroup name="glossaryinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Glossary. -->
+ <xs:element name="glossaryinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="glossaryinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of glossaryinfo.element -->
+ <xs:attributeGroup name="glossaryinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossaryinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of glossaryinfo.attlist -->
+ <!-- end of glossaryinfo.module -->
+ <xs:attributeGroup name="indexinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for an Index. -->
+ <xs:element name="indexinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="indexinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of indexinfo.element -->
+ <xs:attributeGroup name="indexinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of indexinfo.attlist -->
+ <!-- end of indexinfo.module -->
+ <xs:attributeGroup name="setindexinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a SetIndex. -->
+ <xs:element name="setindexinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="setindexinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of setindexinfo.element -->
+ <xs:attributeGroup name="setindexinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="setindexinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of setindexinfo.attlist -->
+ <!-- end of setindexinfo.module -->
+ <xs:attributeGroup name="partinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Part. -->
+ <xs:element name="partinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="partinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of partinfo.element -->
+ <xs:attributeGroup name="partinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="partinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of partinfo.attlist -->
+ <!-- end of partinfo.module -->
+ <xs:attributeGroup name="prefaceinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Preface. -->
+ <xs:element name="prefaceinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="prefaceinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of prefaceinfo.element -->
+ <xs:attributeGroup name="prefaceinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="prefaceinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of prefaceinfo.attlist -->
+ <!-- end of prefaceinfo.module -->
+ <xs:attributeGroup name="refentryinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Refentry. -->
+ <xs:element name="refentryinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refentryinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refentryinfo.element -->
+ <xs:attributeGroup name="refentryinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refentryinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refentryinfo.attlist -->
+ <!-- end of refentryinfo.module -->
+ <xs:attributeGroup name="refsectioninfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a refsection. -->
+ <xs:element name="refsectioninfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsectioninfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsectioninfo.element -->
+ <xs:attributeGroup name="refsectioninfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsectioninfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsectioninfo.attlist -->
+ <!-- end of refsectioninfo.module -->
+ <xs:attributeGroup name="refsect1info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a RefSect1. -->
+ <xs:element name="refsect1info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsect1info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsect1info.element -->
+ <xs:attributeGroup name="refsect1info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect1info.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsect1info.attlist -->
+ <!-- end of refsect1info.module -->
+ <xs:attributeGroup name="refsect2info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a RefSect2. -->
+ <xs:element name="refsect2info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsect2info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsect2info.element -->
+ <xs:attributeGroup name="refsect2info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect2info.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsect2info.attlist -->
+ <!-- end of refsect2info.module -->
+ <xs:attributeGroup name="refsect3info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a RefSect3. -->
+ <xs:element name="refsect3info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsect3info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsect3info.element -->
+ <xs:attributeGroup name="refsect3info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect3info.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsect3info.attlist -->
+ <!-- end of refsect3info.module -->
+ <xs:attributeGroup name="refsynopsisdivinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a RefSynopsisDiv. -->
+ <xs:element name="refsynopsisdivinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsynopsisdivinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsynopsisdivinfo.element -->
+ <xs:attributeGroup name="refsynopsisdivinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsynopsisdivinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsynopsisdivinfo.attlist -->
+ <!-- end of refsynopsisdivinfo.module -->
+ <xs:attributeGroup name="referenceinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Reference. -->
+ <xs:element name="referenceinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="referenceinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of referenceinfo.element -->
+ <xs:attributeGroup name="referenceinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="referenceinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of referenceinfo.attlist -->
+ <!-- end of referenceinfo.module -->
+ <xs:attributeGroup name="sect1info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Sect1. -->
+ <xs:element name="sect1info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect1info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect1info.element -->
+ <xs:attributeGroup name="sect1info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect1info.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect1info.attlist -->
+ <xs:attributeGroup name="sect2info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Sect2. -->
+ <xs:element name="sect2info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect2info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect2info.element -->
+ <xs:attributeGroup name="sect2info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect2info.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect2info.attlist -->
+ <xs:attributeGroup name="sect3info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Sect3. -->
+ <xs:element name="sect3info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect3info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect3info.element -->
+ <xs:attributeGroup name="sect3info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect3info.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect3info.attlist -->
+ <xs:attributeGroup name="sect4info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Sect4. -->
+ <xs:element name="sect4info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect4info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect4info.element -->
+ <xs:attributeGroup name="sect4info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect4info.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect4info.attlist -->
+ <xs:attributeGroup name="sect5info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Sect5. -->
+ <xs:element name="sect5info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect5info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect5info.element -->
+ <xs:attributeGroup name="sect5info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect5info.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect5info.attlist -->
+ <!-- ...................................................................... -->
+ <!-- Section (parallel to Sect*) ......................................... -->
+ <xs:attributeGroup name="section.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A recursive section. -->
+ <xs:element name="section" substitutionGroup="section.class"/>
+ <!-- end of section.element -->
+ <xs:attributeGroup name="section.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="section.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of section.attlist -->
+ <!-- end of section.module -->
+ <xs:attributeGroup name="sectioninfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a recursive section. -->
+ <xs:element name="sectioninfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sectioninfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sectioninfo.element -->
+ <xs:attributeGroup name="sectioninfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sectioninfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sectioninfo.attlist -->
+ <!-- end of sectioninfo.module -->
+ <!-- end of section.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Sect1, Sect2, Sect3, Sect4, Sect5 .................................... -->
+ <xs:attributeGroup name="sect1.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A top-level section of document. -->
+ <xs:element name="sect1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect1info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect2"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="sect2"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect1.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect1.element -->
+ <!--
+ Renderas: Indicates the format in which the heading should
+ appear
+ -->
+ <xs:attributeGroup name="sect1.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect2"/>
+ <xs:enumeration value="sect3"/>
+ <xs:enumeration value="sect4"/>
+ <xs:enumeration value="sect5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect1.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect1.attlist -->
+ <!-- end of sect1.module -->
+ <xs:attributeGroup name="sect2.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A subsection within a Sect1. -->
+ <xs:element name="sect2">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect2info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect3"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="sect3"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect2.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect2.element -->
+ <!--
+ Renderas: Indicates the format in which the heading should
+ appear
+ -->
+ <xs:attributeGroup name="sect2.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect1"/>
+ <xs:enumeration value="sect3"/>
+ <xs:enumeration value="sect4"/>
+ <xs:enumeration value="sect5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect2.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect2.attlist -->
+ <!-- end of sect2.module -->
+ <xs:attributeGroup name="sect3.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A subsection within a Sect2. -->
+ <xs:element name="sect3">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect3info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect4"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="sect4"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect3.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect3.element -->
+ <!--
+ Renderas: Indicates the format in which the heading should
+ appear
+ -->
+ <xs:attributeGroup name="sect3.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect1"/>
+ <xs:enumeration value="sect2"/>
+ <xs:enumeration value="sect4"/>
+ <xs:enumeration value="sect5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect3.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect3.attlist -->
+ <!-- end of sect3.module -->
+ <xs:attributeGroup name="sect4.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A subsection within a Sect3. -->
+ <xs:element name="sect4">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect4info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect5"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="sect5"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect4.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect4.element -->
+ <!--
+ Renderas: Indicates the format in which the heading should
+ appear
+ -->
+ <xs:attributeGroup name="sect4.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect1"/>
+ <xs:enumeration value="sect2"/>
+ <xs:enumeration value="sect3"/>
+ <xs:enumeration value="sect5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect4.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect4.attlist -->
+ <!-- end of sect4.module -->
+ <xs:attributeGroup name="sect5.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A subsection within a Sect4. -->
+ <xs:element name="sect5">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect5info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect5.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sect5.element -->
+ <!--
+ Renderas: Indicates the format in which the heading should
+ appear
+ -->
+ <xs:attributeGroup name="sect5.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect1"/>
+ <xs:enumeration value="sect2"/>
+ <xs:enumeration value="sect3"/>
+ <xs:enumeration value="sect4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect5.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sect5.attlist -->
+ <!-- end of sect5.module -->
+ <xs:attributeGroup name="simplesect.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A section of a document with no subdivisions. -->
+ <xs:element name="simplesect">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="sect.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="simplesect.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of simplesect.element -->
+ <xs:attributeGroup name="simplesect.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="simplesect.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of simplesect.attlist -->
+ <!-- end of simplesect.module -->
+ <!-- ...................................................................... -->
+ <!-- Bibliography ......................................................... -->
+ <xs:attributeGroup name="bibliography.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A bibliography. -->
+ <xs:element name="bibliography">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="bibliographyinfo"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="bibliodiv"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="biblioentry"/>
+ <xs:element ref="bibliomixed"/>
+ </xs:choice>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="bibliography.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliography.element -->
+ <xs:attributeGroup name="bibliography.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliography.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliography.attlist -->
+ <!-- end of bibliography.module -->
+ <xs:attributeGroup name="bibliodiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A section of a Bibliography. -->
+ <xs:element name="bibliodiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="biblioentry"/>
+ <xs:element ref="bibliomixed"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="bibliodiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliodiv.element -->
+ <xs:attributeGroup name="bibliodiv.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliodiv.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliodiv.attlist -->
+ <!-- end of bibliodiv.module -->
+ <!-- end of bibliography.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Glossary ............................................................. -->
+ <xs:attributeGroup name="glossary.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A glossary. -->
+ <xs:element name="glossary">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="glossaryinfo"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="glossdiv"/>
+ <xs:element maxOccurs="unbounded" ref="glossentry"/>
+ </xs:choice>
+ <xs:element minOccurs="0" ref="bibliography"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="glossary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of glossary.element -->
+ <xs:attributeGroup name="glossary.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossary.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of glossary.attlist -->
+ <!-- end of glossary.module -->
+ <xs:attributeGroup name="glossdiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A division in a Glossary. -->
+ <xs:element name="glossdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:element maxOccurs="unbounded" ref="glossentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="glossdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of glossdiv.element -->
+ <xs:attributeGroup name="glossdiv.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossdiv.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of glossdiv.attlist -->
+ <!-- end of glossdiv.module -->
+ <!-- end of glossary.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Index and SetIndex ................................................... -->
+ <xs:attributeGroup name="indexes.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An index. -->
+ <xs:element name="index">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="indexinfo"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexdiv"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="index.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of index.element -->
+ <xs:attributeGroup name="index.attlist">
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexes.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of index.attlist -->
+ <!-- doc:An index to a set of books. -->
+ <xs:element name="setindex">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="setindexinfo"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexdiv"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="setindex.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of setindex.element -->
+ <xs:attributeGroup name="setindex.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexes.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of setindex.attlist -->
+ <!-- end of indexes.module -->
+ <!--
+ SegmentedList in this content is useful for marking up permuted
+ indices.
+ -->
+ <xs:attributeGroup name="indexdiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A division in an index. -->
+ <xs:element name="indexdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="sect.title.content"/>
+ <xs:sequence>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="indexdivcomponent.mix"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="indexentry"/>
+ <xs:element ref="segmentedlist"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:sequence>
+ <xs:attributeGroup ref="indexdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of indexdiv.element -->
+ <xs:attributeGroup name="indexdiv.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexdiv.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of indexdiv.attlist -->
+ <!-- end of indexdiv.module -->
+ <!-- Index entries appear in the index, not the text. -->
+ <xs:attributeGroup name="indexentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry in an index. -->
+ <xs:element name="indexentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="primaryie"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="seeie"/>
+ <xs:element ref="seealsoie"/>
+ </xs:choice>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="secondaryie"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="seeie"/>
+ <xs:element ref="seealsoie"/>
+ <xs:element ref="tertiaryie"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:sequence>
+ <xs:attributeGroup ref="indexentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of indexentry.element -->
+ <xs:attributeGroup name="indexentry.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of indexentry.attlist -->
+ <!-- end of indexentry.module -->
+ <xs:attributeGroup name="primsecterie.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A primary term in an index entry, not in the text. -->
+ <xs:element name="primaryie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="primaryie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of primaryie.element -->
+ <!-- to IndexTerms that these entries represent -->
+ <xs:attributeGroup name="primaryie.attlist">
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="primsecterie.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of primaryie.attlist -->
+ <!-- doc:A secondary term in an index entry, rather than in the text. -->
+ <xs:element name="secondaryie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="secondaryie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of secondaryie.element -->
+ <!-- to IndexTerms that these entries represent -->
+ <xs:attributeGroup name="secondaryie.attlist">
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="primsecterie.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of secondaryie.attlist -->
+ <!-- doc:A tertiary term in an index entry, rather than in the text. -->
+ <xs:element name="tertiaryie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="tertiaryie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tertiaryie.element -->
+ <!-- to IndexTerms that these entries represent -->
+ <xs:attributeGroup name="tertiaryie.attlist">
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="primsecterie.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of tertiaryie.attlist -->
+ <!-- end of primsecterie.module -->
+ <xs:attributeGroup name="seeie.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A See entry in an index, rather than in the text. -->
+ <xs:element name="seeie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="seeie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of seeie.element -->
+ <!-- to IndexEntry to look up -->
+ <xs:attributeGroup name="seeie.attlist">
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="seeie.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of seeie.attlist -->
+ <!-- end of seeie.module -->
+ <xs:attributeGroup name="seealsoie.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A See also entry in an index, rather than in the text. -->
+ <xs:element name="seealsoie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="seealsoie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of seealsoie.element -->
+ <!-- to related IndexEntries -->
+ <xs:attributeGroup name="seealsoie.attlist">
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="seealsoie.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of seealsoie.attlist -->
+ <!-- end of seealsoie.module -->
+ <!-- end of index.content.module -->
+ <!-- ...................................................................... -->
+ <!-- RefEntry ............................................................. -->
+ <xs:attributeGroup name="refentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A reference page (originally a UNIX man-style reference page). -->
+ <xs:element name="refentry" substitutionGroup="refentry.class"/>
+ <!-- end of refentry.element -->
+ <xs:attributeGroup name="refentry.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refentry.attlist -->
+ <!-- end of refentry.module -->
+ <xs:attributeGroup name="refmeta.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a reference entry. -->
+ <xs:element name="refmeta">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ <xs:element ref="refentrytitle"/>
+ <xs:element minOccurs="0" ref="manvolnum"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refmiscinfo"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="refmeta.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refmeta.element -->
+ <xs:attributeGroup name="refmeta.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refmeta.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refmeta.attlist -->
+ <!-- end of refmeta.module -->
+ <xs:attributeGroup name="refmiscinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a reference entry other than the title and volume number. -->
+ <xs:element name="refmiscinfo">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="refmiscinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refmiscinfo.element -->
+ <!-- Class: Freely assignable parameter; no default -->
+ <xs:attributeGroup name="refmiscinfo.attlist">
+ <xs:attribute name="class"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refmiscinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refmiscinfo.attlist -->
+ <!-- end of refmiscinfo.module -->
+ <xs:attributeGroup name="refnamediv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name, purpose, and classification of a reference page. -->
+ <xs:element name="refnamediv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refdescriptor"/>
+ <xs:element maxOccurs="unbounded" ref="refname"/>
+ <xs:element ref="refpurpose"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refclass"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="remark"/>
+ <xs:element ref="link.char.class"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refnamediv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refnamediv.element -->
+ <xs:attributeGroup name="refnamediv.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refnamediv.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refnamediv.attlist -->
+ <!-- end of refnamediv.module -->
+ <xs:attributeGroup name="refdescriptor.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A description of the topic of a reference page. -->
+ <xs:element name="refdescriptor">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refname.char.mix"/>
+ <xs:attributeGroup ref="refdescriptor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refdescriptor.element -->
+ <xs:attributeGroup name="refdescriptor.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refdescriptor.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refdescriptor.attlist -->
+ <!-- end of refdescriptor.module -->
+ <xs:attributeGroup name="refname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of (one of) the subject(s) of a reference page. -->
+ <xs:element name="refname">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refname.char.mix"/>
+ <xs:attributeGroup ref="refname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refname.element -->
+ <xs:attributeGroup name="refname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refname.attlist -->
+ <!-- end of refname.module -->
+ <xs:attributeGroup name="refpurpose.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A short (one sentence) synopsis of the topic of a reference page. -->
+ <xs:element name="refpurpose">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refinline.char.mix"/>
+ <xs:attributeGroup ref="refpurpose.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refpurpose.element -->
+ <xs:attributeGroup name="refpurpose.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refpurpose.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refpurpose.attlist -->
+ <!-- end of refpurpose.module -->
+ <xs:attributeGroup name="refclass.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The scope or other indication of applicability of a reference entry. -->
+ <xs:element name="refclass">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refclass.char.mix"/>
+ <xs:attributeGroup ref="refclass.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refclass.element -->
+ <xs:attributeGroup name="refclass.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refclass.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refclass.attlist -->
+ <!-- end of refclass.module -->
+ <xs:attributeGroup name="refsynopsisdiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A syntactic synopsis of the subject of the reference page. -->
+ <xs:element name="refsynopsisdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsynopsisdivinfo"/>
+ <xs:group minOccurs="0" ref="refsect.title.content"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsect2"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refsect2"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsynopsisdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsynopsisdiv.element -->
+ <xs:attributeGroup name="refsynopsisdiv.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsynopsisdiv.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsynopsisdiv.attlist -->
+ <!-- end of refsynopsisdiv.module -->
+ <xs:attributeGroup name="refsection.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A recursive section in a refentry. -->
+ <xs:element name="refsection">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsectioninfo"/>
+ <xs:group ref="refsect.title.content"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsection"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refsection"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsection.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsection.element -->
+ <xs:attributeGroup name="refsection.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsection.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsection.attlist -->
+ <!-- end of refsection.module -->
+ <xs:attributeGroup name="refsect1.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A major subsection of a reference entry. -->
+ <xs:element name="refsect1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsect1info"/>
+ <xs:group ref="refsect.title.content"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsect2"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refsect2"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsect1.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsect1.element -->
+ <xs:attributeGroup name="refsect1.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect1.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsect1.attlist -->
+ <!-- end of refsect1.module -->
+ <xs:attributeGroup name="refsect2.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A subsection of a RefSect1. -->
+ <xs:element name="refsect2">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsect2info"/>
+ <xs:group ref="refsect.title.content"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsect3"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refsect3"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsect2.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsect2.element -->
+ <xs:attributeGroup name="refsect2.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect2.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsect2.attlist -->
+ <!-- end of refsect2.module -->
+ <xs:attributeGroup name="refsect3.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A subsection of a RefSect2. -->
+ <xs:element name="refsect3">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsect3info"/>
+ <xs:group ref="refsect.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsect3.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refsect3.element -->
+ <xs:attributeGroup name="refsect3.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect3.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refsect3.attlist -->
+ <!-- end of refsect3.module -->
+ <!-- end of refentry.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Article .............................................................. -->
+ <!--
+ An Article is a chapter-level, stand-alone document that is often,
+ but need not be, collected into a Book.
+ -->
+ <xs:attributeGroup name="article.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An article. -->
+ <xs:element name="article" substitutionGroup="article.class"/>
+ <!-- end of article.element -->
+ <!--
+ Class: Indicates the type of a particular article;
+ all articles have the same structure and general purpose.
+ No default.
+ -->
+ <!-- ParentBook: ID of the enclosing Book -->
+ <xs:attributeGroup name="article.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="journalarticle"/>
+ <xs:enumeration value="productsheet"/>
+ <xs:enumeration value="whitepaper"/>
+ <xs:enumeration value="techreport"/>
+ <xs:enumeration value="specification"/>
+ <xs:enumeration value="faq"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="parentbook" type="xs:IDREF"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="article.role.attrib"/>
+ </xs:attributeGroup>
+</xs:schema>
+<!-- end of article.attlist -->
+<!-- end of article.module -->
+<!-- End of SCons DocBook V4.5-Based extension V1.0 XML document hierarchy module V4.5 -->
+<!-- ................................................................................. -->
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbnotnx.xsd b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbnotnx.xsd
new file mode 100644
index 0000000..36f690f
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbnotnx.xsd
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ...................................................................... -->
+<!-- SCons DocBook V4.5-Based extension V1.0 XML notations ................ -->
+<!-- File dbnotnx.xsd ..................................................... -->
+<!-- Copyright (c) 2001-7,2010,2011,2012 The SCons Foundation
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ This DTD extension is based on the DocBook notations module V4.5 with:
+
+ Copyright 1992-2004 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ $Id: dbnotnx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+ 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/.
+ For the modified SCons extension files
+
+ scons.xsd, dbpoolx.xsd,
+
+ you can write to its developer mailing list. Check out
+ http://www.scons.org/ and http://www.scons.org/lists.php.
+
+-->
+<!-- ...................................................................... -->
+<!--
+ This module contains the notation declarations used by DocBook.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbnotn PUBLIC
+ "-//OASIS//ENTITIES DocBook Notations V4.5//EN"
+ "dbnotnx.mod">
+ %dbnotn;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
+ <xs:simpleType name="notation.class">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="BMP"/>
+ <xs:enumeration value="CGM-CHAR"/>
+ <xs:enumeration value="CGM-BINARY"/>
+ <xs:enumeration value="CGM-CLEAR"/>
+ <xs:enumeration value="DITROFF"/>
+ <xs:enumeration value="DVI"/>
+ <xs:enumeration value="EPS"/>
+ <xs:enumeration value="EQN"/>
+ <xs:enumeration value="FAX"/>
+ <xs:enumeration value="GIF"/>
+ <xs:enumeration value="GIF87a"/>
+ <xs:enumeration value="GIF89a"/>
+ <xs:enumeration value="JPG"/>
+ <xs:enumeration value="JPEG"/>
+ <xs:enumeration value="IGES"/>
+ <xs:enumeration value="PCX"/>
+ <xs:enumeration value="PIC"/>
+ <xs:enumeration value="PNG"/>
+ <xs:enumeration value="PS"/>
+ <xs:enumeration value="SGML"/>
+ <xs:enumeration value="TBL"/>
+ <xs:enumeration value="TEX"/>
+ <xs:enumeration value="TIFF"/>
+ <xs:enumeration value="WMF"/>
+ <xs:enumeration value="WPG"/>
+ <xs:enumeration value="SVG"/>
+ <xs:enumeration value="PDF"/>
+ <xs:enumeration value="SWF"/>
+ <xs:enumeration value="linespecific"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
+<!-- WordPerfect Graphic format -->
+<!-- End of SCons DocBook V4.5-Based extension V1.0 XML notations ......... -->
+<!-- ...................................................................... -->
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbpoolx.xsd b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbpoolx.xsd
new file mode 100644
index 0000000..ab32eab
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbpoolx.xsd
@@ -0,0 +1,8682 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ...................................................................... -->
+<!-- SCons DocBook V4.5-Based extension V1.0 XML information pool module .. -->
+<!-- File dbpoolx.xsd ..................................................... -->
+<!-- Copyright (c) 2001-7,2010,2011,2012 The SCons Foundation
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ This DTD extension is based on the Docbook XML information pool
+ module V4.5 with:
+
+ Copyright 1992-2004 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ $Id: dbpoolx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+ 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/.
+ For the modified SCons extension files
+
+ scons.xsd, dbpoolx.xsd,
+
+ you can write to its developer mailing list. Check out
+ http://www.scons.org/ and http://www.scons.org/lists.php.
+
+-->
+<!-- ...................................................................... -->
+<!--
+ This module contains the definitions for the objects, inline
+ elements, and so on that are available to be used as the main
+ content of DocBook documents. Some elements are useful for general
+ publishing, and others are useful specifically for computer
+ documentation.
+
+ This module has the following dependencies on other modules:
+
+ o It assumes that a %notation.class; entity is defined by the
+ driver file or other high-level module. This entity is
+ referenced in the NOTATION attributes for the graphic-related and
+ ModeSpec elements.
+
+ o It assumes that an appropriately parameterized table module is
+ available for use with the table-related elements.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbpool PUBLIC
+ "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN"
+ "dbpoolx.mod">
+ %dbpool;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+<!-- ...................................................................... -->
+<!-- Forms entities ....................................................... -->
+<!-- These PEs provide the hook by which the forms module can be inserted -->
+<!-- into the DTD. -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:include schemaLocation="htmltblx.xsd"/>
+ <xs:include schemaLocation="calstblx.xsd"/>
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
+ <!-- ...................................................................... -->
+ <!-- General-purpose semantics entities ................................... -->
+ <xs:simpleType name="yesorno.attvals">
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <!-- ...................................................................... -->
+ <!-- Entities for module inclusions ....................................... -->
+ <!-- ...................................................................... -->
+ <!-- Entities for element classes and mixtures ............................ -->
+ <!-- "Ubiquitous" classes: ndxterm.class and beginpage -->
+ <xs:element name="ndxterm.class" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="primary"/>
+ <xs:choice minOccurs="0">
+ <xs:sequence>
+ <xs:element ref="secondary"/>
+ <xs:choice minOccurs="0">
+ <xs:sequence>
+ <xs:element ref="tertiary"/>
+ <xs:choice minOccurs="0">
+ <xs:element ref="see"/>
+ <xs:element maxOccurs="unbounded" ref="seealso"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element ref="see"/>
+ <xs:element maxOccurs="unbounded" ref="seealso"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element ref="see"/>
+ <xs:element maxOccurs="unbounded" ref="seealso"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="indexterm.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- Object-level classes ................................................. -->
+ <xs:element name="list.class" abstract="true"/>
+ <xs:element name="admon.class" abstract="true"/>
+ <xs:element name="linespecific.class" abstract="true"/>
+ <xs:element name="method.synop.class" abstract="true" substitutionGroup="synop.class"/>
+ <xs:element name="synop.class" abstract="true"/>
+ <xs:element name="para.class" abstract="true"/>
+ <xs:element name="informal.class" abstract="true"/>
+ <xs:element name="formal.class" abstract="true"/>
+ <!-- The DocBook TC may produce an official EBNF module for DocBook. -->
+ <!-- This PE provides the hook by which it can be inserted into the DTD. -->
+ <xs:element name="compound.class" abstract="true"/>
+ <xs:group name="genobj.class">
+ <xs:choice>
+ <xs:element ref="anchor"/>
+ <xs:element ref="bridgehead"/>
+ <xs:element ref="remark"/>
+ <xs:element ref="highlights"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="descobj.class">
+ <xs:choice>
+ <xs:element ref="abstract"/>
+ <xs:element ref="authorblurb"/>
+ <xs:element ref="epigraph"/>
+ </xs:choice>
+ </xs:group>
+ <!-- Character-level classes .............................................. -->
+ <xs:element name="xref.char.class" abstract="true"/>
+ <xs:element name="gen.char.class" abstract="true"/>
+ <xs:element name="link.char.class" abstract="true"/>
+ <!-- The DocBook TC may produce an official EBNF module for DocBook. -->
+ <!-- This PE provides the hook by which it can be inserted into the DTD. -->
+ <xs:element name="tech.char.class" abstract="true"/>
+ <xs:group name="base.char.class">
+ <xs:sequence>
+ <xs:element ref="anchor"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="docinfo.char.class" abstract="true"/>
+ <xs:group name="other.char.class">
+ <xs:choice>
+ <xs:element ref="remark"/>
+ <xs:element ref="subscript"/>
+ <xs:element ref="superscript"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="inlineobj.char.class" abstract="true"/>
+ <!-- ...................................................................... -->
+ <!-- Entities for content models .......................................... -->
+ <xs:group name="formalobject.title.content">
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" ref="titleabbrev"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- Redeclaration placeholder ............................................ -->
+ <!--
+ For redeclaring entities that are declared after this point while
+ retaining their references to the entities that are declared before
+ this point
+ -->
+ <!-- Object-level mixtures ................................................ -->
+ <!--
+ list admn line synp para infm form cmpd gen desc
+ Component mixture X X X X X X X X X X
+ Sidebar mixture X X X X X X X a X
+ Footnote mixture X X X X X
+ Example mixture X X X X X
+ Highlights mixture X X X
+ Paragraph mixture X X X X
+ Admonition mixture X X X X X X b c
+ Figure mixture X X X
+ Table entry mixture X X X X d
+ Glossary def mixture X X X X X e
+ Legal notice mixture X X X X f
+
+ a. Just Procedure; not Sidebar itself or MsgSet.
+ b. No MsgSet.
+ c. No Highlights.
+ d. Just Graphic; no other informal objects.
+ e. No Anchor, BridgeHead, or Highlights.
+ f. Just BlockQuote; no other informal objects.
+ -->
+ <xs:group name="component.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="formal.class"/>
+ <xs:element ref="compound.class"/>
+ <xs:group ref="genobj.class"/>
+ <xs:group ref="descobj.class"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="sidebar.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="formal.class"/>
+ <xs:element ref="procedure"/>
+ <xs:group ref="genobj.class"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="qandaset.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="formal.class"/>
+ <xs:element ref="procedure"/>
+ <xs:group ref="genobj.class"/>
+ <xs:element ref="ndxterm.class"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="revdescription.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="formal.class"/>
+ <xs:element ref="procedure"/>
+ <xs:group ref="genobj.class"/>
+ <xs:element ref="ndxterm.class"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="footnote.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="example.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ <xs:element ref="procedure"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="highlights.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="ndxterm.class"/>
+ </xs:choice>
+ </xs:group>
+ <!--
+ %formal.class; is explicitly excluded from many contexts in which
+ paragraphs are used
+ -->
+ <xs:group name="para.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="formal.class"/>
+ <xs:element ref="sconstruct"/>
+ <xs:element ref="scons_example"/>
+ <xs:element ref="scons_example_file"/>
+ <xs:element ref="scons_output"/>
+ <xs:element ref="sconsdoc"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="summary.mix">
+ <xs:choice>
+ <xs:element ref="example_commands"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="tool.mix">
+ <xs:choice>
+ <xs:element ref="summary"/>
+ <xs:element ref="sets"/>
+ <xs:element ref="uses"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="scons_function.mix">
+ <xs:choice>
+ <xs:element ref="arguments"/>
+ <xs:element ref="summary"/>
+ <xs:element ref="sets"/>
+ <xs:element ref="uses"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="admon.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="formal.class"/>
+ <xs:element ref="procedure"/>
+ <xs:element ref="sidebar"/>
+ <xs:element ref="anchor"/>
+ <xs:element ref="bridgehead"/>
+ <xs:element ref="remark"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="figure.mix">
+ <xs:choice>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="tabentry.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="graphic"/>
+ <xs:element ref="mediaobject"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="glossdef.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:element ref="formal.class"/>
+ <xs:element ref="remark"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="legalnotice.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="blockquote"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="textobject.mix">
+ <xs:choice>
+ <xs:element ref="list.class"/>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="blockquote"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="mediaobject.mix" abstract="true"/>
+ <xs:group name="listpreamble.mix">
+ <xs:choice>
+ <xs:element ref="admon.class"/>
+ <xs:element ref="linespecific.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="para.class"/>
+ <xs:element ref="informal.class"/>
+ <xs:group ref="genobj.class"/>
+ <xs:group ref="descobj.class"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <!-- Character-level mixtures ............................................. -->
+ <!-- sgml.features -->
+ <!-- not [sgml.features[ -->
+ <!-- ]] not sgml.features -->
+ <!--
+ #PCD xref word link cptr base dnfo othr inob (synop)
+ para.char.mix X X X X X X X X X
+ title.char.mix X X X X X X X X X
+ ndxterm.char.mix X X X X X X X X a
+ cptr.char.mix X X X X X a
+ smallcptr.char.mix X b a
+ word.char.mix X c X X X a
+ docinfo.char.mix X d X b X a
+
+ a. Just InlineGraphic; no InlineEquation.
+ b. Just Replaceable; no other computer terms.
+ c. Just Emphasis and Trademark; no other word elements.
+ d. Just Acronym, Emphasis, and Trademark; no other word elements.
+ -->
+ <xs:group name="para.char.mix">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:element ref="xref.char.class"/>
+ <xs:element ref="gen.char.class"/>
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="tech.char.class"/>
+ <xs:group ref="base.char.class"/>
+ <xs:element ref="docinfo.char.class"/>
+ <xs:group ref="other.char.class"/>
+ <xs:element ref="inlineobj.char.class"/>
+ <xs:element ref="synop.class"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="title.char.mix">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:element ref="xref.char.class"/>
+ <xs:element ref="gen.char.class"/>
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="tech.char.class"/>
+ <xs:group ref="base.char.class"/>
+ <xs:element ref="docinfo.char.class"/>
+ <xs:group ref="other.char.class"/>
+ <xs:element ref="inlineobj.char.class"/>
+ <xs:element ref="ndxterm.class"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="ndxterm.char.mix">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:element ref="xref.char.class"/>
+ <xs:element ref="gen.char.class"/>
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="tech.char.class"/>
+ <xs:group ref="base.char.class"/>
+ <xs:element ref="docinfo.char.class"/>
+ <xs:group ref="other.char.class"/>
+ <xs:element ref="inlinegraphic"/>
+ <xs:element ref="inlinemediaobject"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cptr.char.mix">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="tech.char.class"/>
+ <xs:group ref="base.char.class"/>
+ <xs:group ref="other.char.class"/>
+ <xs:element ref="inlinegraphic"/>
+ <xs:element ref="inlinemediaobject"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="smallcptr.char.mix">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:element ref="replaceable"/>
+ <xs:element ref="inlinegraphic"/>
+ <xs:element ref="inlinemediaobject"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="word.char.mix">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:element ref="acronym"/>
+ <xs:element ref="emphasis"/>
+ <xs:element ref="trademark"/>
+ <xs:element ref="link.char.class"/>
+ <xs:group ref="base.char.class"/>
+ <xs:group ref="other.char.class"/>
+ <xs:element ref="inlinegraphic"/>
+ <xs:element ref="inlinemediaobject"/>
+ <xs:element ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="docinfo.char.mix">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="emphasis"/>
+ <xs:element ref="trademark"/>
+ <xs:element ref="replaceable"/>
+ <xs:group ref="other.char.class"/>
+ <xs:element ref="inlinegraphic"/>
+ <xs:element ref="inlinemediaobject"/>
+ <xs:element ref="ndxterm.class"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <!-- ENTITY % bibliocomponent.mix (see Bibliographic section, below) -->
+ <!-- ENTITY % person.ident.mix (see Bibliographic section, below) -->
+ <!-- ...................................................................... -->
+ <!-- Entities for attributes and attribute components ..................... -->
+ <!-- Effectivity attributes ............................................... -->
+ <!--
+ Arch: Computer or chip architecture to which element applies; no
+ default
+ -->
+ <xs:attributeGroup name="arch.attrib">
+ <xs:attribute name="arch"/>
+ </xs:attributeGroup>
+ <!-- Condition: General-purpose effectivity attribute -->
+ <xs:attributeGroup name="condition.attrib">
+ <xs:attribute name="condition"/>
+ </xs:attributeGroup>
+ <!-- Conformance: Standards conformance characteristics -->
+ <xs:attributeGroup name="conformance.attrib">
+ <xs:attribute name="conformance" type="xs:NMTOKENS"/>
+ </xs:attributeGroup>
+ <!-- OS: Operating system to which element applies; no default -->
+ <xs:attributeGroup name="os.attrib">
+ <xs:attribute name="os"/>
+ </xs:attributeGroup>
+ <!-- Revision: Editorial revision to which element belongs; no default -->
+ <xs:attributeGroup name="revision.attrib">
+ <xs:attribute name="revision"/>
+ </xs:attributeGroup>
+ <!-- Security: Security classification; no default -->
+ <xs:attributeGroup name="security.attrib">
+ <xs:attribute name="security"/>
+ </xs:attributeGroup>
+ <!--
+ UserLevel: Level of user experience to which element applies; no
+ default
+ -->
+ <xs:attributeGroup name="userlevel.attrib">
+ <xs:attribute name="userlevel"/>
+ </xs:attributeGroup>
+ <!-- Vendor: Computer vendor to which element applies; no default -->
+ <xs:attributeGroup name="vendor.attrib">
+ <xs:attribute name="vendor"/>
+ </xs:attributeGroup>
+ <!-- Wordsize: Computer word size (32 bit, 64 bit, etc.); no default -->
+ <xs:attributeGroup name="wordsize.attrib">
+ <xs:attribute name="wordsize"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="effectivity.attrib">
+ <xs:attributeGroup ref="arch.attrib"/>
+ <xs:attributeGroup ref="condition.attrib"/>
+ <xs:attributeGroup ref="conformance.attrib"/>
+ <xs:attributeGroup ref="os.attrib"/>
+ <xs:attributeGroup ref="revision.attrib"/>
+ <xs:attributeGroup ref="security.attrib"/>
+ <xs:attributeGroup ref="userlevel.attrib"/>
+ <xs:attributeGroup ref="vendor.attrib"/>
+ <xs:attributeGroup ref="wordsize.attrib"/>
+ </xs:attributeGroup>
+ <!-- Common attributes .................................................... -->
+ <!-- Id: Unique identifier of element; no default -->
+ <xs:attributeGroup name="id.attrib">
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:attributeGroup>
+ <!--
+ Id: Unique identifier of element; a value must be supplied; no
+ default
+ -->
+ <xs:attributeGroup name="idreq.attrib">
+ <xs:attribute name="id" use="required" type="xs:ID"/>
+ </xs:attributeGroup>
+ <!--
+ Lang: Indicator of language in which element is written, for
+ translation, character set management, etc.; no default
+ -->
+ <xs:attributeGroup name="lang.attrib">
+ <xs:attribute name="lang"/>
+ </xs:attributeGroup>
+ <!-- Remap: Previous role of element before conversion; no default -->
+ <xs:attributeGroup name="remap.attrib">
+ <xs:attribute name="remap"/>
+ </xs:attributeGroup>
+ <!-- Role: New role of element in local environment; no default -->
+ <xs:attributeGroup name="role.attrib">
+ <xs:attribute name="role"/>
+ </xs:attributeGroup>
+ <!--
+ XRefLabel: Alternate labeling string for XRef text generation;
+ default is usually title or other appropriate label text already
+ contained in element
+ -->
+ <xs:attributeGroup name="xreflabel.attrib">
+ <xs:attribute name="xreflabel"/>
+ </xs:attributeGroup>
+ <!--
+ RevisionFlag: Revision status of element; default is that element
+ wasn't revised
+ -->
+ <xs:attributeGroup name="revisionflag.attrib">
+ <xs:attribute name="revisionflag">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="changed"/>
+ <xs:enumeration value="added"/>
+ <xs:enumeration value="deleted"/>
+ <xs:enumeration value="off"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <!-- dir: Bidirectional override -->
+ <xs:attributeGroup name="dir.attrib">
+ <xs:attribute name="dir">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="ltr"/>
+ <xs:enumeration value="rtl"/>
+ <xs:enumeration value="lro"/>
+ <xs:enumeration value="rlo"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <!-- xml:base: base URI -->
+ <xs:attributeGroup name="xml-base.attrib">
+ <xs:attribute ref="xml:base"/>
+ </xs:attributeGroup>
+ <!-- Role is included explicitly on each element -->
+ <xs:attributeGroup name="common.attrib">
+ <xs:attributeGroup ref="id.attrib"/>
+ <xs:attributeGroup ref="lang.attrib"/>
+ <xs:attributeGroup ref="remap.attrib"/>
+ <xs:attributeGroup ref="xreflabel.attrib"/>
+ <xs:attributeGroup ref="revisionflag.attrib"/>
+ <xs:attributeGroup ref="effectivity.attrib"/>
+ <xs:attributeGroup ref="dir.attrib"/>
+ <xs:attributeGroup ref="xml-base.attrib"/>
+ </xs:attributeGroup>
+ <!-- Role is included explicitly on each element -->
+ <xs:attributeGroup name="idreq.common.attrib">
+ <xs:attributeGroup ref="idreq.attrib"/>
+ <xs:attributeGroup ref="lang.attrib"/>
+ <xs:attributeGroup ref="remap.attrib"/>
+ <xs:attributeGroup ref="xreflabel.attrib"/>
+ <xs:attributeGroup ref="revisionflag.attrib"/>
+ <xs:attributeGroup ref="effectivity.attrib"/>
+ <xs:attributeGroup ref="dir.attrib"/>
+ <xs:attributeGroup ref="xml-base.attrib"/>
+ </xs:attributeGroup>
+ <!-- Semi-common attributes and other attribute entities .................. -->
+ <!--
+ EntityRef: Name of an external entity containing the content
+ of the graphic
+ -->
+ <!--
+ FileRef: Filename, qualified by a pathname if desired,
+ designating the file containing the content of the graphic
+ -->
+ <!-- Format: Notation of the element content, if any -->
+ <!-- SrcCredit: Information about the source of the Graphic -->
+ <!-- Width: Same as CALS reprowid (desired width) -->
+ <!-- Depth: Same as CALS reprodep (desired depth) -->
+ <!--
+ Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+ application-specific
+ -->
+ <!-- Scale: Conflation of CALS hscale and vscale -->
+ <!-- Scalefit: Same as CALS scalefit -->
+ <xs:attributeGroup name="graphics.attrib">
+ <xs:attribute name="entityref" type="xs:ENTITY"/>
+ <xs:attribute name="fileref"/>
+ <xs:attribute name="format" type="notation.class"/>
+ <xs:attribute name="srccredit"/>
+ <xs:attribute name="width"/>
+ <xs:attribute name="contentwidth"/>
+ <xs:attribute name="depth"/>
+ <xs:attribute name="contentdepth"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="center"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="middle"/>
+ <xs:enumeration value="bottom"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="scale"/>
+ <xs:attribute name="scalefit" type="yesorno.attvals"/>
+ </xs:attributeGroup>
+ <!--
+ Action: Key combination type; default is unspecified if one
+ child element, Simul if there is more than one; if value is
+ Other, the OtherAction attribute must have a nonempty value
+ -->
+ <!-- OtherAction: User-defined key combination type -->
+ <xs:attributeGroup name="keyaction.attrib">
+ <xs:attribute name="action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="click"/>
+ <xs:enumeration value="double-click"/>
+ <xs:enumeration value="press"/>
+ <xs:enumeration value="seq"/>
+ <xs:enumeration value="simul"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otheraction"/>
+ </xs:attributeGroup>
+ <!--
+ Label: Identifying number or string; default is usually the
+ appropriate number or string autogenerated by a formatter
+ -->
+ <xs:attributeGroup name="label.attrib">
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <!-- xml:space: whitespace treatment -->
+ <xs:attributeGroup name="xml-space.attrib">
+ <xs:attribute ref="xml:space"/>
+ </xs:attributeGroup>
+ <!--
+ Format: whether element is assumed to contain significant white
+ space
+ -->
+ <xs:attributeGroup name="linespecific.attrib">
+ <xs:attribute name="format" default="linespecific">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="linespecific"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="xml-space.attrib"/>
+ <xs:attribute name="linenumbering">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="numbered"/>
+ <xs:enumeration value="unnumbered"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="continuation">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="continues"/>
+ <xs:enumeration value="restarts"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="startinglinenumber"/>
+ <xs:attribute name="language"/>
+ </xs:attributeGroup>
+ <!-- Linkend: link to related information; no default -->
+ <xs:attributeGroup name="linkend.attrib">
+ <xs:attribute name="linkend" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <!-- Linkend: required link to related information -->
+ <xs:attributeGroup name="linkendreq.attrib">
+ <xs:attribute name="linkend" use="required" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <!--
+ Linkends: link to one or more sets of related information; no
+ default
+ -->
+ <xs:attributeGroup name="linkends.attrib">
+ <xs:attribute name="linkends" type="xs:IDREFS"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="mark.attrib">
+ <xs:attribute name="mark"/>
+ </xs:attributeGroup>
+ <!-- MoreInfo: whether element's content has an associated RefEntry -->
+ <xs:attributeGroup name="moreinfo.attrib">
+ <xs:attribute name="moreinfo" default="none">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="refentry"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <!-- Pagenum: number of page on which element appears; no default -->
+ <xs:attributeGroup name="pagenum.attrib">
+ <xs:attribute name="pagenum"/>
+ </xs:attributeGroup>
+ <!--
+ Status: Editorial or publication status of the element
+ it applies to, such as "in review" or "approved for distribution"
+ -->
+ <xs:attributeGroup name="status.attrib">
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <!--
+ Width: width of the longest line in the element to which it
+ pertains, in number of characters
+ -->
+ <xs:attributeGroup name="width.attrib">
+ <xs:attribute name="width"/>
+ </xs:attributeGroup>
+ <!-- ...................................................................... -->
+ <!-- Title elements ....................................................... -->
+ <xs:attributeGroup name="title.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The text of the title of a section of a document or of a formal block-level element. -->
+ <xs:element name="title">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
+ <xs:attributeGroup ref="title.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of title.element -->
+ <xs:attributeGroup name="title.attlist">
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="title.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of title.attlist -->
+ <!-- end of title.module -->
+ <xs:attributeGroup name="titleabbrev.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The abbreviation of a Title. -->
+ <xs:element name="titleabbrev">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
+ <xs:attributeGroup ref="titleabbrev.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of titleabbrev.element -->
+ <xs:attributeGroup name="titleabbrev.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="titleabbrev.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of titleabbrev.attlist -->
+ <!-- end of titleabbrev.module -->
+ <xs:attributeGroup name="subtitle.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The subtitle of a document. -->
+ <xs:element name="subtitle">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
+ <xs:attributeGroup ref="subtitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of subtitle.element -->
+ <xs:attributeGroup name="subtitle.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="subtitle.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of subtitle.attlist -->
+ <!-- end of subtitle.module -->
+ <!-- ...................................................................... -->
+ <!-- Bibliographic entities and elements .................................. -->
+ <!--
+ The bibliographic elements are typically used in the document
+ hierarchy. They do not appear in content models of information
+ pool elements. See also the document information elements,
+ below.
+ -->
+ <xs:group name="person.ident.mix">
+ <xs:choice>
+ <xs:element ref="honorific"/>
+ <xs:element ref="firstname"/>
+ <xs:element ref="surname"/>
+ <xs:element ref="lineage"/>
+ <xs:element ref="othername"/>
+ <xs:element ref="affiliation"/>
+ <xs:element ref="authorblurb"/>
+ <xs:element ref="contrib"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="bibliocomponent.mix">
+ <xs:choice>
+ <xs:element ref="abbrev"/>
+ <xs:element ref="abstract"/>
+ <xs:element ref="address"/>
+ <xs:element ref="artpagenums"/>
+ <xs:element ref="author"/>
+ <xs:element ref="authorgroup"/>
+ <xs:element ref="authorinitials"/>
+ <xs:element ref="bibliomisc"/>
+ <xs:element ref="biblioset"/>
+ <xs:element ref="collab"/>
+ <xs:element ref="confgroup"/>
+ <xs:element ref="contractnum"/>
+ <xs:element ref="contractsponsor"/>
+ <xs:element ref="copyright"/>
+ <xs:element ref="corpauthor"/>
+ <xs:element ref="corpname"/>
+ <xs:element ref="corpcredit"/>
+ <xs:element ref="date"/>
+ <xs:element ref="edition"/>
+ <xs:element ref="editor"/>
+ <xs:element ref="invpartnumber"/>
+ <xs:element ref="isbn"/>
+ <xs:element ref="issn"/>
+ <xs:element ref="issuenum"/>
+ <xs:element ref="orgname"/>
+ <xs:element ref="biblioid"/>
+ <xs:element ref="citebiblioid"/>
+ <xs:element ref="bibliosource"/>
+ <xs:element ref="bibliorelation"/>
+ <xs:element ref="bibliocoverage"/>
+ <xs:element ref="othercredit"/>
+ <xs:element ref="pagenums"/>
+ <xs:element ref="printhistory"/>
+ <xs:element ref="productname"/>
+ <xs:element ref="productnumber"/>
+ <xs:element ref="pubdate"/>
+ <xs:element ref="publisher"/>
+ <xs:element ref="publishername"/>
+ <xs:element ref="pubsnumber"/>
+ <xs:element ref="releaseinfo"/>
+ <xs:element ref="revhistory"/>
+ <xs:element ref="seriesvolnums"/>
+ <xs:element ref="subtitle"/>
+ <xs:element ref="title"/>
+ <xs:element ref="titleabbrev"/>
+ <xs:element ref="volumenum"/>
+ <xs:element ref="citetitle"/>
+ <xs:element ref="personname"/>
+ <xs:group ref="person.ident.mix"/>
+ <xs:element ref="ndxterm.class"/>
+ </xs:choice>
+ </xs:group>
+ <!-- I don't think this is well placed, but it needs to be here because of -->
+ <!-- the reference to bibliocomponent.mix -->
+ <xs:group name="info.class">
+ <xs:choice>
+ <xs:element ref="graphic"/>
+ <xs:element ref="mediaobject"/>
+ <xs:element ref="legalnotice"/>
+ <xs:element ref="modespec"/>
+ <xs:element ref="subjectset"/>
+ <xs:element ref="keywordset"/>
+ <xs:element ref="itermset"/>
+ <xs:group ref="bibliocomponent.mix"/>
+ </xs:choice>
+ </xs:group>
+ <!-- BiblioList ........................ -->
+ <xs:attributeGroup name="bibliolist.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for a set of bibliography entries. -->
+ <xs:element name="bibliolist" substitutionGroup="list.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="biblioentry"/>
+ <xs:element ref="bibliomixed"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="bibliolist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliolist.element -->
+ <xs:attributeGroup name="bibliolist.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliolist.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliolist.attlist -->
+ <!-- end of bibliolist.module -->
+ <xs:attributeGroup name="biblioentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry in a Bibliography. -->
+ <xs:element name="biblioentry">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="articleinfo"/>
+ <xs:group ref="bibliocomponent.mix"/>
+ </xs:choice>
+ <xs:attributeGroup ref="biblioentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of biblioentry.element -->
+ <xs:attributeGroup name="biblioentry.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="biblioentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of biblioentry.attlist -->
+ <!-- end of biblioentry.module -->
+ <xs:attributeGroup name="bibliomixed.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry in a Bibliography. -->
+ <xs:element name="bibliomixed">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="bibliocomponent.mix"/>
+ <xs:element ref="bibliomset"/>
+ </xs:choice>
+ <xs:attributeGroup ref="bibliomixed.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliomixed.element -->
+ <xs:attributeGroup name="bibliomixed.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliomixed.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliomixed.attlist -->
+ <!-- end of bibliomixed.module -->
+ <xs:attributeGroup name="articleinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for an Article. -->
+ <xs:element name="articleinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="articleinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of articleinfo.element -->
+ <xs:attributeGroup name="articleinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="articleinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of articleinfo.attlist -->
+ <!-- end of articleinfo.module -->
+ <xs:attributeGroup name="biblioset.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A "raw" container for related bibliographic information. -->
+ <xs:element name="biblioset">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="bibliocomponent.mix"/>
+ <xs:attributeGroup ref="biblioset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of biblioset.element -->
+ <!-- Relation: Relationship of elements contained within BiblioSet -->
+ <xs:attributeGroup name="biblioset.attlist">
+ <xs:attribute name="relation"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="biblioset.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of biblioset.attlist -->
+ <!-- end of biblioset.module -->
+ <xs:attributeGroup name="bibliomset.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A "cooked" container for related bibliographic information. -->
+ <xs:element name="bibliomset">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="bibliocomponent.mix"/>
+ <xs:element ref="bibliomset"/>
+ </xs:choice>
+ <xs:attributeGroup ref="bibliomset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliomset.element -->
+ <!-- Relation: Relationship of elements contained within BiblioMSet -->
+ <xs:attributeGroup name="bibliomset.attlist">
+ <xs:attribute name="relation"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliomset.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliomset.attlist -->
+ <!-- end of bibliomset.module -->
+ <xs:attributeGroup name="bibliomisc.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Untyped bibliographic information. -->
+ <xs:element name="bibliomisc">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="bibliomisc.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliomisc.element -->
+ <xs:attributeGroup name="bibliomisc.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliomisc.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliomisc.attlist -->
+ <!-- end of bibliomisc.module -->
+ <!-- ...................................................................... -->
+ <!-- Subject, Keyword, and ITermSet elements .............................. -->
+ <xs:attributeGroup name="subjectset.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A set of terms describing the subject matter of a document. -->
+ <xs:element name="subjectset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="subject"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="subjectset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of subjectset.element -->
+ <!-- Scheme: Controlled vocabulary employed in SubjectTerms -->
+ <xs:attributeGroup name="subjectset.attlist">
+ <xs:attribute name="scheme" type="xs:NMTOKEN"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="subjectset.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of subjectset.attlist -->
+ <!-- end of subjectset.module -->
+ <xs:attributeGroup name="subject.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:One of a group of terms describing the subject matter of a document. -->
+ <xs:element name="subject">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="subjectterm"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="subject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of subject.element -->
+ <!--
+ Weight: Ranking of this group of SubjectTerms relative
+ to others, 0 is low, no highest value specified
+ -->
+ <xs:attributeGroup name="subject.attlist">
+ <xs:attribute name="weight"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="subject.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of subject.attlist -->
+ <!-- end of subject.module -->
+ <xs:attributeGroup name="subjectterm.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A term in a group of terms describing the subject matter of a document. -->
+ <xs:element name="subjectterm">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="subjectterm.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of subjectterm.element -->
+ <xs:attributeGroup name="subjectterm.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="subjectterm.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of subjectterm.attlist -->
+ <!-- end of subjectterm.module -->
+ <!-- end of subjectset.content.module -->
+ <xs:attributeGroup name="keywordset.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A set of keywords describing the content of a document. -->
+ <xs:element name="keywordset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="keyword"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="keywordset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of keywordset.element -->
+ <xs:attributeGroup name="keywordset.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="keywordset.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of keywordset.attlist -->
+ <!-- end of keywordset.module -->
+ <xs:attributeGroup name="keyword.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:One of a set of keywords describing the content of a document. -->
+ <xs:element name="keyword">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="keyword.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of keyword.element -->
+ <xs:attributeGroup name="keyword.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="keyword.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of keyword.attlist -->
+ <!-- end of keyword.module -->
+ <!-- end of keywordset.content.module -->
+ <xs:attributeGroup name="itermset.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A set of index terms in the meta-information of a document. -->
+ <xs:element name="itermset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="indexterm"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="itermset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of itermset.element -->
+ <xs:attributeGroup name="itermset.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="itermset.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of itermset.attlist -->
+ <!-- end of itermset.module -->
+ <!-- Bibliographic info for "blocks" -->
+ <xs:attributeGroup name="blockinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a block element. -->
+ <xs:element name="blockinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="blockinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of blockinfo.element -->
+ <xs:attributeGroup name="blockinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="blockinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of blockinfo.attlist -->
+ <!-- end of blockinfo.module -->
+ <!-- ...................................................................... -->
+ <!-- Compound (section-ish) elements ...................................... -->
+ <!-- Message set ...................... -->
+ <xs:attributeGroup name="msgset.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A detailed set of messages, usually error messages. -->
+ <xs:element name="msgset" substitutionGroup="compound.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="msgentry"/>
+ <xs:element maxOccurs="unbounded" ref="simplemsgentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="msgset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msgset.element -->
+ <xs:attributeGroup name="msgset.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msgset.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msgset.attlist -->
+ <!-- end of msgset.module -->
+ <xs:attributeGroup name="msgentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for an entry in a message set. -->
+ <xs:element name="msgentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="msg"/>
+ <xs:element minOccurs="0" ref="msginfo"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="msgexplan"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="msgentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msgentry.element -->
+ <xs:attributeGroup name="msgentry.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msgentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msgentry.attlist -->
+ <!-- end of msgentry.module -->
+ <xs:attributeGroup name="simplemsgentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for a simpler entry in a message set. -->
+ <xs:element name="simplemsgentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msgtext"/>
+ <xs:element maxOccurs="unbounded" ref="msgexplan"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="simplemsgentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of simplemsgentry.element -->
+ <xs:attributeGroup name="simplemsgentry.attlist">
+ <xs:attribute name="audience"/>
+ <xs:attribute name="level"/>
+ <xs:attribute name="origin"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="simplemsgentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of simplemsgentry.attlist -->
+ <!-- end of simplemsgentry.module -->
+ <xs:attributeGroup name="msg.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A message in a message set. -->
+ <xs:element name="msg">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:element ref="msgmain"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="msgsub"/>
+ <xs:element ref="msgrel"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="msg.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msg.element -->
+ <xs:attributeGroup name="msg.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msg.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msg.attlist -->
+ <!-- end of msg.module -->
+ <xs:attributeGroup name="msgmain.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The primary component of a message in a message set. -->
+ <xs:element name="msgmain">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:element ref="msgtext"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="msgmain.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msgmain.element -->
+ <xs:attributeGroup name="msgmain.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msgmain.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msgmain.attlist -->
+ <!-- end of msgmain.module -->
+ <xs:attributeGroup name="msgsub.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A subcomponent of a message in a message set. -->
+ <xs:element name="msgsub">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:element ref="msgtext"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="msgsub.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msgsub.element -->
+ <xs:attributeGroup name="msgsub.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msgsub.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msgsub.attlist -->
+ <!-- end of msgsub.module -->
+ <xs:attributeGroup name="msgrel.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A related component of a message in a message set. -->
+ <xs:element name="msgrel">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:element ref="msgtext"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="msgrel.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msgrel.element -->
+ <xs:attributeGroup name="msgrel.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msgrel.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msgrel.attlist -->
+ <!-- end of msgrel.module -->
+ <!-- MsgText (defined in the Inlines section, below) -->
+ <xs:attributeGroup name="msginfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Information about a message in a message set. -->
+ <xs:element name="msginfo">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="msglevel"/>
+ <xs:element ref="msgorig"/>
+ <xs:element ref="msgaud"/>
+ </xs:choice>
+ <xs:attributeGroup ref="msginfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msginfo.element -->
+ <xs:attributeGroup name="msginfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msginfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msginfo.attlist -->
+ <!-- end of msginfo.module -->
+ <xs:attributeGroup name="msglevel.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The level of importance or severity of a message in a message set. -->
+ <xs:element name="msglevel">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="msglevel.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msglevel.element -->
+ <xs:attributeGroup name="msglevel.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msglevel.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msglevel.attlist -->
+ <!-- end of msglevel.module -->
+ <xs:attributeGroup name="msgorig.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The origin of a message in a message set. -->
+ <xs:element name="msgorig">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="msgorig.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msgorig.element -->
+ <xs:attributeGroup name="msgorig.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msgorig.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msgorig.attlist -->
+ <!-- end of msgorig.module -->
+ <xs:attributeGroup name="msgaud.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The audience to which a message in a message set is relevant. -->
+ <xs:element name="msgaud">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="msgaud.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msgaud.element -->
+ <xs:attributeGroup name="msgaud.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msgaud.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msgaud.attlist -->
+ <!-- end of msgaud.module -->
+ <xs:attributeGroup name="msgexplan.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Explanatory material relating to a message in a message set. -->
+ <xs:element name="msgexplan">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:group maxOccurs="unbounded" ref="component.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="msgexplan.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msgexplan.element -->
+ <xs:attributeGroup name="msgexplan.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msgexplan.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msgexplan.attlist -->
+ <!-- end of msgexplan.module -->
+ <!-- end of msgset.content.module -->
+ <xs:attributeGroup name="task.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A task to be completed. -->
+ <xs:element name="task" substitutionGroup="compound.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ <xs:group ref="formalobject.title.content"/>
+ <xs:element minOccurs="0" ref="tasksummary"/>
+ <xs:element minOccurs="0" ref="taskprerequisites"/>
+ <xs:element ref="procedure"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="example"/>
+ <xs:element minOccurs="0" ref="taskrelated"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="task.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of task.element -->
+ <xs:attributeGroup name="task.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="task.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of task.attlist -->
+ <!-- end of task.module -->
+ <xs:attributeGroup name="tasksummary.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A summary of a task. -->
+ <xs:element name="tasksummary">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="component.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="tasksummary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tasksummary.element -->
+ <xs:attributeGroup name="tasksummary.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tasksummary.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of tasksummary.attlist -->
+ <!-- end of tasksummary.module -->
+ <xs:attributeGroup name="taskprerequisites.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The prerequisites for a task. -->
+ <xs:element name="taskprerequisites">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="component.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="taskprerequisites.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of taskprerequisites.element -->
+ <xs:attributeGroup name="taskprerequisites.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="taskprerequisites.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of taskprerequisites.attlist -->
+ <!-- end of taskprerequisites.module -->
+ <xs:attributeGroup name="taskrelated.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Information related to a task. -->
+ <xs:element name="taskrelated">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="component.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="taskrelated.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of taskrelated.element -->
+ <xs:attributeGroup name="taskrelated.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="taskrelated.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of taskrelated.attlist -->
+ <!-- end of taskrelated.module -->
+ <!-- end of task.content.module -->
+ <!-- QandASet ........................ -->
+ <xs:attributeGroup name="qandaset.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A question-and-answer set. -->
+ <xs:element name="qandaset" substitutionGroup="compound.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="qandaset.mix"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="qandadiv"/>
+ <xs:element maxOccurs="unbounded" ref="qandaentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="qandaset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of qandaset.element -->
+ <xs:attributeGroup name="qandaset.attlist">
+ <xs:attribute name="defaultlabel">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="qanda"/>
+ <xs:enumeration value="number"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="qandaset.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of qandaset.attlist -->
+ <!-- end of qandaset.module -->
+ <xs:attributeGroup name="qandadiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A titled division in a QandASet. -->
+ <xs:element name="qandadiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="qandaset.mix"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="qandadiv"/>
+ <xs:element maxOccurs="unbounded" ref="qandaentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="qandadiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of qandadiv.element -->
+ <xs:attributeGroup name="qandadiv.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="qandadiv.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of qandadiv.attlist -->
+ <!-- end of qandadiv.module -->
+ <xs:attributeGroup name="qandaentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A question/answer set within a QandASet. -->
+ <xs:element name="qandaentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:element minOccurs="0" ref="revhistory"/>
+ <xs:element ref="question"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="answer"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="qandaentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of qandaentry.element -->
+ <xs:attributeGroup name="qandaentry.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="qandaentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of qandaentry.attlist -->
+ <!-- end of qandaentry.module -->
+ <xs:attributeGroup name="question.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A question in a QandASet. -->
+ <xs:element name="question">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="label"/>
+ <xs:group maxOccurs="unbounded" ref="qandaset.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="question.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of question.element -->
+ <xs:attributeGroup name="question.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="question.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of question.attlist -->
+ <!-- end of question.module -->
+ <xs:attributeGroup name="answer.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An answer to a question posed in a QandASet. -->
+ <xs:element name="answer">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="label"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="qandaset.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="qandaentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="answer.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of answer.element -->
+ <xs:attributeGroup name="answer.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="answer.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of answer.attlist -->
+ <!-- end of answer.module -->
+ <xs:attributeGroup name="label.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A label on a Question or Answer. -->
+ <xs:element name="label">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
+ <xs:attributeGroup ref="label.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of label.element -->
+ <xs:attributeGroup name="label.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="label.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of label.attlist -->
+ <!-- end of label.module -->
+ <!-- end of qandaset.content.module -->
+ <!-- Procedure ........................ -->
+ <xs:attributeGroup name="procedure.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A list of operations to be performed in a well-defined sequence. -->
+ <xs:element name="procedure" substitutionGroup="compound.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:element maxOccurs="unbounded" ref="step"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="procedure.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of procedure.element -->
+ <xs:attributeGroup name="procedure.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="procedure.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of procedure.attlist -->
+ <!-- end of procedure.module -->
+ <xs:attributeGroup name="step.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A unit of action in a procedure. -->
+ <xs:element name="step">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="component.mix"/>
+ <xs:sequence minOccurs="0">
+ <xs:choice>
+ <xs:element ref="substeps"/>
+ <xs:element ref="stepalternatives"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ </xs:sequence>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="substeps"/>
+ <xs:element ref="stepalternatives"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="step.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of step.element -->
+ <!-- Performance: Whether the Step must be performed -->
+ <!-- not #REQUIRED! -->
+ <xs:attributeGroup name="step.attlist">
+ <xs:attribute name="performance" default="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="optional"/>
+ <xs:enumeration value="required"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="step.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of step.attlist -->
+ <!-- end of step.module -->
+ <xs:attributeGroup name="substeps.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for steps that occur within steps in a procedure. -->
+ <xs:element name="substeps">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="step"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="substeps.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of substeps.element -->
+ <!-- Performance: whether entire set of substeps must be performed -->
+ <!-- not #REQUIRED! -->
+ <xs:attributeGroup name="substeps.attlist">
+ <xs:attribute name="performance" default="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="optional"/>
+ <xs:enumeration value="required"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="substeps.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of substeps.attlist -->
+ <!-- end of substeps.module -->
+ <xs:attributeGroup name="stepalternatives.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Alternative steps in a procedure. -->
+ <xs:element name="stepalternatives">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="step"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="stepalternatives.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of stepalternatives.element -->
+ <!-- Performance: Whether (one of) the alternatives must be performed -->
+ <!-- not #REQUIRED! -->
+ <xs:attributeGroup name="stepalternatives.attlist">
+ <xs:attribute name="performance" default="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="optional"/>
+ <xs:enumeration value="required"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="stepalternatives.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of stepalternatives.attlist -->
+ <!-- end of stepalternatives.module -->
+ <!-- end of procedure.content.module -->
+ <!-- Sidebar .......................... -->
+ <xs:attributeGroup name="sidebarinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for a Sidebar. -->
+ <xs:element name="sidebarinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sidebarinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sidebarinfo.element -->
+ <xs:attributeGroup name="sidebarinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sidebarinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sidebarinfo.attlist -->
+ <!-- end of sidebarinfo.module -->
+ <xs:attributeGroup name="sidebar.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A portion of a document that is isolated from the main narrative flow. -->
+ <xs:element name="sidebar" substitutionGroup="compound.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sidebarinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="sidebar.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sidebar.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sidebar.element -->
+ <xs:attributeGroup name="sidebar.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sidebar.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sidebar.attlist -->
+ <!-- end of sidebar.module -->
+ <!-- end of sidebar.content.model -->
+ <!-- ...................................................................... -->
+ <!-- Paragraph-related elements ........................................... -->
+ <xs:attributeGroup name="abstract.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A summary. -->
+ <xs:element name="abstract">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:element maxOccurs="unbounded" ref="para.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="abstract.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of abstract.element -->
+ <xs:attributeGroup name="abstract.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="abstract.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of abstract.attlist -->
+ <!-- end of abstract.module -->
+ <xs:attributeGroup name="authorblurb.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A short description or note about an author. -->
+ <xs:element name="authorblurb">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:element maxOccurs="unbounded" ref="para.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="authorblurb.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of authorblurb.element -->
+ <xs:attributeGroup name="authorblurb.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="authorblurb.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of authorblurb.attlist -->
+ <!-- end of authorblurb.module -->
+ <xs:attributeGroup name="personblurb.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A short description or note about a person. -->
+ <xs:element name="personblurb">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:element maxOccurs="unbounded" ref="para.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="personblurb.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of personblurb.element -->
+ <xs:attributeGroup name="personblurb.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="personblurb.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of personblurb.attlist -->
+ <!-- end of personblurb.module -->
+ <xs:attributeGroup name="blockquote.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A quotation set off from the main text. -->
+ <xs:element name="blockquote" substitutionGroup="informal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:element minOccurs="0" ref="attribution"/>
+ <xs:group maxOccurs="unbounded" ref="component.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="blockquote.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of blockquote.element -->
+ <xs:attributeGroup name="blockquote.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="blockquote.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of blockquote.attlist -->
+ <!-- end of blockquote.module -->
+ <xs:attributeGroup name="attribution.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The source of a block quote or epigraph. -->
+ <xs:element name="attribution">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="attribution.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of attribution.element -->
+ <xs:attributeGroup name="attribution.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="attribution.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of attribution.attlist -->
+ <!-- end of attribution.module -->
+ <xs:attributeGroup name="bridgehead.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A free-floating heading. -->
+ <xs:element name="bridgehead">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
+ <xs:attributeGroup ref="bridgehead.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bridgehead.element -->
+ <!--
+ Renderas: Indicates the format in which the BridgeHead
+ should appear
+ -->
+ <xs:attributeGroup name="bridgehead.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other"/>
+ <xs:enumeration value="sect1"/>
+ <xs:enumeration value="sect2"/>
+ <xs:enumeration value="sect3"/>
+ <xs:enumeration value="sect4"/>
+ <xs:enumeration value="sect5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bridgehead.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bridgehead.attlist -->
+ <!-- end of bridgehead.module -->
+ <xs:attributeGroup name="remark.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A remark (or comment) intended for presentation in a draft manuscript. -->
+ <xs:element name="remark">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="remark.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of remark.element -->
+ <xs:attributeGroup name="remark.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="remark.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of remark.attlist -->
+ <!-- end of remark.module -->
+ <xs:attributeGroup name="epigraph.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A short inscription at the beginning of a document or component. -->
+ <xs:element name="epigraph">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="attribution"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="para.class"/>
+ <xs:element ref="literallayout"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="epigraph.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of epigraph.element -->
+ <xs:attributeGroup name="epigraph.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="epigraph.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of epigraph.attlist -->
+ <!-- Attribution (defined above) -->
+ <!-- end of epigraph.module -->
+ <xs:attributeGroup name="footnote.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A footnote. -->
+ <xs:element name="footnote" substitutionGroup="gen.char.class">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="footnote.mix"/>
+ <xs:attributeGroup ref="footnote.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of footnote.element -->
+ <xs:attributeGroup name="footnote.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="footnote.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of footnote.attlist -->
+ <!-- end of footnote.module -->
+ <xs:attributeGroup name="highlights.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A summary of the main points of the discussed component. -->
+ <xs:element name="highlights">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="highlights.mix"/>
+ <xs:attributeGroup ref="highlights.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of highlights.element -->
+ <xs:attributeGroup name="highlights.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="highlights.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of highlights.attlist -->
+ <!-- end of highlights.module -->
+ <xs:attributeGroup name="formalpara.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A paragraph with a title. -->
+ <xs:element name="formalpara" substitutionGroup="para.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ <xs:element ref="para"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="formalpara.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of formalpara.element -->
+ <xs:attributeGroup name="formalpara.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="formalpara.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of formalpara.attlist -->
+ <!-- end of formalpara.module -->
+ <xs:attributeGroup name="para.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A paragraph. -->
+ <xs:element name="para" substitutionGroup="para.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:group ref="para.mix"/>
+ </xs:choice>
+ <xs:attributeGroup ref="para.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of para.element -->
+ <xs:attributeGroup name="para.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="para.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of para.attlist -->
+ <!-- end of para.module -->
+ <xs:attributeGroup name="simpara.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A paragraph that contains only text and inline markup, no block elements. -->
+ <xs:element name="simpara" substitutionGroup="para.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="simpara.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of simpara.element -->
+ <xs:attributeGroup name="simpara.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="simpara.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of simpara.attlist -->
+ <!-- end of simpara.module -->
+ <xs:attributeGroup name="sconstruct.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An SConstruct example file. -->
+ <xs:element name="sconstruct" substitutionGroup="linespecific.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="lineannotation"/>
+ <xs:element ref="textobject"/>
+ </xs:choice>
+ <xs:attributeGroup ref="sconstruct.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sconstruct.element -->
+ <xs:attributeGroup name="sconstruct.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sconstruct.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sconstruct.attlist -->
+ <!-- end of sconstruct.module -->
+ <xs:attributeGroup name="scons_example.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An SCons example. -->
+ <xs:element name="scons_example" substitutionGroup="linespecific.class">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="file"/>
+ <xs:element ref="directory"/>
+ </xs:choice>
+ <xs:attributeGroup ref="scons_example.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of scons_example.element -->
+ <xs:attributeGroup name="scons_example.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="scons_example.role.attrib"/>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ </xs:attributeGroup>
+ <!-- end of scons_example.attlist -->
+ <!-- end of scons_example.module -->
+ <xs:attributeGroup name="file.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An SCons example file. -->
+ <xs:element name="file" substitutionGroup="linespecific.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="lineannotation"/>
+ <xs:element ref="textobject"/>
+ </xs:choice>
+ <xs:attributeGroup ref="file.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of file.element -->
+ <xs:attributeGroup name="file.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="file.role.attrib"/>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="example" type="xs:string" use="optional" />
+ <xs:attribute name="chmod" type="xs:string" use="optional" />
+ <xs:attribute name="printme" type="xs:int" use="optional" />
+ </xs:attributeGroup>
+ <!-- end of file.attlist -->
+ <!-- end of file.module -->
+ <xs:attributeGroup name="directory.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An SCons example directory. -->
+ <xs:element name="directory" substitutionGroup="linespecific.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="lineannotation"/>
+ <xs:element ref="textobject"/>
+ </xs:choice>
+ <xs:attributeGroup ref="directory.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of directory.element -->
+ <xs:attributeGroup name="directory.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="directory.role.attrib"/>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ </xs:attributeGroup>
+ <!-- end of directory.attlist -->
+ <!-- end of directory.module -->
+ <xs:attributeGroup name="scons_example_file.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A SCons example file. -->
+ <xs:element name="scons_example_file" substitutionGroup="linespecific.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="lineannotation"/>
+ <xs:element ref="textobject"/>
+ </xs:choice>
+ <xs:attributeGroup ref="scons_example_file.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of scons_example_file.element -->
+ <xs:attributeGroup name="scons_example_file.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="scons_example_file.role.attrib"/>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="example" type="xs:string" use="required" />
+ </xs:attributeGroup>
+ <!-- end of scons_example_file.attlist -->
+ <!-- end of scons_example_file.module -->
+ <xs:attributeGroup name="scons_output.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The output of a SCons command/example. -->
+ <xs:element name="scons_output" substitutionGroup="linespecific.class">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="scons_output_command"/>
+ </xs:choice>
+ <xs:attributeGroup ref="scons_output.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of scons_output.element -->
+ <xs:attributeGroup name="scons_output.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="scons_output.role.attrib"/>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="example" type="xs:string" use="required" />
+ </xs:attributeGroup>
+ <!-- end of scons_output.attlist -->
+ <!-- end of scons_output.module -->
+ <xs:attributeGroup name="scons_output_command.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A SCons example file. -->
+ <xs:element name="scons_output_command" substitutionGroup="linespecific.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="lineannotation"/>
+ <xs:element ref="textobject"/>
+ </xs:choice>
+ <xs:attributeGroup ref="scons_output_command.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of scons_output_command.element -->
+ <xs:attributeGroup name="scons_output_command.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="scons_output_command.role.attrib"/>
+ <xs:attribute name="edit" type="xs:string" use="optional" />
+ <xs:attribute name="environment" type="xs:string" use="optional" />
+ <xs:attribute name="output" type="xs:string" use="optional" />
+ </xs:attributeGroup>
+ <!-- end of scons_output_command.attlist -->
+ <!-- end of scons_output_command.module -->
+ <xs:attributeGroup name="sconsdoc.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A sconsdoc. -->
+ <xs:element name="sconsdoc" substitutionGroup="para.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="tool"/>
+ <xs:element ref="builder"/>
+ <xs:element ref="scons_function"/>
+ <xs:element ref="cvar"/>
+ </xs:choice>
+ <xs:attributeGroup ref="sconsdoc.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sconsdoc.element -->
+ <xs:attributeGroup name="sconsdoc.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sconsdoc.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sconsdoc.attlist -->
+ <!-- end of sconsdoc.module -->
+ <xs:attributeGroup name="example_commands.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Text that a user sees or might see on a computer screen. -->
+ <xs:element name="example_commands" substitutionGroup="linespecific.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="textobject"/>
+ <xs:element ref="lineannotation"/>
+ </xs:choice>
+ <xs:attributeGroup ref="example_commands.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of example_commands.element -->
+ <xs:attributeGroup name="example_commands.attlist">
+ <xs:attributeGroup ref="width.attrib"/>
+ <xs:attributeGroup ref="linespecific.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="example_commands.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of example_commands.attlist -->
+ <!-- end of example_commands.module -->
+ <xs:attributeGroup name="summary.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A summary. -->
+ <xs:element name="summary" substitutionGroup="para.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="component.mix"/>
+ <xs:group ref="summary.mix"/>
+ </xs:choice>
+ <xs:attributeGroup ref="summary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of summary.element -->
+ <xs:attributeGroup name="summary.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="summary.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of summary.attlist -->
+ <!-- end of summary.module -->
+
+ <xs:attributeGroup name="item.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A item. -->
+ <xs:element name="item">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="item.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of item.element -->
+ <xs:attributeGroup name="item.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="item.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of item.attlist -->
+ <!-- end of item.module -->
+ <xs:attributeGroup name="sets.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A list in which each entry is marked with a bullet or other dingbat. -->
+ <xs:element name="sets" substitutionGroup="list.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="item"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sets.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sets.element -->
+ <!--
+ Spacing: Whether the vertical space in the list should be
+ compressed
+ -->
+ <!--
+ Mark: Keyword, e.g., bullet, dash, checkbox, none;
+ list of keywords and defaults are implementation specific
+ -->
+ <xs:attributeGroup name="sets.attlist">
+ <xs:attribute name="spacing">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="normal"/>
+ <xs:enumeration value="compact"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="mark.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sets.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sets.attlist -->
+ <!-- end of sets.module -->
+ <xs:attributeGroup name="uses.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A list in which each entry is marked with a bullet or other dingbat. -->
+ <xs:element name="uses" substitutionGroup="list.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="item"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="uses.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of uses.element -->
+ <!--
+ Spacing: Whether the vertical space in the list should be
+ compressed
+ -->
+ <!--
+ Mark: Keyword, e.g., bullet, dash, checkbox, none;
+ list of keywords and defaults are implementation specific
+ -->
+ <xs:attributeGroup name="uses.attlist">
+ <xs:attribute name="spacing">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="normal"/>
+ <xs:enumeration value="compact"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="mark.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="uses.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of uses.attlist -->
+ <!-- end of uses.module -->
+ <xs:attributeGroup name="tool.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A paragraph. -->
+ <xs:element name="tool" substitutionGroup="para.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:group ref="para.mix"/>
+ <xs:group ref="tool.mix"/>
+ </xs:choice>
+ <xs:attributeGroup ref="tool.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tool.element -->
+ <xs:attributeGroup name="tool.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tool.role.attrib"/>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ </xs:attributeGroup>
+ <!-- end of tool.attlist -->
+ <!-- end of tool.module -->
+ <xs:attributeGroup name="builder.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A paragraph. -->
+ <xs:element name="builder" substitutionGroup="para.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:group ref="para.mix"/>
+ <xs:group ref="tool.mix"/>
+ </xs:choice>
+ <xs:attributeGroup ref="builder.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of builder.element -->
+ <xs:attributeGroup name="builder.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="builder.role.attrib"/>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ </xs:attributeGroup>
+ <!-- end of builder.attlist -->
+ <!-- end of builder.module -->
+
+ <xs:attributeGroup name="cvar.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A paragraph. -->
+ <xs:element name="cvar" substitutionGroup="para.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:group ref="para.mix"/>
+ <xs:element ref="summary"/>
+ </xs:choice>
+ <xs:attributeGroup ref="cvar.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of cvar.element -->
+ <xs:attributeGroup name="cvar.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="cvar.role.attrib"/>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ </xs:attributeGroup>
+ <!-- end of cvar.attlist -->
+ <!-- end of cvar.module -->
+ <xs:attributeGroup name="arguments.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A general-purpose element for representing the syntax of commands or functions. -->
+ <xs:element name="arguments" substitutionGroup="synop.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="graphic"/>
+ <xs:element ref="mediaobject"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="textobject"/>
+ <xs:element ref="lineannotation"/>
+ </xs:choice>
+ <xs:attributeGroup ref="arguments.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of arguments.element -->
+ <xs:attributeGroup name="arguments.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="linespecific.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="arguments.role.attrib"/>
+ <xs:attribute name="signature" type="xs:string" use="optional" />
+ <xs:attribute name="both" type="xs:string" use="optional" />
+ </xs:attributeGroup>
+ <!-- end of arguments.attlist -->
+ <!-- end of arguments.module -->
+ <xs:attributeGroup name="scons_function.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A paragraph. -->
+ <xs:element name="scons_function" substitutionGroup="para.class">
+ <xs:complexType mixed="true">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:group ref="para.mix"/>
+ <xs:group ref="scons_function.mix"/>
+ </xs:choice>
+ <xs:attributeGroup ref="scons_function.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of scons_function.element -->
+ <xs:attributeGroup name="scons_function.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="scons_function.role.attrib"/>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ </xs:attributeGroup>
+ <!-- end of scons_function.attlist -->
+ <!-- end of scons_function.module -->
+ <xs:attributeGroup name="admon.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A note of caution. -->
+ <xs:element name="caution" substitutionGroup="admon.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:group maxOccurs="unbounded" ref="admon.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="caution.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of caution.element -->
+ <xs:attributeGroup name="caution.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="admon.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of caution.attlist -->
+ <!-- doc:An admonition set off from the text. -->
+ <xs:element name="important" substitutionGroup="admon.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:group maxOccurs="unbounded" ref="admon.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="important.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of important.element -->
+ <xs:attributeGroup name="important.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="admon.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of important.attlist -->
+ <!-- doc:A message set off from the text. -->
+ <xs:element name="note" substitutionGroup="admon.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:group maxOccurs="unbounded" ref="admon.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="note.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of note.element -->
+ <xs:attributeGroup name="note.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="admon.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of note.attlist -->
+ <!-- doc:A suggestion to the user, set off from the text. -->
+ <xs:element name="tip" substitutionGroup="admon.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:group maxOccurs="unbounded" ref="admon.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="tip.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tip.element -->
+ <xs:attributeGroup name="tip.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="admon.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of tip.attlist -->
+ <!-- doc:An admonition set off from the text. -->
+ <xs:element name="warning" substitutionGroup="admon.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:group maxOccurs="unbounded" ref="admon.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="warning.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of warning.element -->
+ <xs:attributeGroup name="warning.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="admon.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of warning.attlist -->
+ <!-- end of admon.module -->
+ <!-- ...................................................................... -->
+ <!-- Lists ................................................................ -->
+ <!-- GlossList ........................ -->
+ <xs:attributeGroup name="glosslist.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for a set of GlossEntrys. -->
+ <xs:element name="glosslist" substitutionGroup="list.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:element maxOccurs="unbounded" ref="glossentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="glosslist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of glosslist.element -->
+ <xs:attributeGroup name="glosslist.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glosslist.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of glosslist.attlist -->
+ <!-- end of glosslist.module -->
+ <xs:attributeGroup name="glossentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry in a Glossary or GlossList. -->
+ <xs:element name="glossentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="glossterm"/>
+ <xs:element minOccurs="0" ref="acronym"/>
+ <xs:element minOccurs="0" ref="abbrev"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ <xs:element minOccurs="0" ref="revhistory"/>
+ <xs:choice>
+ <xs:element ref="glosssee"/>
+ <xs:element maxOccurs="unbounded" ref="glossdef"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="glossentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of glossentry.element -->
+ <!--
+ SortAs: String by which the GlossEntry is to be sorted
+ (alphabetized) in lieu of its proper content
+ -->
+ <xs:attributeGroup name="glossentry.attlist">
+ <xs:attribute name="sortas"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of glossentry.attlist -->
+ <!-- end of glossentry.module -->
+ <!-- GlossTerm (defined in the Inlines section, below) -->
+ <xs:attributeGroup name="glossdef.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A definition in a GlossEntry. -->
+ <xs:element name="glossdef">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="glossdef.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="glossseealso"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="glossdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of glossdef.element -->
+ <!-- Subject: List of subjects; keywords for the definition -->
+ <xs:attributeGroup name="glossdef.attlist">
+ <xs:attribute name="subject"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossdef.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of glossdef.attlist -->
+ <!-- end of glossdef.module -->
+ <xs:attributeGroup name="glosssee.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A cross-reference from one GlossEntry to another. -->
+ <xs:element name="glosssee">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="glosssee.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of glosssee.element -->
+ <!--
+ OtherTerm: Reference to the GlossEntry whose GlossTerm
+ should be displayed at the point of the GlossSee
+ -->
+ <xs:attributeGroup name="glosssee.attlist">
+ <xs:attribute name="otherterm" type="xs:IDREF"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glosssee.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of glosssee.attlist -->
+ <!-- end of glosssee.module -->
+ <xs:attributeGroup name="glossseealso.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A cross-reference from one GlossEntry to another. -->
+ <xs:element name="glossseealso">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="glossseealso.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of glossseealso.element -->
+ <!--
+ OtherTerm: Reference to the GlossEntry whose GlossTerm
+ should be displayed at the point of the GlossSeeAlso
+ -->
+ <xs:attributeGroup name="glossseealso.attlist">
+ <xs:attribute name="otherterm" type="xs:IDREF"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossseealso.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of glossseealso.attlist -->
+ <!-- end of glossseealso.module -->
+ <!-- end of glossentry.content.module -->
+ <!-- ItemizedList and OrderedList ..... -->
+ <xs:attributeGroup name="itemizedlist.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A list in which each entry is marked with a bullet or other dingbat. -->
+ <xs:element name="itemizedlist" substitutionGroup="list.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
+ <xs:element maxOccurs="unbounded" ref="listitem"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="itemizedlist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of itemizedlist.element -->
+ <!--
+ Spacing: Whether the vertical space in the list should be
+ compressed
+ -->
+ <!--
+ Mark: Keyword, e.g., bullet, dash, checkbox, none;
+ list of keywords and defaults are implementation specific
+ -->
+ <xs:attributeGroup name="itemizedlist.attlist">
+ <xs:attribute name="spacing">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="normal"/>
+ <xs:enumeration value="compact"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="mark.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="itemizedlist.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of itemizedlist.attlist -->
+ <!-- end of itemizedlist.module -->
+ <xs:attributeGroup name="orderedlist.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A list in which each entry is marked with a sequentially incremented label. -->
+ <xs:element name="orderedlist" substitutionGroup="list.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
+ <xs:element maxOccurs="unbounded" ref="listitem"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="orderedlist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of orderedlist.element -->
+ <!--
+ Numeration: Style of ListItem numbered; default is expected
+ to be Arabic
+ -->
+ <!--
+ InheritNum: Specifies for a nested list that the numbering
+ of ListItems should include the number of the item
+ within which they are nested (e.g., 1a and 1b within 1,
+ rather than a and b)
+ -->
+ <!--
+ Continuation: Where list numbering begins afresh (Restarts,
+ the default) or continues that of the immediately preceding
+ list (Continues)
+ -->
+ <!--
+ Spacing: Whether the vertical space in the list should be
+ compressed
+ -->
+ <xs:attributeGroup name="orderedlist.attlist">
+ <xs:attribute name="numeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="arabic"/>
+ <xs:enumeration value="upperalpha"/>
+ <xs:enumeration value="loweralpha"/>
+ <xs:enumeration value="upperroman"/>
+ <xs:enumeration value="lowerroman"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="inheritnum" default="ignore">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="inherit"/>
+ <xs:enumeration value="ignore"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="continuation" default="restarts">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="continues"/>
+ <xs:enumeration value="restarts"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="spacing">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="normal"/>
+ <xs:enumeration value="compact"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="orderedlist.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of orderedlist.attlist -->
+ <!-- end of orderedlist.module -->
+ <xs:attributeGroup name="listitem.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for the elements of a list item. -->
+ <xs:element name="listitem">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="component.mix"/>
+ <xs:attributeGroup ref="listitem.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of listitem.element -->
+ <!--
+ Override: Indicates the mark to be used for this ListItem
+ instead of the default mark or the mark specified by
+ the Mark attribute on the enclosing ItemizedList
+ -->
+ <xs:attributeGroup name="listitem.attlist">
+ <xs:attribute name="override"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="listitem.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of listitem.attlist -->
+ <!-- end of listitem.module -->
+ <!-- SegmentedList .................... -->
+ <xs:attributeGroup name="segmentedlist.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A segmented list, a list of sets of elements. -->
+ <xs:element name="segmentedlist" substitutionGroup="list.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:element maxOccurs="unbounded" ref="segtitle"/>
+ <xs:element maxOccurs="unbounded" ref="seglistitem"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="segmentedlist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of segmentedlist.element -->
+ <xs:attributeGroup name="segmentedlist.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="segmentedlist.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of segmentedlist.attlist -->
+ <!-- end of segmentedlist.module -->
+ <xs:attributeGroup name="segtitle.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The title of an element of a list item in a segmented list. -->
+ <xs:element name="segtitle">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
+ <xs:attributeGroup ref="segtitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of segtitle.element -->
+ <xs:attributeGroup name="segtitle.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="segtitle.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of segtitle.attlist -->
+ <!-- end of segtitle.module -->
+ <xs:attributeGroup name="seglistitem.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A list item in a segmented list. -->
+ <xs:element name="seglistitem">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="seg"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="seglistitem.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of seglistitem.element -->
+ <xs:attributeGroup name="seglistitem.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="seglistitem.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of seglistitem.attlist -->
+ <!-- end of seglistitem.module -->
+ <xs:attributeGroup name="seg.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An element of a list item in a segmented list. -->
+ <xs:element name="seg">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="seg.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of seg.element -->
+ <xs:attributeGroup name="seg.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="seg.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of seg.attlist -->
+ <!-- end of seg.module -->
+ <!-- end of segmentedlist.content.module -->
+ <!-- SimpleList ....................... -->
+ <xs:attributeGroup name="simplelist.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An undecorated list of single words or short phrases. -->
+ <xs:element name="simplelist" substitutionGroup="list.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="member"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="simplelist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of simplelist.element -->
+ <!-- Columns: The number of columns the array should contain -->
+ <!--
+ Type: How the Members of the SimpleList should be
+ formatted: Inline (members separated with commas etc.
+ inline), Vert (top to bottom in n Columns), or Horiz (in
+ the direction of text flow) in n Columns. If Column
+ is 1 or implied, Type=Vert and Type=Horiz give the same
+ results.
+ -->
+ <xs:attributeGroup name="simplelist.attlist">
+ <xs:attribute name="columns"/>
+ <xs:attribute name="type" default="vert">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="inline"/>
+ <xs:enumeration value="vert"/>
+ <xs:enumeration value="horiz"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="simplelist.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of simplelist.attlist -->
+ <!-- end of simplelist.module -->
+ <xs:attributeGroup name="member.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An element of a simple list. -->
+ <xs:element name="member">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="member.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of member.element -->
+ <xs:attributeGroup name="member.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="member.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of member.attlist -->
+ <!-- end of member.module -->
+ <!-- end of simplelist.content.module -->
+ <!-- VariableList ..................... -->
+ <xs:attributeGroup name="variablelist.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A list in which each entry is composed of a set of one or more terms and an associated description. -->
+ <xs:element name="variablelist" substitutionGroup="list.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
+ <xs:element maxOccurs="unbounded" ref="varlistentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="variablelist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of variablelist.element -->
+ <!--
+ TermLength: Length beyond which the presentation engine
+ may consider the Term too long and select an alternate
+ presentation of the Term and, or, its associated ListItem.
+ -->
+ <xs:attributeGroup name="variablelist.attlist">
+ <xs:attribute name="termlength"/>
+ <xs:attribute name="spacing">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="normal"/>
+ <xs:enumeration value="compact"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="variablelist.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of variablelist.attlist -->
+ <!-- end of variablelist.module -->
+ <xs:attributeGroup name="varlistentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for a set of terms and the associated description in a variable list. -->
+ <xs:element name="varlistentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="term"/>
+ <xs:element ref="listitem"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="varlistentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of varlistentry.element -->
+ <xs:attributeGroup name="varlistentry.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="varlistentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of varlistentry.attlist -->
+ <!-- end of varlistentry.module -->
+ <xs:attributeGroup name="term.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The word or phrase being defined or described in a variable list. -->
+ <xs:element name="term">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="term.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of term.element -->
+ <xs:attributeGroup name="term.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="term.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of term.attlist -->
+ <!-- end of term.module -->
+ <!-- ListItem (defined above) -->
+ <!-- end of variablelist.content.module -->
+ <!-- CalloutList ...................... -->
+ <xs:attributeGroup name="calloutlist.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A list of Callouts. -->
+ <xs:element name="calloutlist" substitutionGroup="list.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:element maxOccurs="unbounded" ref="callout"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="calloutlist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of calloutlist.element -->
+ <xs:attributeGroup name="calloutlist.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="calloutlist.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of calloutlist.attlist -->
+ <!-- end of calloutlist.module -->
+ <xs:attributeGroup name="callout.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A &ldquo;called out&rdquo; description of a marked Area. -->
+ <xs:element name="callout">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="component.mix"/>
+ <xs:attributeGroup ref="callout.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of callout.element -->
+ <!--
+ AreaRefs: IDs of one or more Areas or AreaSets described
+ by this Callout
+ -->
+ <xs:attributeGroup name="callout.attlist">
+ <xs:attribute name="arearefs" use="required" type="xs:IDREFS"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="callout.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of callout.attlist -->
+ <!-- end of callout.module -->
+ <!-- end of calloutlist.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Objects .............................................................. -->
+ <!-- Examples etc. .................... -->
+ <xs:attributeGroup name="example.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A formal example, with a title. -->
+ <xs:element name="example" substitutionGroup="formal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group ref="formalobject.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="example.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="example.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of example.element -->
+ <xs:attributeGroup name="example.attlist">
+ <xs:attribute name="floatstyle"/>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="width.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="example.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of example.attlist -->
+ <!-- end of example.module -->
+ <xs:attributeGroup name="informalexample.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A displayed example without a title. -->
+ <xs:element name="informalexample" substitutionGroup="informal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group maxOccurs="unbounded" ref="example.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="informalexample.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of informalexample.element -->
+ <xs:attributeGroup name="informalexample.attlist">
+ <xs:attribute name="floatstyle"/>
+ <xs:attributeGroup ref="width.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="informalexample.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of informalexample.attlist -->
+ <!-- end of informalexample.module -->
+ <xs:attributeGroup name="programlistingco.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A program listing with associated areas used in callouts. -->
+ <xs:element name="programlistingco" substitutionGroup="linespecific.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="areaspec"/>
+ <xs:element ref="programlisting"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="programlistingco.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of programlistingco.element -->
+ <xs:attributeGroup name="programlistingco.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="programlistingco.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of programlistingco.attlist -->
+ <!-- CalloutList (defined above in Lists) -->
+ <!-- end of informalexample.module -->
+ <xs:attributeGroup name="areaspec.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A collection of regions in a graphic or code example. -->
+ <xs:element name="areaspec">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="area"/>
+ <xs:element ref="areaset"/>
+ </xs:choice>
+ <xs:attributeGroup ref="areaspec.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of areaspec.element -->
+ <!--
+ Units: global unit of measure in which coordinates in
+ this spec are expressed:
+
+ - CALSPair "x1,y1 x2,y2": lower-left and upper-right
+ coordinates in a rectangle describing repro area in which
+ graphic is placed, where X and Y dimensions are each some
+ number 0..10000 (taken from CALS graphic attributes)
+
+ - LineColumn "line column": line number and column number
+ at which to start callout text in "linespecific" content
+
+ - LineRange "startline endline": whole lines from startline
+ to endline in "linespecific" content
+
+ - LineColumnPair "line1 col1 line2 col2": starting and ending
+ points of area in "linespecific" content that starts at
+ first position and ends at second position (including the
+ beginnings of any intervening lines)
+
+ - Other: directive to look at value of OtherUnits attribute
+ to get implementation-specific keyword
+
+ The default is implementation-specific; usually dependent on
+ the parent element (GraphicCO gets CALSPair, ProgramListingCO
+ and ScreenCO get LineColumn)
+ -->
+ <!-- OtherUnits: User-defined units -->
+ <xs:attributeGroup name="areaspec.attlist">
+ <xs:attribute name="units">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="calspair"/>
+ <xs:enumeration value="linecolumn"/>
+ <xs:enumeration value="linerange"/>
+ <xs:enumeration value="linecolumnpair"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="areaspec.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of areaspec.attlist -->
+ <!-- end of areaspec.module -->
+ <xs:attributeGroup name="area.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A region defined for a Callout in a graphic or code example. -->
+ <xs:element name="area">
+ <xs:complexType>
+ <xs:attributeGroup ref="area.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of area.element -->
+ <!-- bug number/symbol override or initialization -->
+ <!-- to any related information -->
+ <!--
+ Units: unit of measure in which coordinates in this
+ area are expressed; inherits from AreaSet and AreaSpec
+ -->
+ <!-- OtherUnits: User-defined units -->
+ <xs:attributeGroup name="area.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attribute name="units">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="calspair"/>
+ <xs:enumeration value="linecolumn"/>
+ <xs:enumeration value="linerange"/>
+ <xs:enumeration value="linecolumnpair"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
+ <xs:attribute name="coords" use="required"/>
+ <xs:attributeGroup ref="idreq.common.attrib"/>
+ <xs:attributeGroup ref="area.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of area.attlist -->
+ <!-- end of area.module -->
+ <xs:attributeGroup name="areaset.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A set of related areas in a graphic or code example. -->
+ <xs:element name="areaset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="area"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="areaset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of areaset.element -->
+ <!-- bug number/symbol override or initialization -->
+ <!--
+ Units: unit of measure in which coordinates in this
+ area are expressed; inherits from AreaSpec
+ -->
+ <xs:attributeGroup name="areaset.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attribute name="units">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="calspair"/>
+ <xs:enumeration value="linecolumn"/>
+ <xs:enumeration value="linerange"/>
+ <xs:enumeration value="linecolumnpair"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
+ <xs:attribute name="coords" use="required"/>
+ <xs:attributeGroup ref="idreq.common.attrib"/>
+ <xs:attributeGroup ref="areaset.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of areaset.attlist -->
+ <!-- end of areaset.module -->
+ <!-- end of areaspec.content.module -->
+ <xs:attributeGroup name="programlisting.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A literal listing of all or part of a program. -->
+ <xs:element name="programlisting" substitutionGroup="linespecific.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="lineannotation"/>
+ <xs:element ref="textobject"/>
+ </xs:choice>
+ <xs:attributeGroup ref="programlisting.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of programlisting.element -->
+ <xs:attributeGroup name="programlisting.attlist">
+ <xs:attributeGroup ref="width.attrib"/>
+ <xs:attributeGroup ref="linespecific.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="programlisting.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of programlisting.attlist -->
+ <!-- end of programlisting.module -->
+ <xs:attributeGroup name="literallayout.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A block of text in which line breaks and white space are to be reproduced faithfully. -->
+ <xs:element name="literallayout" substitutionGroup="linespecific.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="textobject"/>
+ <xs:element ref="lineannotation"/>
+ </xs:choice>
+ <xs:attributeGroup ref="literallayout.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of literallayout.element -->
+ <xs:attributeGroup name="literallayout.attlist">
+ <xs:attributeGroup ref="width.attrib"/>
+ <xs:attributeGroup ref="linespecific.attrib"/>
+ <xs:attribute name="class" default="normal">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="monospaced"/>
+ <xs:enumeration value="normal"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="literallayout.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of literallayout.attlist -->
+ <!-- LineAnnotation (defined in the Inlines section, below) -->
+ <!-- end of literallayout.module -->
+ <xs:attributeGroup name="screenco.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A screen with associated areas used in callouts. -->
+ <xs:element name="screenco" substitutionGroup="linespecific.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="areaspec"/>
+ <xs:element ref="screen"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="screenco.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of screenco.element -->
+ <xs:attributeGroup name="screenco.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="screenco.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of screenco.attlist -->
+ <!-- AreaSpec (defined above) -->
+ <!-- CalloutList (defined above in Lists) -->
+ <!-- end of screenco.module -->
+ <xs:attributeGroup name="screen.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Text that a user sees or might see on a computer screen. -->
+ <xs:element name="screen" substitutionGroup="linespecific.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="textobject"/>
+ <xs:element ref="lineannotation"/>
+ </xs:choice>
+ <xs:attributeGroup ref="screen.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of screen.element -->
+ <xs:attributeGroup name="screen.attlist">
+ <xs:attributeGroup ref="width.attrib"/>
+ <xs:attributeGroup ref="linespecific.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="screen.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of screen.attlist -->
+ <!-- end of screen.module -->
+ <xs:attributeGroup name="screenshot.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A representation of what the user sees or might see on a computer screen. -->
+ <xs:element name="screenshot" substitutionGroup="linespecific.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="screeninfo"/>
+ <xs:choice>
+ <xs:element ref="graphic"/>
+ <xs:element ref="graphicco"/>
+ <xs:element ref="mediaobject"/>
+ <xs:element ref="mediaobjectco"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="screenshot.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of screenshot.element -->
+ <xs:attributeGroup name="screenshot.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="screenshot.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of screenshot.attlist -->
+ <!-- end of screenshot.module -->
+ <xs:attributeGroup name="screeninfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Information about how a screen shot was produced. -->
+ <xs:element name="screeninfo">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="screeninfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of screeninfo.element -->
+ <xs:attributeGroup name="screeninfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="screeninfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of screeninfo.attlist -->
+ <!-- end of screeninfo.module -->
+ <!-- end of screenshot.content.module -->
+ <!-- Figures etc. ..................... -->
+ <xs:attributeGroup name="figure.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A formal figure, generally an illustration, with a title. -->
+ <xs:element name="figure" substitutionGroup="formal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group ref="formalobject.title.content"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:group ref="figure.mix"/>
+ <xs:element ref="link.char.class"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="figure.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of figure.element -->
+ <!--
+ Float: Whether the Figure is supposed to be rendered
+ where convenient (yes (1) value) or at the place it occurs
+ in the text (no (0) value, the default)
+ -->
+ <xs:attributeGroup name="figure.attlist">
+ <xs:attribute name="float" default="0" type="yesorno.attvals"/>
+ <xs:attribute name="floatstyle"/>
+ <xs:attribute name="pgwide" type="yesorno.attvals"/>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="figure.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of figure.attlist -->
+ <!-- end of figure.module -->
+ <xs:attributeGroup name="informalfigure.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A untitled figure. -->
+ <xs:element name="informalfigure" substitutionGroup="informal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:group ref="figure.mix"/>
+ <xs:element ref="link.char.class"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="informalfigure.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of informalfigure.element -->
+ <!--
+ Float: Whether the Figure is supposed to be rendered
+ where convenient (yes (1) value) or at the place it occurs
+ in the text (no (0) value, the default)
+ -->
+ <xs:attributeGroup name="informalfigure.attlist">
+ <xs:attribute name="float" default="0" type="yesorno.attvals"/>
+ <xs:attribute name="floatstyle"/>
+ <xs:attribute name="pgwide" type="yesorno.attvals"/>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="informalfigure.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of informalfigure.attlist -->
+ <!-- end of informalfigure.module -->
+ <xs:attributeGroup name="graphicco.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A graphic that contains callout areas. -->
+ <xs:element name="graphicco" substitutionGroup="informal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="areaspec"/>
+ <xs:element ref="graphic"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="graphicco.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of graphicco.element -->
+ <xs:attributeGroup name="graphicco.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="graphicco.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of graphicco.attlist -->
+ <!-- AreaSpec (defined above in Examples) -->
+ <!-- CalloutList (defined above in Lists) -->
+ <!-- end of graphicco.module -->
+ <!--
+ Graphical data can be the content of Graphic, or you can reference
+ an external file either as an entity (Entitref) or a filename
+ (Fileref).
+ -->
+ <xs:attributeGroup name="graphic.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A displayed graphical object (not an inline). -->
+ <xs:element name="graphic" substitutionGroup="informal.class">
+ <xs:complexType>
+ <xs:attributeGroup ref="graphic.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of graphic.element -->
+ <xs:attributeGroup name="graphic.attlist">
+ <xs:attributeGroup ref="graphics.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="graphic.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of graphic.attlist -->
+ <!-- end of graphic.module -->
+ <xs:attributeGroup name="inlinegraphic.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An object containing or pointing to graphical data that will be rendered inline. -->
+ <xs:element name="inlinegraphic" substitutionGroup="inlineobj.char.class">
+ <xs:complexType>
+ <xs:attributeGroup ref="inlinegraphic.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of inlinegraphic.element -->
+ <xs:attributeGroup name="inlinegraphic.attlist">
+ <xs:attributeGroup ref="graphics.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="inlinegraphic.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of inlinegraphic.attlist -->
+ <!-- end of inlinegraphic.module -->
+ <xs:attributeGroup name="mediaobject.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A displayed media object (video, audio, image, etc.). -->
+ <xs:element name="mediaobject" substitutionGroup="informal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="objectinfo"/>
+ <xs:element maxOccurs="unbounded" ref="mediaobject.mix"/>
+ <xs:element minOccurs="0" ref="caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="mediaobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of mediaobject.element -->
+ <xs:attributeGroup name="mediaobject.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="mediaobject.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of mediaobject.attlist -->
+ <!-- end of mediaobject.module -->
+ <xs:attributeGroup name="inlinemediaobject.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An inline media object (video, audio, image, and so on). -->
+ <xs:element name="inlinemediaobject" substitutionGroup="inlineobj.char.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="objectinfo"/>
+ <xs:element maxOccurs="unbounded" ref="mediaobject.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="inlinemediaobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of inlinemediaobject.element -->
+ <xs:attributeGroup name="inlinemediaobject.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="inlinemediaobject.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of inlinemediaobject.attlist -->
+ <!-- end of inlinemediaobject.module -->
+ <xs:attributeGroup name="videoobject.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for video data and its associated meta-information. -->
+ <xs:element name="videoobject" substitutionGroup="mediaobject.mix">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="objectinfo"/>
+ <xs:element ref="videodata"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="videoobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of videoobject.element -->
+ <xs:attributeGroup name="videoobject.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="videoobject.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of videoobject.attlist -->
+ <!-- end of videoobject.module -->
+ <xs:attributeGroup name="audioobject.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for audio data and its associated meta-information. -->
+ <xs:element name="audioobject" substitutionGroup="mediaobject.mix">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="objectinfo"/>
+ <xs:element ref="audiodata"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="audioobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of audioobject.element -->
+ <xs:attributeGroup name="audioobject.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="audioobject.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of audioobject.attlist -->
+ <!-- end of audioobject.module -->
+ <xs:attributeGroup name="imageobject.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for image data and its associated meta-information. -->
+ <xs:element name="imageobject" substitutionGroup="mediaobject.mix">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="objectinfo"/>
+ <xs:element ref="imagedata"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="imageobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of imageobject.element -->
+ <xs:attributeGroup name="imageobject.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="imageobject.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of imageobject.attlist -->
+ <!-- end of imageobject.module -->
+ <xs:attributeGroup name="textobject.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for a text description of an object and its associated meta-information. -->
+ <xs:element name="textobject" substitutionGroup="mediaobject.mix">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="objectinfo"/>
+ <xs:choice>
+ <xs:element ref="phrase"/>
+ <xs:element ref="textdata"/>
+ <xs:group maxOccurs="unbounded" ref="textobject.mix"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="textobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of textobject.element -->
+ <xs:attributeGroup name="textobject.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="textobject.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of textobject.attlist -->
+ <!-- end of textobject.module -->
+ <xs:attributeGroup name="objectinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Meta-information for an object. -->
+ <xs:element name="objectinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="objectinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of objectinfo.element -->
+ <xs:attributeGroup name="objectinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="objectinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of objectinfo.attlist -->
+ <!-- end of objectinfo.module -->
+ <!--
+ EntityRef: Name of an external entity containing the content
+ of the object data
+ -->
+ <!--
+ FileRef: Filename, qualified by a pathname if desired,
+ designating the file containing the content of the object data
+ -->
+ <!-- Format: Notation of the element content, if any -->
+ <!-- SrcCredit: Information about the source of the image -->
+ <xs:attributeGroup name="objectdata.attrib">
+ <xs:attribute name="entityref" type="xs:ENTITY"/>
+ <xs:attribute name="fileref"/>
+ <xs:attribute name="format" type="notation.class"/>
+ <xs:attribute name="srccredit"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="videodata.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Pointer to external video data. -->
+ <xs:element name="videodata">
+ <xs:complexType>
+ <xs:attributeGroup ref="videodata.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of videodata.element -->
+ <!-- Width: Same as CALS reprowid (desired width) -->
+ <!-- Depth: Same as CALS reprodep (desired depth) -->
+ <!--
+ Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+ application-specific
+ -->
+ <!-- Scale: Conflation of CALS hscale and vscale -->
+ <!-- Scalefit: Same as CALS scalefit -->
+ <xs:attributeGroup name="videodata.attlist">
+ <xs:attribute name="width"/>
+ <xs:attribute name="contentwidth"/>
+ <xs:attribute name="depth"/>
+ <xs:attribute name="contentdepth"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="center"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="middle"/>
+ <xs:enumeration value="bottom"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="scale"/>
+ <xs:attribute name="scalefit" type="yesorno.attvals"/>
+ <xs:attributeGroup ref="objectdata.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="videodata.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of videodata.attlist -->
+ <!-- end of videodata.module -->
+ <xs:attributeGroup name="audiodata.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Pointer to external audio data. -->
+ <xs:element name="audiodata">
+ <xs:complexType>
+ <xs:attributeGroup ref="audiodata.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of audiodata.element -->
+ <xs:attributeGroup name="audiodata.attlist">
+ <xs:attributeGroup ref="objectdata.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="audiodata.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of audiodata.attlist -->
+ <!-- end of audiodata.module -->
+ <xs:attributeGroup name="imagedata.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Pointer to external image data. -->
+ <xs:element name="imagedata">
+ <xs:complexType>
+ <xs:attributeGroup ref="imagedata.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of imagedata.element -->
+ <!-- Width: Same as CALS reprowid (desired width) -->
+ <!-- Depth: Same as CALS reprodep (desired depth) -->
+ <!--
+ Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+ application-specific
+ -->
+ <!-- Scale: Conflation of CALS hscale and vscale -->
+ <!-- Scalefit: Same as CALS scalefit -->
+ <xs:attributeGroup name="imagedata.attlist">
+ <xs:attribute name="width"/>
+ <xs:attribute name="contentwidth"/>
+ <xs:attribute name="depth"/>
+ <xs:attribute name="contentdepth"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="center"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="middle"/>
+ <xs:enumeration value="bottom"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="scale"/>
+ <xs:attribute name="scalefit" type="yesorno.attvals"/>
+ <xs:attributeGroup ref="objectdata.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="imagedata.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of imagedata.attlist -->
+ <!-- end of imagedata.module -->
+ <xs:attributeGroup name="textdata.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Pointer to external text data. -->
+ <xs:element name="textdata">
+ <xs:complexType>
+ <xs:attributeGroup ref="textdata.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of textdata.element -->
+ <xs:attributeGroup name="textdata.attlist">
+ <xs:attribute name="encoding"/>
+ <xs:attributeGroup ref="objectdata.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="textdata.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of textdata.attlist -->
+ <!-- end of textdata.module -->
+ <xs:attributeGroup name="mediaobjectco.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A media object that contains callouts. -->
+ <xs:element name="mediaobjectco" substitutionGroup="informal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="objectinfo"/>
+ <xs:element ref="imageobjectco"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="imageobjectco"/>
+ <xs:element ref="textobject"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="mediaobjectco.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of mediaobjectco.element -->
+ <xs:attributeGroup name="mediaobjectco.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="mediaobjectco.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of mediaobjectco.attlist -->
+ <!-- end of mediaobjectco.module -->
+ <xs:attributeGroup name="imageobjectco.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for an image object with callouts. -->
+ <xs:element name="imageobjectco" substitutionGroup="mediaobject.mix">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="areaspec"/>
+ <xs:element ref="imageobject"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="imageobjectco.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of imageobjectco.element -->
+ <xs:attributeGroup name="imageobjectco.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="imageobjectco.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of imageobjectco.attlist -->
+ <!-- end of imageobjectco.module -->
+ <!-- end of mediaobject.content.module -->
+ <!-- Equations ........................ -->
+ <!-- This PE provides a mechanism for replacing equation content, -->
+ <!-- perhaps adding a new or different model (e.g., MathML) -->
+ <xs:group name="equation.content">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="alt"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="graphic"/>
+ <xs:element maxOccurs="unbounded" ref="mediaobject"/>
+ <xs:element maxOccurs="unbounded" ref="mathphrase"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:complexType name="inlineequation.content">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="alt"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="graphic"/>
+ <xs:element maxOccurs="unbounded" ref="inlinemediaobject"/>
+ <xs:element maxOccurs="unbounded" ref="mathphrase"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:attributeGroup name="equation.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A displayed mathematical equation. -->
+ <xs:element name="equation" substitutionGroup="formal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group minOccurs="0" ref="formalobject.title.content"/>
+ <xs:choice>
+ <xs:element ref="informalequation"/>
+ <xs:group ref="equation.content"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="equation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of equation.element -->
+ <xs:attributeGroup name="equation.attlist">
+ <xs:attribute name="floatstyle"/>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="equation.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of equation.attlist -->
+ <!-- end of equation.module -->
+ <xs:attributeGroup name="informalequation.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A displayed mathematical equation without a title. -->
+ <xs:element name="informalequation" substitutionGroup="informal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group ref="equation.content"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="informalequation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of informalequation.element -->
+ <xs:attributeGroup name="informalequation.attlist">
+ <xs:attribute name="floatstyle"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="informalequation.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of informalequation.attlist -->
+ <!-- end of informalequation.module -->
+ <xs:attributeGroup name="inlineequation.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A mathematical equation or expression occurring inline. -->
+ <xs:element name="inlineequation" substitutionGroup="inlineobj.char.class">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="inlineequation.content">
+ <xs:attributeGroup ref="inlineequation.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of inlineequation.element -->
+ <xs:attributeGroup name="inlineequation.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="inlineequation.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of inlineequation.attlist -->
+ <!-- end of inlineequation.module -->
+ <xs:attributeGroup name="alt.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Text representation for a graphical element. -->
+ <xs:element name="alt">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="alt.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of alt.element -->
+ <xs:attributeGroup name="alt.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="alt.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of alt.attlist -->
+ <!-- end of alt.module -->
+ <xs:attributeGroup name="mathphrase.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A mathematical phrase, an expression that can be represented with ordinary text and a small amount of markup. -->
+ <xs:element name="mathphrase">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="subscript"/>
+ <xs:element ref="superscript"/>
+ <xs:element ref="emphasis"/>
+ </xs:choice>
+ <xs:attributeGroup ref="mathphrase.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of mathphrase.element -->
+ <xs:attributeGroup name="mathphrase.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="mathphrase.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of mathphrase.attlist -->
+ <!-- end of mathphrase.module -->
+ <!-- Tables ........................... -->
+ <!-- Choose a table model. CALS or OASIS XML Exchange -->
+ <!-- Do we allow the HTML table model as well? -->
+ <!-- ====================================================== -->
+ <!--
+ xhtmltbl.mod defines HTML tables and sets parameter
+ entities so that, when the CALS table module is read,
+ we end up allowing any table to be CALS or HTML.
+ i.e. This include must come first!
+ -->
+ <!-- ====================================================== -->
+ <!-- end of allow.html.tables -->
+ <!-- Add label and role attributes to table and informaltable -->
+ <!--
+ Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
+ EntryTbl, and Entry (and InformalTable element).
+ -->
+ <!-- Content model for Table. -->
+ <!-- Allow either objects or inlines; beware of REs between elements. -->
+ <!-- Reference CALS Table Model -->
+ <!-- end of table.module -->
+ <!--
+ Note that InformalTable is dependent on some of the entity
+ declarations that customize Table.
+ -->
+ <!-- the following entity may have been declared by the XHTML table module -->
+ <!-- doc:A table without a title. -->
+ <xs:element name="informaltable" substitutionGroup="informal.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group ref="informal.tbl.table.mdl"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="informaltable.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of informaltable.element -->
+ <!--
+ Frame, Colsep, and Rowsep must be repeated because
+ they are not in entities in the table module.
+ -->
+ <!--
+ includes TabStyle, ToCentry, ShortEntry,
+ Orient, PgWide
+ -->
+ <!-- includes Label -->
+ <!-- includes common attributes -->
+ <xs:attributeGroup name="informaltable.attlist">
+ <xs:attribute name="frame" type="tbl.frame.attval"/>
+ <xs:attribute name="colsep" type="yesorno.attvals"/>
+ <xs:attribute name="rowsep" type="yesorno.attvals"/>
+ <xs:attributeGroup ref="common.table.attribs"/>
+ <xs:attributeGroup ref="tbl.table.att"/>
+ </xs:attributeGroup>
+ <!-- end of informaltable.attlist -->
+ <!-- end of informaltable.module -->
+ <xs:attributeGroup name="caption.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A caption. -->
+ <xs:element name="caption">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="textobject.mix"/>
+ <xs:attributeGroup ref="caption.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of caption.element -->
+ <!-- attrs comes from HTML tables ... -->
+ <!-- common.attrib, but without ID because ID is in attrs -->
+ <xs:attributeGroup name="caption.attlist.content">
+ <xs:attributeGroup ref="caption.role.attrib"/>
+ <xs:attributeGroup ref="attrs"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="bottom"/>
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="caption.attlist">
+ <xs:attributeGroup ref="caption.attlist.content"/>
+ </xs:attributeGroup>
+ <!-- end of caption.attlist -->
+ <!-- end of caption.module -->
+ <!-- ...................................................................... -->
+ <!-- Synopses ............................................................. -->
+ <!-- Synopsis ......................... -->
+ <xs:attributeGroup name="synopsis.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A general-purpose element for representing the syntax of commands or functions. -->
+ <xs:element name="synopsis" substitutionGroup="synop.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:element ref="graphic"/>
+ <xs:element ref="mediaobject"/>
+ <xs:element ref="co"/>
+ <xs:element ref="coref"/>
+ <xs:element ref="textobject"/>
+ <xs:element ref="lineannotation"/>
+ </xs:choice>
+ <xs:attributeGroup ref="synopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of synopsis.element -->
+ <xs:attributeGroup name="synopsis.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="linespecific.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="synopsis.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of synopsis.attlist -->
+ <!-- LineAnnotation (defined in the Inlines section, below) -->
+ <!-- end of synopsis.module -->
+ <!-- CmdSynopsis ...................... -->
+ <xs:attributeGroup name="cmdsynopsis.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A syntax summary for a software command. -->
+ <xs:element name="cmdsynopsis" substitutionGroup="synop.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="command"/>
+ <xs:element ref="arg"/>
+ <xs:element ref="group"/>
+ <xs:element ref="sbr"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="synopfragment"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="cmdsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of cmdsynopsis.element -->
+ <!--
+ Sepchar: Character that should separate command and all
+ top-level arguments; alternate value might be e.g., &Delta;
+ -->
+ <xs:attributeGroup name="cmdsynopsis.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attribute name="sepchar" default=" "/>
+ <xs:attribute name="cmdlength"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="cmdsynopsis.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of cmdsynopsis.attlist -->
+ <!-- end of cmdsynopsis.module -->
+ <xs:attributeGroup name="arg.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An argument in a CmdSynopsis. -->
+ <xs:element name="arg">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="arg"/>
+ <xs:element ref="group"/>
+ <xs:element ref="option"/>
+ <xs:element ref="synopfragmentref"/>
+ <xs:element ref="replaceable"/>
+ <xs:element ref="sbr"/>
+ </xs:choice>
+ <xs:attributeGroup ref="arg.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of arg.element -->
+ <!--
+ Choice: Whether Arg must be supplied: Opt (optional to
+ supply, e.g. [arg]; the default), Req (required to supply,
+ e.g. {arg}), or Plain (required to supply, e.g. arg)
+ -->
+ <!--
+ Rep: whether Arg is repeatable: Norepeat (e.g. arg without
+ ellipsis; the default), or Repeat (e.g. arg...)
+ -->
+ <xs:attributeGroup name="arg.attlist">
+ <xs:attribute name="choice" default="opt">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="opt"/>
+ <xs:enumeration value="req"/>
+ <xs:enumeration value="plain"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rep" default="norepeat">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="norepeat"/>
+ <xs:enumeration value="repeat"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="arg.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of arg.attlist -->
+ <!-- end of arg.module -->
+ <xs:attributeGroup name="group.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A group of elements in a CmdSynopsis. -->
+ <xs:element name="group">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="arg"/>
+ <xs:element ref="group"/>
+ <xs:element ref="option"/>
+ <xs:element ref="synopfragmentref"/>
+ <xs:element ref="replaceable"/>
+ <xs:element ref="sbr"/>
+ </xs:choice>
+ <xs:attributeGroup ref="group.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of group.element -->
+ <!--
+ Choice: Whether Group must be supplied: Opt (optional to
+ supply, e.g. [g1|g2|g3]; the default), Req (required to
+ supply, e.g. {g1|g2|g3}), Plain (required to supply,
+ e.g. g1|g2|g3), OptMult (can supply zero or more, e.g.
+ [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
+ {{g1|g2|g3}})
+ -->
+ <!--
+ Rep: whether Group is repeatable: Norepeat (e.g. group
+ without ellipsis; the default), or Repeat (e.g. group...)
+ -->
+ <xs:attributeGroup name="group.attlist">
+ <xs:attribute name="choice" default="opt">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="opt"/>
+ <xs:enumeration value="req"/>
+ <xs:enumeration value="plain"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rep" default="norepeat">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="norepeat"/>
+ <xs:enumeration value="repeat"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="group.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of group.attlist -->
+ <!-- end of group.module -->
+ <!-- Synopsis break -->
+ <xs:attributeGroup name="sbr.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An explicit line break in a command synopsis. -->
+ <xs:element name="sbr">
+ <xs:complexType>
+ <xs:attributeGroup ref="sbr.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sbr.element -->
+ <xs:attributeGroup name="sbr.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sbr.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sbr.attlist -->
+ <!-- end of sbr.module -->
+ <xs:attributeGroup name="synopfragmentref.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A reference to a fragment of a command synopsis. -->
+ <xs:element name="synopfragmentref">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="synopfragmentref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of synopfragmentref.element -->
+ <!--
+ to SynopFragment of complex synopsis
+ material for separate referencing
+ -->
+ <xs:attributeGroup name="synopfragmentref.attlist">
+ <xs:attributeGroup ref="linkendreq.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="synopfragmentref.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of synopfragmentref.attlist -->
+ <!-- end of synopfragmentref.module -->
+ <xs:attributeGroup name="synopfragment.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A portion of a CmdSynopsis broken out from the main body of the synopsis. -->
+ <xs:element name="synopfragment">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="arg"/>
+ <xs:element ref="group"/>
+ </xs:choice>
+ <xs:attributeGroup ref="synopfragment.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of synopfragment.element -->
+ <xs:attributeGroup name="synopfragment.attlist">
+ <xs:attributeGroup ref="idreq.common.attrib"/>
+ <xs:attributeGroup ref="synopfragment.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of synopfragment.attlist -->
+ <!-- end of synopfragment.module -->
+ <!-- Command (defined in the Inlines section, below) -->
+ <!-- Option (defined in the Inlines section, below) -->
+ <!-- Replaceable (defined in the Inlines section, below) -->
+ <!-- end of cmdsynopsis.content.module -->
+ <!-- FuncSynopsis ..................... -->
+ <xs:attributeGroup name="funcsynopsis.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The syntax summary for a function definition. -->
+ <xs:element name="funcsynopsis" substitutionGroup="synop.class">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="funcsynopsisinfo"/>
+ <xs:element ref="funcprototype"/>
+ </xs:choice>
+ <xs:attributeGroup ref="funcsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of funcsynopsis.element -->
+ <xs:attributeGroup name="funcsynopsis.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="funcsynopsis.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of funcsynopsis.attlist -->
+ <!-- end of funcsynopsis.module -->
+ <xs:attributeGroup name="funcsynopsisinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Information supplementing the FuncDefs of a FuncSynopsis. -->
+ <xs:element name="funcsynopsisinfo">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="cptr.char.mix"/>
+ <xs:element ref="textobject"/>
+ <xs:element ref="lineannotation"/>
+ </xs:choice>
+ <xs:attributeGroup ref="funcsynopsisinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of funcsynopsisinfo.element -->
+ <xs:attributeGroup name="funcsynopsisinfo.attlist">
+ <xs:attributeGroup ref="linespecific.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="funcsynopsisinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of funcsynopsisinfo.attlist -->
+ <!-- end of funcsynopsisinfo.module -->
+ <xs:attributeGroup name="funcprototype.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The prototype of a function. -->
+ <xs:element name="funcprototype">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
+ <xs:element ref="funcdef"/>
+ <xs:choice>
+ <xs:element ref="void"/>
+ <xs:element ref="varargs"/>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="paramdef"/>
+ <xs:element minOccurs="0" ref="varargs"/>
+ </xs:sequence>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="funcprototype.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of funcprototype.element -->
+ <xs:attributeGroup name="funcprototype.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="funcprototype.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of funcprototype.attlist -->
+ <!-- end of funcprototype.module -->
+ <xs:attributeGroup name="funcdef.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A function (subroutine) name and its return type. -->
+ <xs:element name="funcdef">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="type"/>
+ <xs:element ref="replaceable"/>
+ <xs:element ref="function"/>
+ </xs:choice>
+ <xs:attributeGroup ref="funcdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of funcdef.element -->
+ <xs:attributeGroup name="funcdef.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="funcdef.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of funcdef.attlist -->
+ <!-- end of funcdef.module -->
+ <xs:attributeGroup name="void.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An empty element in a function synopsis indicating that the function in question takes no arguments. -->
+ <xs:element name="void">
+ <xs:complexType>
+ <xs:attributeGroup ref="void.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of void.element -->
+ <xs:attributeGroup name="void.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="void.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of void.attlist -->
+ <!-- end of void.module -->
+ <xs:attributeGroup name="varargs.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An empty element in a function synopsis indicating a variable number of arguments. -->
+ <xs:element name="varargs">
+ <xs:complexType>
+ <xs:attributeGroup ref="varargs.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of varargs.element -->
+ <xs:attributeGroup name="varargs.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="varargs.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of varargs.attlist -->
+ <!-- end of varargs.module -->
+ <!--
+ Processing assumes that only one Parameter will appear in a
+ ParamDef, and that FuncParams will be used at most once, for
+ providing information on the "inner parameters" for parameters that
+ are pointers to functions.
+ -->
+ <xs:attributeGroup name="paramdef.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Information about a function parameter in a programming language. -->
+ <xs:element name="paramdef">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="initializer"/>
+ <xs:element ref="type"/>
+ <xs:element ref="replaceable"/>
+ <xs:element ref="parameter"/>
+ <xs:element ref="funcparams"/>
+ </xs:choice>
+ <xs:attributeGroup ref="paramdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of paramdef.element -->
+ <xs:attributeGroup name="paramdef.attlist">
+ <xs:attribute name="choice">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="opt"/>
+ <xs:enumeration value="req"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="paramdef.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of paramdef.attlist -->
+ <!-- end of paramdef.module -->
+ <xs:attributeGroup name="funcparams.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Parameters for a function referenced through a function pointer in a synopsis. -->
+ <xs:element name="funcparams">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="funcparams.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of funcparams.element -->
+ <xs:attributeGroup name="funcparams.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="funcparams.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of funcparams.attlist -->
+ <!-- end of funcparams.module -->
+ <!-- LineAnnotation (defined in the Inlines section, below) -->
+ <!-- Replaceable (defined in the Inlines section, below) -->
+ <!-- Function (defined in the Inlines section, below) -->
+ <!-- Parameter (defined in the Inlines section, below) -->
+ <!-- end of funcsynopsis.content.module -->
+ <!-- ClassSynopsis ..................... -->
+ <xs:attributeGroup name="classsynopsis.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The syntax summary for a class definition. -->
+ <xs:element name="classsynopsis" substitutionGroup="synop.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="ooclass"/>
+ <xs:element ref="oointerface"/>
+ <xs:element ref="ooexception"/>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="classsynopsisinfo"/>
+ <xs:element ref="fieldsynopsis"/>
+ <xs:element ref="method.synop.class"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="classsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of classsynopsis.element -->
+ <xs:attributeGroup name="classsynopsis.attlist">
+ <xs:attribute name="language"/>
+ <xs:attribute name="class" default="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="class"/>
+ <xs:enumeration value="interface"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="classsynopsis.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of classsynopsis.attlist -->
+ <!-- end of classsynopsis.module -->
+ <xs:attributeGroup name="classsynopsisinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Information supplementing the contents of a ClassSynopsis. -->
+ <xs:element name="classsynopsisinfo">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="cptr.char.mix"/>
+ <xs:element ref="textobject"/>
+ <xs:element ref="lineannotation"/>
+ </xs:choice>
+ <xs:attributeGroup ref="classsynopsisinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of classsynopsisinfo.element -->
+ <xs:attributeGroup name="classsynopsisinfo.attlist">
+ <xs:attributeGroup ref="linespecific.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="classsynopsisinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of classsynopsisinfo.attlist -->
+ <!-- end of classsynopsisinfo.module -->
+ <xs:attributeGroup name="ooclass.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A class in an object-oriented programming language. -->
+ <xs:element name="ooclass" substitutionGroup="tech.char.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="modifier"/>
+ <xs:element ref="package"/>
+ </xs:choice>
+ <xs:element ref="classname"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="ooclass.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of ooclass.element -->
+ <xs:attributeGroup name="ooclass.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="ooclass.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of ooclass.attlist -->
+ <!-- end of ooclass.module -->
+ <xs:attributeGroup name="oointerface.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An interface in an object-oriented programming language. -->
+ <xs:element name="oointerface" substitutionGroup="tech.char.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="modifier"/>
+ <xs:element ref="package"/>
+ </xs:choice>
+ <xs:element ref="interfacename"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="oointerface.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of oointerface.element -->
+ <xs:attributeGroup name="oointerface.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="oointerface.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of oointerface.attlist -->
+ <!-- end of oointerface.module -->
+ <xs:attributeGroup name="ooexception.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An exception in an object-oriented programming language. -->
+ <xs:element name="ooexception" substitutionGroup="tech.char.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="modifier"/>
+ <xs:element ref="package"/>
+ </xs:choice>
+ <xs:element ref="exceptionname"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="ooexception.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of ooexception.element -->
+ <xs:attributeGroup name="ooexception.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="ooexception.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of ooexception.attlist -->
+ <!-- end of ooexception.module -->
+ <xs:attributeGroup name="modifier.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Modifiers in a synopsis. -->
+ <xs:element name="modifier">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="modifier.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of modifier.element -->
+ <xs:attributeGroup name="modifier.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="modifier.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of modifier.attlist -->
+ <!-- end of modifier.module -->
+ <xs:attributeGroup name="interfacename.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of an interface. -->
+ <xs:element name="interfacename" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="interfacename.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of interfacename.element -->
+ <xs:attributeGroup name="interfacename.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="interfacename.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of interfacename.attlist -->
+ <!-- end of interfacename.module -->
+ <xs:attributeGroup name="exceptionname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of an exception. -->
+ <xs:element name="exceptionname" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="exceptionname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of exceptionname.element -->
+ <xs:attributeGroup name="exceptionname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="exceptionname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of exceptionname.attlist -->
+ <!-- end of exceptionname.module -->
+ <xs:attributeGroup name="fieldsynopsis.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a field in a class definition. -->
+ <xs:element name="fieldsynopsis" substitutionGroup="synop.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
+ <xs:element minOccurs="0" ref="type"/>
+ <xs:element ref="varname"/>
+ <xs:element minOccurs="0" ref="initializer"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="fieldsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of fieldsynopsis.element -->
+ <xs:attributeGroup name="fieldsynopsis.attlist">
+ <xs:attribute name="language"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="fieldsynopsis.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of fieldsynopsis.attlist -->
+ <!-- end of fieldsynopsis.module -->
+ <xs:attributeGroup name="initializer.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The initializer for a FieldSynopsis. -->
+ <xs:element name="initializer">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="initializer.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of initializer.element -->
+ <xs:attributeGroup name="initializer.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="initializer.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of initializer.attlist -->
+ <!-- end of initializer.module -->
+ <xs:attributeGroup name="constructorsynopsis.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A syntax summary for a constructor. -->
+ <xs:element name="constructorsynopsis" substitutionGroup="method.synop.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
+ <xs:element minOccurs="0" ref="methodname"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="methodparam"/>
+ <xs:element minOccurs="0" ref="void"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="exceptionname"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="constructorsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of constructorsynopsis.element -->
+ <xs:attributeGroup name="constructorsynopsis.attlist">
+ <xs:attribute name="language"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="constructorsynopsis.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of constructorsynopsis.attlist -->
+ <!-- end of constructorsynopsis.module -->
+ <xs:attributeGroup name="destructorsynopsis.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A syntax summary for a destructor. -->
+ <xs:element name="destructorsynopsis" substitutionGroup="method.synop.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
+ <xs:element minOccurs="0" ref="methodname"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="methodparam"/>
+ <xs:element minOccurs="0" ref="void"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="exceptionname"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="destructorsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of destructorsynopsis.element -->
+ <xs:attributeGroup name="destructorsynopsis.attlist">
+ <xs:attribute name="language"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="destructorsynopsis.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of destructorsynopsis.attlist -->
+ <!-- end of destructorsynopsis.module -->
+ <xs:attributeGroup name="methodsynopsis.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A syntax summary for a method. -->
+ <xs:element name="methodsynopsis" substitutionGroup="method.synop.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
+ <xs:choice minOccurs="0">
+ <xs:element ref="type"/>
+ <xs:element ref="void"/>
+ </xs:choice>
+ <xs:element ref="methodname"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="methodparam"/>
+ <xs:element minOccurs="0" ref="void"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="exceptionname"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="methodsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of methodsynopsis.element -->
+ <xs:attributeGroup name="methodsynopsis.attlist">
+ <xs:attribute name="language"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="methodsynopsis.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of methodsynopsis.attlist -->
+ <!-- end of methodsynopsis.module -->
+ <xs:attributeGroup name="methodname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a method. -->
+ <xs:element name="methodname" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="methodname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of methodname.element -->
+ <xs:attributeGroup name="methodname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="methodname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of methodname.attlist -->
+ <!-- end of methodname.module -->
+ <xs:attributeGroup name="methodparam.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Parameters to a method. -->
+ <xs:element name="methodparam">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
+ <xs:element minOccurs="0" ref="type"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element ref="parameter"/>
+ <xs:element minOccurs="0" ref="initializer"/>
+ </xs:sequence>
+ <xs:element ref="funcparams"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="methodparam.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of methodparam.element -->
+ <xs:attributeGroup name="methodparam.attlist">
+ <xs:attribute name="choice" default="req">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="opt"/>
+ <xs:enumeration value="req"/>
+ <xs:enumeration value="plain"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rep" default="norepeat">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="norepeat"/>
+ <xs:enumeration value="repeat"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="methodparam.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of methodparam.attlist -->
+ <!-- end of methodparam.module -->
+ <!-- end of classsynopsis.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Document information entities and elements ........................... -->
+ <!--
+ The document information elements include some elements that are
+ currently used only in the document hierarchy module. They are
+ defined here so that they will be available for use in customized
+ document hierarchies.
+ -->
+ <!-- .................................. -->
+ <!-- Ackno ............................ -->
+ <xs:attributeGroup name="ackno.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Acknowledgements in an Article. -->
+ <xs:element name="ackno">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="ackno.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of ackno.element -->
+ <xs:attributeGroup name="ackno.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="ackno.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of ackno.attlist -->
+ <!-- end of ackno.module -->
+ <!-- Address .......................... -->
+ <xs:attributeGroup name="address.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A real-world address, generally a postal address. -->
+ <xs:element name="address" substitutionGroup="informal.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="personname"/>
+ <xs:group ref="person.ident.mix"/>
+ <xs:element ref="street"/>
+ <xs:element ref="pob"/>
+ <xs:element ref="postcode"/>
+ <xs:element ref="city"/>
+ <xs:element ref="state"/>
+ <xs:element ref="country"/>
+ <xs:element ref="phone"/>
+ <xs:element ref="fax"/>
+ <xs:element ref="email"/>
+ <xs:element ref="otheraddr"/>
+ </xs:choice>
+ <xs:attributeGroup ref="address.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of address.element -->
+ <xs:attributeGroup name="address.attlist">
+ <xs:attributeGroup ref="linespecific.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="address.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of address.attlist -->
+ <!-- end of address.module -->
+ <xs:attributeGroup name="street.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A street address in an address. -->
+ <xs:element name="street">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="street.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of street.element -->
+ <xs:attributeGroup name="street.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="street.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of street.attlist -->
+ <!-- end of street.module -->
+ <xs:attributeGroup name="pob.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A post office box in an address. -->
+ <xs:element name="pob">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="pob.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of pob.element -->
+ <xs:attributeGroup name="pob.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="pob.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of pob.attlist -->
+ <!-- end of pob.module -->
+ <xs:attributeGroup name="postcode.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A postal code in an address. -->
+ <xs:element name="postcode">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="postcode.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of postcode.element -->
+ <xs:attributeGroup name="postcode.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="postcode.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of postcode.attlist -->
+ <!-- end of postcode.module -->
+ <xs:attributeGroup name="city.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a city in an address. -->
+ <xs:element name="city">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="city.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of city.element -->
+ <xs:attributeGroup name="city.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="city.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of city.attlist -->
+ <!-- end of city.module -->
+ <xs:attributeGroup name="state.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A state or province in an address. -->
+ <xs:element name="state">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="state.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of state.element -->
+ <xs:attributeGroup name="state.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="state.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of state.attlist -->
+ <!-- end of state.module -->
+ <xs:attributeGroup name="country.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a country. -->
+ <xs:element name="country">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="country.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of country.element -->
+ <xs:attributeGroup name="country.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="country.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of country.attlist -->
+ <!-- end of country.module -->
+ <xs:attributeGroup name="phone.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A telephone number. -->
+ <xs:element name="phone">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="phone.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of phone.element -->
+ <xs:attributeGroup name="phone.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="phone.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of phone.attlist -->
+ <!-- end of phone.module -->
+ <xs:attributeGroup name="fax.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A fax number. -->
+ <xs:element name="fax">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="fax.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of fax.element -->
+ <xs:attributeGroup name="fax.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="fax.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of fax.attlist -->
+ <!-- end of fax.module -->
+ <!-- Email (defined in the Inlines section, below) -->
+ <xs:attributeGroup name="otheraddr.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Uncategorized information in address. -->
+ <xs:element name="otheraddr">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="otheraddr.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of otheraddr.element -->
+ <xs:attributeGroup name="otheraddr.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="otheraddr.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of otheraddr.attlist -->
+ <!-- end of otheraddr.module -->
+ <!-- end of address.content.module -->
+ <!-- Affiliation ...................... -->
+ <xs:attributeGroup name="affiliation.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The institutional affiliation of an individual. -->
+ <xs:element name="affiliation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="shortaffil"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="jobtitle"/>
+ <xs:element minOccurs="0" ref="orgname"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="orgdiv"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="address"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="affiliation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of affiliation.element -->
+ <xs:attributeGroup name="affiliation.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="affiliation.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of affiliation.attlist -->
+ <!-- end of affiliation.module -->
+ <xs:attributeGroup name="shortaffil.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A brief description of an affiliation. -->
+ <xs:element name="shortaffil">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="shortaffil.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of shortaffil.element -->
+ <xs:attributeGroup name="shortaffil.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="shortaffil.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of shortaffil.attlist -->
+ <!-- end of shortaffil.module -->
+ <xs:attributeGroup name="jobtitle.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The title of an individual in an organization. -->
+ <xs:element name="jobtitle">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="jobtitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of jobtitle.element -->
+ <xs:attributeGroup name="jobtitle.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="jobtitle.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of jobtitle.attlist -->
+ <!-- end of jobtitle.module -->
+ <!-- OrgName (defined elsewhere in this section) -->
+ <xs:attributeGroup name="orgdiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A division of an organization. -->
+ <xs:element name="orgdiv">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="orgdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of orgdiv.element -->
+ <xs:attributeGroup name="orgdiv.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="orgdiv.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of orgdiv.attlist -->
+ <!-- end of orgdiv.module -->
+ <!-- Address (defined elsewhere in this section) -->
+ <!-- end of affiliation.content.module -->
+ <!-- ArtPageNums ...................... -->
+ <xs:attributeGroup name="artpagenums.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The page numbers of an article as published. -->
+ <xs:element name="artpagenums">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="artpagenums.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of artpagenums.element -->
+ <xs:attributeGroup name="artpagenums.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="artpagenums.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of artpagenums.attlist -->
+ <!-- end of artpagenums.module -->
+ <!-- PersonName -->
+ <xs:attributeGroup name="personname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The personal name of an individual. -->
+ <xs:element name="personname" substitutionGroup="gen.char.class">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="honorific"/>
+ <xs:element ref="firstname"/>
+ <xs:element ref="surname"/>
+ <xs:element ref="lineage"/>
+ <xs:element ref="othername"/>
+ </xs:choice>
+ <xs:attributeGroup ref="personname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of personname.element -->
+ <xs:attributeGroup name="personname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="personname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of personname.attlist -->
+ <!-- end of personname.module -->
+ <!-- Author ........................... -->
+ <xs:attributeGroup name="author.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of an individual author. -->
+ <xs:element name="author" substitutionGroup="docinfo.char.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="personname"/>
+ <xs:group maxOccurs="unbounded" ref="person.ident.mix"/>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="personblurb"/>
+ <xs:element ref="email"/>
+ <xs:element ref="address"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="author.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of author.element -->
+ <xs:attributeGroup name="author.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="author.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of author.attlist -->
+ <!-- (see "Personal identity elements" for %person.ident.mix;) -->
+ <!-- end of author.module -->
+ <!-- AuthorGroup ...................... -->
+ <xs:attributeGroup name="authorgroup.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Wrapper for author information when a document has multiple authors or collabarators. -->
+ <xs:element name="authorgroup">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="author"/>
+ <xs:element ref="editor"/>
+ <xs:element ref="collab"/>
+ <xs:element ref="corpauthor"/>
+ <xs:element ref="corpcredit"/>
+ <xs:element ref="othercredit"/>
+ </xs:choice>
+ <xs:attributeGroup ref="authorgroup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of authorgroup.element -->
+ <xs:attributeGroup name="authorgroup.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="authorgroup.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of authorgroup.attlist -->
+ <!-- end of authorgroup.module -->
+ <!-- Author (defined elsewhere in this section) -->
+ <!-- Editor (defined elsewhere in this section) -->
+ <xs:attributeGroup name="collab.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Identifies a collaborator. -->
+ <xs:element name="collab">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="collabname"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="affiliation"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="collab.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of collab.element -->
+ <xs:attributeGroup name="collab.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="collab.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of collab.attlist -->
+ <!-- end of collab.module -->
+ <xs:attributeGroup name="collabname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a collaborator. -->
+ <xs:element name="collabname">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="collabname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of collabname.element -->
+ <xs:attributeGroup name="collabname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="collabname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of collabname.attlist -->
+ <!-- end of collabname.module -->
+ <!-- Affiliation (defined elsewhere in this section) -->
+ <!-- end of collab.content.module -->
+ <!-- CorpAuthor (defined elsewhere in this section) -->
+ <!-- OtherCredit (defined elsewhere in this section) -->
+ <!-- end of authorgroup.content.module -->
+ <!-- AuthorInitials ................... -->
+ <xs:attributeGroup name="authorinitials.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The initials or other short identifier for an author. -->
+ <xs:element name="authorinitials" substitutionGroup="docinfo.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="authorinitials.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of authorinitials.element -->
+ <xs:attributeGroup name="authorinitials.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="authorinitials.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of authorinitials.attlist -->
+ <!-- end of authorinitials.module -->
+ <!-- ConfGroup ........................ -->
+ <xs:attributeGroup name="confgroup.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for document meta-information about a conference. -->
+ <xs:element name="confgroup">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="confdates"/>
+ <xs:element ref="conftitle"/>
+ <xs:element ref="confnum"/>
+ <xs:element ref="address"/>
+ <xs:element ref="confsponsor"/>
+ </xs:choice>
+ <xs:attributeGroup ref="confgroup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of confgroup.element -->
+ <xs:attributeGroup name="confgroup.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="confgroup.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of confgroup.attlist -->
+ <!-- end of confgroup.module -->
+ <xs:attributeGroup name="confdates.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The dates of a conference for which a document was written. -->
+ <xs:element name="confdates">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="confdates.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of confdates.element -->
+ <xs:attributeGroup name="confdates.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="confdates.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of confdates.attlist -->
+ <!-- end of confdates.module -->
+ <xs:attributeGroup name="conftitle.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The title of a conference for which a document was written. -->
+ <xs:element name="conftitle">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="conftitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of conftitle.element -->
+ <xs:attributeGroup name="conftitle.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="conftitle.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of conftitle.attlist -->
+ <!-- end of conftitle.module -->
+ <xs:attributeGroup name="confnum.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An identifier, frequently numerical, associated with a conference for which a document was written. -->
+ <xs:element name="confnum">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="confnum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of confnum.element -->
+ <xs:attributeGroup name="confnum.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="confnum.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of confnum.attlist -->
+ <!-- end of confnum.module -->
+ <!-- Address (defined elsewhere in this section) -->
+ <xs:attributeGroup name="confsponsor.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The sponsor of a conference for which a document was written. -->
+ <xs:element name="confsponsor">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="confsponsor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of confsponsor.element -->
+ <xs:attributeGroup name="confsponsor.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="confsponsor.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of confsponsor.attlist -->
+ <!-- end of confsponsor.module -->
+ <!-- end of confgroup.content.module -->
+ <!-- ContractNum ...................... -->
+ <xs:attributeGroup name="contractnum.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The contract number of a document. -->
+ <xs:element name="contractnum">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="contractnum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of contractnum.element -->
+ <xs:attributeGroup name="contractnum.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="contractnum.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of contractnum.attlist -->
+ <!-- end of contractnum.module -->
+ <!-- ContractSponsor .................. -->
+ <xs:attributeGroup name="contractsponsor.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The sponsor of a contract. -->
+ <xs:element name="contractsponsor">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="contractsponsor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of contractsponsor.element -->
+ <xs:attributeGroup name="contractsponsor.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="contractsponsor.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of contractsponsor.attlist -->
+ <!-- end of contractsponsor.module -->
+ <!-- Copyright ........................ -->
+ <xs:attributeGroup name="copyright.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Copyright information about a document. -->
+ <xs:element name="copyright">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="year"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="holder"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="copyright.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of copyright.element -->
+ <xs:attributeGroup name="copyright.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="copyright.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of copyright.attlist -->
+ <!-- end of copyright.module -->
+ <xs:attributeGroup name="year.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The year of publication of a document. -->
+ <xs:element name="year">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="year.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of year.element -->
+ <xs:attributeGroup name="year.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="year.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of year.attlist -->
+ <!-- end of year.module -->
+ <xs:attributeGroup name="holder.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of the individual or organization that holds a copyright. -->
+ <xs:element name="holder">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="holder.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of holder.element -->
+ <xs:attributeGroup name="holder.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="holder.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of holder.attlist -->
+ <!-- end of holder.module -->
+ <!-- end of copyright.content.module -->
+ <!-- CorpAuthor ....................... -->
+ <xs:attributeGroup name="corpauthor.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A corporate author, as opposed to an individual. -->
+ <xs:element name="corpauthor" substitutionGroup="docinfo.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="corpauthor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of corpauthor.element -->
+ <xs:attributeGroup name="corpauthor.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="corpauthor.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of corpauthor.attlist -->
+ <!-- end of corpauthor.module -->
+ <!-- CorpCredit ...................... -->
+ <xs:attributeGroup name="corpcredit.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A corporation or organization credited in a document. -->
+ <xs:element name="corpcredit" substitutionGroup="docinfo.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="corpcredit.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of corpcredit.element -->
+ <xs:attributeGroup name="corpcredit.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="graphicdesigner"/>
+ <xs:enumeration value="productioneditor"/>
+ <xs:enumeration value="copyeditor"/>
+ <xs:enumeration value="technicaleditor"/>
+ <xs:enumeration value="translator"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="corpcredit.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of corpcredit.attlist -->
+ <!-- end of corpcredit.module -->
+ <!-- CorpName ......................... -->
+ <!-- doc:The name of a corporation. -->
+ <xs:element name="corpname">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="corpname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of corpname.element -->
+ <xs:attributeGroup name="corpname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="corpname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="corpname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of corpname.attlist -->
+ <!-- end of corpname.module -->
+ <!-- Date ............................. -->
+ <xs:attributeGroup name="date.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The date of publication or revision of a document. -->
+ <xs:element name="date">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="date.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of date.element -->
+ <xs:attributeGroup name="date.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="date.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of date.attlist -->
+ <!-- end of date.module -->
+ <!-- Edition .......................... -->
+ <xs:attributeGroup name="edition.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name or number of an edition of a document. -->
+ <xs:element name="edition">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="edition.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of edition.element -->
+ <xs:attributeGroup name="edition.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="edition.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of edition.attlist -->
+ <!-- end of edition.module -->
+ <!-- Editor ........................... -->
+ <xs:attributeGroup name="editor.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of the editor of a document. -->
+ <xs:element name="editor">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="personname"/>
+ <xs:group maxOccurs="unbounded" ref="person.ident.mix"/>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="personblurb"/>
+ <xs:element ref="email"/>
+ <xs:element ref="address"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="editor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of editor.element -->
+ <xs:attributeGroup name="editor.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="editor.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of editor.attlist -->
+ <!-- (see "Personal identity elements" for %person.ident.mix;) -->
+ <!-- end of editor.module -->
+ <!-- ISBN ............................. -->
+ <xs:attributeGroup name="isbn.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The International Standard Book Number of a document. -->
+ <xs:element name="isbn">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="isbn.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of isbn.element -->
+ <xs:attributeGroup name="isbn.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="isbn.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of isbn.attlist -->
+ <!-- end of isbn.module -->
+ <!-- ISSN ............................. -->
+ <xs:attributeGroup name="issn.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The International Standard Serial Number of a periodical. -->
+ <xs:element name="issn">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="issn.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of issn.element -->
+ <xs:attributeGroup name="issn.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="issn.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of issn.attlist -->
+ <!-- end of issn.module -->
+ <!-- BiblioId ................. -->
+ <xs:attributeGroup name="biblio.class.attrib">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="uri"/>
+ <xs:enumeration value="doi"/>
+ <xs:enumeration value="isbn"/>
+ <xs:enumeration value="isrn"/>
+ <xs:enumeration value="issn"/>
+ <xs:enumeration value="libraryofcongress"/>
+ <xs:enumeration value="pubnumber"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherclass"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="biblioid.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An identifier for a document. -->
+ <xs:element name="biblioid">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="biblioid.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of biblioid.element -->
+ <xs:attributeGroup name="biblioid.attlist">
+ <xs:attributeGroup ref="biblio.class.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="biblioid.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of biblioid.attlist -->
+ <!-- end of biblioid.module -->
+ <!-- CiteBiblioId ................. -->
+ <xs:attributeGroup name="citebiblioid.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A citation of a bibliographic identifier. -->
+ <xs:element name="citebiblioid" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="citebiblioid.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of citebiblioid.element -->
+ <xs:attributeGroup name="citebiblioid.attlist">
+ <xs:attributeGroup ref="biblio.class.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="citebiblioid.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of citebiblioid.attlist -->
+ <!-- end of citebiblioid.module -->
+ <!-- BiblioSource ................. -->
+ <xs:attributeGroup name="bibliosource.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The source of a document. -->
+ <xs:element name="bibliosource">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="bibliosource.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliosource.element -->
+ <xs:attributeGroup name="bibliosource.attlist">
+ <xs:attributeGroup ref="biblio.class.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliosource.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliosource.attlist -->
+ <!-- end of bibliosource.module -->
+ <!-- BiblioRelation ................. -->
+ <xs:attributeGroup name="bibliorelation.type.attrib">
+ <xs:attribute name="type">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="isversionof"/>
+ <xs:enumeration value="hasversion"/>
+ <xs:enumeration value="isreplacedby"/>
+ <xs:enumeration value="replaces"/>
+ <xs:enumeration value="isrequiredby"/>
+ <xs:enumeration value="requires"/>
+ <xs:enumeration value="ispartof"/>
+ <xs:enumeration value="haspart"/>
+ <xs:enumeration value="isreferencedby"/>
+ <xs:enumeration value="references"/>
+ <xs:enumeration value="isformatof"/>
+ <xs:enumeration value="hasformat"/>
+ <xs:enumeration value="othertype"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="othertype"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="bibliorelation.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The relationship of a document to another. -->
+ <xs:element name="bibliorelation">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="bibliorelation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliorelation.element -->
+ <xs:attributeGroup name="bibliorelation.attlist">
+ <xs:attributeGroup ref="biblio.class.attrib"/>
+ <xs:attributeGroup ref="bibliorelation.type.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliorelation.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliorelation.attlist -->
+ <!-- end of bibliorelation.module -->
+ <!-- BiblioCoverage ................. -->
+ <xs:attributeGroup name="bibliocoverage.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The spatial or temporal coverage of a document. -->
+ <xs:element name="bibliocoverage">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="bibliocoverage.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of bibliocoverage.element -->
+ <xs:attributeGroup name="bibliocoverage.attlist">
+ <xs:attribute name="spatial">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="dcmipoint"/>
+ <xs:enumeration value="iso3166"/>
+ <xs:enumeration value="dcmibox"/>
+ <xs:enumeration value="tgn"/>
+ <xs:enumeration value="otherspatial"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherspatial"/>
+ <xs:attribute name="temporal">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="dcmiperiod"/>
+ <xs:enumeration value="w3c-dtf"/>
+ <xs:enumeration value="othertemporal"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="othertemporal"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliocoverage.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of bibliocoverage.attlist -->
+ <!-- end of bibliocoverage.module -->
+ <!-- InvPartNumber .................... -->
+ <xs:attributeGroup name="invpartnumber.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An inventory part number. -->
+ <xs:element name="invpartnumber">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="invpartnumber.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of invpartnumber.element -->
+ <xs:attributeGroup name="invpartnumber.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="invpartnumber.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of invpartnumber.attlist -->
+ <!-- end of invpartnumber.module -->
+ <!-- IssueNum ......................... -->
+ <xs:attributeGroup name="issuenum.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The number of an issue of a journal. -->
+ <xs:element name="issuenum">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="issuenum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of issuenum.element -->
+ <xs:attributeGroup name="issuenum.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="issuenum.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of issuenum.attlist -->
+ <!-- end of issuenum.module -->
+ <!-- LegalNotice ...................... -->
+ <xs:attributeGroup name="legalnotice.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A statement of legal obligations or requirements. -->
+ <xs:element name="legalnotice">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:element minOccurs="0" ref="title"/>
+ <xs:group maxOccurs="unbounded" ref="legalnotice.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="legalnotice.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of legalnotice.element -->
+ <xs:attributeGroup name="legalnotice.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="legalnotice.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of legalnotice.attlist -->
+ <!-- end of legalnotice.module -->
+ <!-- ModeSpec ......................... -->
+ <xs:attributeGroup name="modespec.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Application-specific information necessary for the completion of an OLink. -->
+ <xs:element name="modespec" substitutionGroup="docinfo.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="modespec.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of modespec.element -->
+ <!--
+ Application: Type of action required for completion
+ of the links to which the ModeSpec is relevant (e.g.,
+ retrieval query)
+ -->
+ <xs:attributeGroup name="modespec.attlist">
+ <xs:attribute name="application" type="notation.class"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="modespec.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of modespec.attlist -->
+ <!-- end of modespec.module -->
+ <!-- OrgName .......................... -->
+ <xs:attributeGroup name="orgname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of an organization other than a corporation. -->
+ <xs:element name="orgname" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="orgname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of orgname.element -->
+ <xs:attributeGroup name="orgname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="corporation"/>
+ <xs:enumeration value="nonprofit"/>
+ <xs:enumeration value="consortium"/>
+ <xs:enumeration value="informal"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherclass"/>
+ <xs:attributeGroup ref="orgname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of orgname.attlist -->
+ <!-- end of orgname.module -->
+ <!-- OtherCredit ...................... -->
+ <xs:attributeGroup name="othercredit.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A person or entity, other than an author or editor, credited in a document. -->
+ <xs:element name="othercredit" substitutionGroup="docinfo.char.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="personname"/>
+ <xs:group maxOccurs="unbounded" ref="person.ident.mix"/>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="personblurb"/>
+ <xs:element ref="email"/>
+ <xs:element ref="address"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="othercredit.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of othercredit.element -->
+ <xs:attributeGroup name="othercredit.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="graphicdesigner"/>
+ <xs:enumeration value="productioneditor"/>
+ <xs:enumeration value="copyeditor"/>
+ <xs:enumeration value="technicaleditor"/>
+ <xs:enumeration value="translator"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="othercredit.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of othercredit.attlist -->
+ <!-- (see "Personal identity elements" for %person.ident.mix;) -->
+ <!-- end of othercredit.module -->
+ <!-- PageNums ......................... -->
+ <xs:attributeGroup name="pagenums.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The numbers of the pages in a book, for use in a bibliographic entry. -->
+ <xs:element name="pagenums">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="pagenums.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of pagenums.element -->
+ <xs:attributeGroup name="pagenums.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="pagenums.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of pagenums.attlist -->
+ <!-- end of pagenums.module -->
+ <!-- Personal identity elements ....... -->
+ <!--
+ These elements are used only within Author, Editor, and
+ OtherCredit.
+ -->
+ <xs:attributeGroup name="contrib.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A summary of the contributions made to a document by a credited source. -->
+ <xs:element name="contrib">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="contrib.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of contrib.element -->
+ <xs:attributeGroup name="contrib.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="contrib.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of contrib.attlist -->
+ <!-- end of contrib.module -->
+ <xs:attributeGroup name="firstname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The first name of a person. -->
+ <xs:element name="firstname">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="firstname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of firstname.element -->
+ <xs:attributeGroup name="firstname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="firstname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of firstname.attlist -->
+ <!-- end of firstname.module -->
+ <xs:attributeGroup name="honorific.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The title of a person. -->
+ <xs:element name="honorific">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="honorific.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of honorific.element -->
+ <xs:attributeGroup name="honorific.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="honorific.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of honorific.attlist -->
+ <!-- end of honorific.module -->
+ <xs:attributeGroup name="lineage.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The portion of a person's name indicating a relationship to ancestors. -->
+ <xs:element name="lineage">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="lineage.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of lineage.element -->
+ <xs:attributeGroup name="lineage.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="lineage.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of lineage.attlist -->
+ <!-- end of lineage.module -->
+ <xs:attributeGroup name="othername.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A component of a persons name that is not a first name, surname, or lineage. -->
+ <xs:element name="othername">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="othername.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of othername.element -->
+ <xs:attributeGroup name="othername.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="othername.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of othername.attlist -->
+ <!-- end of othername.module -->
+ <xs:attributeGroup name="surname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A family name; in western cultures the last name. -->
+ <xs:element name="surname">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="surname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of surname.element -->
+ <xs:attributeGroup name="surname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="surname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of surname.attlist -->
+ <!-- end of surname.module -->
+ <!-- end of person.ident.module -->
+ <!-- PrintHistory ..................... -->
+ <xs:attributeGroup name="printhistory.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The printing history of a document. -->
+ <xs:element name="printhistory">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="para.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="printhistory.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of printhistory.element -->
+ <xs:attributeGroup name="printhistory.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="printhistory.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of printhistory.attlist -->
+ <!-- end of printhistory.module -->
+ <!-- ProductName ...................... -->
+ <xs:attributeGroup name="productname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The formal name of a product. -->
+ <xs:element name="productname" substitutionGroup="docinfo.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="productname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of productname.element -->
+ <!-- Class: More precisely identifies the item the element names -->
+ <xs:attributeGroup name="productname.attlist">
+ <xs:attribute name="class" default="trade">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="service"/>
+ <xs:enumeration value="trade"/>
+ <xs:enumeration value="registered"/>
+ <xs:enumeration value="copyright"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="productname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of productname.attlist -->
+ <!-- end of productname.module -->
+ <!-- ProductNumber .................... -->
+ <xs:attributeGroup name="productnumber.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A number assigned to a product. -->
+ <xs:element name="productnumber" substitutionGroup="docinfo.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="productnumber.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of productnumber.element -->
+ <xs:attributeGroup name="productnumber.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="productnumber.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of productnumber.attlist -->
+ <!-- end of productnumber.module -->
+ <!-- PubDate .......................... -->
+ <xs:attributeGroup name="pubdate.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The date of publication of a document. -->
+ <xs:element name="pubdate">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="pubdate.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of pubdate.element -->
+ <xs:attributeGroup name="pubdate.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="pubdate.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of pubdate.attlist -->
+ <!-- end of pubdate.module -->
+ <!-- Publisher ........................ -->
+ <xs:attributeGroup name="publisher.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The publisher of a document. -->
+ <xs:element name="publisher">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="publishername"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="address"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="publisher.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of publisher.element -->
+ <xs:attributeGroup name="publisher.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="publisher.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of publisher.attlist -->
+ <!-- end of publisher.module -->
+ <xs:attributeGroup name="publishername.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of the publisher of a document. -->
+ <xs:element name="publishername">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="publishername.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of publishername.element -->
+ <xs:attributeGroup name="publishername.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="publishername.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of publishername.attlist -->
+ <!-- end of publishername.module -->
+ <!-- Address (defined elsewhere in this section) -->
+ <!-- end of publisher.content.module -->
+ <!-- PubsNumber ....................... -->
+ <xs:attributeGroup name="pubsnumber.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A number assigned to a publication other than an ISBN or ISSN or inventory part number. -->
+ <xs:element name="pubsnumber">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="pubsnumber.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of pubsnumber.element -->
+ <xs:attributeGroup name="pubsnumber.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="pubsnumber.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of pubsnumber.attlist -->
+ <!-- end of pubsnumber.module -->
+ <!-- ReleaseInfo ...................... -->
+ <xs:attributeGroup name="releaseinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Information about a particular release of a document. -->
+ <xs:element name="releaseinfo">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="releaseinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of releaseinfo.element -->
+ <xs:attributeGroup name="releaseinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="releaseinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of releaseinfo.attlist -->
+ <!-- end of releaseinfo.module -->
+ <!-- RevHistory ....................... -->
+ <xs:attributeGroup name="revhistory.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A history of the revisions to a document. -->
+ <xs:element name="revhistory" substitutionGroup="docinfo.char.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="revision"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="revhistory.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of revhistory.element -->
+ <xs:attributeGroup name="revhistory.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="revhistory.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of revhistory.attlist -->
+ <!-- end of revhistory.module -->
+ <xs:attributeGroup name="revision.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An entry describing a single revision in the history of the revisions to a document. -->
+ <xs:element name="revision">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="revnumber"/>
+ <xs:element ref="date"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="author"/>
+ <xs:element ref="authorinitials"/>
+ </xs:choice>
+ <xs:choice minOccurs="0">
+ <xs:element ref="revremark"/>
+ <xs:element ref="revdescription"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="revision.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of revision.element -->
+ <xs:attributeGroup name="revision.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="revision.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of revision.attlist -->
+ <!-- end of revision.module -->
+ <xs:attributeGroup name="revnumber.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A document revision number. -->
+ <xs:element name="revnumber">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="revnumber.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of revnumber.element -->
+ <xs:attributeGroup name="revnumber.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="revnumber.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of revnumber.attlist -->
+ <!-- end of revnumber.module -->
+ <!-- Date (defined elsewhere in this section) -->
+ <!-- AuthorInitials (defined elsewhere in this section) -->
+ <xs:attributeGroup name="revremark.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A description of a revision to a document. -->
+ <xs:element name="revremark">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="revremark.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of revremark.element -->
+ <xs:attributeGroup name="revremark.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="revremark.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of revremark.attlist -->
+ <!-- end of revremark.module -->
+ <xs:attributeGroup name="revdescription.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A extended description of a revision to a document. -->
+ <xs:element name="revdescription">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="revdescription.mix"/>
+ <xs:attributeGroup ref="revdescription.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of revdescription.element -->
+ <xs:attributeGroup name="revdescription.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="revdescription.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of revdescription.attlist -->
+ <!-- end of revdescription.module -->
+ <!-- end of revhistory.content.module -->
+ <!-- SeriesVolNums .................... -->
+ <xs:attributeGroup name="seriesvolnums.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Numbers of the volumes in a series of books. -->
+ <xs:element name="seriesvolnums">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="seriesvolnums.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of seriesvolnums.element -->
+ <xs:attributeGroup name="seriesvolnums.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="seriesvolnums.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of seriesvolnums.attlist -->
+ <!-- end of seriesvolnums.module -->
+ <!-- VolumeNum ........................ -->
+ <xs:attributeGroup name="volumenum.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The volume number of a document in a set (as of books in a set or articles in a journal). -->
+ <xs:element name="volumenum">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="volumenum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of volumenum.element -->
+ <xs:attributeGroup name="volumenum.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="volumenum.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of volumenum.attlist -->
+ <!-- end of volumenum.module -->
+ <!-- .................................. -->
+ <!-- end of docinfo.content.module -->
+ <!-- ...................................................................... -->
+ <!-- Inline, link, and ubiquitous elements ................................ -->
+ <!-- Technical and computer terms ......................................... -->
+ <xs:attributeGroup name="accel.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A graphical user interface (GUI) keyboard shortcut. -->
+ <xs:element name="accel">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="accel.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of accel.element -->
+ <xs:attributeGroup name="accel.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="accel.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of accel.attlist -->
+ <!-- end of accel.module -->
+ <xs:attributeGroup name="action.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A response to a user event. -->
+ <xs:element name="action" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="action.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of action.element -->
+ <xs:attributeGroup name="action.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="action.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of action.attlist -->
+ <!-- end of action.module -->
+ <xs:attributeGroup name="application.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a software program. -->
+ <xs:element name="application" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="application.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of application.element -->
+ <xs:attributeGroup name="application.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="hardware"/>
+ <xs:enumeration value="software"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="application.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of application.attlist -->
+ <!-- end of application.module -->
+ <xs:attributeGroup name="classname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a class, in the object-oriented programming sense. -->
+ <xs:element name="classname" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="classname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of classname.element -->
+ <xs:attributeGroup name="classname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="classname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of classname.attlist -->
+ <!-- end of classname.module -->
+ <xs:attributeGroup name="package.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A package. -->
+ <xs:element name="package" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="package.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of package.element -->
+ <xs:attributeGroup name="package.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="package.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of package.attlist -->
+ <!-- end of package.module -->
+ <!--
+ CO is a callout area of the LineColumn unit type (a single character
+ position); the position is directly indicated by the location of CO.
+ -->
+ <xs:attributeGroup name="co.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The location of a callout embedded in text. -->
+ <xs:element name="co">
+ <xs:complexType>
+ <xs:attributeGroup ref="co.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of co.element -->
+ <!-- bug number/symbol override or initialization -->
+ <!-- to any related information -->
+ <xs:attributeGroup name="co.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attributeGroup ref="idreq.common.attrib"/>
+ <xs:attributeGroup ref="co.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of co.attlist -->
+ <!-- end of co.module -->
+ <!-- COREF is a reference to a CO -->
+ <xs:attributeGroup name="coref.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A cross reference to a co. -->
+ <xs:element name="coref">
+ <xs:complexType>
+ <xs:attributeGroup ref="coref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of coref.element -->
+ <!-- bug number/symbol override or initialization -->
+ <!-- to any related information -->
+ <xs:attributeGroup name="coref.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="linkendreq.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="coref.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of coref.attlist -->
+ <!-- end of coref.module -->
+ <xs:attributeGroup name="command.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of an executable program or other software command. -->
+ <xs:element name="command" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="command.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of command.element -->
+ <xs:attributeGroup name="command.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="command.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of command.attlist -->
+ <!-- end of command.module -->
+ <xs:attributeGroup name="computeroutput.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Data, generally text, displayed or presented by a computer. -->
+ <xs:element name="computeroutput" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="cptr.char.mix"/>
+ <xs:element ref="co"/>
+ </xs:choice>
+ <xs:attributeGroup ref="computeroutput.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of computeroutput.element -->
+ <xs:attributeGroup name="computeroutput.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="computeroutput.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of computeroutput.attlist -->
+ <!-- end of computeroutput.module -->
+ <xs:attributeGroup name="database.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a database, or part of a database. -->
+ <xs:element name="database" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="database.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of database.element -->
+ <!-- Class: Type of database the element names; no default -->
+ <xs:attributeGroup name="database.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="name"/>
+ <xs:enumeration value="table"/>
+ <xs:enumeration value="field"/>
+ <xs:enumeration value="key1"/>
+ <xs:enumeration value="key2"/>
+ <xs:enumeration value="record"/>
+ <xs:enumeration value="index"/>
+ <xs:enumeration value="view"/>
+ <xs:enumeration value="primarykey"/>
+ <xs:enumeration value="secondarykey"/>
+ <xs:enumeration value="foreignkey"/>
+ <xs:enumeration value="altkey"/>
+ <xs:enumeration value="procedure"/>
+ <xs:enumeration value="datatype"/>
+ <xs:enumeration value="constraint"/>
+ <xs:enumeration value="rule"/>
+ <xs:enumeration value="user"/>
+ <xs:enumeration value="group"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="database.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of database.attlist -->
+ <!-- end of database.module -->
+ <xs:attributeGroup name="email.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An email address. -->
+ <xs:element name="email" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="email.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of email.element -->
+ <xs:attributeGroup name="email.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="email.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of email.attlist -->
+ <!-- end of email.module -->
+ <xs:attributeGroup name="envar.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A software environment variable. -->
+ <xs:element name="envar" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="envar.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of envar.element -->
+ <xs:attributeGroup name="envar.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="envar.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of envar.attlist -->
+ <!-- end of envar.module -->
+ <xs:attributeGroup name="errorcode.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An error code. -->
+ <xs:element name="errorcode" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="errorcode.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of errorcode.element -->
+ <xs:attributeGroup name="errorcode.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="errorcode.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of errorcode.attlist -->
+ <!-- end of errorcode.module -->
+ <xs:attributeGroup name="errorname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An error name. -->
+ <xs:element name="errorname" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="errorname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of errorname.element -->
+ <xs:attributeGroup name="errorname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="errorname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of errorname.attlist -->
+ <!-- end of errorname.module -->
+ <xs:attributeGroup name="errortext.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An error message.. -->
+ <xs:element name="errortext" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="errortext.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of errortext.element -->
+ <xs:attributeGroup name="errortext.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="errortext.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of errortext.attlist -->
+ <!-- end of errortext.module -->
+ <xs:attributeGroup name="errortype.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The classification of an error message. -->
+ <xs:element name="errortype" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="errortype.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of errortype.element -->
+ <xs:attributeGroup name="errortype.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="errortype.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of errortype.attlist -->
+ <!-- end of errortype.module -->
+ <xs:attributeGroup name="filename.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a file. -->
+ <xs:element name="filename" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="filename.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of filename.element -->
+ <!-- Class: Type of filename the element names; no default -->
+ <!--
+ Path: Search path (possibly system-specific) in which
+ file can be found
+ -->
+ <xs:attributeGroup name="filename.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="headerfile"/>
+ <xs:enumeration value="partition"/>
+ <xs:enumeration value="devicefile"/>
+ <xs:enumeration value="libraryfile"/>
+ <xs:enumeration value="directory"/>
+ <xs:enumeration value="extension"/>
+ <xs:enumeration value="symlink"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="path"/>
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="filename.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of filename.attlist -->
+ <!-- end of filename.module -->
+ <xs:attributeGroup name="function.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a function or subroutine, as in a programming language. -->
+ <xs:element name="function" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="function.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of function.element -->
+ <xs:attributeGroup name="function.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="function.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of function.attlist -->
+ <!-- end of function.module -->
+ <xs:attributeGroup name="guibutton.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The text on a button in a GUI. -->
+ <xs:element name="guibutton" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="smallcptr.char.mix"/>
+ <xs:element ref="accel"/>
+ <xs:element ref="superscript"/>
+ <xs:element ref="subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="guibutton.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of guibutton.element -->
+ <xs:attributeGroup name="guibutton.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="guibutton.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of guibutton.attlist -->
+ <!-- end of guibutton.module -->
+ <xs:attributeGroup name="guiicon.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Graphic and/or text appearing as a icon in a GUI. -->
+ <xs:element name="guiicon" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="smallcptr.char.mix"/>
+ <xs:element ref="accel"/>
+ <xs:element ref="superscript"/>
+ <xs:element ref="subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="guiicon.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of guiicon.element -->
+ <xs:attributeGroup name="guiicon.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="guiicon.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of guiicon.attlist -->
+ <!-- end of guiicon.module -->
+ <xs:attributeGroup name="guilabel.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The text of a label in a GUI. -->
+ <xs:element name="guilabel" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="smallcptr.char.mix"/>
+ <xs:element ref="accel"/>
+ <xs:element ref="superscript"/>
+ <xs:element ref="subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="guilabel.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of guilabel.element -->
+ <xs:attributeGroup name="guilabel.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="guilabel.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of guilabel.attlist -->
+ <!-- end of guilabel.module -->
+ <xs:attributeGroup name="guimenu.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a menu in a GUI. -->
+ <xs:element name="guimenu" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="smallcptr.char.mix"/>
+ <xs:element ref="accel"/>
+ <xs:element ref="superscript"/>
+ <xs:element ref="subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="guimenu.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of guimenu.element -->
+ <xs:attributeGroup name="guimenu.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="guimenu.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of guimenu.attlist -->
+ <!-- end of guimenu.module -->
+ <xs:attributeGroup name="guimenuitem.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a terminal menu item in a GUI. -->
+ <xs:element name="guimenuitem" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="smallcptr.char.mix"/>
+ <xs:element ref="accel"/>
+ <xs:element ref="superscript"/>
+ <xs:element ref="subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="guimenuitem.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of guimenuitem.element -->
+ <xs:attributeGroup name="guimenuitem.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="guimenuitem.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of guimenuitem.attlist -->
+ <!-- end of guimenuitem.module -->
+ <xs:attributeGroup name="guisubmenu.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a submenu in a GUI. -->
+ <xs:element name="guisubmenu" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="smallcptr.char.mix"/>
+ <xs:element ref="accel"/>
+ <xs:element ref="superscript"/>
+ <xs:element ref="subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="guisubmenu.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of guisubmenu.element -->
+ <xs:attributeGroup name="guisubmenu.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="guisubmenu.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of guisubmenu.attlist -->
+ <!-- end of guisubmenu.module -->
+ <xs:attributeGroup name="hardware.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A physical part of a computer system. -->
+ <xs:element name="hardware" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="hardware.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of hardware.element -->
+ <xs:attributeGroup name="hardware.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="hardware.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of hardware.attlist -->
+ <!-- end of hardware.module -->
+ <xs:attributeGroup name="interface.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An element of a GUI. -->
+ <xs:element name="interface" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="smallcptr.char.mix"/>
+ <xs:element ref="accel"/>
+ </xs:choice>
+ <xs:attributeGroup ref="interface.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of interface.element -->
+ <!-- Class: Type of the Interface item; no default -->
+ <xs:attributeGroup name="interface.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="interface.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of interface.attlist -->
+ <!-- end of interface.module -->
+ <xs:attributeGroup name="keycap.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The text printed on a key on a keyboard. -->
+ <xs:element name="keycap" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="keycap.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of keycap.element -->
+ <xs:attributeGroup name="keycap.attlist">
+ <xs:attribute name="function">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="alt"/>
+ <xs:enumeration value="control"/>
+ <xs:enumeration value="shift"/>
+ <xs:enumeration value="meta"/>
+ <xs:enumeration value="escape"/>
+ <xs:enumeration value="enter"/>
+ <xs:enumeration value="tab"/>
+ <xs:enumeration value="backspace"/>
+ <xs:enumeration value="command"/>
+ <xs:enumeration value="option"/>
+ <xs:enumeration value="space"/>
+ <xs:enumeration value="delete"/>
+ <xs:enumeration value="insert"/>
+ <xs:enumeration value="up"/>
+ <xs:enumeration value="down"/>
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="home"/>
+ <xs:enumeration value="end"/>
+ <xs:enumeration value="pageup"/>
+ <xs:enumeration value="pagedown"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherfunction"/>
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="keycap.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of keycap.attlist -->
+ <!-- end of keycap.module -->
+ <xs:attributeGroup name="keycode.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The internal, frequently numeric, identifier for a key on a keyboard. -->
+ <xs:element name="keycode" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="keycode.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of keycode.element -->
+ <xs:attributeGroup name="keycode.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="keycode.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of keycode.attlist -->
+ <!-- end of keycode.module -->
+ <xs:attributeGroup name="keycombo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A combination of input actions. -->
+ <xs:element name="keycombo" substitutionGroup="tech.char.class">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="keycap"/>
+ <xs:element ref="keycombo"/>
+ <xs:element ref="keysym"/>
+ <xs:element ref="mousebutton"/>
+ </xs:choice>
+ <xs:attributeGroup ref="keycombo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of keycombo.element -->
+ <xs:attributeGroup name="keycombo.attlist">
+ <xs:attributeGroup ref="keyaction.attrib"/>
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="keycombo.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of keycombo.attlist -->
+ <!-- end of keycombo.module -->
+ <xs:attributeGroup name="keysysm.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The symbolic name of a key on a keyboard. -->
+ <xs:element name="keysym" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="keysym.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of keysym.element -->
+ <xs:attributeGroup name="keysym.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="keysysm.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of keysym.attlist -->
+ <!-- end of keysym.module -->
+ <xs:attributeGroup name="lineannotation.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A comment on a line in a verbatim listing. -->
+ <xs:element name="lineannotation">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="lineannotation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of lineannotation.element -->
+ <xs:attributeGroup name="lineannotation.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="lineannotation.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of lineannotation.attlist -->
+ <!-- end of lineannotation.module -->
+ <xs:attributeGroup name="literal.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Inline text that is some literal value. -->
+ <xs:element name="literal" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="literal.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of literal.element -->
+ <xs:attributeGroup name="literal.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="literal.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of literal.attlist -->
+ <!-- end of literal.module -->
+ <xs:attributeGroup name="code.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An inline code fragment. -->
+ <xs:element name="code" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="code.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of code.element -->
+ <xs:attributeGroup name="code.attlist">
+ <xs:attribute name="language"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="code.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of code.attlist -->
+ <!-- end of code.module -->
+ <xs:attributeGroup name="constant.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A programming or system constant. -->
+ <xs:element name="constant" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="constant.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of constant.element -->
+ <xs:attributeGroup name="constant.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="limit"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="constant.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of constant.attlist -->
+ <!-- end of constant.module -->
+ <xs:attributeGroup name="varname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a variable. -->
+ <xs:element name="varname" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="varname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of varname.element -->
+ <xs:attributeGroup name="varname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="varname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of varname.attlist -->
+ <!-- end of varname.module -->
+ <xs:attributeGroup name="markup.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A string of formatting markup in text that is to be represented literally. -->
+ <xs:element name="markup" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="markup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of markup.element -->
+ <xs:attributeGroup name="markup.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="markup.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of markup.attlist -->
+ <!-- end of markup.module -->
+ <xs:attributeGroup name="medialabel.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A name that identifies the physical medium on which some information resides. -->
+ <xs:element name="medialabel" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="medialabel.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of medialabel.element -->
+ <!-- Class: Type of medium named by the element; no default -->
+ <xs:attributeGroup name="medialabel.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="cartridge"/>
+ <xs:enumeration value="cdrom"/>
+ <xs:enumeration value="disk"/>
+ <xs:enumeration value="tape"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="medialabel.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of medialabel.attlist -->
+ <!-- end of medialabel.module -->
+ <xs:attributeGroup name="menuchoice.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A selection or series of selections from a menu. -->
+ <xs:element name="menuchoice" substitutionGroup="tech.char.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="shortcut"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="guibutton"/>
+ <xs:element ref="guiicon"/>
+ <xs:element ref="guilabel"/>
+ <xs:element ref="guimenu"/>
+ <xs:element ref="guimenuitem"/>
+ <xs:element ref="guisubmenu"/>
+ <xs:element ref="interface"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="menuchoice.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of menuchoice.element -->
+ <xs:attributeGroup name="menuchoice.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="menuchoice.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of menuchoice.attlist -->
+ <!-- end of menuchoice.module -->
+ <!-- See also KeyCombo -->
+ <xs:attributeGroup name="shortcut.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A key combination for an action that is also accessible through a menu. -->
+ <xs:element name="shortcut">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="keycap"/>
+ <xs:element ref="keycombo"/>
+ <xs:element ref="keysym"/>
+ <xs:element ref="mousebutton"/>
+ </xs:choice>
+ <xs:attributeGroup ref="shortcut.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of shortcut.element -->
+ <xs:attributeGroup name="shortcut.attlist">
+ <xs:attributeGroup ref="keyaction.attrib"/>
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="shortcut.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of shortcut.attlist -->
+ <!-- end of shortcut.module -->
+ <!-- end of menuchoice.content.module -->
+ <xs:attributeGroup name="mousebutton.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The conventional name of a mouse button. -->
+ <xs:element name="mousebutton" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="mousebutton.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of mousebutton.element -->
+ <xs:attributeGroup name="mousebutton.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="mousebutton.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of mousebutton.attlist -->
+ <!-- end of mousebutton.module -->
+ <xs:attributeGroup name="msgtext.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The actual text of a message component in a message set. -->
+ <xs:element name="msgtext">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="component.mix"/>
+ <xs:attributeGroup ref="msgtext.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of msgtext.element -->
+ <xs:attributeGroup name="msgtext.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="msgtext.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of msgtext.attlist -->
+ <!-- end of msgtext.module -->
+ <xs:attributeGroup name="option.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An option for a software command. -->
+ <xs:element name="option" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="option.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of option.element -->
+ <xs:attributeGroup name="option.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="option.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of option.attlist -->
+ <!-- end of option.module -->
+ <xs:attributeGroup name="optional.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Optional information. -->
+ <xs:element name="optional" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="optional.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of optional.element -->
+ <xs:attributeGroup name="optional.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="optional.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of optional.attlist -->
+ <!-- end of optional.module -->
+ <xs:attributeGroup name="parameter.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A value or a symbolic reference to a value. -->
+ <xs:element name="parameter" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="parameter.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of parameter.element -->
+ <!-- Class: Type of the Parameter; no default -->
+ <xs:attributeGroup name="parameter.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="command"/>
+ <xs:enumeration value="function"/>
+ <xs:enumeration value="option"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="parameter.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of parameter.attlist -->
+ <!-- end of parameter.module -->
+ <xs:attributeGroup name="prompt.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A character or string indicating the start of an input field in a computer display. -->
+ <xs:element name="prompt" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="smallcptr.char.mix"/>
+ <xs:element ref="co"/>
+ </xs:choice>
+ <xs:attributeGroup ref="prompt.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of prompt.element -->
+ <xs:attributeGroup name="prompt.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="prompt.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of prompt.attlist -->
+ <!-- end of prompt.module -->
+ <xs:attributeGroup name="property.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A unit of data associated with some part of a computer system. -->
+ <xs:element name="property" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
+ <xs:attributeGroup ref="property.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of property.element -->
+ <xs:attributeGroup name="property.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="property.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of property.attlist -->
+ <!-- end of property.module -->
+ <xs:attributeGroup name="replaceable.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Content that may or must be replaced by the user. -->
+ <xs:element name="replaceable" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="optional"/>
+ <xs:group ref="base.char.class"/>
+ <xs:group ref="other.char.class"/>
+ <xs:element ref="inlinegraphic"/>
+ <xs:element ref="inlinemediaobject"/>
+ <xs:element ref="co"/>
+ </xs:choice>
+ <xs:attributeGroup ref="replaceable.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of replaceable.element -->
+ <!--
+ Class: Type of information the element represents; no
+ default
+ -->
+ <xs:attributeGroup name="replaceable.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="command"/>
+ <xs:enumeration value="function"/>
+ <xs:enumeration value="option"/>
+ <xs:enumeration value="parameter"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="replaceable.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of replaceable.attlist -->
+ <!-- end of replaceable.module -->
+ <xs:attributeGroup name="returnvalue.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The value returned by a function. -->
+ <xs:element name="returnvalue" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="returnvalue.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of returnvalue.element -->
+ <xs:attributeGroup name="returnvalue.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="returnvalue.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of returnvalue.attlist -->
+ <!-- end of returnvalue.module -->
+ <xs:attributeGroup name="sgmltag.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A component of SGML markup. -->
+ <xs:element name="sgmltag" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="sgmltag.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of sgmltag.element -->
+ <!-- Class: Type of SGML construct the element names; no default -->
+ <xs:attributeGroup name="sgmltag.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="attribute"/>
+ <xs:enumeration value="attvalue"/>
+ <xs:enumeration value="element"/>
+ <xs:enumeration value="endtag"/>
+ <xs:enumeration value="emptytag"/>
+ <xs:enumeration value="genentity"/>
+ <xs:enumeration value="numcharref"/>
+ <xs:enumeration value="paramentity"/>
+ <xs:enumeration value="pi"/>
+ <xs:enumeration value="xmlpi"/>
+ <xs:enumeration value="starttag"/>
+ <xs:enumeration value="sgmlcomment"/>
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="namespace"/>
+ <xs:enumeration value="localname"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="namespace"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sgmltag.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of sgmltag.attlist -->
+ <!-- end of sgmltag.module -->
+ <xs:attributeGroup name="structfield.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A field in a structure (in the programming language sense). -->
+ <xs:element name="structfield" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="structfield.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of structfield.element -->
+ <xs:attributeGroup name="structfield.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="structfield.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of structfield.attlist -->
+ <!-- end of structfield.module -->
+ <xs:attributeGroup name="structname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The name of a structure (in the programming language sense). -->
+ <xs:element name="structname" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="structname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of structname.element -->
+ <xs:attributeGroup name="structname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="structname.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of structname.attlist -->
+ <!-- end of structname.module -->
+ <xs:attributeGroup name="symbol.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A name that is replaced by a value before processing. -->
+ <xs:element name="symbol" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="symbol.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of symbol.element -->
+ <!-- Class: Type of symbol; no default -->
+ <xs:attributeGroup name="symbol.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="limit"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="symbol.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of symbol.attlist -->
+ <!-- end of symbol.module -->
+ <xs:attributeGroup name="systemitem.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A system-related item or term. -->
+ <xs:element name="systemitem" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="cptr.char.mix"/>
+ <xs:element ref="acronym"/>
+ <xs:element ref="co"/>
+ </xs:choice>
+ <xs:attributeGroup ref="systemitem.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of systemitem.element -->
+ <!-- Class: Type of system item the element names; no default -->
+ <xs:attributeGroup name="systemitem.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="constant"/>
+ <xs:enumeration value="daemon"/>
+ <xs:enumeration value="domainname"/>
+ <xs:enumeration value="etheraddress"/>
+ <xs:enumeration value="event"/>
+ <xs:enumeration value="eventhandler"/>
+ <xs:enumeration value="filesystem"/>
+ <xs:enumeration value="fqdomainname"/>
+ <xs:enumeration value="groupname"/>
+ <xs:enumeration value="ipaddress"/>
+ <xs:enumeration value="library"/>
+ <xs:enumeration value="macro"/>
+ <xs:enumeration value="netmask"/>
+ <xs:enumeration value="newsgroup"/>
+ <xs:enumeration value="osname"/>
+ <xs:enumeration value="protocol"/>
+ <xs:enumeration value="resource"/>
+ <xs:enumeration value="systemname"/>
+ <xs:enumeration value="username"/>
+ <xs:enumeration value="process"/>
+ <xs:enumeration value="server"/>
+ <xs:enumeration value="service"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="systemitem.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of systemitem.attlist -->
+ <!-- end of systemitem.module -->
+ <xs:attributeGroup name="uri.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A Uniform Resource Identifier. -->
+ <xs:element name="uri" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="uri.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of uri.element -->
+ <!-- Type: Type of URI; no default -->
+ <xs:attributeGroup name="uri.attlist">
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="uri.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of uri.attlist -->
+ <!-- end of uri.module -->
+ <xs:attributeGroup name="token.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A unit of information. -->
+ <xs:element name="token" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="token.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of token.element -->
+ <xs:attributeGroup name="token.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="token.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of token.attlist -->
+ <!-- end of token.module -->
+ <xs:attributeGroup name="type.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The classification of a value. -->
+ <xs:element name="type" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
+ <xs:attributeGroup ref="type.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of type.element -->
+ <xs:attributeGroup name="type.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="type.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of type.attlist -->
+ <!-- end of type.module -->
+ <xs:attributeGroup name="userinput.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Data entered by the user. -->
+ <xs:element name="userinput" substitutionGroup="tech.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="cptr.char.mix"/>
+ <xs:element ref="co"/>
+ </xs:choice>
+ <xs:attributeGroup ref="userinput.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of userinput.element -->
+ <xs:attributeGroup name="userinput.attlist">
+ <xs:attributeGroup ref="moreinfo.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="userinput.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of userinput.attlist -->
+ <!-- end of userinput.module -->
+ <xs:attributeGroup name="termdef.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An inline definition of a term. -->
+ <xs:element name="termdef" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="termdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of termdef.element -->
+ <xs:attributeGroup name="termdef.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="termdef.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of termdef.attlist -->
+ <!-- end of termdef.module -->
+ <!-- General words and phrases ............................................ -->
+ <xs:attributeGroup name="abbrev.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An abbreviation, especially one followed by a period. -->
+ <xs:element name="abbrev" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
+ <xs:attributeGroup ref="abbrev.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of abbrev.element -->
+ <xs:attributeGroup name="abbrev.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="abbrev.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of abbrev.attlist -->
+ <!-- end of abbrev.module -->
+ <xs:attributeGroup name="acronym.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An often pronounceable word made from the initial (or selected) letters of a name or phrase. -->
+ <xs:element name="acronym" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
+ <xs:attributeGroup ref="acronym.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of acronym.element -->
+ <xs:attributeGroup name="acronym.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="acronym.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of acronym.attlist -->
+ <!-- end of acronym.module -->
+ <xs:attributeGroup name="citation.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An inline bibliographic reference to another published work. -->
+ <xs:element name="citation" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="citation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of citation.element -->
+ <xs:attributeGroup name="citation.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="citation.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of citation.attlist -->
+ <!-- end of citation.module -->
+ <xs:attributeGroup name="citerefentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A citation to a reference page. -->
+ <xs:element name="citerefentry" substitutionGroup="gen.char.class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="refentrytitle"/>
+ <xs:element minOccurs="0" ref="manvolnum"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="citerefentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of citerefentry.element -->
+ <xs:attributeGroup name="citerefentry.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="citerefentry.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of citerefentry.attlist -->
+ <!-- end of citerefentry.module -->
+ <xs:attributeGroup name="refentrytitle.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The title of a reference page. -->
+ <xs:element name="refentrytitle">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="refentrytitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of refentrytitle.element -->
+ <xs:attributeGroup name="refentrytitle.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refentrytitle.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of refentrytitle.attlist -->
+ <!-- end of refentrytitle.module -->
+ <xs:attributeGroup name="namvolnum.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A reference volume number. -->
+ <xs:element name="manvolnum">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
+ <xs:attributeGroup ref="manvolnum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of manvolnum.element -->
+ <xs:attributeGroup name="manvolnum.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="namvolnum.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of manvolnum.attlist -->
+ <!-- end of manvolnum.module -->
+ <xs:attributeGroup name="citetitle.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The title of a cited work. -->
+ <xs:element name="citetitle" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="citetitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of citetitle.element -->
+ <!-- Pubwork: Genre of published work cited; no default -->
+ <xs:attributeGroup name="citetitle.attlist">
+ <xs:attribute name="pubwork">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="article"/>
+ <xs:enumeration value="book"/>
+ <xs:enumeration value="chapter"/>
+ <xs:enumeration value="part"/>
+ <xs:enumeration value="refentry"/>
+ <xs:enumeration value="section"/>
+ <xs:enumeration value="journal"/>
+ <xs:enumeration value="series"/>
+ <xs:enumeration value="set"/>
+ <xs:enumeration value="manuscript"/>
+ <xs:enumeration value="cdrom"/>
+ <xs:enumeration value="dvd"/>
+ <xs:enumeration value="wiki"/>
+ <xs:enumeration value="gopher"/>
+ <xs:enumeration value="bbs"/>
+ <xs:enumeration value="emailmessage"/>
+ <xs:enumeration value="webpage"/>
+ <xs:enumeration value="newsposting"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="citetitle.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of citetitle.attlist -->
+ <!-- end of citetitle.module -->
+ <xs:attributeGroup name="emphasis.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Emphasized text. -->
+ <xs:element name="emphasis" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="emphasis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of emphasis.element -->
+ <xs:attributeGroup name="emphasis.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="emphasis.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of emphasis.attlist -->
+ <!-- end of emphasis.module -->
+ <xs:attributeGroup name="foreignphrase.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A word or phrase in a language other than the primary language of the document. -->
+ <xs:element name="foreignphrase" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="foreignphrase.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of foreignphrase.element -->
+ <xs:attributeGroup name="foreignphrase.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="foreignphrase.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of foreignphrase.attlist -->
+ <!-- end of foreignphrase.module -->
+ <xs:attributeGroup name="glossterm.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A glossary term. -->
+ <xs:element name="glossterm" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="glossterm.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of glossterm.element -->
+ <!-- to GlossEntry if Glossterm used in text -->
+ <!--
+ BaseForm: Provides the form of GlossTerm to be used
+ for indexing
+ -->
+ <xs:attributeGroup name="glossterm.attlist">
+ <xs:attribute name="baseform"/>
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossterm.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of glossterm.attlist -->
+ <!-- end of glossterm.module -->
+ <xs:attributeGroup name="firstterm.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The first occurrence of a term. -->
+ <xs:element name="firstterm" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="firstterm.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of firstterm.element -->
+ <!-- to GlossEntry or other explanation -->
+ <xs:attributeGroup name="firstterm.attlist">
+ <xs:attribute name="baseform"/>
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="firstterm.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of firstterm.attlist -->
+ <!-- end of firstterm.module -->
+ <xs:attributeGroup name="phrase.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A span of text. -->
+ <xs:element name="phrase" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="phrase.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of phrase.element -->
+ <xs:attributeGroup name="phrase.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="phrase.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of phrase.attlist -->
+ <!-- end of phrase.module -->
+ <xs:attributeGroup name="quote.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:An inline quotation. -->
+ <xs:element name="quote" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="quote.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of quote.element -->
+ <xs:attributeGroup name="quote.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="quote.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of quote.attlist -->
+ <!-- end of quote.module -->
+ <xs:attributeGroup name="ssscript.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A subscript (as in H{^2}O, the molecular formula for water). -->
+ <xs:element name="subscript">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="emphasis"/>
+ <xs:element ref="replaceable"/>
+ <xs:element ref="symbol"/>
+ <xs:element ref="inlinegraphic"/>
+ <xs:element ref="inlinemediaobject"/>
+ <xs:group ref="base.char.class"/>
+ <xs:group ref="other.char.class"/>
+ </xs:choice>
+ <xs:attributeGroup ref="subscript.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of subscript.element -->
+ <xs:attributeGroup name="subscript.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="ssscript.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of subscript.attlist -->
+ <!-- doc:A superscript (as in x^2, the mathematical notation for x multiplied by itself). -->
+ <xs:element name="superscript">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="emphasis"/>
+ <xs:element ref="replaceable"/>
+ <xs:element ref="symbol"/>
+ <xs:element ref="inlinegraphic"/>
+ <xs:element ref="inlinemediaobject"/>
+ <xs:group ref="base.char.class"/>
+ <xs:group ref="other.char.class"/>
+ </xs:choice>
+ <xs:attributeGroup ref="superscript.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of superscript.element -->
+ <xs:attributeGroup name="superscript.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="ssscript.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of superscript.attlist -->
+ <!-- end of ssscript.module -->
+ <xs:attributeGroup name="trademark.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A trademark. -->
+ <xs:element name="trademark" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="link.char.class"/>
+ <xs:element ref="tech.char.class"/>
+ <xs:group ref="base.char.class"/>
+ <xs:group ref="other.char.class"/>
+ <xs:element ref="inlinegraphic"/>
+ <xs:element ref="inlinemediaobject"/>
+ <xs:element ref="emphasis"/>
+ </xs:choice>
+ <xs:attributeGroup ref="trademark.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of trademark.element -->
+ <!-- Class: More precisely identifies the item the element names -->
+ <xs:attributeGroup name="trademark.attlist">
+ <xs:attribute name="class" default="trade">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="service"/>
+ <xs:enumeration value="trade"/>
+ <xs:enumeration value="registered"/>
+ <xs:enumeration value="copyright"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="trademark.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of trademark.attlist -->
+ <!-- end of trademark.module -->
+ <xs:attributeGroup name="wordasword.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A word meant specifically as a word and not representing anything else. -->
+ <xs:element name="wordasword" substitutionGroup="gen.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
+ <xs:attributeGroup ref="wordasword.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of wordasword.element -->
+ <xs:attributeGroup name="wordasword.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="wordasword.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of wordasword.attlist -->
+ <!-- end of wordasword.module -->
+ <!-- Links and cross-references ........................................... -->
+ <xs:attributeGroup name="link.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A hypertext link. -->
+ <xs:element name="link" substitutionGroup="link.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="link.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of link.element -->
+ <!--
+ Endterm: ID of element containing text that is to be
+ fetched from elsewhere in the document to appear as
+ the content of this element
+ -->
+ <!-- to linked-to object -->
+ <!-- Type: Freely assignable parameter -->
+ <xs:attributeGroup name="link.attlist">
+ <xs:attribute name="endterm" type="xs:IDREF"/>
+ <xs:attribute name="xrefstyle"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="linkendreq.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="link.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of link.attlist -->
+ <!-- end of link.module -->
+ <xs:attributeGroup name="olink.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A link that addresses its target indirectly, through an entity. -->
+ <xs:element name="olink" substitutionGroup="link.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="olink.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of olink.element -->
+ <!-- TargetDocEnt: Name of an entity to be the target of the link -->
+ <!--
+ LinkMode: ID of a ModeSpec containing instructions for
+ operating on the entity named by TargetDocEnt
+ -->
+ <!-- LocalInfo: Information that may be passed to ModeSpec -->
+ <!-- Type: Freely assignable parameter -->
+ <xs:attributeGroup name="olink.attlist">
+ <xs:attribute name="targetdocent" type="xs:ENTITY"/>
+ <xs:attribute name="linkmode" type="xs:IDREF"/>
+ <xs:attribute name="localinfo"/>
+ <xs:attribute name="type"/>
+ <xs:attribute name="targetdoc"/>
+ <xs:attribute name="targetptr"/>
+ <xs:attribute name="xrefstyle"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="olink.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of olink.attlist -->
+ <!-- end of olink.module -->
+ <xs:attributeGroup name="ulink.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A link that addresses its target by means of a URL (Uniform Resource Locator). -->
+ <xs:element name="ulink" substitutionGroup="link.char.class">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="ulink.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of ulink.element -->
+ <!-- URL: uniform resource locator; the target of the ULink -->
+ <!-- Type: Freely assignable parameter -->
+ <xs:attributeGroup name="ulink.attlist">
+ <xs:attribute name="url" use="required"/>
+ <xs:attribute name="type"/>
+ <xs:attribute name="xrefstyle"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="ulink.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of ulink.attlist -->
+ <!-- end of ulink.module -->
+ <xs:attributeGroup name="footnoteref.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A cross reference to a footnote (a footnote mark). -->
+ <xs:element name="footnoteref" substitutionGroup="xref.char.class">
+ <xs:complexType>
+ <xs:attributeGroup ref="footnoteref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of footnoteref.element -->
+ <!-- to footnote content supplied elsewhere -->
+ <xs:attributeGroup name="footnoteref.attlist">
+ <xs:attributeGroup ref="linkendreq.attrib"/>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="footnoteref.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of footnoteref.attlist -->
+ <!-- end of footnoteref.module -->
+ <xs:attributeGroup name="xref.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A cross reference to another part of the document. -->
+ <xs:element name="xref" substitutionGroup="xref.char.class">
+ <xs:complexType>
+ <xs:attributeGroup ref="xref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of xref.element -->
+ <!--
+ Endterm: ID of element containing text that is to be
+ fetched from elsewhere in the document to appear as
+ the content of this element
+ -->
+ <!-- to linked-to object -->
+ <xs:attributeGroup name="xref.attlist">
+ <xs:attribute name="endterm" type="xs:IDREF"/>
+ <xs:attribute name="xrefstyle"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="linkendreq.attrib"/>
+ <xs:attributeGroup ref="xref.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of xref.attlist -->
+ <!-- end of xref.module -->
+ <xs:attributeGroup name="biblioref.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A cross reference to a bibliographic entry. -->
+ <xs:element name="biblioref" substitutionGroup="xref.char.class">
+ <xs:complexType>
+ <xs:attributeGroup ref="biblioref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of biblioref.element -->
+ <xs:attributeGroup name="biblioref.attlist">
+ <xs:attribute name="endterm" type="xs:IDREF"/>
+ <xs:attribute name="xrefstyle"/>
+ <xs:attribute name="units"/>
+ <xs:attribute name="begin"/>
+ <xs:attribute name="end"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="linkendreq.attrib"/>
+ <xs:attributeGroup ref="biblioref.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of biblioref.attlist -->
+ <!-- end of biblioref.module -->
+ <!-- Ubiquitous elements .................................................. -->
+ <xs:attributeGroup name="anchor.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A spot in the document. -->
+ <xs:element name="anchor">
+ <xs:complexType>
+ <xs:attributeGroup ref="anchor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of anchor.element -->
+ <!-- required -->
+ <!-- replaces Lang -->
+ <xs:attributeGroup name="anchor.attlist">
+ <xs:attributeGroup ref="idreq.attrib"/>
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="remap.attrib"/>
+ <xs:attributeGroup ref="xreflabel.attrib"/>
+ <xs:attributeGroup ref="revisionflag.attrib"/>
+ <xs:attributeGroup ref="effectivity.attrib"/>
+ <xs:attributeGroup ref="anchor.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of anchor.attlist -->
+ <!-- end of anchor.module -->
+ <xs:attributeGroup name="beginpage.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The location of a page break in a print version of the document. -->
+ <xs:element name="beginpage">
+ <xs:complexType>
+ <xs:attributeGroup ref="beginpage.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of beginpage.element -->
+ <!-- PageNum: Number of page that begins at this point -->
+ <xs:attributeGroup name="beginpage.attlist">
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="beginpage.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of beginpage.attlist -->
+ <!-- end of beginpage.module -->
+ <!--
+ IndexTerms appear in the text flow for generating or linking an
+ index.
+ -->
+ <xs:attributeGroup name="indexterm.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:A wrapper for terms to be indexed. -->
+ <xs:element name="indexterm" substitutionGroup="ndxterm.class"/>
+ <!-- end of indexterm.element -->
+ <!--
+ Scope: Indicates which generated indices the IndexTerm
+ should appear in: Global (whole document set), Local (this
+ document only), or All (both)
+ -->
+ <!--
+ Significance: Whether this IndexTerm is the most pertinent
+ of its series (Preferred) or not (Normal, the default)
+ -->
+ <!--
+ Class: Indicates type of IndexTerm; default is Singular,
+ or EndOfRange if StartRef is supplied; StartOfRange value
+ must be supplied explicitly on starts of ranges
+ -->
+ <!--
+ StartRef: ID of the IndexTerm that starts the indexing
+ range ended by this IndexTerm
+ -->
+ <!--
+ Zone: IDs of the elements to which the IndexTerm applies,
+ and indicates that the IndexTerm applies to those entire
+ elements rather than the point at which the IndexTerm
+ occurs
+ -->
+ <xs:attributeGroup name="indexterm.attlist">
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="all"/>
+ <xs:enumeration value="global"/>
+ <xs:enumeration value="local"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="significance" default="normal">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="preferred"/>
+ <xs:enumeration value="normal"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="singular"/>
+ <xs:enumeration value="startofrange"/>
+ <xs:enumeration value="endofrange"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="startref" type="xs:IDREF"/>
+ <xs:attribute name="zone" type="xs:IDREFS"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexterm.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of indexterm.attlist -->
+ <!-- end of indexterm.module -->
+ <xs:attributeGroup name="primsecter.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:The primary word or phrase under which an index term should be sorted. -->
+ <xs:element name="primary">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="primary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of primary.element -->
+ <!--
+ SortAs: Alternate sort string for index sorting, e.g.,
+ "fourteen" for an element containing "14"
+ -->
+ <xs:attributeGroup name="primary.attlist">
+ <xs:attribute name="sortas"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="primsecter.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of primary.attlist -->
+ <!-- doc:A secondary word or phrase in an index term. -->
+ <xs:element name="secondary">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="secondary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of secondary.element -->
+ <!--
+ SortAs: Alternate sort string for index sorting, e.g.,
+ "fourteen" for an element containing "14"
+ -->
+ <xs:attributeGroup name="secondary.attlist">
+ <xs:attribute name="sortas"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="primsecter.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of secondary.attlist -->
+ <!-- doc:A tertiary word or phrase in an index term. -->
+ <xs:element name="tertiary">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="tertiary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of tertiary.element -->
+ <!--
+ SortAs: Alternate sort string for index sorting, e.g.,
+ "fourteen" for an element containing "14"
+ -->
+ <xs:attributeGroup name="tertiary.attlist">
+ <xs:attribute name="sortas"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="primsecter.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of tertiary.attlist -->
+ <!-- end of primsecter.module -->
+ <xs:attributeGroup name="seeseealso.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- doc:Part of an index term directing the reader instead to another entry in the index. -->
+ <xs:element name="see">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="see.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of see.element -->
+ <xs:attributeGroup name="see.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="seeseealso.role.attrib"/>
+ </xs:attributeGroup>
+ <!-- end of see.attlist -->
+ <!-- doc:Part of an index term directing the reader also to another entry in the index. -->
+ <xs:element name="seealso">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="seealso.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- end of seealso.element -->
+ <xs:attributeGroup name="seealso.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="seeseealso.role.attrib"/>
+ </xs:attributeGroup>
+</xs:schema>
+<!-- end of seealso.attlist -->
+<!-- end of seeseealso.module -->
+<!-- end of indexterm.content.module -->
+<!-- End of SCons DocBook V4.5-Based extension V1.0 XML information pool module ... -->
+<!-- .............................................................................. -->
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/htmltblx.xsd b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/htmltblx.xsd
new file mode 100644
index 0000000..9f82a02
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/htmltblx.xsd
@@ -0,0 +1,431 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ...................................................................... -->
+<!-- SCons DocBook V4.5-Based extension V1.0 XML HTML Table Module ........ -->
+<!-- File htmltblx.xsd .................................................... -->
+<!-- Copyright (c) 2001-7,2010,2011,2012 The SCons Foundation
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ This DTD extension is based on the DocBook XML HTML Table
+ Module V4.5 with:
+
+ Copyright 2003-2006 ArborText, Inc., Norman Walsh, Sun Microsystems,
+ Inc., and the Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ $Id: htmltblx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+ 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/.
+ For the modified SCons extension files
+
+ scons.xsd, dbpoolx.xsd,
+
+ you can write to its developer mailing list. Check out
+ http://www.scons.org/ and http://www.scons.org/lists.php.
+
+-->
+<!-- ...................................................................... -->
+<!--
+ This module contains the definitions for elements that are
+ isomorphic to the HTML elements. One could argue we should
+ instead have based ourselves on the XHTML Table Module, but the
+ HTML one is more like what browsers are likely to accept today
+ and users are likely to use.
+
+ This module has been developed for use with the DocBook V4.5
+ "union table model" in which elements and attlists common to both
+ models are defined (as the union) in the CALS table module by
+ setting various parameter entities appropriately in this file.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % htmltbl PUBLIC
+ "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN"
+ "htmltblx.mod">
+ %htmltbl;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+<!-- ======================= XHTML Tables ======================================= -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
+ <xs:attributeGroup name="html.coreattrs">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attribute name="class"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="title"/>
+ </xs:attributeGroup>
+ <!-- Does not contain lang or dir because they are in %common.attribs -->
+ <xs:attributeGroup name="i18n">
+ <xs:attribute ref="xml:lang"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="events">
+ <xs:attribute name="onclick"/>
+ <xs:attribute name="ondblclick"/>
+ <xs:attribute name="onmousedown"/>
+ <xs:attribute name="onmouseup"/>
+ <xs:attribute name="onmouseover"/>
+ <xs:attribute name="onmousemove"/>
+ <xs:attribute name="onmouseout"/>
+ <xs:attribute name="onkeypress"/>
+ <xs:attribute name="onkeydown"/>
+ <xs:attribute name="onkeyup"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="attrs">
+ <xs:attributeGroup ref="html.coreattrs"/>
+ <xs:attributeGroup ref="i18n"/>
+ <xs:attributeGroup ref="events"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="cellhalign">
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="center"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="justify"/>
+ <xs:enumeration value="char"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="char"/>
+ <xs:attribute name="charoff"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="cellvalign">
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="middle"/>
+ <xs:enumeration value="bottom"/>
+ <xs:enumeration value="baseline"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <!-- doc:A group of columns in an HTML table. -->
+ <xs:element name="colgroup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="colgroup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- doc:Specifications for a column in an HTML table. -->
+ <xs:element name="col">
+ <xs:complexType>
+ <xs:attributeGroup ref="col.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- doc:A row in an HTML table. -->
+ <xs:element name="tr">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="th"/>
+ <xs:element ref="td"/>
+ </xs:choice>
+ <xs:attributeGroup ref="tr.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- doc:A table header entry in an HTML table. -->
+ <xs:element name="th">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:group ref="tabentry.mix"/>
+ <xs:element ref="table"/>
+ <xs:element ref="informaltable"/>
+ </xs:choice>
+ <xs:attributeGroup ref="th.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- doc:A table ntry in an HTML table. -->
+ <xs:element name="td">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="para.char.mix"/>
+ <xs:group ref="tabentry.mix"/>
+ <xs:element ref="table"/>
+ <xs:element ref="informaltable"/>
+ </xs:choice>
+ <xs:attributeGroup ref="td.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="colgroup.attlist">
+ <xs:attributeGroup ref="attrs"/>
+ <xs:attribute name="span" default="1"/>
+ <xs:attribute name="width"/>
+ <xs:attributeGroup ref="cellhalign"/>
+ <xs:attributeGroup ref="cellvalign"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="col.attlist">
+ <xs:attributeGroup ref="attrs"/>
+ <xs:attribute name="span" default="1"/>
+ <xs:attribute name="width"/>
+ <xs:attributeGroup ref="cellhalign"/>
+ <xs:attributeGroup ref="cellvalign"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="tr.attlist">
+ <xs:attributeGroup ref="attrs"/>
+ <xs:attributeGroup ref="cellhalign"/>
+ <xs:attributeGroup ref="cellvalign"/>
+ <xs:attribute name="bgcolor"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="th.attlist">
+ <xs:attributeGroup ref="attrs"/>
+ <xs:attribute name="abbr"/>
+ <xs:attribute name="axis"/>
+ <xs:attribute name="headers" type="xs:IDREFS"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="row"/>
+ <xs:enumeration value="col"/>
+ <xs:enumeration value="rowgroup"/>
+ <xs:enumeration value="colgroup"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rowspan" default="1"/>
+ <xs:attribute name="colspan" default="1"/>
+ <xs:attributeGroup ref="cellhalign"/>
+ <xs:attributeGroup ref="cellvalign"/>
+ <xs:attribute name="nowrap">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="nowrap"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="bgcolor"/>
+ <xs:attribute name="width"/>
+ <xs:attribute name="height"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="td.attlist">
+ <xs:attributeGroup ref="attrs"/>
+ <xs:attribute name="abbr"/>
+ <xs:attribute name="axis"/>
+ <xs:attribute name="headers" type="xs:IDREFS"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="row"/>
+ <xs:enumeration value="col"/>
+ <xs:enumeration value="rowgroup"/>
+ <xs:enumeration value="colgroup"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rowspan" default="1"/>
+ <xs:attribute name="colspan" default="1"/>
+ <xs:attributeGroup ref="cellhalign"/>
+ <xs:attributeGroup ref="cellvalign"/>
+ <xs:attribute name="nowrap">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="nowrap"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="bgcolor"/>
+ <xs:attribute name="width"/>
+ <xs:attribute name="height"/>
+ </xs:attributeGroup>
+ <!-- ====================================================== -->
+ <!--
+ Set up to read in the CALS model configured to
+ merge with the XHTML table model
+ -->
+ <!-- ====================================================== -->
+ <xs:attributeGroup name="tables.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <!-- Add label and role attributes to table and informaltable -->
+ <xs:attributeGroup name="bodyatt">
+ <xs:attribute name="floatstyle"/>
+ <xs:attribute name="rowheader">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="firstcol"/>
+ <xs:enumeration value="norowheader"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ </xs:attributeGroup>
+ <!--
+ Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
+ EntryTbl, and Entry (and InformalTable element).
+ -->
+ <xs:attributeGroup name="secur">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attribute name="class"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="title"/>
+ <xs:attributeGroup ref="i18n"/>
+ <xs:attributeGroup ref="events"/>
+ <xs:attributeGroup ref="tables.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="common.table.attribs">
+ <xs:attributeGroup ref="bodyatt"/>
+ <xs:attributeGroup ref="secur"/>
+ </xs:attributeGroup>
+ <!-- Content model for Table (that also allows HTML tables) -->
+ <xs:complexType name="tbl.table.mdl">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="blockinfo"/>
+ <xs:group ref="formalobject.title.content"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="textobject"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="graphic"/>
+ <xs:element maxOccurs="unbounded" ref="mediaobject"/>
+ <xs:element maxOccurs="unbounded" ref="tgroup"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element ref="caption"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
+ </xs:choice>
+ <xs:element minOccurs="0" ref="thead"/>
+ <xs:element minOccurs="0" ref="tfoot"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="tbody"/>
+ <xs:element maxOccurs="unbounded" ref="tr"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ <xs:group name="informal.tbl.table.mdl">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="textobject"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="graphic"/>
+ <xs:element maxOccurs="unbounded" ref="mediaobject"/>
+ <xs:element maxOccurs="unbounded" ref="tgroup"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
+ </xs:choice>
+ <xs:element minOccurs="0" ref="thead"/>
+ <xs:element minOccurs="0" ref="tfoot"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="tbody"/>
+ <xs:element maxOccurs="unbounded" ref="tr"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:choice>
+ </xs:group>
+ <!-- Attributes for Table (including HTML ones) -->
+ <!-- N.B. rules = (none | groups | rows | cols | all) but it can't be spec'd -->
+ <!-- that way because 'all' already occurs in a different enumeration in -->
+ <!-- CALS tables (frame). -->
+ <xs:attributeGroup name="tbl.table.att">
+ <xs:attribute name="tabstyle"/>
+ <xs:attribute name="tocentry" type="yesorno.attvals"/>
+ <xs:attribute name="shortentry" type="yesorno.attvals"/>
+ <xs:attribute name="orient">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="port"/>
+ <xs:enumeration value="land"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="pgwide" type="yesorno.attvals"/>
+ <xs:attribute name="summary"/>
+ <xs:attribute name="width"/>
+ <xs:attribute name="border"/>
+ <xs:attribute name="rules"/>
+ <xs:attribute name="cellspacing"/>
+ <xs:attribute name="cellpadding"/>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="center"/>
+ <xs:enumeration value="right"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="bgcolor"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="tbl.frame.attval">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="void"/>
+ <xs:enumeration value="above"/>
+ <xs:enumeration value="below"/>
+ <xs:enumeration value="hsides"/>
+ <xs:enumeration value="lhs"/>
+ <xs:enumeration value="rhs"/>
+ <xs:enumeration value="vsides"/>
+ <xs:enumeration value="box"/>
+ <xs:enumeration value="border"/>
+ <xs:enumeration value="top"/>
+ <xs:enumeration value="bottom"/>
+ <xs:enumeration value="topbot"/>
+ <xs:enumeration value="all"/>
+ <xs:enumeration value="sides"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <!-- Allow either objects or inlines; beware of REs between elements. -->
+ <xs:group name="tbl.entry.mdl">
+ <xs:choice>
+ <xs:group ref="para.char.mix"/>
+ <xs:group ref="tabentry.mix"/>
+ </xs:choice>
+ </xs:group>
+ <!--
+ thead, tfoot, and tbody are defined in both table models,
+ so we set up parameter entities to define union models for them
+ -->
+ <xs:complexType name="tbl.hdft.mdl">
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="tr"/>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/>
+ <xs:element maxOccurs="unbounded" ref="row"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="tbl.tbody.mdl">
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="tr"/>
+ <xs:element maxOccurs="unbounded" ref="row"/>
+ </xs:choice>
+ </xs:complexType>
+</xs:schema>
+<!-- End of SCons DocBook V4.5-Based extension V1.0 XML HTML Table Module . -->
+<!-- ...................................................................... -->
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/scons.xsd b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/scons.xsd
new file mode 100644
index 0000000..481c2d4
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/scons.xsd
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ...................................................................... -->
+<!-- SCons DocBook V4.5-Based extension V1.0 .............................. -->
+<!-- File scons.xsd ....................................................... -->
+<!-- Copyright (c) 2001-7,2010,2011,2012 The SCons Foundation
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ This DTD extension is based on the DocBook V4.5 DTD with:
+
+ Copyright 1992-2006 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ See also http://docbook.org/specs/
+
+ $Id: docbookx.dtd 6340 2006-10-03 13:23:24Z nwalsh $
+
+
+ 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/.
+ For the modified SCons extension files
+
+ scons.xsd, dbpoolx.xsd,
+
+ you can write to its developer mailing list. Check out
+ http://www.scons.org/ and http://www.scons.org/lists.php.
+
+-->
+<!-- ...................................................................... -->
+<!--
+ This is the driver file for V4.5 of the DocBook DTD.
+ Please use the following formal public identifier to identify it:
+
+ "-//OASIS//DTD DocBook XML V4.5//EN"
+
+ For example, if your document's top-level element is Book, and
+ you are using DocBook directly, use the FPI in the DOCTYPE
+ declaration:
+
+ <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
+ [...]>
+
+ Or, if you have a higher-level driver file that customizes DocBook,
+ use the FPI in the parameter entity declaration:
+
+ <!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+ %DocBookDTD;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+<!-- ...................................................................... -->
+<!-- Enable SGML features ................................................. -->
+<!-- ...................................................................... -->
+<!-- Notation declarations ................................................ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.scons.org/dbxsd/v1.0"
+ elementFormDefault="qualified">
+ <xs:include schemaLocation="dbnotnx.xsd"/>
+ <xs:include schemaLocation="dbpoolx.xsd"/>
+ <xs:include schemaLocation="dbhierx.xsd"/>
+ <!-- ...................................................................... -->
+ <!-- ISO character entity sets ............................................ -->
+ <!-- euro sign, U+20AC NEW -->
+ <!-- ...................................................................... -->
+ <!-- DTD modules .......................................................... -->
+ <!-- Information pool .............. -->
+ <!-- Redeclaration placeholder ..... -->
+ <!-- Document hierarchy ............ -->
+</xs:schema>
+<!-- ...................................................................... -->
+<!-- Other general entities ............................................... -->
+<!-- End of SCons DocBook V4.5-Based extension V1.0 ....................... -->
+<!-- ...................................................................... -->
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/xml.xsd b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/xml.xsd
new file mode 100644
index 0000000..600f399
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/xml.xsd
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ targetNamespace="http://www.w3.org/XML/1998/namespace">
+ <xs:import schemaLocation="scons.xsd"/>
+ <xs:attribute name="base"/>
+ <xs:attribute name="space">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="preserve"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="lang" type="xs:NMTOKEN"/>
+</xs:schema>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/toolBar.incl b/doc/editor_configs/xmlmind/addon/config/scons/toolBar.incl
new file mode 100644
index 0000000..a610a2d
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/toolBar.incl
@@ -0,0 +1,189 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<configuration
+ xmlns="http://www.xmlmind.com/xmleditor/schema/configuration"
+ xmlns:cfg="http://www.xmlmind.com/xmleditor/schema/configuration">
+
+ <toolBar>
+ <button toolTip="Convert to emphasis"
+ icon="../common/icons/emphasisText_menu.png">
+ <menu>
+ <item label="emphasis"
+ command="convert"
+ parameter="[implicitElement] emphasis" />
+ <item label="emphasis[bold]"
+ command="docb.convertWithAttribute"
+ parameter="emphasis role bold" />
+ <item label="firstterm" command="convert"
+ parameter="[implicitElement] firstterm" />
+ <item label="replaceable" command="convert"
+ parameter="[implicitElement] replaceable" />
+ <separator />
+ <item label="literal" command="convert"
+ parameter="[implicitElement] literal" />
+ <item label="filename" command="convert"
+ parameter="[implicitElement] filename" />
+ <separator />
+ <item label="trademark" command="convert"
+ parameter="[implicitElement] trademark" />
+ <item label="trademark[registered]" command="docb.convertWithAttribute"
+ parameter="trademark class registered" />
+ <separator />
+ <item label="guilabel" command="convert"
+ parameter="[implicitElement] guilabel" />
+ <item label="guibutton" command="convert"
+ parameter="[implicitElement] guibutton" />
+ <item label="guimenuitem" command="convert"
+ parameter="[implicitElement] guimenuitem" />
+ <item label="guisubmenu" command="convert"
+ parameter="[implicitElement] guisubmenu" />
+ <item label="guimenu" command="convert"
+ parameter="[implicitElement] guimenu" />
+ <separator />
+ <item label="keycap" command="convert"
+ parameter="[implicitElement] keycap" />
+ <item label="keysym" command="convert"
+ parameter="[implicitElement] keysym" />
+ <separator />
+ <item label="sgmltag[element]" command="docb.convertWithAttribute"
+ parameter="sgmltag class element" />
+ <item label="sgmltag[attribute]" command="docb.convertWithAttribute"
+ parameter="sgmltag class attribute" />
+ <item label="sgmltag[attvalue]" command="docb.convertWithAttribute"
+ parameter="sgmltag class attvalue" />
+ </menu>
+ </button>
+
+ <button toolTip="Convert to link"
+ icon="../common/icons/hyperText_menu.png">
+ <menu>
+ <item label="link" command="convert"
+ parameter="[implicitElement] link" />
+ <item label="ulink" command="convert"
+ parameter="[implicitElement] ulink" />
+ </menu>
+ </button>
+
+ <button toolTip="Convert to plain text"
+ icon="../common/icons/plainText.png">
+ <command name="convert" parameter="[implicitElement] #text" />
+ </button>
+
+ <separator />
+
+ <button toolTip="Add para" icon="../common/icons/paragraph.png">
+ <command name="docb.addAfter" parameter="para" />
+ </button>
+
+ <button toolTip="Add listitem or varlistentry [Ctrl-Enter]"
+ icon="../common/icons/addListItem.png">
+ <command name="docb.addListItem" parameter="After" />
+ </button>
+
+ <button toolTip="Add itemizedlist"
+ icon="../common/icons/itemizedList.png">
+ <command name="docb.addAfter" parameter="itemizedlist" />
+ </button>
+
+ <button toolTip="Add orderedlist"
+ icon="../common/icons/orderedList.png">
+ <command name="docb.addAfter" parameter="orderedlist" />
+ </button>
+
+ <button toolTip="Add variablelist"
+ icon="../common/icons/definitionList.png">
+ <command name="docb.addAfter" parameter="variablelist" />
+ </button>
+
+ <button toolTip="Add table" icon="../common/icons/table_menu.png">
+ <menu>
+ <item label="informaltable" command="docb.addAfter"
+ parameter="informaltable" />
+ <item label="informaltable(head_row)" command="docb.addAfter"
+ parameter="#template(informaltable,head_row)" />
+ <item label="informaltable(head_column)" command="docb.addAfter"
+ parameter="#template(informaltable,head_column)" />
+ <item label="informaltable(head_row_column)" command="docb.addAfter"
+ parameter="#template(informaltable,head_row_column)" />
+ <separator />
+ <item label="table" command="docb.addAfter"
+ parameter="table" />
+ <item label="table(head_row)" command="docb.addAfter"
+ parameter="#template(table,head_row)" />
+ <item label="table(head_column)" command="docb.addAfter"
+ parameter="#template(table,head_column)" />
+ <item label="table(head_row_column)" command="docb.addAfter"
+ parameter="#template(table,head_row_column)" />
+
+ <separator />
+
+ <item label="informaltable(HTML)" command="docb.addAfter"
+ parameter="#template(informaltable,HTML)" />
+ <item label="informaltable(HTML_head_row)" command="docb.addAfter"
+ parameter="#template(informaltable,HTML_head_row)" />
+ <item label="informaltable(HTML_head_column)" command="docb.addAfter"
+ parameter="#template(informaltable,HTML_head_column)" />
+ <item label="informaltable(HTML_head_row_column)"
+ command="docb.addAfter"
+ parameter="#template(informaltable,HTML_head_row_column)" />
+ <separator />
+ <item label="table(HTML)" command="docb.addAfter"
+ parameter="#template(table,HTML)" />
+ <item label="table(HTML_head_row)" command="docb.addAfter"
+ parameter="#template(table,HTML_head_row)" />
+ <item label="table(HTML_head_column)" command="docb.addAfter"
+ parameter="#template(table,HTML_head_column)" />
+ <item label="table(HTML_head_row_column)" command="docb.addAfter"
+ parameter="#template(table,HTML_head_row_column)" />
+ </menu>
+ </button>
+
+ <button toolTip="Add image" icon="../common/icons/figure_menu.png">
+ <menu>
+ <item label="inlinemediaobject" command="insert"
+ parameter="into inlinemediaobject" />
+ <separator />
+ <item label="mediaobject" command="docb.addAfter"
+ parameter="mediaobject" />
+ <separator />
+ <item label="screenshot" command="docb.addAfter"
+ parameter="screenshot" />
+ <separator />
+ <item label="figure" command="docb.addAfter"
+ parameter="figure" />
+ <item label="figure(screenshot)" command="docb.addAfter"
+ parameter="#template(figure,screenshot)" />
+ </menu>
+ </button>
+
+ <button toolTip="Add section" icon="../common/icons/section_menu.png">
+ <menu>
+ <item label="chapter" command="add"
+ parameter="after[implicitElement] chapter" />
+ <separator />
+ <item label="section" command="add"
+ parameter="after[implicitElement] section" />
+ <item label="sect1" command="add"
+ parameter="after[implicitElement] sect1" />
+ <item label="sect2" command="add"
+ parameter="after[implicitElement] sect2" />
+ <item label="sect3" command="add"
+ parameter="after[implicitElement] sect3" />
+ <item label="sect4" command="add"
+ parameter="after[implicitElement] sect4" />
+ <item label="sect5" command="add"
+ parameter="after[implicitElement] sect5" />
+ <separator />
+ <item label="appendix" command="add"
+ parameter="after[implicitElement] appendix" />
+ </menu>
+ </button>
+
+ <separator />
+
+ <button toolTip="Go to opposite link end"
+ icon="../common/icons/navigate.png">
+ <command name="selectById" parameter="swapIdAndReference" />
+ </button>
+ </toolBar>
+
+</configuration>
diff --git a/doc/editor_configs/xmlmind/addon/config/scons/xslMenu.incl b/doc/editor_configs/xmlmind/addon/config/scons/xslMenu.incl
new file mode 100644
index 0000000..8b639fb
--- /dev/null
+++ b/doc/editor_configs/xmlmind/addon/config/scons/xslMenu.incl
@@ -0,0 +1,688 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<configuration
+ xmlns="http://www.xmlmind.com/xmleditor/schema/configuration"
+ xmlns:cfg="http://www.xmlmind.com/xmleditor/schema/configuration">
+
+ <!-- ====== First step used by most process commands defined here ====== -->
+
+ <command name="docb.convertStep1">
+ <process>
+ <mkdir dir="resources" />
+ <mkdir dir="raw" />
+
+ <copyDocument to="__doc.xml">
+ <resources match="(https|http|ftp)://.*" />
+
+ <!-- Support for textdata/@fileref.
+ add your favorite text file extensions here: -->
+ <resources
+ match=".+\.(txt|text|htm|html|xml|h|c|cpp|java|js|tcl|py|pl|rb)"
+ copyTo="." />
+
+ <resources match=".+\.(png|jpg|jpeg|gif)"
+ copyTo="resources" />
+ <resources match="(?:.+/)?(.+)\.(\w+)"
+ copyTo="raw" referenceAs="resources/$1.png" />
+ <resources match=".+"
+ copyTo="resources" />
+ </copyDocument>
+
+ <convertImage from="raw" to="resources" format="png" />
+
+ <mkdir dir="images/callouts" />
+ <copyProcessResources resources="xsl/images/draft.png" to="images" />
+ <copyProcessResources resources="@xsl/images/callouts/png_callouts.list"
+ to="images/callouts" />
+ </process>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.toHTML">
+ <process>
+ <subProcess name="docb.convertStep1" />
+
+ <copyProcessResources resources="xsl/css/html.css" to="html.css"
+ name="css" />
+
+ <transform stylesheet="xsl/html/chunk.xsl"
+ file="__doc.xml" to="__doc.html"
+ label="Convert to multi-page HTML"
+ documentation="http://docbook.sourceforge.net/release/xsl/current/doc/html/%{parameter.name|html.stylesheet}.html">
+ <parameter name="use.extensions">1</parameter>
+ <!-- Cannot work and generates a lot of error messages. -->
+ <parameter name="graphicsize.extension">0</parameter>
+
+ <parameter name="base.dir">%W%S</parameter>
+ <parameter name="chunk.first.sections">1</parameter>
+ <parameter name="chunk.section.depth">1</parameter>
+
+ <parameter name="toc.section.depth">3</parameter>
+ <parameter name="section.autolabel">1</parameter>
+
+ <parameter name="callout.graphics">1</parameter>
+
+ <parameter name="html.stylesheet">html.css</parameter>
+
+ <parameterGroup name="docb.toHTML.transformParameters" />
+ </transform>
+
+ <!-- The real HTML file is index.html -->
+ <delete files="__doc.*" />
+
+ <upload base="%0/">
+ <copyFiles files="*.*" toDir="." />
+ <copyFiles files="resources/*" toDir="resources" />
+ <copyFiles files="images/*" toDir="images" />
+ </upload>
+ </process>
+ </command>
+
+ <command name="docb.convertToHTML">
+ <macro>
+ <sequence>
+ <command name="selectConvertedFile"
+ parameter="saveDirectoryURL" />
+ <command name="docb.toHTML" parameter='"%_"' />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.toHTML1">
+ <process>
+ <subProcess name="docb.convertStep1" />
+
+ <copyProcessResources resources="xsl/css/html.css" to="html.css"
+ name="css" />
+
+ <transform stylesheet="xsl/html/docbook.xsl"
+ file="__doc.xml" to="__doc.html"
+ label="Convert to single-page HTML"
+ documentation="http://docbook.sourceforge.net/release/xsl/current/doc/html/%{parameter.name|html.stylesheet}.html">
+ <parameter name="use.extensions">1</parameter>
+ <!-- Cannot work and generates a lot of error messages. -->
+ <parameter name="graphicsize.extension">0</parameter>
+
+ <parameter name="generate.toc">%0</parameter>
+ <parameter name="toc.section.depth">3</parameter>
+ <parameter name="section.autolabel">%1</parameter>
+
+ <parameter name="callout.graphics">1</parameter>
+
+ <parameter name="html.stylesheet">html.css</parameter>
+
+ <parameterGroup name="docb.toHTML1.transformParameters" />
+ </transform>
+
+ <upload base="%2">
+ <copyFile file="__doc.html" to="%2" />
+ <copyFile file="html.css" to="html.css" />
+ <copyFiles files="resources/*" toDir="resources" />
+ <copyFiles files="images/*" toDir="images" />
+ </upload>
+ </process>
+ </command>
+
+ <command name="docb.convertToHTML1">
+ <macro>
+ <sequence>
+ <command name="selectConvertedFile"
+ parameter="saveFileURLWithExtension=html" />
+ <command name="docb.toHTML1" parameter='"%0" "%1" "%_"' />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.toHTMLHelp">
+ <process>
+ <subProcess name="docb.convertStep1" />
+
+ <copyProcessResources resources="xsl/css/htmlhelp.css"
+ to="htmlhelp.css" name="css" />
+
+ <transform stylesheet="xsl/htmlhelp/htmlhelp.xsl"
+ file="__doc.xml" to="__doc.html"
+ label="Convert to HTML Help"
+ documentation="http://docbook.sourceforge.net/release/xsl/current/doc/html/%{parameter.name|html.stylesheet}.html">
+ <parameter name="use.extensions">1</parameter>
+ <!-- Cannot work and generates a lot of error messages. -->
+ <parameter name="graphicsize.extension">0</parameter>
+
+ <parameter name="base.dir">%W%S</parameter>
+ <parameter name="manifest.in.base.dir">1</parameter>
+
+ <parameter name="chunk.first.sections">1</parameter>
+ <parameter name="chunk.section.depth">1</parameter>
+
+ <parameter name="toc.section.depth">3</parameter>
+ <parameter name="section.autolabel">1</parameter>
+
+ <parameter name="callout.graphics">1</parameter>
+
+ <parameter name="html.stylesheet">htmlhelp.css</parameter>
+
+ <parameterGroup name="docb.toHTMLHelp.transformParameters" />
+ </transform>
+
+ <!-- Not useful. -->
+ <delete files="__doc.*" />
+
+ <!-- "C:\Program Files\HTML Help Workshop\hhc.exe" is the
+ HTML Help compiler.
+ hhc.exe exit code is 1 even when the compilation is successful.
+ Its exit code should be 0. That's why, without "|| exit 0",
+ the process command thinks hhc.exe has failed. -->
+
+ <shell command="helper(.hhp) htmlhelp.hhp || exit 0"
+ platform="Windows" />
+
+ <upload base="%0">
+ <copyFile file="htmlhelp.chm" to="%0" />
+ </upload>
+ </process>
+ </command>
+
+ <command name="docb.convertToHTMLHelp">
+ <macro>
+ <sequence>
+ <!-- path.separator==';' only on Windows. -->
+ <test expression="system-property('path.separator') = ';'" />
+
+ <command name="selectConvertedFile"
+ parameter="saveFileURLWithExtension=chm" />
+ <command name="docb.toHTMLHelp" parameter='"%_"' />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.toJavaHelpStep1">
+ <process>
+ <subProcess name="docb.convertStep1" />
+
+ <copyProcessResources resources="xsl/css/javahelp.css"
+ to="javahelp.css" name="css" />
+
+ <transform stylesheet="xsl/javahelp/javahelp.xsl"
+ file="__doc.xml" to="__doc.html"
+ label="Convert to Java Help"
+ documentation="http://docbook.sourceforge.net/release/xsl/current/doc/html/%{parameter.name|html.stylesheet}.html">
+ <parameter name="use.extensions">1</parameter>
+ <!-- Cannot work and generates a lot of error messages. -->
+ <parameter name="graphicsize.extension">0</parameter>
+
+ <parameter name="base.dir">%W%S</parameter>
+
+ <parameter name="chunk.first.sections">1</parameter>
+ <parameter name="chunk.section.depth">2</parameter>
+
+ <parameter name="generate.toc"> </parameter>
+
+ <parameter name="callout.graphics">1</parameter>
+
+ <parameter name="html.stylesheet">javahelp.css</parameter>
+
+ <parameterGroup name="docb.toJavaHelp.transformParameters" />
+ </transform>
+
+ <!-- The real file is not __doc.html -->
+ <delete files="__doc.*" />
+
+ <shell command="helper(application/x-java-help-index) ." />
+ </process>
+ </command>
+
+ <command name="docb.toJavaHelp">
+ <process>
+ <subProcess name="docb.toJavaHelpStep1" />
+
+ <jar archive="__help_jar__">
+ <add files="*.*" />
+ <add files="resources/*" />
+ <add files="images/*" />
+ <add files="JavaHelpSearch/*" />
+ </jar>
+
+ <upload base="%0">
+ <copyFile file="__help_jar__" to="%0" />
+ </upload>
+ </process>
+ </command>
+
+ <!-- Useful when the application merges several HelpSets -->
+ <command name="docb.toJavaHelpWithPrefix">
+ <process>
+ <subProcess name="docb.toJavaHelpStep1" />
+
+ <mkdir dir="%1" />
+ <copy files="*.*" to="%1" />
+ <copy recurse="true" files="resources" to="%1" />
+ <copy recurse="true" files="images" to="%1" />
+ <copy recurse="true" files="JavaHelpSearch" to="%1" />
+
+ <jar archive="__help_jar__">
+ <add files="%1/*" />
+ </jar>
+
+ <upload base="%0">
+ <copyFile file="__help_jar__" to="%0" />
+ </upload>
+ </process>
+ </command>
+
+ <command name="docb.convertToJavaHelp">
+ <macro>
+ <sequence>
+ <command name="selectConvertedFile"
+ parameter="saveFileURLWithExtension=jar" />
+ <command name="docb.toJavaHelp" parameter='"%_"' />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.toEclipseHelp">
+ <process>
+ <subProcess name="docb.convertStep1" />
+
+ <copyProcessResources resources="xsl/css/eclipsehelp.css"
+ to="eclipsehelp.css" name="css" />
+
+ <transform stylesheet="xsl/eclipse/eclipse.xsl"
+ file="__doc.xml" to="__doc.html"
+ label="Convert to Eclipse Help"
+ documentation="http://docbook.sourceforge.net/release/xsl/current/doc/html/%{parameter.name|html.stylesheet}.html">
+ <parameter name="use.extensions">1</parameter>
+ <!-- Cannot work and generates a lot of error messages. -->
+ <parameter name="graphicsize.extension">0</parameter>
+
+ <parameter name="base.dir">%W%S</parameter>
+ <parameter name="manifest.in.base.dir">1</parameter>
+
+ <parameter name="chunk.first.sections">1</parameter>
+ <parameter name="chunk.section.depth">3</parameter>
+
+ <parameter name="toc.section.depth">3</parameter>
+ <parameter name="section.autolabel">1</parameter>
+
+ <parameter name="callout.graphics">1</parameter>
+
+ <parameter name="html.stylesheet">eclipsehelp.css</parameter>
+
+ <parameter name="eclipse.plugin.name"
+ >REDEFINE THIS: title of this help</parameter>
+ <parameter name="eclipse.plugin.id"
+ >REDEFINE THIS: unique.id.of.this.plugin</parameter>
+ <parameter name="eclipse.plugin.provider"
+ >REDEFINE THIS: author, company or organization</parameter>
+
+ <parameterGroup name="docb.toEclipseHelp.transformParameters" />
+ </transform>
+
+ <!-- Not useful. -->
+ <delete files="__doc.*" />
+
+ <upload base="%0/">
+ <copyFiles files="*.*" toDir="." />
+ <copyFiles files="resources/*" toDir="resources" />
+ <copyFiles files="images/*" toDir="images" />
+ </upload>
+ </process>
+ </command>
+
+ <command name="docb.convertToEclipseHelp">
+ <macro>
+ <sequence>
+ <command name="selectConvertedFile"
+ parameter="saveDirectoryURL" />
+ <command name="docb.toEclipseHelp" parameter='"%_"' />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.toEpub">
+ <process>
+ <mkdir dir="raw" />
+ <mkdir dir="images" />
+ <mkdir dir="META-INF" />
+
+ <copyDocument to="__doc.xml">
+ <resources match="(https|http|ftp)://.*" />
+
+ <!-- Support for textdata/@fileref.
+ add your favorite text file extensions here: -->
+ <resources
+ match=".+\.(txt|text|htm|html|xml|h|c|cpp|java|js|tcl|py|pl|rb)"
+ copyTo="." />
+
+ <resources match=".+\.(png|jpg|jpeg|gif)"
+ copyTo="images" />
+ <resources match="(?:.+/)?(.+)\.(\w+)"
+ copyTo="raw" referenceAs="images/$1.png" />
+ <resources match=".+"
+ copyTo="images" />
+ </copyDocument>
+
+ <convertImage from="raw" to="images" format="png" />
+
+ <mkdir dir="images/callouts" />
+ <copyProcessResources resources="xsl/images/draft.png"
+ to="images" />
+ <copyProcessResources resources="@xsl/images/callouts/png_callouts.list"
+ to="images/callouts" />
+
+ <copyProcessResources resources="xsl/css/epub.css"
+ to="epub.css" name="css" />
+ <copyProcessResources resources="xsl/epub/mimetype"
+ to="mimetype" />
+ <copyProcessResources resources="xsl/epub/META-INF/container.xml"
+ to="META-INF/container.xml" />
+
+ <transform stylesheet="xsl/epub/epub.xsl"
+ file="__doc.xml" to="__doc.html"
+ label="Convert to Epub"
+ documentation="http://docbook.sourceforge.net/release/xsl/current/doc/html/%{parameter.name|html.stylesheet}.html">
+ <parameter name="use.extensions">1</parameter>
+ <!-- Cannot work and generates a lot of error messages. -->
+ <parameter name="graphicsize.extension">0</parameter>
+
+ <parameter name="base.dir">%W%S</parameter>
+
+ <parameter name="chunk.first.sections">1</parameter>
+ <parameter name="chunk.section.depth">3</parameter>
+
+ <parameter name="generate.toc"> </parameter>
+
+ <parameter name="callout.graphics">1</parameter>
+
+ <parameter name="html.stylesheet">epub.css</parameter>
+
+ <parameterGroup name="docb.toEpub.transformParameters" />
+ </transform>
+
+ <!-- Not useful. -->
+ <delete files="__doc.*" />
+
+ <zip archive="epub.zip">
+ <add files="mimetype" store="true" />
+ <add files="META-INF/*" />
+ <add files="*.html" />
+ <add files="*.css" />
+ <add files="images/*" />
+ <add files="content.opf" />
+ <add files="toc.ncx" />
+ </zip>
+
+ <upload base="%0">
+ <copyFile file="epub.zip" to="%0" />
+ </upload>
+ </process>
+ </command>
+
+ <command name="docb.convertToEpub">
+ <macro>
+ <sequence>
+ <command name="selectConvertedFile"
+ parameter="saveFileURLWithExtension=epub" />
+ <command name="docb.toEpub" parameter='"%_"' />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.toRTF">
+ <process>
+ <subProcess name="docb.convertStep1" />
+
+ <transform stylesheet="xsl/fo/docbook.xsl"
+ file="__doc.xml" to="__doc.fo"
+ label="Convert to RTF, WordprocessingML, OOXML, OpenDocument"
+ documentation="http://docbook.sourceforge.net/release/xsl/current/doc/fo/%{parameter.name|paper.type}.html">
+ <parameter name="use.extensions">1</parameter>
+ <!-- Cannot work and generates a lot of error messages. -->
+ <parameter name="graphicsize.extension">0</parameter>
+
+ <parameter name="paper.type">A4</parameter>
+
+ <parameter name="generate.toc">%2</parameter>
+ <parameter name="toc.section.depth">3</parameter>
+ <parameter name="section.autolabel">%3</parameter>
+
+ <parameter name="callout.graphics">1</parameter>
+
+ <parameter name="shade.verbatim">1</parameter>
+
+ <parameter name="ulink.show">0</parameter>
+
+ <parameterGroup name="docb.toRTF.transformParameters" />
+ </transform>
+
+ <processFO processor="XFC" file="__doc.fo" to="__doc.%0">
+ <parameter name="outputFormat">%0</parameter>
+ <parameter name="outputEncoding">%1</parameter>
+ <parameter name="imageResolution">120</parameter>
+ <parameter name="prescaleImages">false</parameter>
+ <parameterGroup name="docb.toRTF.XFCParameters" />
+ </processFO>
+
+ <upload base="%4">
+ <copyFile file="__doc.%0" to="%4" />
+ </upload>
+ </process>
+ </command>
+
+ <command name="docb.convertToRTF">
+ <macro>
+ <sequence>
+ <command name="selectConvertedFile"
+ parameter="saveFileURLWithExtension=%4" />
+ <command name="docb.toRTF" parameter='"%0" "%1" "%2" "%3" "%_"' />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.toPS">
+ <process>
+ <mkdir dir="resources" />
+ <mkdir dir="raw" />
+
+ <copyDocument to="__doc.xml">
+ <resources match="(https|http|ftp)://.*" />
+
+ <!-- Support for textdata/@fileref.
+ add your favorite text file extensions here: -->
+ <resources
+ match=".+\.(txt|text|htm|html|xml|h|c|cpp|java|js|tcl|py|pl|rb)"
+ copyTo="." />
+
+ <!-- referenceAs=absolute_URL is used as a workaround for
+ FOP 0.20.5 ``really strange'' image managment.
+ (This is harmless for XEP.) -->
+
+ <resources match="(?:.+/)?(.+)\.(png|jpg|jpeg|gif|mml|svg|svgz%1)"
+ copyTo="resources" referenceAs="%w/resources/$1.$2" />
+ <resources match="(?:.+/)?(.+)\.tex"
+ copyTo="raw" referenceAs="%w/resources/$1.%0" />
+ <resources match="(?:.+/)?(.+)\.(\w+)"
+ copyTo="raw" referenceAs="%w/resources/$1.png" />
+ <resources match="(?:.+/)?(.+)"
+ copyTo="resources" referenceAs="%w/resources/$1" />
+ </copyDocument>
+
+ <convertImage from="raw" to="resources" format="%0 png" />
+
+ <mkdir dir="images/callouts" />
+ <copyProcessResources resources="xsl/images/draft.png" to="images" />
+ <copyProcessResources resources="@xsl/images/callouts/png_callouts.list"
+ to="images/callouts" />
+
+ <transform stylesheet="xsl/fo/docbook.xsl"
+ file="__doc.xml" to="__doc.fo"
+ label="Convert to PDF, PostScript"
+ documentation="http://docbook.sourceforge.net/release/xsl/current/doc/fo/%{parameter.name|paper.type}.html">
+ <parameter name="use.extensions">1</parameter>
+ <!-- Cannot work and generates a lot of error messages. -->
+ <parameter name="graphicsize.extension">0</parameter>
+
+ <parameter name="paper.type">A4</parameter>
+
+ <parameter name="generate.toc">%2</parameter>
+ <parameter name="toc.section.depth">3</parameter>
+ <parameter name="section.autolabel">%3</parameter>
+
+ <parameter name="callout.graphics">1</parameter>
+
+ <parameter name="shade.verbatim">1</parameter>
+
+ <parameter name="ulink.show">0</parameter>
+
+ <parameterGroup name="docb.toPS.transformParameters" />
+ </transform>
+
+ <processFO processor="XEP" file="__doc.fo" to="__doc.%0">
+ <parameter name="OUTPUT_FORMAT">%0</parameter>
+ <parameter name="PS.LANGUAGE_LEVEL">2</parameter>
+ <parameterGroup name="docb.toPS.XEPParameters" />
+
+ <!-- If XEP plug-in has not been installed, try FOP plug-in. -->
+ <processFO processor="FOP" file="__doc.fo" to="__doc.%0">
+ <parameter name="renderer">%0</parameter>
+ <parameter name="strict-validation">false</parameter>
+ <parameterGroup name="docb.toPS.FOPParameters" />
+ </processFO>
+ </processFO>
+ </process>
+ </command>
+
+ <command name="docb.toPSFile">
+ <process>
+ <subProcess name="docb.toPS" parameter='"%0" "%1" "%2" "%3"' />
+
+ <upload base="%4">
+ <copyFile file="__doc.%0" to="%4" />
+ </upload>
+ </process>
+ </command>
+
+ <command name="docb.convertToPS">
+ <macro>
+ <sequence>
+ <command name="selectConvertedFile"
+ parameter="saveFileURLWithExtension=%0" />
+ <command name="docb.toPSFile" parameter='"%0" "%1" "%2" "%3" "%_"' />
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.toPSPrinter">
+ <process>
+ <subProcess name="docb.toPS" parameter='"%0" "%1" "%2" "%3"' />
+
+ <print file="__doc.%0" printer="%4" />
+ </process>
+ </command>
+
+ <command name="docb.printPS">
+ <macro>
+ <sequence>
+ <command name="selectPrinter" parameter="%0" />
+ <command name="docb.toPSPrinter" parameter='"%0" "%1" "%2" "%3" "%_"'/>
+ </sequence>
+ </macro>
+ </command>
+
+ <!-- =================================================================== -->
+
+ <menu label="_DocBook"
+ insert="ifDefined(XXE.Edition.Unrestricted)after ##last">
+ <separator />
+ <menu label="_Convert Document">
+ <item label="Convert to _HTML..."
+ command="docb.convertToHTML" />
+ <item label="Convert to HTML [_one page]..."
+ command="docb.convertToHTML1"
+ parameter='"/book toc /article toc" 1' />
+ <item label="Convert to HTML [one page, _no TOC]..."
+ command="docb.convertToHTML1" parameter='" " 0' />
+ <separator />
+ <item label="Convert to HTM_L Help..."
+ command="docb.convertToHTMLHelp" />
+ <separator />
+ <item label="Convert to _Java Help..."
+ command="docb.convertToJavaHelp" />
+ <separator />
+ <item label="Convert to _Eclipse Help..."
+ command="docb.convertToEclipseHelp" />
+ <separator />
+ <item label="Convert to Epu_b..."
+ command="docb.convertToEpub" />
+ <separator />
+ <item label="Convert to _RTF (Word 2000+)..."
+ command="docb.convertToRTF"
+ parameter='rtf Cp1252 "/book toc /article toc" 1 rtf' />
+ <item label="Convert to R_TF [no TOC]..."
+ command="docb.convertToRTF"
+ parameter='rtf Cp1252 " " 0 rtf' />
+ <separator />
+ <item label="Convert to _WordprocessingML (Word 2003+)..."
+ command="docb.convertToRTF"
+ parameter='wml UTF-8 "/book toc /article toc" 1 wml' />
+ <item label="Convert to Wordprocessing_ML [no TOC]..."
+ command="docb.convertToRTF"
+ parameter='wml UTF-8 " " 0 wml' />
+ <separator />
+ <item label="Convert to Office Open _XML (Word 2007+)..."
+ command="docb.convertToRTF"
+ parameter='docx UTF-8 "/book toc /article toc" 1 docx' />
+ <item label="Con_vert to Office Open XML [no TOC]..."
+ command="docb.convertToRTF"
+ parameter='docx UTF-8 " " 0 docx' />
+ <separator />
+ <item label="Convert to Open_Document (OpenOffice.org 2+)..."
+ command="docb.convertToRTF"
+ parameter='odt UTF-8 "/book toc /article toc" 1 odt' />
+ <item label="Convert to OpenDoc_ument [no TOC]..."
+ command="docb.convertToRTF"
+ parameter='odt UTF-8 " " 0 odt' />
+ <separator />
+ <item label="Print Post_Script..."
+ command="docb.printPS"
+ parameter='ps |eps|ps "/book toc /article toc" 1' />
+ <item label="Print PostScr_ipt [no TOC]..."
+ command="docb.printPS"
+ parameter='ps |eps|ps " " 0' />
+ <separator />
+ <item label="Convert to _PDF..."
+ command="docb.convertToPS"
+ parameter='pdf |pdf "/book toc /article toc" 1' />
+ <item label="Convert to PD_F [no TOC]..."
+ command="docb.convertToPS"
+ parameter='pdf |pdf " " 0' />
+ </menu>
+ </menu>
+
+ <!-- =================================================================== -->
+
+ <command name="docb.conversionPreferences">
+ <class>com.xmlmind.xmleditext.docbook.ConversionPreferences</class>
+ </command>
+
+ <menu name="customizeConfig" label="_Customize Configuration">
+ <item label="Document Conversion _Preferences..."
+ command="docb.conversionPreferences" />
+ </menu>
+
+</configuration>