You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/02/12 00:31:04 UTC

[07/51] [partial] ISIS-694: mothballing the docbkx folders.

http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/mothballed/component/objectstore/sql/src/docbkx/guide/isis-sql-objectstore.xml
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/mothballed/component/objectstore/sql/src/docbkx/guide/isis-sql-objectstore.xml b/mothballed/docbkx/mothballed/component/objectstore/sql/src/docbkx/guide/isis-sql-objectstore.xml
new file mode 100644
index 0000000..6858fe9
--- /dev/null
+++ b/mothballed/docbkx/mothballed/component/objectstore/sql/src/docbkx/guide/isis-sql-objectstore.xml
@@ -0,0 +1,886 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"file:./src/docbkx/dtd-4.5/docbookx.dtd">
+<book>
+  <bookinfo>
+    <title><?eval ${docbkxGuideTitle}?></title>
+
+    <subtitle><?eval ${docbkxGuideSubTitle}?></subtitle>
+
+    <releaseinfo><?eval ${project.version}?></releaseinfo>
+
+    <authorgroup>
+      <author>
+        <firstname>Kevin</firstname>
+
+        <surname>Meyer</surname>
+      </author>
+
+      <author>
+        <firstname>Robert</firstname>
+
+        <surname>Matthews</surname>
+      </author>
+    </authorgroup>
+
+    <legalnotice>
+      <para>Permission is granted to make and distribute verbatim copies of
+      this manual provided that the copyright notice and this permission
+      notice are preserved on all copies.</para>
+    </legalnotice>
+  </bookinfo>
+
+  <!-- front matter -->
+
+  <toc></toc>
+
+  <preface id="preface">
+    <title>Preface</title>
+
+    <para><emphasis>Apache Isis</emphasis> is designed to allow programmers
+    rapidly develop domain-driven applications following the <ulink
+    url="http://en.wikipedia.org/wiki/Naked_Objects">Naked Objects</ulink>
+    pattern. It is made up of a core framework plus a number of alternate
+    implementations, and supports various viewers and object stores. Apache
+    Isis is hosted at the <ulink url="http://incubator.apache.org/isis">Apache
+    Foundation</ulink>, and is licensed under <ulink
+    url="http://www.apache.org/licenses/LICENSE-2.0.html">Apache Software
+    License v2</ulink>.</para>
+
+    <para>This guide is written for programmers who want to use the
+    <emphasis>SQL Object Store</emphasis> to persist domain objects running
+    within the <emphasis>Apache Isis</emphasis> framework. Specifically, it
+    covers how to write repository implementations, how to configure the
+    object store, and how to deploy your applications using the object
+    store.</para>
+  </preface>
+
+  <!--main content -->
+
+  <chapter id="chp.Intro">
+    <title>Operation</title>
+
+    <abstract>
+      <para>What's it all about?</para>
+    </abstract>
+
+    <sect1>
+      <title>Background</title>
+
+      <para>The SQL objectstore provides a fully-automatic object store that
+      uses a jdbc SQL-compatible database server.</para>
+
+      <para>All domain objects (entities) are introspected during
+      initialisation, and have a 1-to-1 mapping onto a database table. All
+      properties (values) are mapped onto one or more columns with each
+      database table.</para>
+
+      <para>Domain object classes are introspected and all properties
+      recursively introspected to value types. Thus, if a property stores a
+      reference to a class, that class's properties are introspected,
+      etc.</para>
+    </sect1>
+
+    <sect1>
+      <title>Setup</title>
+
+      <sect2>
+        <title>Properties</title>
+
+        <para>The SQL objectstore is setup via the
+        <code>isis.properties</code> file. The required variables are given
+        below:</para>
+
+        <blockquote>
+          <para><property>isis.persistor.sql.jdbc.driver=org.hsqldb.jdbcDriver</property></para>
+
+          <para><property>isis.persistor.sql.jdbc.connection=jdbc:hsqldb:file:hsql-db/tests</property></para>
+
+          <para><property>isis.persistor.sql.jdbc.user=sa</property></para>
+
+          <para><property>isis.persistor.sql.jdbc.password=</property></para>
+        </blockquote>
+
+        <para>The driver property must contain the name of the jdbc driver
+        class that provides access to your SQL server. Known examples are
+        given below in <xref linkend="sec.servers.tested" />.</para>
+      </sect2>
+
+      <sect2>
+        <title>Table Creation</title>
+
+        <para>Missing database tables are automatically created when the SQL
+        objectstore is initialised.</para>
+
+        <para>Please note that changes to domain classes such as renaming
+        fields (properties) or the classes themselves, are
+        <emphasis>not</emphasis> automatically detected. If you rename a
+        property after a table has been created, you should use the
+        appropriate database administration tool to rename the column in the
+        containing table.</para>
+
+        <para>If you rename a domain class (entity), you must also rename the
+        appropriate table.</para>
+      </sect2>
+    </sect1>
+
+    <sect1>
+      <title>Mappers</title>
+
+      <para>The mappers take care of mapping a value type onto a SQL data
+      type. Default mappers are provided by
+      JdbcFieldMappingFactoryInstaller.</para>
+
+      <sect2>
+        <title id="sec.mappers.modifiable-values">Modifiable values</title>
+
+        <para>The following SQL datatypes can be overridden, if specified in
+        the properties file (the default value is given in parenthesis), [the
+        mapped value classes are given in square brackets]:<simplelist>
+            <member>isis.persistor.sql.datatypes.timestamp (DATETIME)
+            [TimeStamp, java.sql.Timestamp]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.datetime (DATETIME)
+            [DateTime]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.date (DATE) [Date,
+            java.sql.Date, java.util.Date]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.time (TIME) [Time]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.double (FLOAT)
+            [double]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.float (FLOAT)
+            [float]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.short (INT) [short]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.long (INT) [long,
+            Color]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.int (INT) [int]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.boolean (CHAR(1))
+            [boolean]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.string (VARCHAR(65))
+            [String]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.longstring (VARCHAR(128))
+            [String]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.password (VARCHAR(120))
+            [Password]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.default (VARCHAR(65))
+            [Everything else, e.g. Image]</member>
+          </simplelist></para>
+
+        <para><simplelist>
+            <member>isis.persistor.sql.datatypes.primarykey (INTEGER)
+            [IdMappingAbstract -&gt; JdbcObjectReferenceMapping -&gt;
+            JdbcObjectReferenceFieldMapping]</member>
+          </simplelist></para>
+
+        <para>The final value, primarykey, is a special value.</para>
+
+        <para>In general, be very careful about changing the SQL data type, as
+        the default value mappers are written assuming the default values.
+        Data parsing uses prepared statements and reads/writes values as
+        objects.</para>
+
+        <para>The datatype longstring is used to store classnames, required
+        for polymorphism.</para>
+      </sect2>
+
+      <sect2>
+        <title>Floating Point Value Limits</title>
+
+        <para><emphasis>Caution:</emphasis> Testing on certain database
+        servers (MySQL and PostgreSQL) has shown that <code>float</code>s and
+        <code>double</code>s (stored as <code>FLOAT</code> or <code>DOUBLE
+        PRECISION</code> respectively) are not stored to the same resolution
+        as supported by Java. The tested range of float is 1E-37 to 1E38, and
+        the tested range of double is 1E-307 to 1E308.</para>
+      </sect2>
+
+      <sect2>
+        <title>Fixed values</title>
+
+        <para>The following classes are not modifiable:</para>
+
+        <para>[char] is set to CHAR(1)</para>
+
+        <para>[Money] value is FLOAT, currency is VARCHAR(3)</para>
+
+        <para>[Percentage] is FLOAT</para>
+      </sect2>
+
+      <sect2>
+        <title>Modifying individual property types</title>
+
+        <para>By default, all property types will use the SQL datatype, as
+        determined above (see <xref
+        linkend="sec.mappers.modifiable-values" />), but it is possible to
+        override these values for individual object properties, by specifying
+        the following override in the properties file:</para>
+
+        <para><property>isis.persistor.sql.automapper.type.&lt;object&gt;.&lt;property&gt;=&lt;SQL
+        data type&gt;</property></para>
+
+        <para>where</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>object is the final part of the domain object name (e.g. in
+            my.domain.Member, it'll be Member)</para>
+          </listitem>
+
+          <listitem>
+            <para>property is the lower case property name (e.g. in getName(),
+            it'll be name)</para>
+          </listitem>
+
+          <listitem>
+            <para>SQL data type is an acceptable datatype (e.g. VARCHAR(255)
+            )</para>
+          </listitem>
+        </itemizedlist>
+
+        <para>Again, please be very careful about changing the defaults as the
+        value mappers make assumptions about the underlying data type.</para>
+
+        <para>It is safe to change the size of VARCHAR() types, e.g. when you
+        know only a partcular field requires more that 65 characters, the
+        default String length.</para>
+      </sect2>
+    </sect1>
+
+    <sect1>
+      <title>Naming Conventions</title>
+
+      <para>While case is determined by the capabilities of the database
+      driver, all SQL names will be written in UPPER CASE, below.</para>
+
+      <sect2>
+        <title>Tables</title>
+
+        <para>By default, all Isis tables are preceded with "ISIS_". This
+        behaviour can be altered by specifying a replacement table prefix. See
+        <xref linkend="sec.defaults.tableprefix" />.</para>
+
+        <sect3>
+          <title>Internal Tables</title>
+
+          <para>ISIS_ADMIN_SERIAL_ID ISIS_ADMIN_SERVICES</para>
+        </sect3>
+
+        <sect3>
+          <title>Domain Tables</title>
+
+          <para>Only the "class" part of the package name is used. Thus a
+          domain class called "some.package.Client", will be mapped onto a
+          table "ISIS_CLIENT" (assuming that the default table prefix has not
+          been changed).</para>
+        </sect3>
+      </sect2>
+
+      <sect2>
+        <title>Columns</title>
+
+        <sect3>
+          <title>Internal column: pk_id</title>
+
+          <para>ID column: PK_ID</para>
+
+          <para>VERSION BIGINT,</para>
+
+          <para>MODIFIED_BY VARCHAR(32),</para>
+
+          <para>MODIFIED_ON TIMESTAMP</para>
+
+          <para>The default ID column name is "PK_ID", but this can be
+          over-ridden by specifying the new name in the properties
+          file:</para>
+
+          <para><property>isis.persistor.sql.pk_id=id</property></para>
+
+          <para><property>ID column: ID</property></para>
+
+          <para><property>Used internally by Isis to record services, in the
+          table "ISIS_ADMIN_SERVICES".</property></para>
+        </sect3>
+
+        <sect3>
+          <title>Properties</title>
+
+          <para>Most properties are named as per the class property. This
+          means you must take care not to use SQL reserved labels are property
+          names. The exceptions are collections and multi-field values (e.g.
+          Money).</para>
+        </sect3>
+
+        <sect3>
+          <title>Collections</title>
+
+          <para>Collections are mapped onto the child class:</para>
+
+          <para>If a parent class (some.package.Parent) has a collection of
+          (some.other.package.Child) named "children", the child table
+          (ISIS_CHILD) gets a column labeled "FK_PARENT_CHILDREN" of type
+          primarykey. The child property is assigned the ID of the parent
+          class.</para>
+
+          <para>This means that a given child can only appear in one parent's
+          collection of the same name.</para>
+        </sect3>
+
+        <sect3>
+          <title>Multi-field values</title>
+
+          <para>Some value types need more than 1 field to store their values,
+          e.g. Money - some.package.class#price.</para>
+
+          <para>In this case, the SQL objectstore creates 2 fields, price1 and
+          price2.</para>
+
+          <para>See "<code>JdbcMoneyValueMapper</code>", which extends
+          "<code>AbstractJdbcMultiFieldMapping</code>".</para>
+        </sect3>
+      </sect2>
+    </sect1>
+
+    <sect1>
+      <title>Number of instances returned by queries</title>
+
+      <para>By default, only up to 100 object instances are returned by
+      queries. This value can be changed by specifying:</para>
+
+      <para><property>isis.persistor.sql.maxinstances=100</property></para>
+    </sect1>
+
+    <sect1>
+      <title>Versioning</title>
+
+      <para>Isis uses a version number to assist in detecting concurrency
+      conflicts.</para>
+
+      <para>However, if you need to turn off versioning completely, or for a
+      particular table, you can control it with:</para>
+
+      <para><property>isis.persistor.sql.default.versioning=false</property></para>
+
+      <para>for global control, or by table:</para>
+
+      <para><property>isis.persistor.sql.default.versioning.members=false</property></para>
+    </sect1>
+
+    <sect1>
+      <title>Password values</title>
+
+      <para>The <code>JdbcPasswordValueMapper</code> value mapper has the
+      ability to (weakly) encode the password value strings stored in the
+      database tables.</para>
+
+      <para>By adding the following property values:</para>
+
+      <blockquote>
+        <para><property>isis.persistor.sql.default.password.seed=&lt;random
+        string&gt;</property></para>
+
+        <para><property>isis.persistor.sql.default.password.length=&lt;integer
+        length&gt;</property></para>
+      </blockquote>
+
+      <para>You can enable a weak password encoding/decoding scheme that will
+      obscure password values from casual browsers of your database
+      tables.</para>
+
+      <para>The length of all stored passwords is the same, and determined by
+      the <property>isis.persistor.sql.default.password.length</property>
+      property. This length must not exceed the SQL storage, as defined in
+      <xref linkend="sec.mappers.modifiable-values" />.</para>
+
+      <para>The passwords are convolved with the value of the string given by
+      the <property>isis.persistor.sql.default.password.seed</property>
+      property, and the resulting string is stored in the database
+      table.</para>
+
+      <para>If <property>isis.persistor.sql.default.password.seed</property>
+      is undefined (null), the passwords are stored as plain text.</para>
+    </sect1>
+  </chapter>
+
+  <chapter id="ch.supported.dbs">
+    <title>Supported Database Servers</title>
+
+    <abstract>
+      <para>Which SQL database servers have been used?</para>
+    </abstract>
+
+    <sect1>
+      <!--content: List of database servers tested.-->
+
+      <title id="sec.servers.tested">Tested</title>
+
+      <para>The following database servers are tested in the object store
+      integration tests:<itemizedlist>
+          <listitem>
+            <para>HSQLDB (tested against 1.8.0.10)</para>
+          </listitem>
+
+          <listitem>
+            <para>Postgresql (tested on 8.3.12-ubuntu9.04)</para>
+          </listitem>
+
+          <listitem>
+            <para>MySQL (tested on 5.1.31-1ubuntu2)</para>
+          </listitem>
+
+          <listitem>
+            <para>Microsoft SQL Server 2008 (Only from 2008 is DATE and TIME
+            supported)</para>
+          </listitem>
+        </itemizedlist></para>
+
+      <sect2>
+        <title>HSQLDB</title>
+
+        <para></para>
+      </sect2>
+
+      <sect2>
+        <title>Postgresql</title>
+
+        <para><blockquote>
+            <para><property>isis.persistor.sql.jdbc.driver=org.hsqldb.jdbcDriver</property></para>
+
+            <para><property>isis.persistor.sql.jdbc.connection=jdbc:hsqldb:file:hsql-db/tests</property></para>
+
+            <para><property>isis.persistor.sql.jdbc.user=sa</property></para>
+
+            <para><property>isis.persistor.sql.jdbc.password=</property></para>
+          </blockquote>The default <classname>TimeStamp</classname> and
+        <classname>DateTime</classname> SQL data class is DATETIME, which does
+        not work on Postgresql. Here, the default must be replaced with the
+        following properties file entries:</para>
+
+        <blockquote>
+          <para>isis.persistor.sql.datatypes.timestamp=TIMESTAMP</para>
+
+          <para>isis.persistor.sql.datatypes.datetme=TIMESTAMP</para>
+
+          <para>isis.persistor.sql.datatypes.double=DOUBLE PRECISION</para>
+        </blockquote>
+
+        <para></para>
+      </sect2>
+
+      <sect2>
+        <title>MySQL</title>
+
+        <para>There was an issue with storing and correctly retrieving date
+        (time) values - a special "try .. catch" has been used to ensure that
+        UTC temporal values are correctly retrieved.</para>
+
+        <para>The following data type overrides may be required:</para>
+
+        <blockquote>
+          <para>isis.persistor.sql.datatypes.double=DOUBLE PRECISION</para>
+        </blockquote>
+
+        <para></para>
+      </sect2>
+
+      <sect2>
+        <title>Microsoft SQL Server 2008</title>
+
+        <para>The sourceforge driver seemed to work well enough for
+        testing.</para>
+
+        <para>The tested connection parameters were:</para>
+
+        <para><blockquote>
+            <para># SQL Server </para>
+
+            <para>#isis.persistence.sql.jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver</para>
+
+            <para>isis.persistence.sql.jdbc.driver=net.sourceforge.jtds.jdbc.Driver</para>
+
+            <para>isis.persistence.sql.jdbc.connection=jdbc:jtds:sqlserver://&lt;server&gt;;databaseName=&lt;database&gt;</para>
+
+            <para>isis.persistence.sql.jdbc.user=&lt;user&gt;</para>
+
+            <para>isis.persistence.sql.jdbc.password=&lt;password&gt;</para>
+          </blockquote></para>
+
+        <para></para>
+      </sect2>
+
+      <sect2>
+        <title>IBM DB2 (v8)</title>
+
+        <para>Beware! This version of DB2 has a very small limit on table and
+        column names. You will have to keep your domain class and property
+        names short to suit, especially collections!</para>
+
+        <para>The tested connection parameters were:</para>
+
+        <blockquote>
+          <para># DB2 test</para>
+
+          <para>
+          isis.persistence.sql.jdbc.driver=com.ibm.db2.jcc.DB2Driver</para>
+
+          <para>
+          isis.persistence.sql.jdbc.connection=jdbc:db2://&lt;host&gt;:50000/&lt;database&gt;</para>
+
+          <para> isis.persistence.sql.jdbc.user=&lt;user&gt;</para>
+
+          <para> isis.persistence.sql.jdbc.password=&lt;password&gt;</para>
+        </blockquote>
+      </sect2>
+    </sect1>
+
+    <sect1>
+      <title>Tested values</title>
+
+      <para>The following value types have been tested (stored and
+      retrieved):</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>standard values: integer, short, long (INT), float, double
+          (FLOAT), char (CHAR(2)).</para>
+        </listitem>
+
+        <listitem>
+          <para>standard classes: Money (FLOAT and VARCHAR(3)), Percentage
+          (FLOAT), Password (VARCHAR(12)), Color (INT), String (VARCHAR
+          (65)).</para>
+        </listitem>
+
+        <listitem>
+          <para>Special value mappers:</para>
+
+          <itemizedlist>
+            <listitem>
+              <para><code>org.apache.isis.applib.value.date</code> and
+              <code>java.sql.date</code> (DATE, via
+              <code>org.apache.isis.alternatives.objectstore.sql.jdbc.JdbcDateMapper</code>)</para>
+            </listitem>
+
+            <listitem>
+              <para>Time, DateTime (DATETIME), java.sql.Time, java.util.Date,
+              java.sql.Timestamp (DATETIME), TimeStamp (DATETIME) blah</para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+
+        <listitem>
+          <para></para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Default automapper is installed by
+      <code>org.apache.isis.alternatives.objectstore.sql.FieldMappingFactoryInstaller</code>
+      ..</para>
+
+      <para>Default automapper is
+      <code>org.apache.isis.objectstore.sql.jdbc.installer.JdbcFieldMappingFactoryInstaller</code></para>
+
+      <para></para>
+    </sect1>
+  </chapter>
+
+  <chapter>
+    <title id="sec.defaults">Defaults</title>
+
+    <para>The SQL objectstore exposes several defaults that can be replaced
+    either in configuration or at runtime.</para>
+
+    <para>The class
+    <code>org.apache.isis.objectstore.sql.Defaults</code>
+    contains the following:</para>
+
+    <para>Programmatic, at runtime:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>TimeZone: <code>setTimeZone(DateTimeZone.UTC)</code></para>
+      </listitem>
+    </itemizedlist>
+
+    <para>Configuration, e.g. in isis.properties:</para>
+
+    <para><itemizedlist>
+        <listitem>
+          <para>Primary key column:</para>
+
+          <para><property>isis.persistor.sql.default.pk_id=pk_id</property></para>
+        </listitem>
+
+        <listitem>
+          <para>Service ID column:</para>
+
+          <para><property>isis.persistor.sql.default.id=id</property></para>
+        </listitem>
+
+        <listitem>
+          <para>Maximum records returned by objectstore methods that return a
+          list/collection, such as <code>allMatches()</code>, etc:</para>
+
+          <para><property><property>isis.persistor.sql.default.maxinstances=100</property></property></para>
+        </listitem>
+
+        <listitem>
+          <para id="sec.defaults.tableprefix" xreflabel="Table Prefix">Table
+          prefix. The default prefix "isis_" is added to all table created by
+          the object store. This prefix can be replaced, or left off entirely
+          by specifying an empty value, e.g.:</para>
+
+          <para><property>isis.persistor.sql.default.tableprefix=</property></para>
+        </listitem>
+
+        <listitem>
+          <para>See "Modifiable values", <link
+          linkend="sec.mappers.modifiable-values">above</link>.</para>
+        </listitem>
+      </itemizedlist></para>
+  </chapter>
+
+  <chapter>
+    <title>Polymorphism</title>
+
+    <para>The SQL Objectstore supports polymorphic classes. Both properties
+    and collections are supported.</para>
+
+    <sect1>
+      <title>Properties</title>
+
+      <para>Polymorphic properties are handled with
+      <classname>JdbcPolymorphicObjectReferenceMapping</classname>.</para>
+
+      <para>Two columns are created in the class table: The actual instance
+      class type, and the instance ID.</para>
+    </sect1>
+
+    <sect1>
+      <title>Collections</title>
+
+      <para>There are two implementations currently selectable by editting
+      <classname>AbstractAutoMapper</classname>.</para>
+
+      <para>The default implementation is
+      <classname>PolymorphicForeignKeyInChildCollectionBaseMapper</classname>.</para>
+
+      <sect2>
+        <title>PolymorphicForeignKeyInChildCollectionBaseMapper</title>
+
+        <para>Creates two columns in the child class table, to contain the
+        child class type and child class ID.</para>
+
+        <para>Used to map 1-to-many collections by creating, in the collection
+        child table (which may be an interface or abstract class), 2 columns
+        per parent collection.</para>
+
+        <para>The first column is the class type, the second is the entity
+        ID.</para>
+
+        <para>The columns are named by combining the final part of the parent
+        class name and the collection variable name.</para>
+
+        <para>Collection loading is a case of iterating through all collection
+        entries and adding the named class instance of the stored ID.</para>
+      </sect2>
+
+      <sect2>
+        <title>PolymorphicForeignKeyInChildCollectionMapper</title>
+
+        <para>Used to map 1-to-many collections by creating, in the child
+        table, 1 column per parent collection.</para>
+
+        <para>The column is named by combining the final part of the parent
+        class name and the collection variable name.</para>
+
+        <para>Collection loading is a case of iterating through all subclasses
+        of the collection type and adding class instances of the stored ID.
+        This could be problematic if different subclasses have the same
+        ID.</para>
+      </sect2>
+    </sect1>
+  </chapter>
+
+  <appendix>
+    <title>Example</title>
+
+    <para></para>
+
+    <para><property>isis.persistor.sql.jdbc.driver=com.mysql.jdbc.Driver</property></para>
+
+    <para><property>isis.persistor.sql.jdbc.connection=jdbc:mysql://localhost/isis_data</property></para>
+
+    <para><property>isis.persistor.sql.jdbc.user=isis</property></para>
+
+    <para><property>isis.persistor.sql.jdbc.password=noneofyourbusiness</property></para>
+
+    <para><property></property></para>
+
+    <para><property>isis.persistor.sql.default.versioning.Member=false
+    </property></para>
+
+    <para><property>isis.persistor.sql.automapper.type.Member.address=VARCHAR(255)
+    </property></para>
+
+    <para><property>isis.persistor.sql.automapper.type.Member.comments=VARCHAR(255)
+    </property></para>
+  </appendix>
+
+  <appendix>
+    <title>Correspondence</title>
+
+    <abstract>
+      <para>Who said what, when?</para>
+    </abstract>
+
+    <sect1 id="sec.module-ui">
+      <title>Email</title>
+
+      <para></para>
+
+      <sect2>
+        <title>2011/02/01, Response by Dan Haywood</title>
+
+        <para><remark>At the moment I'm just putting down whatever comes into
+        my head, with a view of later editting it into a coherent document,
+        but obviously there are questions of level of detail, etc. For
+        example, should I really bother with describing what persistance is,
+        and how the domain classes are introspected?! </remark></para>
+
+        <para>I don't think so, no.</para>
+
+        <para>That said, if you do find yourself writing "introductory"
+        material like this, we can always move it. The place for such stuff
+        should probably be the "core" documentation
+        (core/src/docbkx/guide/isis-core.xml), which is what I'm chipping away
+        at myself.</para>
+
+        <para><remark>Yes to: what SQL data types are used by default, yes to:
+        how to override the automappers and provide your own mapper, yes to:
+        how collections and parent/child relatonships are handled, etc.
+        </remark></para>
+
+        <para>It'd be worth showing examples of all the different types of
+        mappings supported, as well as those that are not supported.</para>
+
+        <para>For example:</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>Id generation - how is that supported?</para>
+          </listitem>
+
+          <listitem>
+            <para>optimistic locking - how supported?</para>
+          </listitem>
+
+          <listitem>
+            <para>one&lt;-&gt;many</para>
+          </listitem>
+
+          <listitem>
+            <para>one&lt;-many</para>
+          </listitem>
+
+          <listitem>
+            <para>one-&gt;many</para>
+          </listitem>
+
+          <listitem>
+            <para>two one&lt;-&gt;many relationships between same types A and
+            B (if I recall, this isn't supported?)</para>
+          </listitem>
+
+          <listitem>
+            <para>many&lt;-&gt;many</para>
+          </listitem>
+
+          <listitem>
+            <para>many-&gt;many - subtype relationships (roll-up, roll-down,
+            table per subtype)</para>
+          </listitem>
+
+          <listitem>
+            <para>polymorphic relationships to interfaces</para>
+          </listitem>
+        </itemizedlist>
+
+        <para>You could also peruse some of the Hibernate ORM docs for
+        examples of mappings there; that might prompt you to consider some
+        additional scenarios.</para>
+
+        <para><remark>What else?</remark></para>
+
+        <para>Obviously, any additional entries required in isis.properties to
+        enable the SQL object store. In addition, as background it'd be worth
+        explaining about the different subcomponents used by the object store:
+        the OidGenerator, PersistAlgorithm, TransactionManager Also, I know
+        that the JPA object store has to configure a different
+        ClassSubstitutor/ObjectFactory, because it leaves the ORM to perform
+        cglib proxying. I don't think you have any similar restrictions, but
+        it might be worth saying so.</para>
+      </sect2>
+    </sect1>
+
+    <sect1>
+      <title>Edit History</title>
+
+      <para>Last editted: Kevin, 17/10/2011.<!--dd/mm/yyyy--></para>
+    </sect1>
+  </appendix>
+</book>

http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/mothballed/component/viewer/html/impl/src/docbkx/guide/isis-html-viewer.xml
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/mothballed/component/viewer/html/impl/src/docbkx/guide/isis-html-viewer.xml b/mothballed/docbkx/mothballed/component/viewer/html/impl/src/docbkx/guide/isis-html-viewer.xml
new file mode 100644
index 0000000..ad4f63f
--- /dev/null
+++ b/mothballed/docbkx/mothballed/component/viewer/html/impl/src/docbkx/guide/isis-html-viewer.xml
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"file:./src/docbkx/dtd-4.5/docbookx.dtd">
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<book>
+  <bookinfo>
+    <title><?eval ${docbkxGuideTitle}?></title>
+
+    <subtitle><?eval ${docbkxGuideSubTitle}?></subtitle>
+
+    <releaseinfo><?eval ${project.version}?></releaseinfo>
+
+    <authorgroup>
+      <author>
+        <firstname>Robert</firstname>
+
+        <surname>Matthews</surname>
+      </author>
+    </authorgroup>
+
+    <legalnotice>
+      <para>Permission is granted to make and distribute verbatim copies of
+      this manual provided that the copyright notice and this permission
+      notice are preserved on all copies.</para>
+    </legalnotice>
+  </bookinfo>
+
+  <!-- front matter -->
+
+  <toc></toc>
+
+  <preface id="preface">
+    <title>Preface</title>
+
+    <para><emphasis>Apache Isis</emphasis> is designed to allow programmers
+    rapidly develop domain-driven applications following the <ulink
+    url="http://en.wikipedia.org/wiki/Naked_Objects">Naked Objects</ulink>
+    pattern. It is made up of a core framework plus a number of alternate
+    implementations, and supports various viewers and object stores. Apache
+    Isis is hosted at the <ulink url="http://incubator.apache.org/isis">Apache
+    Foundation</ulink>, and is licensed under <ulink
+    url="http://www.apache.org/licenses/LICENSE-2.0.html">Apache Software
+    License v2</ulink>.</para>
+
+    <para>This guide is written for programmers looking to customize,
+    configure and deploy <emphasis>Apache Isis</emphasis> applications using
+    the <emphasis>HTML viewer</emphasis> as the primary user interface.</para>
+  </preface>
+
+  <!-- main content -->
+
+  <chapter id="chp.Intro">
+    <title>Introduction</title>
+
+    <abstract>
+      <para>*** yada yada</para>
+    </abstract>
+
+    <sect1>
+      <title>***</title>
+
+      <para><emphasis>*** yada yada</emphasis></para>
+    </sect1>
+  </chapter>
+
+  <chapter>
+    <title>***</title>
+
+    <abstract>
+      <para>*** yada yada</para>
+    </abstract>
+
+    <sect1>
+      <title>***</title>
+
+      <para><emphasis>*** yada yada</emphasis></para>
+
+      <sect2>
+        <title>Properties</title>
+
+        <para>The html viewer has only two properties</para>
+
+        <programlisting format="linespecific">isis.viewer.html.debug=true</programlisting>
+
+        <para>Which enables debugging on the web controller.</para>
+
+        <programlisting format="linespecific">isis.viewer.html.encoding=UTF-8</programlisting>
+
+        <para>Which enables the character set encoding used by the
+        HTTPServletRequest. This is ISO-8859-1 by default.</para>
+
+        <para></para>
+
+        <para></para>
+      </sect2>
+
+      <sect2>
+        <title>Reading HTML viewer specific properties</title>
+
+        <para></para>
+
+        <para></para>
+
+        <programlisting>&lt;web.xml&gt;
+    ...
+    &lt;context-param&gt;
+        &lt;param-name&gt;isis.viewers&lt;/param-name&gt;
+        &lt;param-value&gt;html&lt;/param-value&gt;
+    &lt;/context-param&gt;
+    ...
+&lt;/web.xml&gt;</programlisting>
+
+        <para>This will cause the viewer_html.properties file to be read if it
+        is present.</para>
+
+        <para></para>
+
+        <para></para>
+
+        <para>NB: the value for this parameter is actually comma-separated, to
+        allow for multiple viewers to be configured in the same webapp.</para>
+
+        <para></para>
+      </sect2>
+
+      <sect2>
+        <title>Hosting multiple viewers at the same time</title>
+
+        <para></para>
+
+        <para>*** combine the servlet, filter and listener entries.</para>
+
+        <para></para>
+
+        <para></para>
+
+        <para></para>
+
+        <para>By default the htmlviewer uses ".app" as the suffix for its .
+        this can be changed using the viewer-html.suffix init-param in
+        web.xml:</para>
+
+        <para></para>
+
+        <para>avoid name clashes.</para>
+
+        <para></para>
+
+        <para></para>
+
+        <para></para>
+
+        <programlisting>&lt;web.xml&gt;
+    ...
+    &lt;context-param&gt;
+        &lt;param-name&gt;viewer-html.suffix&lt;/param-name&gt;
+        &lt;param-value&gt;htmlviewer&lt;/param-value&gt;
+    &lt;/context-param&gt;
+    ...
+&lt;/web.xml&gt;</programlisting>
+
+        <para></para>
+
+        <para></para>
+
+        <para></para>
+      </sect2>
+
+      <sect2>
+        <title>Debugging</title>
+
+        <para>To turn on debuging use the debugon command, e.g.,</para>
+
+        <programlisting>http://localhost:8080/debugon.app</programlisting>
+
+        <para>A control bar appears a the bottom of the page allowing you to
+        display the object graph, specification, connection details and so on.
+        To turn it off use the debugoff command:</para>
+
+        <programlisting>http://localhost:8080/debugoff.app</programlisting>
+
+        <para>The debug pages can be displayed directly by providing the
+        commands: debug; spec and dump - along with a object id if necessary.
+        For example to view the details about the specification for object 28
+        use:</para>
+
+        <programlisting>http://localhost:8080/spec.app?id=28</programlisting>
+
+        <para></para>
+
+        <para></para>
+      </sect2>
+    </sect1>
+  </chapter>
+
+  <appendix>
+    <title>***</title>
+
+    <abstract>
+      <para>*** yada yada</para>
+    </abstract>
+
+    <sect1 id="sec.module-ui">
+      <title>***</title>
+
+      <para>*** yada yada</para>
+    </sect1>
+  </appendix>
+</book>

http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/src/docbkx/dtd-4.5/ChangeLog
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/src/docbkx/dtd-4.5/ChangeLog b/mothballed/docbkx/src/docbkx/dtd-4.5/ChangeLog
new file mode 100644
index 0000000..06f59ce
--- /dev/null
+++ b/mothballed/docbkx/src/docbkx/dtd-4.5/ChangeLog
@@ -0,0 +1,106 @@
+2006-10-03 13:23  nwalsh
+
+	* trunk/docbook/sgml/catalog.xml, trunk/docbook/sgml/docbook.cat,
+	  trunk/docbook/sgml/docbook.dcl, trunk/docbook/sgml/docbook.dtd,
+	  calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod,
+	  dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat,
+	  docbookx.dtd, htmltblx.mod: DocBook V4.5 released
+
+2006-06-02 11:28  nwalsh
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod,
+	  dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat,
+	  docbookx.dtd, freshmeat.xsl, htmltblx.mod: Changed copyright
+	  dates and version numbers
+
+2006-05-30 20:58  nwalsh
+
+	* htmltblx.mod: Supply tag omission markers in SGML; suppress
+	  xml:lang in SGML
+
+2006-03-07 13:11  nwalsh
+
+	* trunk/docbook/sgml/catalog.xml, trunk/docbook/sgml/docbook.cat,
+	  trunk/docbook/sgml/docbook.dcl, trunk/docbook/sgml/docbook.dtd,
+	  calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod,
+	  dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat,
+	  docbookx.dtd, freshmeat.xsl, htmltblx.mod: Change version
+	  numbers to 4.5CR2
+
+2006-03-07 13:03  nwalsh
+
+	* dbpoolx.mod: Allow citebiblioid anywhere the other citation
+	  elements are allowed
+
+2006-02-16 21:12  nwalsh
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod,
+	  dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat,
+	  docbookx.dtd, freshmeat.xsl, htmltblx.mod: DocBook V4.5 released
+
+2005-06-29 10:59  nwalsh
+
+	* trunk/docbook/sgml/docbook.dtd, docbookx.dtd: DocBook V4.5CR1
+	  Released
+
+2005-06-29 10:58  nwalsh
+
+	* trunk/docbook/sgml/catalog.xml, trunk/docbook/sgml/docbook.cat,
+	  trunk/docbook/sgml/docbook.dcl, calstblx.dtd, catalog.xml,
+	  dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod,
+	  dbpoolx.mod, docbook.cat, htmltblx.mod: Updated version number
+
+2005-06-29 10:53  nwalsh
+
+	* freshmeat.xsl: Tweaked freshmeat changes
+
+2005-06-24 21:09  nwalsh
+
+	* calstblx.dtd, dbhierx.mod, dbpoolx.mod, htmltblx.mod,
+	  soextblx.dtd: Added doc: structured comments
+
+2005-05-05 11:41  nwalsh
+
+	* trunk/docbook/sgml/docbook.dtd, docbookx.dtd: DocBook V4.5b1
+	  Released
+
+2005-05-05 11:40  nwalsh
+
+	* trunk/docbook/sgml/catalog.xml, trunk/docbook/sgml/docbook.cat,
+	  trunk/docbook/sgml/docbook.dcl, calstblx.dtd, catalog.xml,
+	  dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod,
+	  dbpoolx.mod, docbook.cat, htmltblx.mod: Updated version number
+
+2005-05-05 11:37  nwalsh
+
+	* freshmeat.xsl: Prepare for 4.5b1
+
+2005-05-05 10:59  nwalsh
+
+	* dbpoolx.mod: RFE 1055480: Make revnumber optional
+
+2005-05-05 10:54  nwalsh
+
+	* dbpoolx.mod, htmltblx.mod: Allow common attributes on HTML table
+	  elements
+
+2005-05-05 10:48  nwalsh
+
+	* dbpoolx.mod: Added termdef
+
+2005-05-05 10:39  nwalsh
+
+	* dbpoolx.mod: Added mathphrase
+
+2005-05-05 10:33  nwalsh
+
+	* dbhierx.mod: RFE 1070458: Allow colophon in article
+
+2005-05-05 10:32  nwalsh
+
+	* dbpoolx.mod: RFE 1070770: Allow procedure in example
+
+2005-05-05 10:21  nwalsh
+
+	* dbpoolx.mod: Add isrn to list of biblioid class attribute values
+

http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/src/docbkx/dtd-4.5/README
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/src/docbkx/dtd-4.5/README b/mothballed/docbkx/src/docbkx/dtd-4.5/README
new file mode 100644
index 0000000..6fc60c4
--- /dev/null
+++ b/mothballed/docbkx/src/docbkx/dtd-4.5/README
@@ -0,0 +1,8 @@
+README for the DocBook XML DTD
+
+For more information about DocBook, please see
+
+  http://www.oasis-open.org/docbook/
+
+Please send all questions, comments, concerns, and bug reports to the
+DocBook mailing list: docbook@lists.oasis-open.org

http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/src/docbkx/dtd-4.5/calstblx.dtd
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/src/docbkx/dtd-4.5/calstblx.dtd b/mothballed/docbkx/src/docbkx/dtd-4.5/calstblx.dtd
new file mode 100644
index 0000000..fac58d7
--- /dev/null
+++ b/mothballed/docbkx/src/docbkx/dtd-4.5/calstblx.dtd
@@ -0,0 +1,215 @@
+<!-- ...................................................................... -->
+<!-- DocBook CALS Table Model V4.5 ........................................ -->
+<!-- File calstblx.mod .................................................... -->
+
+<!-- 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 $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     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/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- 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. -->
+
+<!ENTITY % bodyatt "">
+<!ENTITY % secur "">
+
+<!-- no if zero(s),
+                                yes if any other digits value -->
+
+<!ENTITY % yesorno 'CDATA'>
+<!ENTITY % titles  'title?'>
+
+<!-- default for use in entry content -->
+
+<!ENTITY % paracon '#PCDATA'>
+
+<!--
+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.
+-->
+
+<!ENTITY % tbl.table.name       "(table|chart)">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl   "(tgroup+|graphic+)">
+<!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att        '
+    tabstyle    CDATA           #IMPLIED
+    tocentry    %yesorno;       #IMPLIED
+    shortentry  %yesorno;       #IMPLIED
+    orient      (port|land)     #IMPLIED
+    pgwide      %yesorno;       #IMPLIED '>
+<!ENTITY % tbl.tgroup.mdl       "colspec*,spanspec*,thead?,tfoot?,tbody">
+<!ENTITY % tbl.tgroup.att       '
+    tgroupstyle CDATA           #IMPLIED '>
+<!ENTITY % tbl.hdft.mdl         "colspec*,row+">
+<!ENTITY % tbl.row.mdl          "(entry|entrytbl)+">
+<!ENTITY % tbl.entrytbl.mdl     "colspec*,spanspec*,thead?,tbody">
+<!ENTITY % tbl.entry.mdl        "(para|warning|caution|note|legend|%paracon;)*">
+
+<!ENTITY % tbl.frame.attval     "top|bottom|topbot|all|sides|none">
+<!ENTITY % tbl.tbody.mdl        "row+">
+
+<!-- =====  Element and attribute declarations follow. =====  -->
+
+<!--doc:A formal table in a document.-->
+<!ELEMENT table %ho; (%tbl.table.mdl;)>
+
+<!ATTLIST table
+        frame           (%tbl.frame.attval;)                    #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        %tbl.table.att;
+        %bodyatt;
+        %secur;
+>
+
+<!--doc:A wrapper for the main content of a table, or part of a table.-->
+<!ELEMENT tgroup %ho; (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+        cols            CDATA                                   #REQUIRED
+        %tbl.tgroup.att;
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+        %secur;
+>
+
+<!--doc:Specifications for a column in a table.-->
+<!ELEMENT colspec %ho; EMPTY >
+
+<!ATTLIST colspec
+        colnum          CDATA                                   #IMPLIED
+        colname         CDATA                                   #IMPLIED
+        colwidth        CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+>
+
+<!--doc:Formatting information for a spanned column in a table.-->
+<!ELEMENT spanspec %ho; EMPTY >
+
+<!ATTLIST spanspec
+        namest          CDATA                                   #REQUIRED
+        nameend         CDATA                                   #REQUIRED
+        spanname        CDATA                                   #REQUIRED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+>
+
+<!--doc:A table header consisting of one or more rows.-->
+<!ELEMENT thead %ho; (%tbl.hdft.mdl;)>
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!--doc:A table footer consisting of one or more rows.-->
+<!ELEMENT tfoot %ho; (%tbl.hdft.mdl;)>
+<!ATTLIST tfoot
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!--doc:A wrapper for the rows of a table or informal table.-->
+<!ELEMENT tbody %ho; (%tbl.tbody.mdl;)>
+
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!--doc:A row in a table.-->
+<!ELEMENT row %ho; (%tbl.row.mdl;)>
+
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!--doc:A subtable appearing in place of an Entry in a table.-->
+<!ELEMENT entrytbl %ho; (%tbl.entrytbl.mdl;)>
+
+<!ATTLIST entrytbl
+        cols            CDATA                                   #REQUIRED
+        %tbl.tgroup.att;
+        colname         CDATA                                   #IMPLIED
+        spanname        CDATA                                   #IMPLIED
+        namest          CDATA                                   #IMPLIED
+        nameend         CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+        %secur;
+>
+
+<!--doc:A cell in a table.-->
+<!ELEMENT entry %ho; (%tbl.entry.mdl;)*>
+
+<!ATTLIST entry
+        colname         CDATA                                   #IMPLIED
+        namest          CDATA                                   #IMPLIED
+        nameend         CDATA                                   #IMPLIED
+        spanname        CDATA                                   #IMPLIED
+        morerows        CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+        rotate          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!-- End of DocBook CALS Table Model V4.5 ................................. -->
+<!-- ...................................................................... -->

http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/src/docbkx/dtd-4.5/catalog.xml
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/src/docbkx/dtd-4.5/catalog.xml b/mothballed/docbkx/src/docbkx/dtd-4.5/catalog.xml
new file mode 100644
index 0000000..f75c1d7
--- /dev/null
+++ b/mothballed/docbkx/src/docbkx/dtd-4.5/catalog.xml
@@ -0,0 +1,124 @@
+<?xml version='1.0'?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
+
+<!-- ...................................................................... -->
+<!-- XML Catalog data for DocBook XML V4.5 ................................ -->
+<!-- File catalog.xml ..................................................... -->
+
+<!-- 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/.
+  -->
+
+<!-- This is the catalog data file for DocBook V4.5. It is provided as
+     a convenience in building your own catalog files. You need not use
+     the filenames listed here, and need not use the filename method of
+     identifying storage objects at all.  See the documentation for
+     detailed information on the files associated with the DocBook DTD.
+     See XML Catalogs at http://www.oasis-open.org/committees/entity/ for
+     detailed information on supplying and using catalog data.
+  -->
+
+<!-- ...................................................................... -->
+<!-- DocBook driver file .................................................. -->
+
+<public publicId="-//OASIS//DTD DocBook XML V4.5//EN"
+        uri="docbookx.dtd"/>
+
+<system systemId="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
+	uri="docbookx.dtd"/>
+
+<system systemId="http://docbook.org/xml/4.5/docbookx.dtd"
+	uri="docbookx.dtd"/>
+
+<!-- ...................................................................... -->
+<!-- DocBook modules ...................................................... -->
+
+<public publicId="-//OASIS//DTD DocBook CALS Table Model V4.5//EN"
+        uri="calstblx.dtd"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN"
+	uri="htmltblx.mod"/>
+
+<public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+        uri="soextblx.dtd"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook Information Pool V4.5//EN"
+        uri="dbpoolx.mod"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN"
+        uri="dbhierx.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Additional General Entities V4.5//EN"
+        uri="dbgenent.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Notations V4.5//EN"
+        uri="dbnotnx.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Character Entities V4.5//EN"
+        uri="dbcentx.mod"/>
+
+<!-- ...................................................................... -->
+<!-- ISO entity sets ...................................................... -->
+
+<public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+        uri="ent/isodia.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+        uri="ent/isonum.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Publishing//EN//XML"
+        uri="ent/isopub.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES General Technical//EN//XML"
+        uri="ent/isotech.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+        uri="ent/isolat1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+        uri="ent/isolat2.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+        uri="ent/isogrk1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+        uri="ent/isogrk2.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+        uri="ent/isogrk3.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+        uri="ent/isogrk4.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+        uri="ent/isoamsa.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+        uri="ent/isoamsb.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+        uri="ent/isoamsc.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+        uri="ent/isoamsn.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+        uri="ent/isoamso.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+        uri="ent/isoamsr.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+        uri="ent/isobox.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+        uri="ent/isocyr1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+        uri="ent/isocyr2.ent"/>
+
+<!-- End of catalog data for DocBook XML V4.5 ............................. -->
+<!-- ...................................................................... -->
+
+</catalog>

http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/src/docbkx/dtd-4.5/dbcentx.mod
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/src/docbkx/dtd-4.5/dbcentx.mod b/mothballed/docbkx/src/docbkx/dtd-4.5/dbcentx.mod
new file mode 100644
index 0000000..60de99f
--- /dev/null
+++ b/mothballed/docbkx/src/docbkx/dtd-4.5/dbcentx.mod
@@ -0,0 +1,384 @@
+<!-- ...................................................................... -->
+<!-- DocBook character entities module V4.5 ............................... -->
+<!-- File dbcentx.mod ..................................................... -->
+
+<!-- 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: dbcentx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     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/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the entity declarations for the standard ISO
+     entity sets used by DocBook.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbcent PUBLIC
+     "-//OASIS//ENTITIES DocBook Character Entities V4.5//EN"
+     "dbcentx.mod">
+     %dbcent;
+
+     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.
+-->
+
+<!-- ...................................................................... -->
+
+<![%sgml.features;[
+
+<!ENTITY % ISOamsa.module "INCLUDE">
+<![ %ISOamsa.module; [
+<!ENTITY % ISOamsa PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN">
+<!--end of ISOamsa.module-->]]>
+
+<!ENTITY % ISOamsb.module "INCLUDE">
+<![ %ISOamsb.module; [
+<!ENTITY % ISOamsb PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN">
+<!--end of ISOamsb.module-->]]>
+
+<!ENTITY % ISOamsc.module "INCLUDE">
+<![ %ISOamsc.module; [
+<!ENTITY % ISOamsc PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN">
+<!--end of ISOamsc.module-->]]>
+
+<!ENTITY % ISOamsn.module "INCLUDE">
+<![ %ISOamsn.module; [
+<!ENTITY % ISOamsn PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN">
+<!--end of ISOamsn.module-->]]>
+
+<!ENTITY % ISOamso.module "INCLUDE">
+<![ %ISOamso.module; [
+<!ENTITY % ISOamso PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN">
+<!--end of ISOamso.module-->]]>
+
+<!ENTITY % ISOamsr.module "INCLUDE">
+<![ %ISOamsr.module; [
+<!ENTITY % ISOamsr PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN">
+<!--end of ISOamsr.module-->]]>
+
+<!ENTITY % ISObox.module "INCLUDE">
+<![ %ISObox.module; [
+<!ENTITY % ISObox PUBLIC
+"ISO 8879:1986//ENTITIES Box and Line Drawing//EN">
+<!--end of ISObox.module-->]]>
+
+<!ENTITY % ISOcyr1.module "INCLUDE">
+<![ %ISOcyr1.module; [
+<!ENTITY % ISOcyr1 PUBLIC
+"ISO 8879:1986//ENTITIES Russian Cyrillic//EN">
+<!--end of ISOcyr1.module-->]]>
+
+<!ENTITY % ISOcyr2.module "INCLUDE">
+<![ %ISOcyr2.module; [
+<!ENTITY % ISOcyr2 PUBLIC
+"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN">
+<!--end of ISOcyr2.module-->]]>
+
+<!ENTITY % ISOdia.module "INCLUDE">
+<![ %ISOdia.module; [
+<!ENTITY % ISOdia PUBLIC
+"ISO 8879:1986//ENTITIES Diacritical Marks//EN">
+<!--end of ISOdia.module-->]]>
+
+<!ENTITY % ISOgrk1.module "INCLUDE">
+<![ %ISOgrk1.module; [
+<!ENTITY % ISOgrk1 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Letters//EN">
+<!--end of ISOgrk1.module-->]]>
+
+<!ENTITY % ISOgrk2.module "INCLUDE">
+<![ %ISOgrk2.module; [
+<!ENTITY % ISOgrk2 PUBLIC
+"ISO 8879:1986//ENTITIES Monotoniko Greek//EN">
+<!--end of ISOgrk2.module-->]]>
+
+<!ENTITY % ISOgrk3.module "INCLUDE">
+<![ %ISOgrk3.module; [
+<!ENTITY % ISOgrk3 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Symbols//EN">
+<!--end of ISOgrk3.module-->]]>
+
+<!ENTITY % ISOgrk4.module "INCLUDE">
+<![ %ISOgrk4.module; [
+<!ENTITY % ISOgrk4 PUBLIC
+"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN">
+<!--end of ISOgrk4.module-->]]>
+
+<!ENTITY % ISOlat1.module "INCLUDE">
+<![ %ISOlat1.module; [
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN">
+<!--end of ISOlat1.module-->]]>
+
+<!ENTITY % ISOlat2.module "INCLUDE">
+<![ %ISOlat2.module; [
+<!ENTITY % ISOlat2 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 2//EN">
+<!--end of ISOlat2.module-->]]>
+
+<!ENTITY % ISOnum.module "INCLUDE">
+<![ %ISOnum.module; [
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN">
+<!--end of ISOnum.module-->]]>
+
+<!ENTITY % ISOpub.module "INCLUDE">
+<![ %ISOpub.module; [
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN">
+<!--end of ISOpub.module-->]]>
+
+<!ENTITY % ISOtech.module "INCLUDE">
+<![ %ISOtech.module; [
+<!ENTITY % ISOtech PUBLIC
+"ISO 8879:1986//ENTITIES General Technical//EN">
+<!--end of ISOtech.module-->]]>
+
+<!--end of sgml.features-->]]>
+
+<![%xml.features;[
+
+<!ENTITY % ISOamsa.module "INCLUDE">
+<![%ISOamsa.module;[
+<!ENTITY % ISOamsa PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+"ent/isoamsa.ent">
+<!--end of ISOamsa.module-->]]>
+
+<!ENTITY % ISOamsb.module "INCLUDE">
+<![%ISOamsb.module;[
+<!ENTITY % ISOamsb PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+"ent/isoamsb.ent">
+<!--end of ISOamsb.module-->]]>
+
+<!ENTITY % ISOamsc.module "INCLUDE">
+<![%ISOamsc.module;[
+<!ENTITY % ISOamsc PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+"ent/isoamsc.ent">
+<!--end of ISOamsc.module-->]]>
+
+<!ENTITY % ISOamsn.module "INCLUDE">
+<![%ISOamsn.module;[
+<!ENTITY % ISOamsn PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+"ent/isoamsn.ent">
+<!--end of ISOamsn.module-->]]>
+
+<!ENTITY % ISOamso.module "INCLUDE">
+<![%ISOamso.module;[
+<!ENTITY % ISOamso PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+"ent/isoamso.ent">
+<!--end of ISOamso.module-->]]>
+
+<!ENTITY % ISOamsr.module "INCLUDE">
+<![%ISOamsr.module;[
+<!ENTITY % ISOamsr PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+"ent/isoamsr.ent">
+<!--end of ISOamsr.module-->]]>
+
+<!ENTITY % ISObox.module "INCLUDE">
+<![%ISObox.module;[
+<!ENTITY % ISObox PUBLIC
+"ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+"ent/isobox.ent">
+<!--end of ISObox.module-->]]>
+
+<!ENTITY % ISOcyr1.module "INCLUDE">
+<![%ISOcyr1.module;[
+<!ENTITY % ISOcyr1 PUBLIC
+"ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+"ent/isocyr1.ent">
+<!--end of ISOcyr1.module-->]]>
+
+<!ENTITY % ISOcyr2.module "INCLUDE">
+<![%ISOcyr2.module;[
+<!ENTITY % ISOcyr2 PUBLIC
+"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+"ent/isocyr2.ent">
+<!--end of ISOcyr2.module-->]]>
+
+<!ENTITY % ISOdia.module "INCLUDE">
+<![%ISOdia.module;[
+<!ENTITY % ISOdia PUBLIC
+"ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+"ent/isodia.ent">
+<!--end of ISOdia.module-->]]>
+
+<!ENTITY % ISOgrk1.module "INCLUDE">
+<![%ISOgrk1.module;[
+<!ENTITY % ISOgrk1 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+"ent/isogrk1.ent">
+<!--end of ISOgrk1.module-->]]>
+
+<!ENTITY % ISOgrk2.module "INCLUDE">
+<![%ISOgrk2.module;[
+<!ENTITY % ISOgrk2 PUBLIC
+"ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+"ent/isogrk2.ent">
+<!--end of ISOgrk2.module-->]]>
+
+<!ENTITY % ISOgrk3.module "INCLUDE">
+<![%ISOgrk3.module;[
+<!ENTITY % ISOgrk3 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+"ent/isogrk3.ent">
+<!--end of ISOgrk3.module-->]]>
+
+<!ENTITY % ISOgrk4.module "INCLUDE">
+<![%ISOgrk4.module;[
+<!ENTITY % ISOgrk4 PUBLIC
+"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+"ent/isogrk4.ent">
+<!--end of ISOgrk4.module-->]]>
+
+<!ENTITY % ISOlat1.module "INCLUDE">
+<![%ISOlat1.module;[
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+"ent/isolat1.ent">
+<!--end of ISOlat1.module-->]]>
+
+<!ENTITY % ISOlat2.module "INCLUDE">
+<![%ISOlat2.module;[
+<!ENTITY % ISOlat2 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+"ent/isolat2.ent">
+<!--end of ISOlat2.module-->]]>
+
+<!ENTITY % ISOnum.module "INCLUDE">
+<![%ISOnum.module;[
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+"ent/isonum.ent">
+<!--end of ISOnum.module-->]]>
+
+<!ENTITY % ISOpub.module "INCLUDE">
+<![%ISOpub.module;[
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN//XML"
+"ent/isopub.ent">
+<!--end of ISOpub.module-->]]>
+
+<!ENTITY % ISOtech.module "INCLUDE">
+<![%ISOtech.module;[
+<!ENTITY % ISOtech PUBLIC
+"ISO 8879:1986//ENTITIES General Technical//EN//XML"
+"ent/isotech.ent">
+<!--end of ISOtech.module-->]]>
+
+<!--end of xml.features-->]]>
+
+<![ %ISOamsa.module; [
+%ISOamsa;
+]]>
+
+<![ %ISOamsb.module; [
+%ISOamsb;
+]]>
+
+<![ %ISOamsc.module; [
+%ISOamsc;
+]]>
+
+<![ %ISOamsn.module; [
+%ISOamsn;
+]]>
+
+<![ %ISOamso.module; [
+%ISOamso;
+]]>
+
+<![ %ISOamsr.module; [
+%ISOamsr;
+]]>
+
+<![ %ISObox.module; [
+%ISObox;
+]]>
+
+<![ %ISOcyr1.module; [
+%ISOcyr1;
+]]>
+
+<![ %ISOcyr2.module; [
+%ISOcyr2;
+]]>
+
+<![ %ISOdia.module; [
+%ISOdia;
+]]>
+
+<![ %ISOgrk1.module; [
+%ISOgrk1;
+]]>
+
+<![ %ISOgrk2.module; [
+%ISOgrk2;
+]]>
+
+<![ %ISOgrk3.module; [
+%ISOgrk3;
+]]>
+
+<![ %ISOgrk4.module; [
+%ISOgrk4;
+]]>
+
+<![ %ISOlat1.module; [
+%ISOlat1;
+]]>
+
+<![ %ISOlat2.module; [
+%ISOlat2;
+]]>
+
+<![ %ISOnum.module; [
+%ISOnum;
+]]>
+
+<![ %ISOpub.module; [
+%ISOpub;
+]]>
+
+<![ %ISOtech.module; [
+%ISOtech;
+]]>
+
+<!-- End of DocBook character entity sets module V4.5 ..................... -->
+<!-- ...................................................................... -->

http://git-wip-us.apache.org/repos/asf/isis/blob/7a7836e3/mothballed/docbkx/src/docbkx/dtd-4.5/dbgenent.mod
----------------------------------------------------------------------
diff --git a/mothballed/docbkx/src/docbkx/dtd-4.5/dbgenent.mod b/mothballed/docbkx/src/docbkx/dtd-4.5/dbgenent.mod
new file mode 100644
index 0000000..ff5ba90
--- /dev/null
+++ b/mothballed/docbkx/src/docbkx/dtd-4.5/dbgenent.mod
@@ -0,0 +1,41 @@
+<!-- ...................................................................... -->
+<!-- DocBook additional general entities V4.5 ............................. -->
+
+<!-- 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).
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbgenent PUBLIC
+     "-//OASIS//ENTITIES DocBook Additional General Entities V4.5//EN"
+     "dbgenent.mod">
+     %dbgenent;
+-->
+
+<!-- File dbgenent.mod .................................................... -->
+
+<!-- You can edit this file to add the following:
+
+     o General entity declarations of any kind.  For example:
+
+       <!ENTITY productname "WinWidget">          (small boilerplate)
+       <!ENTITY legal-notice SYSTEM "notice.sgm"> (large boilerplate)
+
+     o Notation declarations.  For example:
+
+       <!NOTATION chicken-scratch SYSTEM>
+
+     o Declarations for and references to external parameter entities
+       containing collections of any of the above.  For example:
+
+       <!ENTITY % all-titles PUBLIC "-//DocTools//ELEMENTS Book Titles//EN"
+           "booktitles.ent">
+       %all-titles;
+-->
+
+<!-- End of DocBook additional general entities V4.5 ...................... -->
+<!-- ...................................................................... -->