diff options
59 files changed, 13113 insertions, 336 deletions
diff --git a/bin/SConsDoc.py b/bin/SConsDoc.py index 8889923..e5d28cd 100644 --- a/bin/SConsDoc.py +++ b/bin/SConsDoc.py @@ -213,6 +213,39 @@ def validate_xml(fpath, xmlschema_context): return True +def prettyprint_xml(fpath): + if not has_libxml2: + # At the moment we prefer libxml2 over lxml, the latter can lead + # to conflicts when installed together with libxml2. + if has_lxml: + # Use lxml + from lxml import etree + fin = open(fpath,'r') + tree = etree.parse(fin) + pretty_content = etree.tostring(tree, pretty_print=True) + fin.close() + + fout = open(fpath,'w') + fout.write(pretty_content) + fout.close() + else: + # Use xmllint as a last fallback + try: + import subprocess + p = subprocess.Popen(['xmllint', '-o', fpath, '--format', fpath], + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + sout, serr = p.communicate() + except: + print "Can't prettyprint %s! Neither lxml/libxml2, nor xmllint found." % fpath + return False + + # Read file and resolve entities + doc = libxml2.readFile(fpath, None, libxml2.XML_PARSE_NOENT) + err = xmlschema_context.schemaValidateDoc(doc) + # Cleanup + doc.freeDoc() + + perc="%" def validate_all_xml(dpath='src', xsdfile=default_xsd): @@ -302,7 +335,7 @@ class Builder(Item): class Function(Item): def __init__(self, name): super(Function, self).__init__(name) - self.arguments = [] + self.arguments = ['()'] class Tool(Item): def __init__(self, name): diff --git a/bin/scons-proc.py b/bin/scons-proc.py index 7a56a79..3d460ab 100644 --- a/bin/scons-proc.py +++ b/bin/scons-proc.py @@ -126,6 +126,16 @@ class SCons_XML(object): fl = filename.split(',') filename = fl[0] f = self.fopen(filename) + + # Write XML header + f.write("""<?xml version='1.0'?> +<variablelist xmlns="%s" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="%s scons.xsd"> + +""" % (SConsDoc.dbxsd, SConsDoc.dbxsd)) + f.write(Warning) + for v in self.values: f.write('\n<varlistentry id="%s%s">\n' % (v.prefix, v.idfunc())) @@ -149,6 +159,9 @@ class SCons_XML(object): f.write('</listitem>\n') f.write('</varlistentry>\n') + # Write end tag + f.write('\n</variablelist>\n') + def write_mod(self, filename): try: description = self.values[0].description @@ -262,7 +275,7 @@ class Function(SConsThing): signature = arg.signature except AttributeError: signature = "both" - s = self.args_to_xml(arg) + s = arg # TODO: self.args_to_xml(arg) if signature in ('both', 'global'): result.append('<synopsis>%s%s</synopsis>\n' % (self.name, s)) #<br> if signature in ('both', 'env'): 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 index ab32eab..3c937ee 100644 --- a/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbpoolx.xsd +++ b/doc/editor_configs/xmlmind/addon/config/scons/scons_xsd/dbpoolx.xsd @@ -2230,6 +2230,7 @@ <xs:attributeGroup ref="common.attrib"/> <xs:attributeGroup ref="scons_example.role.attrib"/> <xs:attribute name="name" type="xs:string" use="required" /> + <xs:attribute name="printme" type="xs:int" use="optional" /> </xs:attributeGroup> <!-- end of scons_example.attlist --> <!-- end of scons_example.module --> @@ -2345,7 +2346,8 @@ <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="name" type="xs:string" /> + <xs:attribute name="tools" type="xs:string" /> <xs:attribute name="example" type="xs:string" use="required" /> </xs:attributeGroup> <!-- end of scons_output.attlist --> diff --git a/doc/user/actions.xml b/doc/user/actions.xml index d2a3dad..23f1dab 100644 --- a/doc/user/actions.xml +++ b/doc/user/actions.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-actions" + 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>&SCons; Actions</title> + <!-- __COPYRIGHT__ @@ -402,3 +424,5 @@ solutions to the above limitations. </section> --> + +</chapter> diff --git a/doc/user/add-method.xml b/doc/user/add-method.xml index 2deb07a..cb9b358 100644 --- a/doc/user/add-method.xml +++ b/doc/user/add-method.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-add-method" + 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>Pseudo-Builders: the AddMethod function</title> + <!-- __COPYRIGHT__ @@ -125,3 +147,5 @@ and because &AddMethod; provides for copying the method to any clones of the &consenv; instance. </para> + +</chapter> diff --git a/doc/user/alias.xml b/doc/user/alias.xml index 686c004..ae50feb 100644 --- a/doc/user/alias.xml +++ b/doc/user/alias.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-alias" + 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>Alias Targets</title> + <!-- __COPYRIGHT__ @@ -100,3 +122,5 @@ <scons_output_command>scons -Q -c __ROOT__/</scons_output_command> <scons_output_command>scons -Q install</scons_output_command> </scons_output> + +</chapter> diff --git a/doc/user/ant.xml b/doc/user/ant.xml index 0df1027..a346765 100644 --- a/doc/user/ant.xml +++ b/doc/user/ant.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<appendix id="app-ant" + 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>Converting From Ant</title> + <!-- __COPYRIGHT__ @@ -50,3 +72,5 @@ </para> </section> + +</appendix> diff --git a/doc/user/build-install.xml b/doc/user/build-install.xml index 821d2be..1f1d525 100644 --- a/doc/user/build-install.xml +++ b/doc/user/build-install.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-build-install" + 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>Building and Installing &SCons;</title> + <!-- __COPYRIGHT__ @@ -707,3 +729,5 @@ </section> --> + +</chapter> diff --git a/doc/user/builders-built-in.xml b/doc/user/builders-built-in.xml index 3b5b981..1cc5b65 100644 --- a/doc/user/builders-built-in.xml +++ b/doc/user/builders-built-in.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-builders-built-in" + 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>Built-In Builders</title> + <!-- __COPYRIGHT__ @@ -948,3 +970,5 @@ </section> </section> + +</chapter> diff --git a/doc/user/builders-commands.xml b/doc/user/builders-commands.xml index d0aae61..fa6573b 100644 --- a/doc/user/builders-commands.xml +++ b/doc/user/builders-commands.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-builders-commands" + 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>Not Writing a Builder: the &Command; Builder</title> + <!-- __COPYRIGHT__ @@ -154,3 +176,5 @@ </para> + +</chapter> diff --git a/doc/user/builders-writing.xml b/doc/user/builders-writing.xml index 749a8ba..74787fe 100644 --- a/doc/user/builders-writing.xml +++ b/doc/user/builders-writing.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-builders-writing" + 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>Writing Your Own Builders</title> + <!-- __COPYRIGHT__ @@ -1106,3 +1128,5 @@ This functionality could be invoked as in the following example: </section> --> + +</chapter> diff --git a/doc/user/builders.xml b/doc/user/builders.xml index f3989ef..cbe68ba 100644 --- a/doc/user/builders.xml +++ b/doc/user/builders.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<appendix id="app-builders" + 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>Builders</title> + <!-- __COPYRIGHT__ @@ -23,25 +44,6 @@ --> -<!-- -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" -"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> - -<refentry id="Command"> - -<refmeta> -<refentrytitle>Command</refentrytitle> -</refmeta> - -<methodsynopsis> - <methodname>env.Command</methodname> - <methodparam>foo</methodparam> - <methodparam>bar</methodparam> -</methodsynopsis> - -</refentry> ---> - <para> This appendix contains descriptions of all of the @@ -50,8 +52,6 @@ available "out of the box" in this version of SCons. </para> -<variablelist> - -&builders-gen; +<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../generated/builders.gen"/> -</variablelist> +</appendix> diff --git a/doc/user/caching.xml b/doc/user/caching.xml index cb8521b..baea2ea 100644 --- a/doc/user/caching.xml +++ b/doc/user/caching.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-caching" + 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>Caching Built Files</title> + <!-- __COPYRIGHT__ @@ -500,3 +522,5 @@ </section> --> + +</chapter> diff --git a/doc/user/command-line.xml b/doc/user/command-line.xml index 33f88ec..82a201a 100644 --- a/doc/user/command-line.xml +++ b/doc/user/command-line.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-command-line" + 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>Controlling a Build From the Command Line</title> + <!-- __COPYRIGHT__ @@ -2343,3 +2365,5 @@ </section> </section> + +</chapter> diff --git a/doc/user/copyright.xml b/doc/user/copyright.xml index 76e3e50..70396bf 100644 --- a/doc/user/copyright.xml +++ b/doc/user/copyright.xml @@ -1,3 +1,13 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; +]> + +<legalnotice 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"> + <!-- __COPYRIGHT__ @@ -30,3 +40,5 @@ </para> </blockquote> + +</legalnotice> diff --git a/doc/user/depends.xml b/doc/user/depends.xml index f601312..a30ba80 100644 --- a/doc/user/depends.xml +++ b/doc/user/depends.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-depends" + 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>Dependencies</title> + <!-- __COPYRIGHT__ @@ -1870,3 +1892,5 @@ operating system on which the build is performed (as reported by C<uname </section> --> + +</chapter> diff --git a/doc/user/environments.xml b/doc/user/environments.xml index 9f39347..b741ca3 100644 --- a/doc/user/environments.xml +++ b/doc/user/environments.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-environments" + 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>Environments</title> + <!-- __COPYRIGHT__ @@ -1750,3 +1772,5 @@ environment, of directory names, suffixes, etc. </section> </section> + +</chapter> diff --git a/doc/user/errors.xml b/doc/user/errors.xml index 0891bf8..7f2efc6 100644 --- a/doc/user/errors.xml +++ b/doc/user/errors.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-errors" + 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>Errors</title> + <!-- __COPYRIGHT__ @@ -39,3 +61,4 @@ </para> </section> +</chapter> diff --git a/doc/user/example.xml b/doc/user/example.xml index 0891bf8..f8e2599 100644 --- a/doc/user/example.xml +++ b/doc/user/example.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<appendix id="app-example" + 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>Complex &SCons; Example</title> + <!-- __COPYRIGHT__ @@ -39,3 +61,5 @@ </para> </section> + +</appendix> diff --git a/doc/user/factories.xml b/doc/user/factories.xml index cbe313a..8ec22fb 100644 --- a/doc/user/factories.xml +++ b/doc/user/factories.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-factories" + 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>Platform-Independent File System Manipulation</title> + <!-- __COPYRIGHT__ @@ -505,3 +527,5 @@ </sconstruct> </section> + +</chapter> diff --git a/doc/user/file-removal.xml b/doc/user/file-removal.xml index 1d1b604..5ff945b 100644 --- a/doc/user/file-removal.xml +++ b/doc/user/file-removal.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-file-removal" + 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>Controlling Removal of Targets</title> + <!-- __COPYRIGHT__ @@ -221,3 +243,5 @@ </scons_output> </section> + +</chapter> diff --git a/doc/user/functions.xml b/doc/user/functions.xml index 1b1b280..66bfd60 100644 --- a/doc/user/functions.xml +++ b/doc/user/functions.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<appendix id="app-functions" + 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>Functions and Environment Methods</title> + <!-- __COPYRIGHT__ @@ -31,8 +52,6 @@ in this version of &SCons; </para> -<variablelist> - -&functions-gen; +<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../generated/functions.gen"/> -</variablelist> +</appendix> diff --git a/doc/user/gettext.xml b/doc/user/gettext.xml index ba09071..bed0d0e 100644 --- a/doc/user/gettext.xml +++ b/doc/user/gettext.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-gettext" + 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>Internationalization and localization with gettext</title> + <!-- __COPYRIGHT__ @@ -349,3 +371,5 @@ even been touched. </para> </section> + +</chapter> diff --git a/doc/user/hierarchy.xml b/doc/user/hierarchy.xml index d70633d..4c9cd38 100644 --- a/doc/user/hierarchy.xml +++ b/doc/user/hierarchy.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-hierarchical" + 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>Hierarchical Builds</title> + <!-- __COPYRIGHT__ @@ -792,3 +814,5 @@ make no difference to the build. </section> --> + +</chapter> diff --git a/doc/user/install.xml b/doc/user/install.xml index ba179e7..6172eb0 100644 --- a/doc/user/install.xml +++ b/doc/user/install.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<chapter id="chap-install" + 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>Installing Files in Other Directories: the &Install; Builder</title> + <!-- __COPYRIGHT__ @@ -245,3 +267,5 @@ </scons_output> </section> + +</chapter> diff --git a/doc/user/java.xml b/doc/user/java.xml index 4561a4c..041db35 100644 --- a/doc/user/java.xml +++ b/doc/user/java.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-java" + 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>Java Builds</title> + <!-- __COPYRIGHT__ @@ -655,3 +676,5 @@ </para> </section> + +</chapter> diff --git a/doc/user/less-simple.xml b/doc/user/less-simple.xml index fcffa5e..fa0e653 100644 --- a/doc/user/less-simple.xml +++ b/doc/user/less-simple.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-less-simple" + 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>Less Simple Things to Do With Builds</title> + <!-- __COPYRIGHT__ @@ -621,3 +642,5 @@ </para> </section> + +</chapter> diff --git a/doc/user/libraries.xml b/doc/user/libraries.xml index e219e21..01d6066 100644 --- a/doc/user/libraries.xml +++ b/doc/user/libraries.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-libraries" + 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>Building and Linking with Libraries</title> + <!-- __COPYRIGHT__ @@ -443,3 +464,5 @@ </para> </section> + +</chapter> diff --git a/doc/user/main.xml b/doc/user/main.xml index 61b544f..b2dbcb0 100644 --- a/doc/user/main.xml +++ b/doc/user/main.xml @@ -24,9 +24,7 @@ --> -<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" -"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" -[ +<!DOCTYPE sconsdoc [ <!ENTITY % version SYSTEM "../version.xml"> %version; @@ -34,70 +32,15 @@ <!ENTITY % scons SYSTEM "../scons.mod"> %scons; - <!ENTITY % builders-mod SYSTEM "builders.mod"> + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> %builders-mod; - - <!ENTITY % functions-mod SYSTEM "functions.mod"> + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> %functions-mod; - - <!ENTITY % tools-mod SYSTEM "tools.mod"> + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> %tools-mod; - - <!ENTITY % variables-mod SYSTEM "variables.mod"> + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> %variables-mod; - <!ENTITY actions SYSTEM "actions.xml"> - <!ENTITY alias SYSTEM "alias.xml"> - <!ENTITY ant SYSTEM "ant.xml"> - <!ENTITY build-install SYSTEM "build-install.xml"> - <!ENTITY builders SYSTEM "builders.xml"> - <!ENTITY builders-built-in SYSTEM "builders-built-in.xml"> - <!ENTITY builders-commands SYSTEM "builders-commands.xml"> - <!ENTITY builders-writing SYSTEM "builders-writing.xml"> - <!ENTITY add-method SYSTEM "add-method.xml"> - <!ENTITY caching SYSTEM "caching.xml"> - <!ENTITY command-line SYSTEM "command-line.xml"> - <!ENTITY copyright SYSTEM "copyright.xml"> - <!ENTITY depends SYSTEM "depends.xml"> - <!ENTITY environments SYSTEM "environments.xml"> - <!ENTITY errors SYSTEM "errors.xml"> - <!ENTITY example SYSTEM "example.xml"> - <!ENTITY factories SYSTEM "factories.xml"> - <!ENTITY file-removal SYSTEM "file-removal.xml"> - <!ENTITY functions SYSTEM "functions.xml"> - <!ENTITY gettext SYSTEM "gettext.xml"> - <!ENTITY hierarchy SYSTEM "hierarchy.xml"> - <!ENTITY java SYSTEM "java.xml"> - <!ENTITY install SYSTEM "install.xml"> - <!ENTITY less-simple SYSTEM "less-simple.xml"> - <!ENTITY libraries SYSTEM "libraries.xml"> - <!ENTITY make SYSTEM "make.xml"> - <!ENTITY mergeflags SYSTEM "mergeflags.xml"> - <!ENTITY misc SYSTEM "misc.xml"> - <!ENTITY nodes SYSTEM "nodes.xml"> - <!ENTITY output SYSTEM "output.xml"> - <!ENTITY parseconfig SYSTEM "parseconfig.xml"> - <!ENTITY parseflags SYSTEM "parseflags.xml"> - <!ENTITY preface SYSTEM "preface.xml"> - <!ENTITY python SYSTEM "python.xml"> - <!ENTITY repositories SYSTEM "repositories.xml"> - <!ENTITY run SYSTEM "run.xml"> - <!ENTITY scanners SYSTEM "scanners.xml"> - <!ENTITY sconf SYSTEM "sconf.xml"> - <!ENTITY separate SYSTEM "separate.xml"> - <!ENTITY simple SYSTEM "simple.xml"> - <!ENTITY sourcecode SYSTEM "sourcecode.xml"> - <!ENTITY tasks SYSTEM "tasks.xml"> - <!ENTITY tools SYSTEM "tools.xml"> - <!ENTITY troubleshoot SYSTEM "troubleshoot.xml"> - <!ENTITY variables-xml SYSTEM "variables.xml"> - <!ENTITY variants SYSTEM "variants.xml"> - - <!ENTITY builders-gen SYSTEM "builders.gen"> - <!ENTITY functions-gen SYSTEM "functions.gen"> - <!ENTITY tools-gen SYSTEM "tools.gen"> - <!ENTITY variables-gen SYSTEM "variables.gen"> - ]> <!-- @@ -117,7 +60,9 @@ --> -<book> +<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>SCons User Guide &buildversion;</title> @@ -135,54 +80,21 @@ <holder>Steven Knight</holder> </copyright> - <legalnotice> - ©right; - </legalnotice> - + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="copyright.xml"/> + <releaseinfo>version &buildversion;</releaseinfo> </bookinfo> - <preface id="chap-preface"> - <title>Preface</title> - &preface; - </preface> - - <chapter id="chap-build-install"> - <title>Building and Installing &SCons;</title> - &build-install; - </chapter> - - <chapter id="chap-simple"> - <title>Simple Builds</title> - &simple; - </chapter> - - <chapter id="chap-less-simple"> - <title>Less Simple Things to Do With Builds</title> - &less-simple; - </chapter> - - <chapter id="chap-libraries"> - <title>Building and Linking with Libraries</title> - &libraries; - </chapter> - - <chapter id="chap-nodes"> - <title>Node Objects</title> - &nodes; - </chapter> - - <chapter id="chap-depends"> - <title>Dependencies</title> - &depends; - </chapter> - - <chapter id="chap-environments"> - <title>Environments</title> - &environments; - </chapter> - + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="preface.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="build-install.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="simple.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="less-simple.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libraries.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="nodes.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="depends.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="environments.xml"/> + <chapter id="chap-manip-options"> <title>Automatically Putting Command-line Options into their Construction Variables</title> <!-- TODO: This intro paragraph should describe at a high-level @@ -192,96 +104,33 @@ <para> This chapter describes the &MergeFlags;, &ParseFlags;, and &ParseConfig; methods of a &consenv;. </para> - <section id="sect-mergeflags"> - <title>Merging Options into the Environment: the &MergeFlags; Function</title> - &mergeflags; - </section> - <section id="sect-parseflags"> - <title>Separating Compile Arguments into their Variables: the &ParseFlags; Function</title> - &parseflags; - </section> - <section id="sect-parseconfig"> - <title>Finding Installed Library Information: the &ParseConfig; Function</title> - &parseconfig; - </section> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mergeflags.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="parseflags.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="parseconfig.xml"/> <!-- XXX parse_flags= option of Environment() - - <section id="sect-env-parseflags"> - <title>Adding Flags when Constructing Enviroment: the parse_flags Optional Argument</title> - &envparseflags; - </section> --> </chapter> - <chapter id="chap-output"> - <title>Controlling Build Output</title> - &output; - </chapter> - - <chapter id="chap-command-line"> - <title>Controlling a Build From the Command Line</title> - &command-line; - </chapter> - - <chapter id="chap-install"> - <title>Installing Files in Other Directories: the &Install; Builder</title> - &install; - </chapter> - - <chapter id="chap-factories"> - <title>Platform-Independent File System Manipulation</title> - &factories; - </chapter> - - <chapter id="chap-file-removal"> - <title>Controlling Removal of Targets</title> - &file-removal; - </chapter> - - <chapter id="chap-hierarchical"> - <title>Hierarchical Builds</title> - &hierarchy; - </chapter> - - <chapter id="chap-separate"> - <title>Separating Source and Build Directories</title> - &separate; - </chapter> - - <chapter id="chap-variants"> - <title>Variant Builds</title> - &variants; - </chapter> - - <chapter id="chap-gettext"> - <title>Internationalization and localization with gettext</title> - &gettext; - </chapter> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="output.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="command-line.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="install.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="factories.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file-removal.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hierarchy.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="separate.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="variants.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gettext.xml"/> <!-- - <chapter id="chap-builders-built-in"> - <title>Built-In Builders</title> - &builders-built-in; - </chapter> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="builders-built-in.xml"/> --> - <chapter id="chap-builders-writing"> - <title>Writing Your Own Builders</title> - &builders-writing; - </chapter> - - <chapter id="chap-builders-commands"> - <title>Not Writing a Builder: the &Command; Builder</title> - &builders-commands; - </chapter> - - <chapter id="chap-add-method"> - <title>Pseudo-Builders: the AddMethod function</title> - &add-method; - </chapter> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="builders-writing.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="builders-commands.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="add-method.xml"/> <!-- @@ -289,122 +138,44 @@ XXX AddPostAction() XXX AddPreAction() - <chapter id="chap-actions"> - <title>&SCons; Actions</title> - &actions; - </chapter> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="actions.xml"/> --> - <chapter id="chap-scanners"> - <title>Writing Scanners</title> - &scanners; - </chapter> - - <chapter id="chap-repositories"> - <title>Building From Code Repositories</title> - &repositories; - </chapter> - - <chapter id="chap-sconf"> - <title>Multi-Platform Configuration (&Autoconf; Functionality)</title> - &sconf; - </chapter> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="scanners.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="repositories.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sconf.xml"/> <!-- - <chapter id="chap-sourcecode"> - <title>Fetching Files From Source Code Management Systems</title> - &sourcecode; - </chapter> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sourcecode.xml"/> --> - <chapter id="chap-caching"> - <title>Caching Built Files</title> - &caching; - </chapter> - - <chapter id="chap-alias"> - <title>Alias Targets</title> - &alias; - </chapter> - - <chapter id="chap-java"> - <title>Java Builds</title> - &java; - </chapter> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="caching.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="alias.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="java.xml"/> <!-- - <chapter id="chap-run"> - <title>How to Run &SCons;</title> - &run; - </chapter> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="run.xml"/> --> - <chapter id="chap-misc"> - <title>Miscellaneous Functionality</title> - &misc; - </chapter> - - <chapter id="chap-troubleshooting"> - <title>Troubleshooting</title> - &troubleshoot; - </chapter> - - <appendix id="app-variables"> - <title>Construction Variables</title> - &variables-xml; - </appendix> - - <appendix id="app-builders"> - <title>Builders</title> - &builders; - </appendix> - - <appendix id="app-tools"> - <title>Tools</title> - &tools; - </appendix> - - <appendix id="app-functions"> - <title>Functions and Environment Methods</title> - &functions; - </appendix> - - <appendix id="app-tasks"> - <title>Handling Common Tasks</title> - &tasks; - </appendix> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="misc.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="troubleshoot.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="variables.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="builders.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="functions.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tasks.xml"/> <!-- - <appendix id="app-python"> - <title>Python Overview</title> - &example; - </appendix> - - <appendix id="app-example"> - <title>Complex &SCons; Example</title> - &example; - </appendix> - - <appendix id="app-make"> - <title>Converting From Make</title> - &make; - </appendix> - - <appendix id="app-cons"> - <title>Converting From Cons</title> - &cons; - </appendix> - - <appendix id="app-ant"> - <title>Converting From Ant</title> - &ant; - </appendix> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="example.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="make.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ant.xml"/> --> diff --git a/doc/user/make.xml b/doc/user/make.xml index 72b2df1..b553b3e 100644 --- a/doc/user/make.xml +++ b/doc/user/make.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<appendix id="app-make" + 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>Converting From Make</title> + <!-- __COPYRIGHT__ @@ -119,3 +140,5 @@ the makefiles. </para> </section> + +</appendix> diff --git a/doc/user/mergeflags.xml b/doc/user/mergeflags.xml index a148409..0979d94 100644 --- a/doc/user/mergeflags.xml +++ b/doc/user/mergeflags.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<section id="sect-mergeflags" + 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>Merging Options into the Environment: the &MergeFlags; Function</title> + <!-- __COPYRIGHT__ @@ -135,3 +156,5 @@ in the specified construction environment. </para> + +</section> diff --git a/doc/user/misc.xml b/doc/user/misc.xml index dde75bf..c24a014 100644 --- a/doc/user/misc.xml +++ b/doc/user/misc.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-misc" + 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>Miscellaneous Functionality</title> + <!-- __COPYRIGHT__ @@ -604,3 +625,5 @@ </para> </section> + +</chapter> diff --git a/doc/user/nodes.xml b/doc/user/nodes.xml index fb5ce23..82a41fe 100644 --- a/doc/user/nodes.xml +++ b/doc/user/nodes.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-nodes" + 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>Node Objects</title> + <!-- __COPYRIGHT__ @@ -429,3 +450,5 @@ </section> --> + +</chapter> diff --git a/doc/user/output.xml b/doc/user/output.xml index 1383fc0..e2831b6 100644 --- a/doc/user/output.xml +++ b/doc/user/output.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-output" + 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>Controlling Build Output</title> + <!-- __COPYRIGHT__ @@ -679,3 +700,5 @@ </scons_output> </section> + +</chapter> diff --git a/doc/user/parseconfig.xml b/doc/user/parseconfig.xml index 2dbefff..59077a3 100644 --- a/doc/user/parseconfig.xml +++ b/doc/user/parseconfig.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<section id="sect-parseconfig" + 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>Finding Installed Library Information: the &ParseConfig; Function</title> + <!-- __COPYRIGHT__ @@ -138,3 +159,5 @@ ['/usr/X11/include'] scons: `.' is up to date. </screen> + +</section> diff --git a/doc/user/parseflags.xml b/doc/user/parseflags.xml index a0ea290..8a3c225 100644 --- a/doc/user/parseflags.xml +++ b/doc/user/parseflags.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<section id="sect-parseflags" + 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>Separating Compile Arguments into their Variables: the &ParseFlags; Function</title> + <!-- __COPYRIGHT__ @@ -174,3 +195,5 @@ consult the man page for details about those currently recognized. </para> + +</section> diff --git a/doc/user/preface.xml b/doc/user/preface.xml index 6f3140b..067c8a1 100644 --- a/doc/user/preface.xml +++ b/doc/user/preface.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<preface id="chap-preface" + 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>Preface</title> + <!-- __COPYRIGHT__ @@ -424,3 +445,5 @@ </para> </section> + +</preface> diff --git a/doc/user/python.xml b/doc/user/python.xml index e2a7cdd..3846f2e 100644 --- a/doc/user/python.xml +++ b/doc/user/python.xml @@ -1,3 +1,25 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; + +]> + +<appendix id="app-python" + 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>Python overview</title> + <!-- __COPYRIGHT__ @@ -23,11 +45,6 @@ --> - <!-- - - <section> - <title>Python Overview</title> - <para> This section will provide a brief overview of @@ -149,6 +166,4 @@ </para> - </section> - - --> +</appendix> diff --git a/doc/user/repositories.xml b/doc/user/repositories.xml index 33de530..b5bb62d 100644 --- a/doc/user/repositories.xml +++ b/doc/user/repositories.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-repositories" + 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>Building From Code Repositories</title> + <!-- __COPYRIGHT__ @@ -639,3 +660,5 @@ coming into existence.) </para> </section> + +</chapter> diff --git a/doc/user/run.xml b/doc/user/run.xml index 56b8fa2..d190cde 100644 --- a/doc/user/run.xml +++ b/doc/user/run.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-run" + 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>How to Run &SCons;</title> + <!-- __COPYRIGHT__ @@ -373,3 +394,5 @@ do an unconstrained build before committing the integration). </para> </section> + +</chapter> diff --git a/doc/user/scanners.xml b/doc/user/scanners.xml index 50524e0..6712378 100644 --- a/doc/user/scanners.xml +++ b/doc/user/scanners.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-scanners" + 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>Writing Scanners</title> + <!-- __COPYRIGHT__ @@ -390,3 +411,5 @@ over the file scanning rather than being called for each input line: </para> </section> + +</chapter> diff --git a/doc/user/sconf.xml b/doc/user/sconf.xml index 584a82e..3d03adf 100644 --- a/doc/user/sconf.xml +++ b/doc/user/sconf.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-sconf" + 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>Multi-Platform Configuration (&Autoconf; Functionality)</title> + <!-- __COPYRIGHT__ @@ -484,3 +505,5 @@ </section> --> + +</chapter> diff --git a/doc/user/separate.xml b/doc/user/separate.xml index 75605fe..9699521 100644 --- a/doc/user/separate.xml +++ b/doc/user/separate.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-separate" + 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>Separating Source and Build Directories</title> + <!-- __COPYRIGHT__ @@ -538,3 +559,5 @@ program using the F<build/foo.c> path name. </section> --> + +</chapter> diff --git a/doc/user/sideeffect.xml b/doc/user/sideeffect.xml index cbeefae..ad5c85c 100644 --- a/doc/user/sideeffect.xml +++ b/doc/user/sideeffect.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-sideeffect" + 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>Sideeffect files</title> + <!-- __COPYRIGHT__ @@ -23,8 +44,6 @@ --> - <!-- - <para> If &SCons; is unaware that a build step produces an extra file, @@ -35,9 +54,11 @@ </para> + <para> TODO: currently doesn't work due to issue #2154: http://scons.tigris.org/issues/show_bug.cgi?id=2154 - + </para> + <para> If more than one build step creates or manipulates the same file, @@ -75,8 +96,6 @@ <scons_output_command>scons -Q --jobs=2</scons_output_command> </scons_output> - --> - <para> Sometimes a program the you need to call @@ -100,7 +119,7 @@ './build --log logfile.txt $SOURCE $TARGET') env.Command('file2.out', 'file.in', './build --log logfile.txt $SOURCE $TARGET') - <screen> + </screen> <para> @@ -214,3 +233,6 @@ may actually updated by more than one command invocation. </para> + + </chapter> +
\ No newline at end of file diff --git a/doc/user/simple.xml b/doc/user/simple.xml index 8a25be5..41e4a00 100644 --- a/doc/user/simple.xml +++ b/doc/user/simple.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-simple" + 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>Simple Builds</title> + <!-- __COPYRIGHT__ @@ -515,3 +536,5 @@ </para> </section> + +</chapter> diff --git a/doc/user/sourcecode.xml b/doc/user/sourcecode.xml index 04c76d0..55e3089 100644 --- a/doc/user/sourcecode.xml +++ b/doc/user/sourcecode.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-sourcecode" + 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>Fetching Files From Source Code Management Systems</title> + <!-- __COPYRIGHT__ @@ -160,3 +181,5 @@ </section> --> + +</chapter> diff --git a/doc/user/tasks.xml b/doc/user/tasks.xml index 79787a6..2f2f727 100644 --- a/doc/user/tasks.xml +++ b/doc/user/tasks.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<appendix id="app-tasks" + 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>Handling Common Tasks</title> + <!-- __COPYRIGHT__ @@ -144,3 +165,5 @@ produces this: </scons_output> </example> + +</appendix> diff --git a/doc/user/tools.xml b/doc/user/tools.xml index 512bf97..28b8729 100644 --- a/doc/user/tools.xml +++ b/doc/user/tools.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<appendix id="app-tools" + 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>Tools</title> + <!-- __COPYRIGHT__ @@ -31,8 +52,6 @@ available "out of the box" in this version of SCons. </para> -<variablelist> - -&tools-gen; +<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../generated/tools.gen"/> -</variablelist> +</appendix> diff --git a/doc/user/troubleshoot.xml b/doc/user/troubleshoot.xml index d171293..773ccac 100644 --- a/doc/user/troubleshoot.xml +++ b/doc/user/troubleshoot.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-troubleshooting" + 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>Troubleshooting</title> + <!-- __COPYRIGHT__ @@ -912,3 +933,5 @@ </section> --> + +</chapter> diff --git a/doc/user/variables.xml b/doc/user/variables.xml index 7009996..edf0167 100644 --- a/doc/user/variables.xml +++ b/doc/user/variables.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<appendix id="app-variables" + 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>Construction Variables</title> + <!-- __COPYRIGHT__ @@ -49,8 +70,6 @@ where the name appears for each entry. </para> -<variablelist> - -&variables-gen; +<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../generated/variables.gen"/> -</variablelist> +</appendix> diff --git a/doc/user/variants.xml b/doc/user/variants.xml index 9980b1d..b841d0a 100644 --- a/doc/user/variants.xml +++ b/doc/user/variants.xml @@ -1,3 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sconsdoc [ + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> + %builders-mod; + <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> + %functions-mod; + <!ENTITY % tools-mod SYSTEM "../generated/tools.mod"> + %tools-mod; + <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> + %variables-mod; +]> + +<chapter id="chap-variants" + 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>Variant Builds</title> + <!-- __COPYRIGHT__ @@ -149,3 +170,5 @@ is pretty smart about rebuilding things when you change options. </scons_output> --> + +</chapter> diff --git a/doc/version.xml b/doc/version.xml new file mode 100644 index 0000000..a52506b --- /dev/null +++ b/doc/version.xml @@ -0,0 +1,7 @@ + +<!-- +THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. +--> +<!ENTITY builddate "today"> +<!ENTITY buildversion "1.0.0"> +<!ENTITY buildrevision "docdev"> diff --git a/doc/xsd/calstblx.xsd b/doc/xsd/calstblx.xsd new file mode 100644 index 0000000..6f899a3 --- /dev/null +++ b/doc/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/xsd/dbhierx.xsd b/doc/xsd/dbhierx.xsd new file mode 100644 index 0000000..af99df6 --- /dev/null +++ b/doc/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/xsd/dbnotnx.xsd b/doc/xsd/dbnotnx.xsd new file mode 100644 index 0000000..36f690f --- /dev/null +++ b/doc/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/xsd/dbpoolx.xsd b/doc/xsd/dbpoolx.xsd new file mode 100644 index 0000000..3c937ee --- /dev/null +++ b/doc/xsd/dbpoolx.xsd @@ -0,0 +1,8684 @@ +<?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:attribute name="printme" type="xs:int" use="optional" /> + </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" /> + <xs:attribute name="tools" type="xs:string" /> + <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 “called out” 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., Δ + --> + <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/xsd/htmltblx.xsd b/doc/xsd/htmltblx.xsd new file mode 100644 index 0000000..9f82a02 --- /dev/null +++ b/doc/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/xsd/scons.xsd b/doc/xsd/scons.xsd new file mode 100644 index 0000000..481c2d4 --- /dev/null +++ b/doc/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/xsd/xml.xsd b/doc/xsd/xml.xsd new file mode 100644 index 0000000..600f399 --- /dev/null +++ b/doc/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> |