[sword-svn] r88 - in trunk: . thml2osis thml2osis/xslt thml2osis/xslt/tests

lukeplant at www.crosswire.org lukeplant at www.crosswire.org
Thu Jul 19 13:27:50 MST 2007


Author: lukeplant
Date: 2007-07-19 13:27:49 -0700 (Thu, 19 Jul 2007)
New Revision: 88

Added:
   trunk/thml2osis/
   trunk/thml2osis/xslt/
   trunk/thml2osis/xslt/README
   trunk/thml2osis/xslt/tests/
   trunk/thml2osis/xslt/tests/README
   trunk/thml2osis/xslt/tests/body1.osis.flat
   trunk/thml2osis/xslt/tests/body1.thml
   trunk/thml2osis/xslt/tests/headers.osis.flat
   trunk/thml2osis/xslt/tests/headers.thml
   trunk/thml2osis/xslt/tests/headers_misc_missing.osis.flat
   trunk/thml2osis/xslt/tests/headers_misc_missing.thml
   trunk/thml2osis/xslt/tests/osisCore.2.1.1.xsd
   trunk/thml2osis/xslt/tests/runtests.sh
   trunk/thml2osis/xslt/tests/update_test.sh
   trunk/thml2osis/xslt/thml2osis.xslt
Log:
Initial import of thml2osis.xslt project.


Added: trunk/thml2osis/xslt/README
===================================================================
--- trunk/thml2osis/xslt/README	                        (rev 0)
+++ trunk/thml2osis/xslt/README	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,35 @@
+thml2osis
+=========
+
+This project consists of the XSLT file thml2osis.xslt which converts ThML to
+OSIS files, and accompanying tests.  In order to use thml2osis, you will
+need some kind of XSLT processor.  Many XML libraries may have this
+functionality, and the command-line Unix tool 'xsltproc' can also be used.
+XSLT was chosen for this project to make this tool as portable as possible,
+and because XSLT is ideally suited for this type of task, despite its
+limitations.
+
+Usage:
+------
+If you have xsltproc installed, thml2osis can be used from a Unix shell
+prompt as below:
+
+xsltproc --novalid thml2osis.xslt your_book.thml > your_book.osis
+
+
+Limitations
+-----------
+
+thml2osis has been developed using the OSIS spec and existing ThML texts
+that were wanted in OSIS format.  Also, it is almost impossible to convert
+perfectly from ThML to OSIS given the differences in the formats, and the
+flexibility of both formats.  So, don't be surprised if your ThML file is
+not converted completely!  In particular:
+
+ - Many fields in the ThML headers will be silently discarded where equivalent
+   fields do not exist in OSIS.
+ - It is possible that markup and text in the body will be discarded
+   silently, though every effort will be made to avoid this in v1.0 and
+   later.
+ - Stylesheets and styling information will generally be discarded.
+

Added: trunk/thml2osis/xslt/tests/README
===================================================================
--- trunk/thml2osis/xslt/tests/README	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/README	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,62 @@
+Running the test suite:
+-----------------------
+ - cd to/the/test/directory/
+ - ./runtests.sh
+
+Zero output means everything passed.
+Otherwise you get a diff of everything that failed.
+If any output is invliad OSIS, you will also get validation error messages.
+
+Requirements
+------------
+The test suite requires:
+- Bash, or shell
+- 'xml2' suite -- this turns XML into a line oriented format that is much
+  more convenient for TDD.
+- 'xsltproc' for running the XSLT
+- For validating the OSIS produced: validator.pl from the Perl-Xerces
+  package, (Debian package libxml-xerces-perl) or alternatively 'xmlstarlet' 
+  (the former is preferred, see below).
+
+All of these could probably be replaced with alternatives for different
+platforms.
+
+
+Strategy
+--------
+The essential test strategy performed by runtests.sh is this:
+ - for each foo.thml, use the xslt file to generate the OSIS file
+ - save the OSIS file as foo.osis
+ - Flatten this file using xml2, saving in a temporary file tmp.flat
+ - compare tmp.flat with the reference foo.osis.flat
+ - Validate the foo.osis file
+
+TDD routine:
+------------
+1) update one of the test.osis.flat files to reflect the new functionality
+   that is to be added
+2) Run runtests.sh to ensure that you have added what you think you've added
+3) Implement functionality in XSLT
+4) Run runtests.sh to check results
+5) Repeat 3 and 4 until it works correctly
+
+Sometimes hand editing the .osis.flat files will be tedious, either when a
+single change affects lots of tests files, or when the change or addition is
+very simple and easy to confirm as correct.  In this case, update_test.sh
+can be used to recreate the .osis.flat files *once you are sure that the
+XSLT file is producing correct output*.
+
+After each feature is added, tests and the XSLT file should be committed to
+source control.
+
+
+BUGS
+----
+xmlstarlet does not print correct line numbers for errors on lines greater
+than 65535 (it just prints 65535). See:
+
+http://sourceforge.net/tracker/index.php?func=detail&aid=1219072&group_id=66612&atid=515106
+http://bugzilla.gnome.org/show_bug.cgi?id=409707
+
+For this reasons, the Xerces validator is preferred (it also has much more
+compact and readable error messages).

Added: trunk/thml2osis/xslt/tests/body1.osis.flat
===================================================================
--- trunk/thml2osis/xslt/tests/body1.osis.flat	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/body1.osis.flat	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,691 @@
+/osis/@xmlns=http://www.bibletechnologies.net/2003/OSIS/namespace
+/osis/@xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
+/osis/@xsi:schemaLocation=http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd
+/osis/osisText/@osisRefWork=bible
+/osis/osisText/@canonical=true
+/osis/osisText/@osisIDWork=calcom01
+/osis/osisText/@xml:lang=en
+/osis/osisText/header/work/@osisWork=calcom01
+/osis/osisText/header/work/title=Commentary on Genesis - Volume 1
+/osis/osisText/header/work/creator/@role=aut
+/osis/osisText/header/work/creator=John Calvin
+/osis/osisText/header/work/format/@type=x-MIME
+/osis/osisText/header/work/format=text/xml
+/osis/osisText/header/work/language/@type=ISO-639-1
+/osis/osisText/header/work/language=en
+/osis/osisText/div/p=Chapter 1
+/osis/osisText/div/p
+/osis/osisText/div/p=Span test 1
+/osis/osisText/div/p
+/osis/osisText/div/p=Span test 2
+/osis/osisText/div/div/table/row/cell/p/reference/@osisRef=Bible:Gen.1.1-Gen.1.31
+/osis/osisText/div/div/table/row/cell/p/reference=Genesis 1:1-31
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=1.
+/osis/osisText/div/div/table/row/cell/p= In the beginning God created the heaven and the earth.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=1.
+/osis/osisText/div/div/table/row/cell/p= In principio creavit Deus coelum et terram.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=2.
+/osis/osisText/div/div/table/row/cell/p=  And the earth was without form, and void; and darkness  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=was
+/osis/osisText/div/div/table/row/cell/p=  upon the face of the deep. And the Spirit of God moved upon the face of the waters.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=2.
+/osis/osisText/div/div/table/row/cell/p= Terra autem erat informis et inanis; tenebraeque erant in superficie voraginis, et Spiritus Dei agitabat se in superficie aquarum.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=3.
+/osis/osisText/div/div/table/row/cell/p= And God said, Let there be light: and there was light.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=3.
+/osis/osisText/div/div/table/row/cell/p= Et dixit Deus, Sit lux. Et fuit lux.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=4.
+/osis/osisText/div/div/table/row/cell/p=  And God saw the light, that  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=it was
+/osis/osisText/div/div/table/row/cell/p=  good: and God divided the light from the darkness.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=4.
+/osis/osisText/div/div/table/row/cell/p= Viditque Deus lucem quod bona esset; et devisit Deus lucem a tenebris.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=5.
+/osis/osisText/div/div/table/row/cell/p= And God called the light Day, and the darkness he called Night. And the evening and the morning were the first day.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=5.
+/osis/osisText/div/div/table/row/cell/p= Et vocavit Deus lucem, Diem: et tenebras vocavit Noctem. Fuitque vespera, et fuit mane dies primus.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=6.
+/osis/osisText/div/div/table/row/cell/p= And God said, Let there be a firmament in the midst of the waters, and let it divide the waters from the waters.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=6.
+/osis/osisText/div/div/table/row/cell/p= Et dixit Deus, Sit extensio in medio aquarum, et devidat aquas ab aquis.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=7.
+/osis/osisText/div/div/table/row/cell/p=  And God made the firmament, and divided the waters which  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=were
+/osis/osisText/div/div/table/row/cell/p=  under the firmament from the waters which  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=were
+/osis/osisText/div/div/table/row/cell/p=  above the firmament: and it was so.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=7.
+/osis/osisText/div/div/table/row/cell/p= Et fecit Deus expansionem: et divisit aquas quae erant sub expansione, ab aquis quae erant super expansionem. Et fuit ita.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=8.
+/osis/osisText/div/div/table/row/cell/p= And God called the firmament Heaven. And the and the morning were the second day.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=8.
+/osis/osisText/div/div/table/row/cell/p= Vocavitque Deus expansionem Coelum. Et fuit vespera, et fuit mane dies secundus.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=9.
+/osis/osisText/div/div/table/row/cell/p=  And God said, Let the waters under the heaven be gathered together unto one place, and let the dry  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=land
+/osis/osisText/div/div/table/row/cell/p=  appear: and it was so.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=9.
+/osis/osisText/div/div/table/row/cell/p= Postea dixit Deus, Congrentur aquae quae sunt sub coelo, in locum unum, et appareat arida. Et fuit ita.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=10.
+/osis/osisText/div/div/table/row/cell/p=  And God called the dry  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=land
+/osis/osisText/div/div/table/row/cell/p=  Earth; and the gathering together of the waters called he Seas: and God saw that  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=it was
+/osis/osisText/div/div/table/row/cell/p=  good.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=10.
+/osis/osisText/div/div/table/row/cell/p= Et vocavit Dues aridam, Terram: congregationem vero aquarum appellavit Maria. Et vidit Deus quod esset bonum.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=11.
+/osis/osisText/div/div/table/row/cell/p=  And God said, Let the earth bring forth grass, the herb yielding seed,  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=and
+/osis/osisText/div/div/table/row/cell/p=  the fruit tree yielding fruit after his kind, whose seed  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=is
+/osis/osisText/div/div/table/row/cell/p=  in itself, upon the earth: and it was so.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=11.
+/osis/osisText/div/div/table/row/cell/p= Postea dixit Deus, Germinet terra germen, herbam seminificantem semen, arboram fructiferam, facientem fructum juxta speciem suam cui insit semen suum super terram. Et fuit ita.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=12. 
+/osis/osisText/div/div/table/row/cell/p= And the earth brought forth grass,  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=and
+/osis/osisText/div/div/table/row/cell/p=  herb yielding seed after his kind, and the tree yielding fruit, whose seed  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=was
+/osis/osisText/div/div/table/row/cell/p=  in itself, after his kind: and God saw that  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=it was
+/osis/osisText/div/div/table/row/cell/p=  good.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=12.
+/osis/osisText/div/div/table/row/cell/p= Et protulit terra germen, herbam seminificantem semen juxta speciem suam, et arborem facientem fructum cui semen suum inesset juxta speciem suam. Et vidit Deus quod esset bonum.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=13. 
+/osis/osisText/div/div/table/row/cell/p=And the evening and the morning were the third day.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=13.
+/osis/osisText/div/div/table/row/cell/p= Et fuit vespera, et fuit mane dies tertius.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=14.
+/osis/osisText/div/div/table/row/cell/p= And God said, Let there be lights in the firmament of the heaven to divide the day from the night; and let them be for signs, and for seasons, and for days, and years:
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=14.
+/osis/osisText/div/div/table/row/cell/p= Tunc dixit Deus, Sint luminaria in firmamentum coeli, ut dividant diem a nocte, et sint in signa, et stata tempora, et dies, et annos:
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=15. 
+/osis/osisText/div/div/table/row/cell/p=And let them be for lights in the firmament of the heaven to give light upon the earth: and it was so.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=15.
+/osis/osisText/div/div/table/row/cell/p= Et sint in luminaria in expansione coeli, ut illuminent terram. Et fuit ita.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=16. 
+/osis/osisText/div/div/table/row/cell/p= And God made two great lights; the greater light to rule the day, and the lesser light to rule the night:  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=he made
+/osis/osisText/div/div/table/row/cell/p=  the stars also.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=16.
+/osis/osisText/div/div/table/row/cell/p= Et fecit Deus duo luminaria magna: luminare majus in dominium diei, et luminare minu in dominium noctis, et stellas.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=17.
+/osis/osisText/div/div/table/row/cell/p= And God set them in the firmament of the heaven to give light upon the earth,
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=17.
+/osis/osisText/div/div/table/row/cell/p= Posuitque ea Deus in expansione coeli, ut illuminarent terram:
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=18. 
+/osis/osisText/div/div/table/row/cell/p= And rule over the day and over the night, and to divide the light from the darkness: amd God saw that  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=it was
+/osis/osisText/div/div/table/row/cell/p=  good.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=18.
+/osis/osisText/div/div/table/row/cell/p= Et ut dominarentur diei ac nocti, et dividerent lucem a tenebris: et vidit Deus quod esset bonum.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=19.
+/osis/osisText/div/div/table/row/cell/p= And the evening and the morning were the fourth day.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=19.
+/osis/osisText/div/div/table/row/cell/p= Et fuit vespera, et fuit mane dies quartus.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=20. 
+/osis/osisText/div/div/table/row/cell/p= And God said, Let the waters bring forth abundantly the moving creature that hath life, and fowl  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=that
+/osis/osisText/div/div/table/row/cell/p=  may fly above the earth in the open firmament of heaven.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=20.
+/osis/osisText/div/div/table/row/cell/p= Postea dixit Deus, Repere faciant aquae reptile animae viventis, et volatile volet super terram in superficie expansionis coeli.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=21.
+/osis/osisText/div/div/table/row/cell/p=  And God created great whales, and every living creature that moveth, which the waters brought forth abundantly, after their kind, and every winged fowl after his kind: and God saw that  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=it was
+/osis/osisText/div/div/table/row/cell/p=  good.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=21.
+/osis/osisText/div/div/table/row/cell/p= Et creavit Deus cetos magnos, et omnem animum viventem, repentem, quam repere fecerunt aquae juxta species suas: et omne volatile alatum secundum speciem cujusque. Et vidit Deus quod esset bonum.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=22.
+/osis/osisText/div/div/table/row/cell/p= And God blessed them, saying, Be fruitful, and multiply, and fill the waters in the seas, and let fowl multiply in the earth.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=22.
+/osis/osisText/div/div/table/row/cell/p= Beneedixitque eis, dicendo, Crescite et multiplicate vos, et replete aquas in maribus; et volatile multiplicet se in terra.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=23. 
+/osis/osisText/div/div/table/row/cell/p=And the evening and the morning were the fifth day.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=23.
+/osis/osisText/div/div/table/row/cell/p= Et fuit vespera, et fuit mane dies quintus.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=24.
+/osis/osisText/div/div/table/row/cell/p= And God said, Let the earth bring forth the living creature after his kind, cattle, and creeping thing, and beast of the earth after his kind: and it was so.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=24.
+/osis/osisText/div/div/table/row/cell/p= Postea dixit Deus, Producat terra animam viventem secundum speciem suam, jumentum et reptile, et bestias terrae secundum speciem suam. Et fuit ita.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=25.
+/osis/osisText/div/div/table/row/cell/p=  And God made the beast of the earth after his kind, and cattle after their kind, and every thing that creepeth upon the earth after his kind: and God saw that  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=it was
+/osis/osisText/div/div/table/row/cell/p=  good.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=25.
+/osis/osisText/div/div/table/row/cell/p= Fecitque Deus bestiam terrae secundum speciem suam, et jumentum secundum speciem suam, et omne reptile terrae secundum speciem suam: et vidit Deus quod esset bonum.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=26.
+/osis/osisText/div/div/table/row/cell/p= And God said, Let us make man in our image, after our likeness: and let them have dominion over the fish of the sea, and over the fowl of the air, and over the cattle, and over all the earth, and over every creeping thing that creepeth upon the earth.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=26.
+/osis/osisText/div/div/table/row/cell/p= Et dixit Deus, Faciamus hominem in imagine nostra, secundum similitudinem nostram; et dominetur piscibus maris, et volatili coeli, et jumento, et omni terrae, et omni reptili reptanti super terram.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=27.
+/osis/osisText/div/div/table/row/cell/p=  So God created man in his  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=own
+/osis/osisText/div/div/table/row/cell/p=  image, in the image of God created he him; male and female created he them.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=27.
+/osis/osisText/div/div/table/row/cell/p=  Creavit itaque Deus hominem ad imaginem suam, ad imaginem  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=inquam
+/osis/osisText/div/div/table/row/cell/p=  Dei creavit illum: masculum et foeminam creavit eos.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=28.
+/osis/osisText/div/div/table/row/cell/p= And God blessed them, and God said unto them, Be fruitful, and multiply, and replenish the earth, and subdue it: and have dominion over the fish of the sea, and over the fowl of the air, and over every living thing that moveth upon the earth.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=28.
+/osis/osisText/div/div/table/row/cell/p= Et benedixit illis Deus, dixitque ad eos Deus, Crescite, et multiplicate vos, et replete terram, et subjicite eam, et dominemini piscibus maris, et volatili coeli, et omni bestiae reptanti super terram.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=29.
+/osis/osisText/div/div/table/row/cell/p=  And God said, Behold, I have given you every herb bearing seed, which  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=is
+/osis/osisText/div/div/table/row/cell/p=  upon the face of all the earth, and every tree, in the which  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=is
+/osis/osisText/div/div/table/row/cell/p=  the fruit of a tree yielding seed; to you it shall be for meat.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=29.
+/osis/osisText/div/div/table/row/cell/p= Et dixit Deus, Ecce, dedi vobis omnum herbam seminificantem semen, quae est in superficie universa terrae, et omnem arborem in qua est fructus arboris seminificans semen: ut vobis sit in escam.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=30. 
+/osis/osisText/div/div/table/row/cell/p= And to every beast of the earth, and to every fowl of the air, and to everything that creepeth upon the earth, wherein  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=there is
+/osis/osisText/div/div/table/row/cell/p=  life,  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=I have given
+/osis/osisText/div/div/table/row/cell/p=  every green herb for meat: and it was so.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=30.
+/osis/osisText/div/div/table/row/cell/p=  Et omni bestiae terrae, et omni volatili coeli, et omni reptanti super terram in quo est anima vivans, omne olus herbae  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=erit
+/osis/osisText/div/div/table/row/cell/p=  in escam. Et fuit ita.
+/osis/osisText/div/div/table/row
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=31.
+/osis/osisText/div/div/table/row/cell/p=  And God saw every thing that he had made, an behold,  
+/osis/osisText/div/div/table/row/cell/p/hi/@type=italic
+/osis/osisText/div/div/table/row/cell/p/hi=it was
+/osis/osisText/div/div/table/row/cell/p=  very good. And the evening and the morning were the sixth day.
+/osis/osisText/div/div/table/row/cell
+/osis/osisText/div/div/table/row/cell/p/hi/@type=bold
+/osis/osisText/div/div/table/row/cell/p/hi=31.
+/osis/osisText/div/div/table/row/cell/p= Et vidit Deus omne quod fecerat, et ecce bonum valde. Et fuit vespera, et fuit mane dies sextus.
+/osis/osisText/div/div/p= 
+/osis/osisText/div/div/div/@type=section
+/osis/osisText/div/div/div/@annotateType=commentary
+/osis/osisText/div/div/div/@annotateRef=Gen.1.1
+/osis/osisText/div/div/div/@osisID=Gen.1.1
+/osis/osisText/div/div/div/p/hi/@type=bold
+/osis/osisText/div/div/div/p/hi=1.
+/osis/osisText/div/div/div/p/hi
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=In the beginning.
+/osis/osisText/div/div/div/p=  To expound the term “beginning,” of Christ, is altogether frivolous. For Moses simply intends to assert that the world was not perfected at its very commencement, in the manner in which it is now seen, but that it was created an empty chaos of heaven and earth. His language therefore may be thus explained. When God in the beginning
+/osis/osisText/div/div/div/p=			 created the heaven and the earth, the earth was empty and waste.  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=35
+/osis/osisText/div/div/div/p/note/p= “
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=fr
+/osis/osisText/div/div/div/p/note/p/foreign=La terre estoit vuide, et sans forme, et ne servoit a rien
+/osis/osisText/div/div/div/p/note/p=.” — “The earth was aempty, and without form, and was of no use.” — French Tr.
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  He moreover teaches by the word “created,” that what before did not exist was now made; for he has not used the term 
+/osis/osisText/div/div/div/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/foreign=יצר
+/osis/osisText/div/div/div/p=, ( 
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=yatsar,
+/osis/osisText/div/div/div/p= ) which signifies to frame or forms but 
+/osis/osisText/div/div/div/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/foreign=ברא
+/osis/osisText/div/div/div/p=, ( 
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=bara,
+/osis/osisText/div/div/div/p= ) which signifies to create.  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=36
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/note/p/foreign=ברא
+/osis/osisText/div/div/div/p/note/p= It has a twofold meaning — 1. To create out of nothing, as is proved from these words, In the beginning, because nothing was made before them. 2. To produce something excellent out of pre-existent matter; as it is said afterwards, He created whales, and man. — See Fagius, Drusius, and Estius, in Poole’s
+/osis/osisText/div/div/div/p/note/p=				  Synopsis.
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  Therefore his meaning is, that the world was made out of nothing. Hence the folly of those is refuted who imagine that unformed matter existed from eternity; and who gather nothing else from the narration of Moses than that the world was furnished with new ornaments, and received a form of which it was before destitute. This indeed was formerly a common fable among heathens,  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=37
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=la
+/osis/osisText/div/div/div/p/note/p/foreign=Inter profanos homines
+/osis/osisText/div/div/div/p/note/p=.
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  who had received only an obscure report of the creation, and who, according to custom, adulterated the truth of God with strange figments; but for Christian men to labor (as Steuchus does  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=38
+/osis/osisText/div/div/div/p/note/p= Steuchus Augustinus was the Author of a work, “
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=fr
+/osis/osisText/div/div/div/p/note/p/foreign=De Perennie Philosophia
+/osis/osisText/div/div/div/p/note/p=,” Lugd. 1540, and is most likely the writer referred to by Calvin. The work, however, is very rare, and probably of little value.
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			 ) in maintaining this gross error is absurd and intolerable. Let this, then be maintained in the first place,  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=39
+/osis/osisText/div/div/div/p/note/p= “
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=la
+/osis/osisText/div/div/div/p/note/p/foreign=Sit igitur haec prima sententia
+/osis/osisText/div/div/div/p/note/p=. 
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=fr
+/osis/osisText/div/div/div/p/note/p/foreign=Que ceci dont soit premierement resolu
+/osis/osisText/div/div/div/p/note/p=.” — French Tr.
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  that the world is not eternal but was created by God. There is no doubt that Moses gives the name of heaven and earth to that confused mass which he, shortly afterwards, (
+/osis/osisText/div/div/div/p/reference/@osisRef=Bible:Gen.1.2
+/osis/osisText/div/div/div/p/reference=Genesis 1:2
+/osis/osisText/div/div/div/p=.) denominates  
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=waters
+/osis/osisText/div/div/div/p= . The reason of which is, that this matter was to be the seed of the whole world. Besides, this is the
+/osis/osisText/div/div/div/p=			 generally recognized division of the world.  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=40
+/osis/osisText/div/div/div/p/note/p= Namely, into heaven and earth.
+/osis/osisText/div/div/div/p
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=God.
+/osis/osisText/div/div/div/p=  Moses has it  
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=Elohim
+/osis/osisText/div/div/div/p= , a noun of the plural number. Whence the inference is drawn, that the three Persons of the Godhead are here noted; but since, as a proof of so great a matter, it appears to me to have little solidity, will not insist upon the word; but rather caution readers to beware of violent glosses of this, kind.  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=41
+/osis/osisText/div/div/div/p/note/p= The reasoning of Calvin on this point is a great proof of the candor of his mind, and of his determination to adhere strictly to what he conceives to be the meaning of Holy Scripture, whatever bearing it might have on the doctrines he maintains. It may however be right to direct the reader, who wishes fully to examine the disputed meaning of the plural word 
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/note/p/foreign=אלהים
+/osis/osisText/div/div/div/p/note/p= which we translate God, to some sources of information, whence he may be able to form his own judgment respecting the term. Cocceius argues that the mystery of the Trinity in Unity is contained in the word; and many other writers of reputation take the same ground. Others contend, that though no clear intimation of the Trinity in Unity is given, yet the notion of plurality of Persons is plainly implied in the term. For a full account of all
+/osis/osisText/div/div/div/p/note/p=				  the arguments in favor of this hypothesis, the work of Dr. John Pye Smith, on the Scripture testimony of the Messiah — a work full of profound learning, and distinguished by patient industry and calmly courteous criticism — may be consulted. It must however be observed, that this diligent and impartial writer has mot met the special objection adduced by Calvin in this place, namely, the danger of gliding into Sabellianism while attempting to confute Arianism. —  
+/osis/osisText/div/div/div/p/note/p/hi/@type=italic
+/osis/osisText/div/div/div/p/note/p/hi=Ed
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  They think that they have testimony against the Arians, to prove the Deity of the Son and of the Spirit, but in the meantime they involve themselves in the error of Sabellius,  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=42
+/osis/osisText/div/div/div/p/note/p= The error of Sabellius (according to Theodoret) consisted in his maintaining, “that the Father, Son, and Holy Ghost, are one hypostasis, and one Person under three names,” or, in the language of that eminent ecclesiastical scholar, the late Dr. Burton, “Sabellius divided the One Divinity into three, but he supposed the Son and the Holy Ghost to have no distinct personal existence, except when they were put forth for a time by the Father.” — See
+/osis/osisText/div/div/div/p/note/p=				  Burton’s Lectures on Ecclesiastical History, vol. 2, p. 365; and his Bampton Lectures, Note 103. This will perhaps assist the reader to understand the nature of Calvin’s argument which immediately follows. Supposing the word Elohim to denote the Three Persons of the Godhead in the first verse, it also denotes the same Three Persons in the second verse. But in this second verse Moses says, the Spirit of Elohim, that is, the Spirit of the Three Persons rested on the waters. Hence the distinction
+/osis/osisText/div/div/div/p/note/p=				  of Persons is lost; for the Spirit is himself one of them; consequently the Spirit is sent from himself. The same reasoning would prove that the Son was begotten by himself; because he is one of the Persons of the Elohim by whom the Son is begotten. — 
+/osis/osisText/div/div/div/p/note/p/hi/@type=italic
+/osis/osisText/div/div/div/p/note/p/hi=Ed
+/osis/osisText/div/div/div/p/note/p=.
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  because Moses afterwards subjoins that the  
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=Elohim
+/osis/osisText/div/div/div/p=  had spoken, and that the  
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=Spirit of the Elohim
+/osis/osisText/div/div/div/p=  rested upon the waters. If we suppose three persons to be here denoted, there will be no distinction between them. For it will follow, both that the Son is begotten by himself, and that the Spirit is not of the Father, but of himself. For me it is sufficient that the plural
+/osis/osisText/div/div/div/p=			 number expresses those powers which God exercised in creating the world. Moreover I acknowledge that the Scripture, although it recites many powers of the Godhead, yet always recalls us to the Father, and his Word, and spirit, as we shall shortly see. But those absurdities, to which I have alluded, forbid us with subtlety to distort what Moses simply declares concerning God himself, by applying it to the separate Persons of the Godhead. This, however, I regard as beyond controversy, that from
+/osis/osisText/div/div/div/p=			 the peculiar circumstance of the passage itself, a title is here ascribed to God, expressive of that powers which was previously in some way included in his eternal essence.  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=43
+/osis/osisText/div/div/div/p/note/p= The interpretation above given of the meaning of the word 
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/note/p/foreign=אלהים
+/osis/osisText/div/div/div/p/note/p= ( 
+/osis/osisText/div/div/div/p/note/p/hi/@type=italic
+/osis/osisText/div/div/div/p/note/p/hi=Elohim
+/osis/osisText/div/div/div/p/note/p= ) receives confirmation from the profound critical investigations of Dr. Hengstenberg, Professor of Theology in the University of Berlin, whose work, cast in a somewhat new form, and entitled “Dissertations
+/osis/osisText/div/div/div/p/note/p=				  on the Genuineness of the Pentateuch,” appears in an English dress, under the superintendence of the Continental Translation Society, while these pages are passing through the press. With other learned critics, he concludes, that the word is derived from the Arabic root Allah, which means to worship, to adore, to be seized with fear. He, therefore, regards the title more especially descriptive of the awful aspect of the Divine character.
+/osis/osisText/div/div/div/p/note/p
+/osis/osisText/div/div/div/p/note/p=On the plural form of the word he quotes from the Jewish Rabbis the assertion, that it is intended to signify ‘
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=la
+/osis/osisText/div/div/div/p/note/p/foreign=Dominus potentiarum omnium
+/osis/osisText/div/div/div/p/note/p=,’ ‘The Lord of all powers’. He refers to Calvin and others as having opposed, though without immediate effect, the notion maintained by Peter Lombard, that it involved the mystery of the
+/osis/osisText/div/div/div/p/note/p=				  Trinity. He repels the profane intimation of Le Clerc, and his successors of the Noological school, that the name originated in polytheism; and then proceeds to show that “there is in the Hebrew language a widely extended use of the plural which expresses the intensity of the idea contained in the singular.” After numerous references, which prove this point, he proceeds to argue, that “if, in relation to earthly objects, all that serves to represent a whole order of beings is brought before the
+/osis/osisText/div/div/div/p/note/p=				  mind by means of the plural form, we might anticipate a more extended application of this method of distinguishing in the appellations of God, in whose being and attributes there is everywhere a unity which embraces and comprehends all multiplicity.” “The use of the plural,” he adds, “answers the same purpose which elsewhere is accomplished by an accumulation of the Divine names; as in 
+/osis/osisText/div/div/div/p/note/p/reference/@osisRef=Bible:Josh.22.22
+/osis/osisText/div/div/div/p/note/p/reference=Joshua 22:22
+/osis/osisText/div/div/div/p/note/p=; the thrice holy in 
+/osis/osisText/div/div/div/p/note/p/reference/@osisRef=Bible:Isa.6.3
+/osis/osisText/div/div/div/p/note/p/reference=Isaiah 6:3
+/osis/osisText/div/div/div/p/note/p=; and 
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/note/p/foreign=אדני אדנים
+/osis/osisText/div/div/div/p/note/p= in 
+/osis/osisText/div/div/div/p/note/p/reference/@osisRef=Bible:Deut.10.17
+/osis/osisText/div/div/div/p/note/p/reference=Deuteronomy 10:17
+/osis/osisText/div/div/div/p/note/p=. It calls the attention to the infinite riches and the inexhaustible fullness contained in
+/osis/osisText/div/div/div/p/note/p=				  the one Divine Being, so that though men may imagine innumerable gods, and invest them with perfections, yet all these are contained in the one 
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/note/p/foreign=אלהים
+/osis/osisText/div/div/div/p/note/p= ( 
+/osis/osisText/div/div/div/p/note/p/hi/@type=italic
+/osis/osisText/div/div/div/p/note/p/hi=Elohim
+/osis/osisText/div/div/div/p/note/p= ).” See Dissertations, pp.268-273.
+/osis/osisText/div/div/div/p/note/p
+/osis/osisText/div/div/div/p/note/p=It is, perhaps, necessary here to state, that whatever treasures of biblical learning the writings of this celebrated author contains, and they are undoubtedly great, the reader will still require to be on his guard in studying them. For, notwithstanding the author’s general strenuous opposition to the and — supernaturalism of his own countrymen, he has not altogether escaped the contagion which he is attempting to resist. Occasions may occur in
+/osis/osisText/div/div/div/p/note/p=				  which it will be right to allude to some of his mistakes. — 
+/osis/osisText/div/div/div/p/note/p/hi/@type=italic
+/osis/osisText/div/div/div/p/note/p/hi=Ed
+/osis/osisText/div/div/div/p/note/p=.
+/osis/osisText/div/div/div
+/osis/osisText/div/div/div/@type=section
+/osis/osisText/div/div/div/@annotateType=commentary
+/osis/osisText/div/div/div/@annotateRef=Bible:Gen.1.2
+/osis/osisText/div/div/div/@osisID=Gen.1.2
+/osis/osisText/div/div/div/p
+/osis/osisText/div/div/div/p
+/osis/osisText/div/div/div/p/hi/@type=bold
+/osis/osisText/div/div/div/p/hi=2.
+/osis/osisText/div/div/div/p/hi
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=And the earth was without form and void.
+/osis/osisText/div/div/div/p=  I shall not be very solicitous about the exposition of these two epithets, 
+/osis/osisText/div/div/div/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/foreign=תוהו
+/osis/osisText/div/div/div/p=, ( 
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=tohu,
+/osis/osisText/div/div/div/p= ) and 
+/osis/osisText/div/div/div/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/foreign=בוהו
+/osis/osisText/div/div/div/p=, ( 
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=bohu.
+/osis/osisText/div/div/div/p= ) The Hebrews use them when they designate anything empty and confused, or vain, and nothing worth. Undoubtedly Moses placed them both in opposition to all those created objects which pertain to the form, the ornament and the perfection of the world. Were we now to take away, I say, from the earth all that God added after the time here alluded to, then we should have this rude and
+/osis/osisText/div/div/div/p=			 unpolished, or rather shapeless chaos.  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=44
+/osis/osisText/div/div/div/p/note/p= The words 
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/note/p/foreign=תהו ובהו
+/osis/osisText/div/div/div/p/note/p= are rendered in Calvin’s text 
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=la
+/osis/osisText/div/div/div/p/note/p/foreign=informis et inanis
+/osis/osisText/div/div/div/p/note/p=, “shapeless and empty.” They are, however, substantives, and are translated in 
+/osis/osisText/div/div/div/p/note/p/reference/@osisRef=Bible:Isa.34.11
+/osis/osisText/div/div/div/p/note/p/reference=Isaiah 34:11
+/osis/osisText/div/div/div/p/note/p=, “confusion” and “emptiness.” The two words standing in connection, were used by the Hebrews to describe anything that was most dreary, waste, and desolate. The Septuagint has 
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=el
+/osis/osisText/div/div/div/p/note/p/foreign=κὰι ἀκατασκευάστος
+/osis/osisText/div/div/div/p/note/p=, invisible and unfurnished. —  
+/osis/osisText/div/div/div/p/note/p/hi/@type=italic
+/osis/osisText/div/div/div/p/note/p/hi=Ed
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  Therefore I regard what he immediately subjoins that “darkness was upon the face of the abyss,”  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=45
+/osis/osisText/div/div/div/p/note/p= It is to be remarked, that Calvin does not in his comment always adhere to his own translation. For instance, his version here is, “
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=la
+/osis/osisText/div/div/div/p/note/p/foreign=in superficiem voraginis
+/osis/osisText/div/div/div/p/note/p=;” but in his Commentary he has it, “
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=la
+/osis/osisText/div/div/div/p/note/p/foreign=super faciem abyssi
+/osis/osisText/div/div/div/p/note/p=,” from the Latin Vulgate. — 
+/osis/osisText/div/div/div/p/note/p/hi/@type=italic
+/osis/osisText/div/div/div/p/note/p/hi=Ed
+/osis/osisText/div/div/div/p/note/p=.
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  as a part of that confused emptiness: because the light began to give some external appearance to the world. For the same reason he calls it the  
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=abyss
+/osis/osisText/div/div/div/p=  and  
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=waters
+/osis/osisText/div/div/div/p= , since in that mass of matter nothing was solid or stable, nothing distinct.
+/osis/osisText/div/div/div/p
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=And the Spirit of God
+/osis/osisText/div/div/div/p=    Interpreters have wrested this passage in various ways. The opinion of some that it means the wind, is too frigid to require refutation. They who understand by it the Eternal Spirit of God, do rightly; yet all do not attain the meaning of Moses in the connection of his discourse; hence arise the various interpretations of the participle 
+/osis/osisText/div/div/div/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/foreign=מרחפת
+/osis/osisText/div/div/div/p=, ( 
+/osis/osisText/div/div/div/p/hi/@type=italic
+/osis/osisText/div/div/div/p/hi=merachepeth
+/osis/osisText/div/div/div/p= .) I will, in the first place, state what (in my judgment) Moses intended. We have already heard that before God had perfected the world it was an undigested mass; he now teaches that the power of the Spirit was necessary in order to sustain it. For this doubt might occur to the mind, how such a disorderly heap could stand; seeing that we
+/osis/osisText/div/div/div/p=			 now behold the world preserved by government, or order.  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=46
+/osis/osisText/div/div/div/p/note/p= “
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=la
+/osis/osisText/div/div/div/p/note/p/foreign=Temperamento servari
+/osis/osisText/div/div/div/p/note/p=.” Perhaps we should say, “preserved by the laws of nature.” — Ed.
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  He therefore asserts that this mass, however confused it might be, was rendered stable, for the time, by the secret efficacy of the Spirit. Now there are two significations of the Hebrew word which suit the present place; either that the spirit moved and agitated itself over the waters, for the sake of putting forth vigor; or that He brooded over them to cherish them.  
+/osis/osisText/div/div/div/p=			 
+/osis/osisText/div/div/div/p/note/@n=47
+/osis/osisText/div/div/div/p/note/p= The participle of the verb 
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=he
+/osis/osisText/div/div/div/p/note/p/foreign=רהף
+/osis/osisText/div/div/div/p/note/p= is here used instead of the regular tense. “The Spirit was moving,” instead of “the Spirit moved.” The word occurs in 
+/osis/osisText/div/div/div/p/note/p/reference/@osisRef=Bible:Deut.32.11
+/osis/osisText/div/div/div/p/note/p/reference=Deuteronomy 32:11
+/osis/osisText/div/div/div/p/note/p=, where the eagle is represented as fluttering
+/osis/osisText/div/div/div/p/note/p=				  over her young. Vatablus, whom Calvin here probably follows, says, the Holy Spirit cherished the earth “by his secret virtue, that it might remain stable for the time.” — See Poole’s Synopsis. The word, however, is supposed further to imply a vivifying power; as that of birds brooding over and hatching their young. Gesenius says that Moses here speaks, “
+/osis/osisText/div/div/div/p/note/p/foreign/@xml:lang=de
+/osis/osisText/div/div/div/p/note/p/foreign=Von der shaffenden und belebenden Kraft Gottes die uber der chaotischen
+/osis/osisText/div/div/div/p/note/p/foreign=				  wasserbedeckten Erde schwebt gleichsam bruetet
+/osis/osisText/div/div/div/p/note/p=” — “of the creative and quickening power of God, which hovered over the chaotic and water — covered earth, as if brooding.” The same view is given by P. Martyr on Genesis; others, however, are opposed to this interpretation. Vide Johannes Clericus in loco. —  
+/osis/osisText/div/div/div/p/note/p/hi/@type=italic
+/osis/osisText/div/div/div/p/note/p/hi=Ed
+/osis/osisText/div/div/div/p=
+/osis/osisText/div/div/div/p=			  Inasmuch as it makes little difference in the result, whichever of these explanations is preferred, let the reader’s judgment be left free. But if that chaos required the secret inspiration of God to prevent its speedy dissolution; how could this order, so fair and distinct, subsist by itself, unless it derived strength elsewhere? Therefore, that Scripture must be fulfilled,
+/osis/osisText/div/div/div/p
+/osis/osisText/div/div/div/p=‘Send forth thy Spirit, and they shall be created, and thou shalt renew the face of the earth,’ (
+/osis/osisText/div/div/div/p/reference/@osisRef=Bible:Ps.104.30
+/osis/osisText/div/div/div/p/reference=Psalm 104:30
+/osis/osisText/div/div/div/p=;)
+/osis/osisText/div/div/div/p
+/osis/osisText/div/div/div/p=so, on the other hand, as soon as the Lord takes away his Spirit, all things return to their dust and vanish away, (
+/osis/osisText/div/div/div/p/reference/@osisRef=Bible:Ps.104.29
+/osis/osisText/div/div/div/p/reference=Psalm 104:29
+/osis/osisText/div/div/div/p=.)
+/osis/osisText/div/div/div/a/@href=http://www.ccel.org
+/osis/osisText/div/div/div/a=anchor test
+/osis/osisText/div/div/div/div/@type=book
+/osis/osisText/div/div/div/div/title/@level=1
+/osis/osisText/div/div/div/div/title=Heading test 1
+/osis/osisText/div/div/div/div/title
+/osis/osisText/div/div/div/div/title/@level=2
+/osis/osisText/div/div/div/div/title=Heading test 2
+/osis/osisText/div/div/div/div/title
+/osis/osisText/div/div/div/div/title/@level=3
+/osis/osisText/div/div/div/div/title=Heading test 3
+/osis/osisText/div/div/div/div/title
+/osis/osisText/div/div/div/div/title/@level=4
+/osis/osisText/div/div/div/div/title=Heading test 4
+/osis/osisText/div/div/div/div/title
+/osis/osisText/div/div/div/div/title/@level=5
+/osis/osisText/div/div/div/div/title=Heading test 5
+/osis/osisText/div/div/div/div/title
+/osis/osisText/div/div/div/div/title/@level=6
+/osis/osisText/div/div/div/div/title=Heading test 6
+/osis/osisText/div/div/div/lb
+/osis/osisText/div/div/div/figure/@alt=Facsimile of the title page to the 1578 English Translation
+/osis/osisText/div/div/div/figure/@src=../gen_eng.jpg
+/osis/osisText/div/div/div=
+/osis/osisText/div/div/div=		  blah
+/osis/osisText/div/div/div=		  
+/osis/osisText/div/div/div/reference/@osisRef=Bible:Gen.12.1
+/osis/osisText/div/div/div/reference/a/@href=/ccel/Calvin/comm_vol01.htm|vol01.chap12.vs1
+/osis/osisText/div/div/div/reference/a=Genesis 12:1
+/osis/osisText/div/div/div/list/item=́: 
+/osis/osisText/div/div/div/list/item=  
+/osis/osisText/div/div/div/list/item/a/@href=#xxvii.i-p135.2
+/osis/osisText/div/div/div/list/item/a=1
+/osis/osisText/div/div/div/list/item
+/osis/osisText/div/div/div/list/item=ἀνθρωποπάθεια: 
+/osis/osisText/div/div/div/list/item=  
+/osis/osisText/div/div/div/list/item/a/@href=#xii.i-p80.2
+/osis/osisText/div/div/div/list/item/a=1
+/osis/osisText/div/div/div=
+/osis/osisText/div/div/div=		Test 
+/osis/osisText/div/div/div/reference/@osisRef=Bible:2Sam.7.13
+/osis/osisText/div/div/div/reference=outer 
+/osis/osisText/div/div/div/reference/hi/@type=italic
+/osis/osisText/div/div/div/reference/hi=ref
+/osis/osisText/div/div/div/reference
+/osis/osisText/div/div/div/reference/@osisRef=Bible:1Chr.22.10
+/osis/osisText/div/div/div/reference=inner ref
+/osis/osisText/div/div/div/reference
+/osis/osisText/div/div/div/reference/@osisRef=Bible:Ps.89.5
+/osis/osisText/div/div/div/reference=inner ref 2
+/osis/osisText/div/div/div=
+/osis/osisText/div/div/div=Added text
+/osis/osisText/div/div/div=
+/osis/osisText/div/div/div/note=Original text contained:
+/osis/osisText/div/div/div/note=      Deleted text
+/osis/osisText/div/div/div=
+/osis/osisText/div/div/div=Unclear text
+/osis/osisText/div/div/div=
+/osis/osisText/div/div/div/p=Lib. III. Carm. XXIV.
+/osis/osisText/div/div/div/a/@href=blah
+/osis/osisText/div/div/div/a=Italic text inside anchor and index
+/osis/osisText/div/div/div/a/index/@index=subject
+/osis/osisText/div/div/div/a/index/@level1=Foo
+/osis/osisText/div/div/div/index/@index=subject
+/osis/osisText/div/div/div/index/@level1=Foo
+/osis/osisText/div/div/div/index
+/osis/osisText/div/div/div/index/@index=subject
+/osis/osisText/div/div/div/index/@level1=Foo
+/osis/osisText/div/div/div/index/@level2=Bar
+/osis/osisText/div/div/div/index
+/osis/osisText/div/div/div/index/@index=subject
+/osis/osisText/div/div/div/index/@level1=Foo
+/osis/osisText/div/div/div/index/@level2=Bar
+/osis/osisText/div/div/div/index/@level3=Baz
+/osis/osisText/div/div/div/index
+/osis/osisText/div/div/div/index/@index=subject
+/osis/osisText/div/div/div/index/@level1=Foo
+/osis/osisText/div/div/div/index/@level2=Bar
+/osis/osisText/div/div/div/index/@level3=Baz
+/osis/osisText/div/div/div/index/@level4=Frobble

Added: trunk/thml2osis/xslt/tests/body1.thml
===================================================================
--- trunk/thml2osis/xslt/tests/body1.thml	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/body1.thml	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,428 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ThML
+  PUBLIC '-//CCEL/DTD Theological Markup Language//EN'
+  'http://www.ccel.org/dtd/ThML10.dtd'>
+
+<ThML> 
+  <ThML.head> 
+    <electronicEdInfo>
+      <bookID>calcom01</bookID>
+      <DC>
+	<DC.Title sub="Main">Commentary on Genesis - Volume 1</DC.Title>
+	<DC.Creator scheme="ccel" sub="Author"/>
+	<DC.Creator scheme="file-as" sub="Author">Calvin, John (1509-1564)</DC.Creator>
+	<DC.Creator scheme="short-form" sub="Author">John Calvin</DC.Creator>
+	<DC.Language scheme="ISO639-1">en</DC.Language>
+      </DC>
+    </electronicEdInfo>
+  </ThML.head> 
+  <ThML.body>
+    
+
+<div1 id="vii" n="vii" next="vii.i" prev="vi" progress="6.19%" shorttitle="chapter vii" title="Chapter 1" type="chapter">
+
+		<p class="BOOK-CHAP-BLU-24-CEN12" id="vii-p1">Chapter 1</p>
+		<p><span>Span test 1</span></p>
+		<p><span class="foo">Span test 2</span></p>		
+
+<div2 id="vii.i" n="i" next="viii" prev="vii" progress="6.19%" shorttitle="scripture i" title="Genesis 1:1-31" type="scripture">
+
+		  <table border="2" id="vii.i-p0.1">
+			 <tr id="vii.i-p0.2" valign="top">
+				<td id="vii.i-p0.3"> 
+
+				<p class="TableCaption15" id="vii.i-p1"><scripRef id="vii.i-p1.1" osisRef="Bible:Gen.1.1-Gen.1.31" parsed="|Gen|1|1|1|31" passage="Genesis 1:1-31">Genesis 1:1-31</scripRef></p>
+				</td> 
+			 </tr><tr id="vii.i-p1.2" valign="top">
+				<td id="vii.i-p1.3"> 
+
+				<p id="vii.i-p2"><b>1.</b> In the beginning God created the heaven and the earth.</p>
+				</td><td id="vii.i-p2.1"> 
+
+				<p id="vii.i-p3"><b>1.</b> In principio creavit Deus coelum et terram.</p>
+				</td> 
+			 </tr><tr id="vii.i-p3.1" valign="top">
+				<td id="vii.i-p3.2"> 
+
+				<p id="vii.i-p4"><b>2.</b>  And the earth was without form, and void; and darkness  <i>was</i>  upon the face of the deep. And the Spirit of God moved upon the face of the waters.</p>
+				</td><td id="vii.i-p4.1"> 
+
+				<p id="vii.i-p5"><b>2.</b> Terra autem erat informis et inanis; tenebraeque erant in superficie voraginis, et Spiritus Dei agitabat se in superficie aquarum.</p>
+				</td> 
+			 </tr><tr id="vii.i-p5.1" valign="top">
+				<td id="vii.i-p5.2"> 
+
+				<p id="vii.i-p6"><b>3.</b> And God said, Let there be light: and there was light.</p>
+				</td><td id="vii.i-p6.1"> 
+
+				<p id="vii.i-p7"><b>3.</b> Et dixit Deus, Sit lux. Et fuit lux.</p>
+				</td> 
+			 </tr><tr id="vii.i-p7.1" valign="top">
+				<td id="vii.i-p7.2"> 
+
+				<p id="vii.i-p8"><b>4.</b>  And God saw the light, that  <i>it was</i>  good: and God divided the light from the darkness.</p>
+				</td><td id="vii.i-p8.1"> 
+
+				<p id="vii.i-p9"><b>4.</b> Viditque Deus lucem quod bona esset; et devisit Deus lucem a tenebris.</p>
+				</td> 
+			 </tr><tr id="vii.i-p9.1" valign="top">
+				<td id="vii.i-p9.2"> 
+
+				<p id="vii.i-p10"><b>5.</b> And God called the light Day, and the darkness he called Night. And the evening and the morning were the first day.</p>
+				</td><td id="vii.i-p10.1"> 
+
+				<p id="vii.i-p11"><b>5.</b> Et vocavit Deus lucem, Diem: et tenebras vocavit Noctem. Fuitque vespera, et fuit mane dies primus.</p>
+				</td> 
+			 </tr><tr id="vii.i-p11.1" valign="top">
+				<td id="vii.i-p11.2"> 
+
+				<p id="vii.i-p12"><b>6.</b> And God said, Let there be a firmament in the midst of the waters, and let it divide the waters from the waters.</p>
+				</td><td id="vii.i-p12.1"> 
+
+				<p id="vii.i-p13"><b>6.</b> Et dixit Deus, Sit extensio in medio aquarum, et devidat aquas ab aquis.</p>
+				</td> 
+			 </tr><tr id="vii.i-p13.1" valign="top">
+				<td id="vii.i-p13.2"> 
+
+				<p id="vii.i-p14"><b>7.</b>  And God made the firmament, and divided the waters which  <i>were</i>  under the firmament from the waters which  <i>were</i>  above the firmament: and it was so.</p>
+				</td><td id="vii.i-p14.1"> 
+
+				<p id="vii.i-p15"><b>7.</b> Et fecit Deus expansionem: et divisit aquas quae erant sub expansione, ab aquis quae erant super expansionem. Et fuit ita.</p>
+				</td> 
+			 </tr><tr id="vii.i-p15.1" valign="top">
+				<td id="vii.i-p15.2"> 
+
+				<p id="vii.i-p16"><b>8.</b> And God called the firmament Heaven. And the and the morning were the second day.</p>
+				</td><td id="vii.i-p16.1"> 
+
+				<p id="vii.i-p17"><b>8.</b> Vocavitque Deus expansionem Coelum. Et fuit vespera, et fuit mane dies secundus.</p>
+				</td> 
+			 </tr><tr id="vii.i-p17.1" valign="top">
+				<td id="vii.i-p17.2"> 
+
+				<p id="vii.i-p18"><b>9.</b>  And God said, Let the waters under the heaven be gathered together unto one place, and let the dry  <i>land</i>  appear: and it was so.</p>
+				</td><td id="vii.i-p18.1"> 
+
+				<p id="vii.i-p19"><b>9.</b> Postea dixit Deus, Congrentur aquae quae sunt sub coelo, in locum unum, et appareat arida. Et fuit ita.</p>
+				</td> 
+			 </tr><tr id="vii.i-p19.1" valign="top">
+				<td id="vii.i-p19.2"> 
+
+				<p id="vii.i-p20"><b>10.</b>  And God called the dry  <i>land</i>  Earth; and the gathering together of the waters called he Seas: and God saw that  <i>it was</i>  good.</p>
+				</td><td id="vii.i-p20.1"> 
+
+				<p id="vii.i-p21"><b>10.</b> Et vocavit Dues aridam, Terram: congregationem vero aquarum appellavit Maria. Et vidit Deus quod esset bonum.</p>
+				</td> 
+			 </tr><tr id="vii.i-p21.1" valign="top">
+				<td id="vii.i-p21.2"> 
+
+				<p id="vii.i-p22"><b>11.</b>  And God said, Let the earth bring forth grass, the herb yielding seed,  <i>and</i>  the fruit tree yielding fruit after his kind, whose seed  <i>is</i>  in itself, upon the earth: and it was so.</p>
+				</td><td id="vii.i-p22.1"> 
+
+				<p id="vii.i-p23"><b>11.</b> Postea dixit Deus, Germinet terra germen, herbam seminificantem semen, arboram fructiferam, facientem fructum juxta speciem suam cui insit semen suum super terram. Et fuit ita.</p>
+				</td> 
+			 </tr><tr id="vii.i-p23.1" valign="top">
+				<td id="vii.i-p23.2"> 
+
+				<p id="vii.i-p24"><b>12. </b> And the earth brought forth grass,  <i>and</i>  herb yielding seed after his kind, and the tree yielding fruit, whose seed  <i>was</i>  in itself, after his kind: and God saw that  <i>it was</i>  good.</p>
+				</td><td id="vii.i-p24.1"> 
+
+				<p id="vii.i-p25"><b>12.</b> Et protulit terra germen, herbam seminificantem semen juxta speciem suam, et arborem facientem fructum cui semen suum inesset juxta speciem suam. Et vidit Deus quod esset bonum.</p>
+				</td> 
+			 </tr><tr id="vii.i-p25.1" valign="top">
+				<td id="vii.i-p25.2"> 
+
+				<p id="vii.i-p26"><b>13. </b>And the evening and the morning were the third day.</p>
+				</td><td id="vii.i-p26.1"> 
+
+				<p id="vii.i-p27"><b>13.</b> Et fuit vespera, et fuit mane dies tertius.</p>
+				</td> 
+			 </tr><tr id="vii.i-p27.1" valign="top">
+				<td id="vii.i-p27.2"> 
+
+				<p id="vii.i-p28"><b>14.</b> And God said, Let there be lights in the firmament of the heaven to divide the day from the night; and let them be for signs, and for seasons, and for days, and years:</p>
+				</td><td id="vii.i-p28.1"> 
+
+				<p id="vii.i-p29"><b>14.</b> Tunc dixit Deus, Sint luminaria in firmamentum coeli, ut dividant diem a nocte, et sint in signa, et stata tempora, et dies, et annos:</p>
+				</td> 
+			 </tr><tr id="vii.i-p29.1" valign="top">
+				<td id="vii.i-p29.2"> 
+
+				<p id="vii.i-p30"><b>15. </b>And let them be for lights in the firmament of the heaven to give light upon the earth: and it was so.</p>
+				</td><td id="vii.i-p30.1"> 
+
+				<p id="vii.i-p31"><b>15.</b> Et sint in luminaria in expansione coeli, ut illuminent terram. Et fuit ita.</p>
+				</td> 
+			 </tr><tr id="vii.i-p31.1" valign="top">
+				<td id="vii.i-p31.2"> 
+
+				<p id="vii.i-p32"><b>16. </b> And God made two great lights; the greater light to rule the day, and the lesser light to rule the night:  <i>he made</i>  the stars also.</p>
+				</td><td id="vii.i-p32.1"> 
+
+				<p id="vii.i-p33"><b>16.</b> Et fecit Deus duo luminaria magna: luminare majus in dominium diei, et luminare minu in dominium noctis, et stellas.</p>
+				</td> 
+			 </tr><tr id="vii.i-p33.1" valign="top">
+				<td id="vii.i-p33.2"> 
+
+				<p id="vii.i-p34"><b>17.</b> And God set them in the firmament of the heaven to give light upon the earth,</p>
+				</td><td id="vii.i-p34.1"> 
+
+				<p id="vii.i-p35"><b>17.</b> Posuitque ea Deus in expansione coeli, ut illuminarent terram:</p>
+				</td> 
+			 </tr><tr id="vii.i-p35.1" valign="top">
+				<td id="vii.i-p35.2"> 
+
+				<p id="vii.i-p36"><b>18. </b> And rule over the day and over the night, and to divide the light from the darkness: amd God saw that  <i>it was</i>  good.</p>
+				</td><td id="vii.i-p36.1"> 
+
+				<p id="vii.i-p37"><b>18.</b> Et ut dominarentur diei ac nocti, et dividerent lucem a tenebris: et vidit Deus quod esset bonum.</p>
+				</td> 
+			 </tr><tr id="vii.i-p37.1" valign="top">
+				<td id="vii.i-p37.2"> 
+
+				<p id="vii.i-p38"><b>19.</b> And the evening and the morning were the fourth day.</p>
+				</td><td id="vii.i-p38.1"> 
+
+				<p id="vii.i-p39"><b>19.</b> Et fuit vespera, et fuit mane dies quartus.</p>
+				</td> 
+			 </tr><tr id="vii.i-p39.1" valign="top">
+				<td id="vii.i-p39.2"> 
+
+				<p id="vii.i-p40"><b>20. </b> And God said, Let the waters bring forth abundantly the moving creature that hath life, and fowl  <i>that</i>  may fly above the earth in the open firmament of heaven.</p>
+				</td><td id="vii.i-p40.1"> 
+
+				<p id="vii.i-p41"><b>20.</b> Postea dixit Deus, Repere faciant aquae reptile animae viventis, et volatile volet super terram in superficie expansionis coeli.</p>
+				</td> 
+			 </tr><tr id="vii.i-p41.1" valign="top">
+				<td id="vii.i-p41.2"> 
+
+				<p id="vii.i-p42"><b>21.</b>  And God created great whales, and every living creature that moveth, which the waters brought forth abundantly, after their kind, and every winged fowl after his kind: and God saw that  <i>it was</i>  good.</p>
+				</td><td id="vii.i-p42.1"> 
+
+				<p id="vii.i-p43"><b>21.</b> Et creavit Deus cetos magnos, et omnem animum viventem, repentem, quam repere fecerunt aquae juxta species suas: et omne volatile alatum secundum speciem cujusque. Et vidit Deus quod esset bonum.</p>
+				</td> 
+			 </tr><tr id="vii.i-p43.1" valign="top">
+				<td id="vii.i-p43.2"> 
+
+				<p id="vii.i-p44"><b>22.</b> And God blessed them, saying, Be fruitful, and multiply, and fill the waters in the seas, and let fowl multiply in the earth.</p>
+				</td><td id="vii.i-p44.1"> 
+
+				<p id="vii.i-p45"><b>22.</b> Beneedixitque eis, dicendo, Crescite et multiplicate vos, et replete aquas in maribus; et volatile multiplicet se in terra.</p>
+				</td> 
+			 </tr><tr id="vii.i-p45.1" valign="top">
+				<td id="vii.i-p45.2"> 
+
+				<p id="vii.i-p46"><b>23. </b>And the evening and the morning were the fifth day.</p>
+				</td><td id="vii.i-p46.1"> 
+
+				<p id="vii.i-p47"><b>23.</b> Et fuit vespera, et fuit mane dies quintus.</p>
+				</td> 
+			 </tr><tr id="vii.i-p47.1" valign="top">
+				<td id="vii.i-p47.2"> 
+
+				<p id="vii.i-p48"><b>24.</b> And God said, Let the earth bring forth the living creature after his kind, cattle, and creeping thing, and beast of the earth after his kind: and it was so.</p>
+				</td><td id="vii.i-p48.1"> 
+
+				<p id="vii.i-p49"><b>24.</b> Postea dixit Deus, Producat terra animam viventem secundum speciem suam, jumentum et reptile, et bestias terrae secundum speciem suam. Et fuit ita.</p>
+				</td> 
+			 </tr><tr id="vii.i-p49.1" valign="top">
+				<td id="vii.i-p49.2"> 
+
+				<p id="vii.i-p50"><b>25.</b>  And God made the beast of the earth after his kind, and cattle after their kind, and every thing that creepeth upon the earth after his kind: and God saw that  <i>it was</i>  good.</p>
+				</td><td id="vii.i-p50.1"> 
+
+				<p id="vii.i-p51"><b>25.</b> Fecitque Deus bestiam terrae secundum speciem suam, et jumentum secundum speciem suam, et omne reptile terrae secundum speciem suam: et vidit Deus quod esset bonum.</p>
+				</td> 
+			 </tr><tr id="vii.i-p51.1" valign="top">
+				<td id="vii.i-p51.2"> 
+
+				<p id="vii.i-p52"><b>26.</b> And God said, Let us make man in our image, after our likeness: and let them have dominion over the fish of the sea, and over the fowl of the air, and over the cattle, and over all the earth, and over every creeping thing that creepeth upon the earth.</p>
+				</td><td id="vii.i-p52.1"> 
+
+				<p id="vii.i-p53"><b>26.</b> Et dixit Deus, Faciamus hominem in imagine nostra, secundum similitudinem nostram; et dominetur piscibus maris, et volatili coeli, et jumento, et omni terrae, et omni reptili reptanti super terram.</p>
+				</td> 
+			 </tr><tr id="vii.i-p53.1" valign="top">
+				<td id="vii.i-p53.2"> 
+
+				<p id="vii.i-p54"><b>27.</b>  So God created man in his  <i>own</i>  image, in the image of God created he him; male and female created he them.</p>
+				</td><td id="vii.i-p54.1"> 
+
+				<p id="vii.i-p55"><b>27.</b>  Creavit itaque Deus hominem ad imaginem suam, ad imaginem  <i>inquam</i>  Dei creavit illum: masculum et foeminam creavit eos.</p>
+				</td> 
+			 </tr><tr id="vii.i-p55.1" valign="top">
+				<td id="vii.i-p55.2"> 
+
+				<p id="vii.i-p56"><b>28.</b> And God blessed them, and God said unto them, Be fruitful, and multiply, and replenish the earth, and subdue it: and have dominion over the fish of the sea, and over the fowl of the air, and over every living thing that moveth upon the earth.</p>
+				</td><td id="vii.i-p56.1"> 
+
+				<p id="vii.i-p57"><b>28.</b> Et benedixit illis Deus, dixitque ad eos Deus, Crescite, et multiplicate vos, et replete terram, et subjicite eam, et dominemini piscibus maris, et volatili coeli, et omni bestiae reptanti super terram.</p>
+				</td> 
+			 </tr><tr id="vii.i-p57.1" valign="top">
+				<td id="vii.i-p57.2"> 
+
+				<p id="vii.i-p58"><b>29.</b>  And God said, Behold, I have given you every herb bearing seed, which  <i>is</i>  upon the face of all the earth, and every tree, in the which  <i>is</i>  the fruit of a tree yielding seed; to you it shall be for meat.</p>
+				</td><td id="vii.i-p58.1"> 
+
+				<p id="vii.i-p59"><b>29.</b> Et dixit Deus, Ecce, dedi vobis omnum herbam seminificantem semen, quae est in superficie universa terrae, et omnem arborem in qua est fructus arboris seminificans semen: ut vobis sit in escam.</p>
+				</td> 
+			 </tr><tr id="vii.i-p59.1" valign="top">
+				<td id="vii.i-p59.2"> 
+
+				<p id="vii.i-p60"><b>30. </b> And to every beast of the earth, and to every fowl of the air, and to everything that creepeth upon the earth, wherein  <i>there is</i>  life,  <i>I have given</i>  every green herb for meat: and it was so.</p>
+				</td><td id="vii.i-p60.1"> 
+
+				<p id="vii.i-p61"><b>30.</b>  Et omni bestiae terrae, et omni volatili coeli, et omni reptanti super terram in quo est anima vivans, omne olus herbae  <i>erit</i>  in escam. Et fuit ita.</p>
+				</td> 
+			 </tr><tr id="vii.i-p61.1" valign="top">
+				<td id="vii.i-p61.2"> 
+
+				<p id="vii.i-p62"><b>31.</b>  And God saw every thing that he had made, an behold,  <i>it was</i>  very good. And the evening and the morning were the sixth day.</p>
+				</td><td id="vii.i-p62.1"> 
+
+				<p id="vii.i-p63"><b>31.</b> Et vidit Deus omne quod fecerat, et ecce bonum valde. Et fuit vespera, et fuit mane dies sextus.</p>
+				</td> 
+			 </tr> 
+		  </table>
+
+		  <p class="Center" id="vii.i-p64"> </p>
+
+		  <scripCom id="vii.i-p65.1" osisRef="Gen.1.1"
+			    parsed="|Gen|1|1|0|0" passage="Ge 1:1"
+			    type="Commentary">
+
+		    
+		  <p id="vii.i-p66"><b>1.</b>   <i>In the beginning.</i>  To expound the term “beginning,” of Christ, is altogether frivolous. For Moses simply intends to assert that the world was not perfected at its very commencement, in the manner in which it is now seen, but that it was created an empty chaos of heaven and earth. His language therefore may be thus explained. When God in the beginning
+			 created the heaven and the earth, the earth was empty and waste.  
+			 <note id="vii.i-p66.1" n="35" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p67"> “<span dir="ltr" id="vii.i-p67.1" lang="fr">La terre estoit vuide, et sans forme, et ne servoit a rien</span>.” — “The earth was aempty, and without form, and was of no use.” — French Tr.</p>
+			 </note>
+			  He moreover teaches by the word “created,” that what before did not exist was now made; for he has not used the term <span dir="rtl" id="vii.i-p67.2" lang="he">יצר</span>, ( <i>yatsar,</i> ) which signifies to frame or forms but <span dir="rtl" id="vii.i-p67.3" lang="he">ברא</span>, ( <i>bara,</i> ) which signifies to create.  
+			 <note id="vii.i-p67.4" n="36" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p68"> <span dir="rtl" id="vii.i-p68.1" lang="he">ברא</span> It has a twofold meaning — 1. To create out of nothing, as is proved from these words, In the beginning, because nothing was made before them. 2. To produce something excellent out of pre-existent matter; as it is said afterwards, He created whales, and man. — See Fagius, Drusius, and Estius, in Poole’s
+				  Synopsis.</p>
+			 </note>
+			  Therefore his meaning is, that the world was made out of nothing. Hence the folly of those is refuted who imagine that unformed matter existed from eternity; and who gather nothing else from the narration of Moses than that the world was furnished with new ornaments, and received a form of which it was before destitute. This indeed was formerly a common fable among heathens,  
+			 <note id="vii.i-p68.2" n="37" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p69"> <span dir="ltr" id="vii.i-p69.1" lang="la">Inter profanos homines</span>.</p>
+			 </note>
+			  who had received only an obscure report of the creation, and who, according to custom, adulterated the truth of God with strange figments; but for Christian men to labor (as Steuchus does  
+			 <note id="vii.i-p69.2" n="38" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p70"> Steuchus Augustinus was the Author of a work, “<span dir="ltr" id="vii.i-p70.1" lang="fr">De Perennie Philosophia</span>,” Lugd. 1540, and is most likely the writer referred to by Calvin. The work, however, is very rare, and probably of little value.</p>
+			 </note>
+			 ) in maintaining this gross error is absurd and intolerable. Let this, then be maintained in the first place,  
+			 <note id="vii.i-p70.2" n="39" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p71"> “<span dir="ltr" id="vii.i-p71.1" lang="la">Sit igitur haec prima sententia</span>. <span dir="ltr" id="vii.i-p71.2" lang="fr">Que ceci dont soit premierement resolu</span>.” — French Tr.</p>
+			 </note>
+			  that the world is not eternal but was created by God. There is no doubt that Moses gives the name of heaven and earth to that confused mass which he, shortly afterwards, (<scripRef id="vii.i-p71.3" osisRef="Bible:Gen.1.2" parsed="|Gen|1|2|0|0" passage="Ge 1:2">Genesis 1:2</scripRef>.) denominates  <i>waters</i> . The reason of which is, that this matter was to be the seed of the whole world. Besides, this is the
+			 generally recognized division of the world.  
+			 <note id="vii.i-p71.4" n="40" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p72"> Namely, into heaven and earth.</p>
+			 </note></p>
+
+		  <p id="vii.i-p73"><i>God.</i>  Moses has it  <i>Elohim</i> , a noun of the plural number. Whence the inference is drawn, that the three Persons of the Godhead are here noted; but since, as a proof of so great a matter, it appears to me to have little solidity, will not insist upon the word; but rather caution readers to beware of violent glosses of this, kind.  
+			 <note id="vii.i-p73.1" n="41" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p74"> The reasoning of Calvin on this point is a great proof of the candor of his mind, and of his determination to adhere strictly to what he conceives to be the meaning of Holy Scripture, whatever bearing it might have on the doctrines he maintains. It may however be right to direct the reader, who wishes fully to examine the disputed meaning of the plural word <span dir="rtl" id="vii.i-p74.1" lang="he">אלהים</span> which we translate God, to some sources of information, whence he may be able to form his own judgment respecting the term. Cocceius argues that the mystery of the Trinity in Unity is contained in the word; and many other writers of reputation take the same ground. Others contend, that though no clear intimation of the Trinity in Unity is given, yet the notion of plurality of Persons is plainly implied in the term. For a full account of all
+				  the arguments in favor of this hypothesis, the work of Dr. John Pye Smith, on the Scripture testimony of the Messiah — a work full of profound learning, and distinguished by patient industry and calmly courteous criticism — may be consulted. It must however be observed, that this diligent and impartial writer has mot met the special objection adduced by Calvin in this place, namely, the danger of gliding into Sabellianism while attempting to confute Arianism. —  <i>Ed</i></p>
+			 </note>
+			  They think that they have testimony against the Arians, to prove the Deity of the Son and of the Spirit, but in the meantime they involve themselves in the error of Sabellius,  
+			 <note id="vii.i-p74.2" n="42" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p75"> The error of Sabellius (according to Theodoret) consisted in his maintaining, “that the Father, Son, and Holy Ghost, are one hypostasis, and one Person under three names,” or, in the language of that eminent ecclesiastical scholar, the late Dr. Burton, “Sabellius divided the One Divinity into three, but he supposed the Son and the Holy Ghost to have no distinct personal existence, except when they were put forth for a time by the Father.” — See
+				  Burton’s Lectures on Ecclesiastical History, vol. 2, p. 365; and his Bampton Lectures, Note 103. This will perhaps assist the reader to understand the nature of Calvin’s argument which immediately follows. Supposing the word Elohim to denote the Three Persons of the Godhead in the first verse, it also denotes the same Three Persons in the second verse. But in this second verse Moses says, the Spirit of Elohim, that is, the Spirit of the Three Persons rested on the waters. Hence the distinction
+				  of Persons is lost; for the Spirit is himself one of them; consequently the Spirit is sent from himself. The same reasoning would prove that the Son was begotten by himself; because he is one of the Persons of the Elohim by whom the Son is begotten. — <i>Ed</i>.</p>
+			 </note>
+			  because Moses afterwards subjoins that the  <i>Elohim</i>  had spoken, and that the  <i>Spirit of the Elohim</i>  rested upon the waters. If we suppose three persons to be here denoted, there will be no distinction between them. For it will follow, both that the Son is begotten by himself, and that the Spirit is not of the Father, but of himself. For me it is sufficient that the plural
+			 number expresses those powers which God exercised in creating the world. Moreover I acknowledge that the Scripture, although it recites many powers of the Godhead, yet always recalls us to the Father, and his Word, and spirit, as we shall shortly see. But those absurdities, to which I have alluded, forbid us with subtlety to distort what Moses simply declares concerning God himself, by applying it to the separate Persons of the Godhead. This, however, I regard as beyond controversy, that from
+			 the peculiar circumstance of the passage itself, a title is here ascribed to God, expressive of that powers which was previously in some way included in his eternal essence.  
+			 <note id="vii.i-p75.1" n="43" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p76"> The interpretation above given of the meaning of the word <span dir="rtl" id="vii.i-p76.1" lang="he">אלהים</span> ( <i>Elohim</i> ) receives confirmation from the profound critical investigations of Dr. Hengstenberg, Professor of Theology in the University of Berlin, whose work, cast in a somewhat new form, and entitled “Dissertations
+				  on the Genuineness of the Pentateuch,” appears in an English dress, under the superintendence of the Continental Translation Society, while these pages are passing through the press. With other learned critics, he concludes, that the word is derived from the Arabic root Allah, which means to worship, to adore, to be seized with fear. He, therefore, regards the title more especially descriptive of the awful aspect of the Divine character.</p>
+
+				<p id="vii.i-p77">On the plural form of the word he quotes from the Jewish Rabbis the assertion, that it is intended to signify ‘<span dir="ltr" id="vii.i-p77.1" lang="la">Dominus potentiarum omnium</span>,’ ‘The Lord of all powers’. He refers to Calvin and others as having opposed, though without immediate effect, the notion maintained by Peter Lombard, that it involved the mystery of the
+				  Trinity. He repels the profane intimation of Le Clerc, and his successors of the Noological school, that the name originated in polytheism; and then proceeds to show that “there is in the Hebrew language a widely extended use of the plural which expresses the intensity of the idea contained in the singular.” After numerous references, which prove this point, he proceeds to argue, that “if, in relation to earthly objects, all that serves to represent a whole order of beings is brought before the
+				  mind by means of the plural form, we might anticipate a more extended application of this method of distinguishing in the appellations of God, in whose being and attributes there is everywhere a unity which embraces and comprehends all multiplicity.” “The use of the plural,” he adds, “answers the same purpose which elsewhere is accomplished by an accumulation of the Divine names; as in <scripRef id="vii.i-p77.2" osisRef="Bible:Josh.22.22" parsed="|Josh|22|22|0|0" passage="Jos 22:22">Joshua 22:22</scripRef>; the thrice holy in <scripRef id="vii.i-p77.3" osisRef="Bible:Isa.6.3" parsed="|Isa|6|3|0|0" passage="Isa 6:3">Isaiah 6:3</scripRef>; and <span dir="rtl" id="vii.i-p77.4" lang="he">אדני אדנים</span> in <scripRef id="vii.i-p77.5" osisRef="Bible:Deut.10.17" parsed="|Deut|10|17|0|0" passage="De 10:17">Deuteronomy 10:17</scripRef>. It calls the attention to the infinite riches and the inexhaustible fullness contained in
+				  the one Divine Being, so that though men may imagine innumerable gods, and invest them with perfections, yet all these are contained in the one <span dir="rtl" id="vii.i-p77.6" lang="he">אלהים</span> ( <i>Elohim</i> ).” See Dissertations, pp.268-273.</p>
+
+				<p id="vii.i-p78">It is, perhaps, necessary here to state, that whatever treasures of biblical learning the writings of this celebrated author contains, and they are undoubtedly great, the reader will still require to be on his guard in studying them. For, notwithstanding the author’s general strenuous opposition to the and — supernaturalism of his own countrymen, he has not altogether escaped the contagion which he is attempting to resist. Occasions may occur in
+				  which it will be right to allude to some of his mistakes. — <i>Ed</i>.</p>
+			 </note></p>
+
+		  </scripCom><scripCom id="vii.i-p79.1" osisRef="Bible:Gen.1.2" parsed="|Gen|1|2|0|0" passage="Ge 1:2" type="Commentary"><p class="Normal" id="vii.i-p79"/>
+
+		  <p id="vii.i-p80"><b>2.</b>   <i>And the earth was without form and void.</i>  I shall not be very solicitous about the exposition of these two epithets, <span dir="rtl" id="vii.i-p80.1" lang="he">תוהו</span>, ( <i>tohu,</i> ) and <span dir="rtl" id="vii.i-p80.2" lang="he">בוהו</span>, ( <i>bohu.</i> ) The Hebrews use them when they designate anything empty and confused, or vain, and nothing worth. Undoubtedly Moses placed them both in opposition to all those created objects which pertain to the form, the ornament and the perfection of the world. Were we now to take away, I say, from the earth all that God added after the time here alluded to, then we should have this rude and
+			 unpolished, or rather shapeless chaos.  
+			 <note id="vii.i-p80.3" n="44" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p81"> The words <span dir="rtl" id="vii.i-p81.1" lang="he">תהו ובהו</span> are rendered in Calvin’s text <span dir="ltr" id="vii.i-p81.2" lang="la">informis et inanis</span>, “shapeless and empty.” They are, however, substantives, and are translated in <scripRef id="vii.i-p81.3" osisRef="Bible:Isa.34.11" parsed="|Isa|34|11|0|0" passage="Isa 34:11">Isaiah 34:11</scripRef>, “confusion” and “emptiness.” The two words standing in connection, were used by the Hebrews to describe anything that was most dreary, waste, and desolate. The Septuagint has <span class="Greek" id="vii.i-p81.4" lang="el">κὰι ἀκατασκευάστος</span>, invisible and unfurnished. —  <i>Ed</i></p>
+			 </note>
+			  Therefore I regard what he immediately subjoins that “darkness was upon the face of the abyss,”  
+			 <note id="vii.i-p81.5" n="45" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p82"> It is to be remarked, that Calvin does not in his comment always adhere to his own translation. For instance, his version here is, “<span dir="ltr" id="vii.i-p82.1" lang="la">in superficiem voraginis</span>;” but in his Commentary he has it, “<span dir="ltr" id="vii.i-p82.2" lang="la">super faciem abyssi</span>,” from the Latin Vulgate. — <i>Ed</i>.</p>
+			 </note>
+			  as a part of that confused emptiness: because the light began to give some external appearance to the world. For the same reason he calls it the  <i>abyss</i>  and  <i>waters</i> , since in that mass of matter nothing was solid or stable, nothing distinct.</p>
+
+		  <p id="vii.i-p83"><i>And the Spirit of God</i>    Interpreters have wrested this passage in various ways. The opinion of some that it means the wind, is too frigid to require refutation. They who understand by it the Eternal Spirit of God, do rightly; yet all do not attain the meaning of Moses in the connection of his discourse; hence arise the various interpretations of the participle <span dir="rtl" id="vii.i-p83.1" lang="he">מרחפת</span>, ( <i>merachepeth</i> .) I will, in the first place, state what (in my judgment) Moses intended. We have already heard that before God had perfected the world it was an undigested mass; he now teaches that the power of the Spirit was necessary in order to sustain it. For this doubt might occur to the mind, how such a disorderly heap could stand; seeing that we
+			 now behold the world preserved by government, or order.  
+			 <note id="vii.i-p83.2" n="46" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p84"> “<span dir="ltr" id="vii.i-p84.1" lang="la">Temperamento servari</span>.” Perhaps we should say, “preserved by the laws of nature.” — Ed.</p>
+			 </note>
+			  He therefore asserts that this mass, however confused it might be, was rendered stable, for the time, by the secret efficacy of the Spirit. Now there are two significations of the Hebrew word which suit the present place; either that the spirit moved and agitated itself over the waters, for the sake of putting forth vigor; or that He brooded over them to cherish them.  
+			 <note id="vii.i-p84.2" n="47" place="foot"> 
+
+				<p class="Footnote" id="vii.i-p85"> The participle of the verb <span dir="rtl" id="vii.i-p85.1" lang="he">רהף</span> is here used instead of the regular tense. “The Spirit was moving,” instead of “the Spirit moved.” The word occurs in <scripRef id="vii.i-p85.2" osisRef="Bible:Deut.32.11" parsed="|Deut|32|11|0|0" passage="De 32:11">Deuteronomy 32:11</scripRef>, where the eagle is represented as fluttering
+				  over her young. Vatablus, whom Calvin here probably follows, says, the Holy Spirit cherished the earth “by his secret virtue, that it might remain stable for the time.” — See Poole’s Synopsis. The word, however, is supposed further to imply a vivifying power; as that of birds brooding over and hatching their young. Gesenius says that Moses here speaks, “<span dir="ltr" id="vii.i-p85.3" lang="de">Von der shaffenden und belebenden Kraft Gottes die uber der chaotischen
+				  wasserbedeckten Erde schwebt gleichsam bruetet</span>” — “of the creative and quickening power of God, which hovered over the chaotic and water — covered earth, as if brooding.” The same view is given by P. Martyr on Genesis; others, however, are opposed to this interpretation. Vide Johannes Clericus in loco. —  <i>Ed</i></p>
+			 </note>
+			  Inasmuch as it makes little difference in the result, whichever of these explanations is preferred, let the reader’s judgment be left free. But if that chaos required the secret inspiration of God to prevent its speedy dissolution; how could this order, so fair and distinct, subsist by itself, unless it derived strength elsewhere? Therefore, that Scripture must be fulfilled,</p>
+
+		  <p class="SCRIPTURE" id="vii.i-p86">‘Send forth thy Spirit, and they shall be created, and thou shalt renew the face of the earth,’ (<scripRef id="vii.i-p86.1" osisRef="Bible:Ps.104.30" parsed="|Ps|104|30|0|0" passage="Ps 104:30">Psalm 104:30</scripRef>;)</p>
+
+		  <p id="vii.i-p87">so, on the other hand, as soon as the Lord takes away his Spirit, all things return to their dust and vanish away, (<scripRef id="vii.i-p87.1" osisRef="Bible:Ps.104.29" parsed="|Ps|104|29|0|0" passage="Ps 104:29">Psalm 104:29</scripRef>.)</p>
+
+		  <a href="http://www.ccel.org">anchor test</a>
+		  <div type="book">
+		  <h1>Heading test 1</h1>
+		  <h2>Heading test 2</h2>
+		  <h3>Heading test 3</h3>
+		  <h4>Heading test 4</h4>
+		  <h5>Heading test 5</h5>
+		  <h6>Heading test 6</h6>
+		  </div>
+		  <br/>
+		  <a/>
+		  <img alt="Facsimile of the title page to the 1578 English Translation" src="../gen_eng.jpg"/>
+		  <sup>blah</sup>
+		  <a href="/ccel/Calvin/comm_vol01.htm|vol01.chap12.vs1"><scripRef osisRef="Bible:Gen.12.1">Genesis 12:1</scripRef></a>
+                  <insertIndex type="scripRef"/>
+<ul class="foo">
+ <li class="test">́: 
+  <a href="#xxvii.i-p135.2">1</a></li>
+ <li>ἀνθρωποπάθεια: 
+  <a href="#xii.i-p80.2">1</a></li>
+</ul>
+		Test <scripRef osisRef="Bible:2Sam.7.13">outer <i>ref</i><scripRef osisRef="Bible:1Chr.22.10">inner ref</scripRef><scripRef osisRef="Bible:Ps.89.5">inner ref 2</scripRef></scripRef>
+<added>Added text</added>
+<deleted>Deleted text</deleted>
+<unclear>Unclear text</unclear>
+<p><cite>Lib. III. Carm. XXIV.</cite></p>
+<a href="blah"><i>Italic</i> text inside anchor and index<index type="subject" title="Foo"/></a>
+<index type="subject" title="Foo"/>
+<index type="subject" subject1="Foo" title="Bar"/>
+<index type="subject" subject1="Foo" subject2="Bar" title="Baz"/>
+<index type="subject" subject1="Foo" subject2="Bar" subject3="Baz" title="Frobble"/>
+</scripCom>
+</div2>
+</div1>
+
+
+</ThML.body></ThML>

Added: trunk/thml2osis/xslt/tests/headers.osis.flat
===================================================================
--- trunk/thml2osis/xslt/tests/headers.osis.flat	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/headers.osis.flat	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,30 @@
+/osis/@xmlns=http://www.bibletechnologies.net/2003/OSIS/namespace
+/osis/@xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
+/osis/@xsi:schemaLocation=http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd
+/osis/osisText/@osisRefWork=bible
+/osis/osisText/@canonical=true
+/osis/osisText/@osisIDWork=calcom01
+/osis/osisText/@xml:lang=en
+/osis/osisText/header/revisionDesc/date=1999.11.10
+/osis/osisText/header/revisionDesc/p=v0.99. Update for DTD 0.99. Main change: use DC record instead of MARC. Significant changes to the head section.v0.98. Update for DTD 0.98; delete some unneeded head elements; italicize Citation style
+/osis/osisText/header/work/@osisWork=calcom01
+/osis/osisText/header/work/title=Commentary on Genesis - Volume 1
+/osis/osisText/header/work/creator/@role=aut
+/osis/osisText/header/work/creator=John Calvin
+/osis/osisText/header/work/creator
+/osis/osisText/header/work/creator/@role=trl
+/osis/osisText/header/work/creator=King, Rev. John
+/osis/osisText/header/work/date/@event=edition
+/osis/osisText/header/work/date/@type=ISO
+/osis/osisText/header/work/date=1578
+/osis/osisText/header/work/date
+/osis/osisText/header/work/date/@event=eversion
+/osis/osisText/header/work/date/@type=ISO
+/osis/osisText/header/work/date=1999.11.10
+/osis/osisText/header/work/description=This is a test description
+/osis/osisText/header/work/publisher=Grand Rapids, MI: Christian Classics Ethereal Library
+/osis/osisText/header/work/format/@type=x-MIME
+/osis/osisText/header/work/format=text/xml
+/osis/osisText/header/work/language/@type=ISO-639-1
+/osis/osisText/header/work/language=en
+/osis/osisText/header/work/rights=Public Domain

Added: trunk/thml2osis/xslt/tests/headers.thml
===================================================================
--- trunk/thml2osis/xslt/tests/headers.thml	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/headers.thml	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE ThML PUBLIC 
+    "-//CCEL/DTD Theological Markup Language//EN"
+    "http://www.ccel.org/dtd/ThML10.dtd">   
+<ThML> 
+  <ThML.head> 
+
+	 <generalInfo>
+	   <description>This is a test description</description>
+		<firstPublished>1578</firstPublished>
+		<pubHistory>1847 (Calvin Society)</pubHistory>
+		<comments/> </generalInfo> 
+
+	 <printSourceInfo>
+		<published>Baker, 1996</published>
+		<copyLocation/> 
+		<image type="front" href=""/> <image type="spine" href=""/> 
+	 </printSourceInfo> 
+
+	 <electronicEdInfo>
+		<publisherID>ccel</publisherID>
+		<authorID>calvin</authorID>
+		<bookID>calcom01</bookID>
+		<version>1.01</version>
+		<series/>
+		<editorialComments>1.0 initial scanning created much American spelling. sg initial XML insertion, footnote reconciliation. 1.01 fj Thml/XML inserted for OLB verse commentary, Foreign Language XML inserted into footnote section. English Scripture Table text verified against the Authorized Version</editorialComments>
+		<revisionHistory>v0.99. Update for DTD 0.99. Main change: use DC record instead of MARC. Significant changes to the head section.v0.98. Update for DTD 0.98; delete some unneeded head elements; italicize Citation style</revisionHistory>
+		<status/>
+
+		<DC>
+		  <DC.Title sub="Main">Commentary on Genesis - Volume 1</DC.Title>
+		  <DC.Title sub="Alternative">Commentaries on the First Book of Moses Called Genesis - Volume 1</DC.Title>
+		  <DC.Creator sub="Author" scheme="ccel"/>
+		  <DC.Creator sub="Author" scheme="file-as">Calvin, John (1509-1564)</DC.Creator>
+		  <DC.Creator sub="Author" scheme="short-form">John Calvin</DC.Creator>
+		  <DC.Creator sub="Alternative" scheme="ccel"/>
+		  <DC.Creator sub="Alternative" scheme="file-as"/>
+		  <DC.Creator sub="Alternative" scheme="short-form">Jean Calvin</DC.Creator>
+		  <DC.Creator sub="Translator" scheme="ccel"/>
+		  <DC.Creator sub="Translator" scheme="file-as"/>
+		  <DC.Creator sub="Translator" scheme="short-form">King, Rev. John</DC.Creator>
+		  <DC.Creator scheme="short-form">John Calvin, 1509-1564</DC.Creator>
+		  <DC.Subject scheme="CCEL">All; Bible; </DC.Subject>
+		  <DC.Subject scheme="LCCN">BS485</DC.Subject>
+		  <DC.Subject scheme="lcsh1">The Bible</DC.Subject>
+		  <DC.Subject scheme="lcsh2">Works about the Bible</DC.Subject>
+		  <DC.Subject scheme="LCSH"/>
+		  <DC.Description/>
+		  <DC.Publisher>Grand Rapids, MI: Christian Classics Ethereal Library</DC.Publisher>
+		  <DC.Publisher sub="Address">ccel at ccel.org</DC.Publisher>
+		  <DC.Publisher scheme="CCEL">CCEL</DC.Publisher>
+		  <DC.Contributor sub="Transcriber" scheme="CCEL">Ages</DC.Contributor>
+		  <DC.Contributor sub="Markup" scheme="CCEL">sg, fj</DC.Contributor>
+		  <DC.Date sub="Created" scheme="ISO8601">1999-11-10</DC.Date>
+		  <DC.Type>Text.Commentary</DC.Type>
+		  <DC.Format scheme="IMT">text/html</DC.Format>
+		  <DC.Identifier scheme="CCEL"> </DC.Identifier>
+		  <DC.Identifier/>
+		  <DC.Subject scheme="LCCS"/>
+		  <DC.Subject scheme="DDC"/>
+		  <DC.Source sub="ElectronicEdition"/>
+		  <DC.Source sub="ElectronicEdition" scheme="URL"/>
+		  <DC.Source sub="Etext"/>
+		  <DC.Source sub="Etext" scheme="URL"/>
+		  <DC.Source sub="Print">Grand Rapids, Michigan: Baker Book House, 1996</DC.Source>
+		  <DC.Language scheme="ISO639-1">en</DC.Language>
+		  <DC.Relation/>
+		  <DC.Coverage/>
+		  <DC.Identifier scheme="URL">/ccel/calvin/calcom01.html</DC.Identifier>
+		  <DC.Rights>Public Domain</DC.Rights>
+		</DC>
+		<comments/> </electronicEdInfo>
+	 <link rel="stylesheet" type="text/css" href="/css/ThML099.css"/> 
+	 
+<style type="text/css">
+</style>
+
+</ThML.head>
+<ThML.body>
+</ThML.body>
+</ThML>

Added: trunk/thml2osis/xslt/tests/headers_misc_missing.osis.flat
===================================================================
--- trunk/thml2osis/xslt/tests/headers_misc_missing.osis.flat	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/headers_misc_missing.osis.flat	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,17 @@
+/osis/@xmlns=http://www.bibletechnologies.net/2003/OSIS/namespace
+/osis/@xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
+/osis/@xsi:schemaLocation=http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd
+/osis/osisText/@osisRefWork=bible
+/osis/osisText/@canonical=true
+/osis/osisText/@osisIDWork=calcom01
+/osis/osisText/@xml:lang=en
+/osis/osisText/header/work/@osisWork=calcom01
+/osis/osisText/header/work/title=Commentary on Genesis - Volume 1
+/osis/osisText/header/work/date/@event=edition
+/osis/osisText/header/work/date/@type=ISO
+/osis/osisText/header/work/date=1578
+/osis/osisText/header/work/publisher=Grand Rapids, MI: Christian Classics Ethereal Library
+/osis/osisText/header/work/format/@type=x-MIME
+/osis/osisText/header/work/format=text/xml
+/osis/osisText/header/work/language/@type=ISO-639-1
+/osis/osisText/header/work/language=en

Added: trunk/thml2osis/xslt/tests/headers_misc_missing.thml
===================================================================
--- trunk/thml2osis/xslt/tests/headers_misc_missing.thml	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/headers_misc_missing.thml	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE ThML PUBLIC 
+    "-//CCEL/DTD Theological Markup Language//EN"
+    "http://www.ccel.org/dtd/ThML10.dtd">   
+<ThML> 
+  <ThML.head> 
+	 <generalInfo>
+		<firstPublished>1578</firstPublished>
+		<pubHistory>1847 (Calvin Society)</pubHistory>
+		<comments/> </generalInfo> 
+
+	 <printSourceInfo>
+		<published>Baker, 1996</published>
+		<copyLocation/> 
+		<image type="front" href=""/> <image type="spine" href=""/> 
+	 </printSourceInfo> 
+
+	 <electronicEdInfo>
+		<publisherID>ccel</publisherID>
+		<authorID>calvin</authorID>
+		<bookID>calcom01</bookID>
+		<version>1.01</version>
+		<series/>
+		<editorialComments>1.0 initial scanning created much American spelling. sg initial XML insertion, footnote reconciliation. 1.01 fj Thml/XML inserted for OLB verse commentary, Foreign Language XML inserted into footnote section. English Scripture Table text verified against the Authorized Version</editorialComments>
+		<revisionHistory>v0.99. Update for DTD 0.99. Main change: use DC record instead of MARC. Significant changes to the head section.v0.98. Update for DTD 0.98; delete some unneeded head elements; italicize Citation style</revisionHistory>
+		<status/>
+
+		<DC>
+		  <DC.Title sub="Main">Commentary on Genesis - Volume 1</DC.Title>
+		  <DC.Title sub="Alternative">Commentaries on the First Book of Moses Called Genesis - Volume 1</DC.Title>
+		  <DC.Creator>John Calvin</DC.Creator>
+		  <DC.Creator scheme="short-form">John Calvin, 1509-1564</DC.Creator>
+		  <DC.Subject scheme="CCEL">All; Bible; </DC.Subject>
+		  <DC.Subject scheme="LCCN">BS485</DC.Subject>
+		  <DC.Subject scheme="lcsh1">The Bible</DC.Subject>
+		  <DC.Subject scheme="lcsh2">Works about the Bible</DC.Subject>
+		  <DC.Subject scheme="LCSH"/>
+		  <DC.Description/>
+		  <DC.Publisher>Grand Rapids, MI: Christian Classics Ethereal Library</DC.Publisher>
+		  <DC.Publisher sub="Address">ccel at ccel.org</DC.Publisher>
+		  <DC.Publisher scheme="CCEL">CCEL</DC.Publisher>
+		  <DC.Contributor sub="Transcriber" scheme="CCEL">Ages</DC.Contributor>
+		  <DC.Contributor sub="Markup" scheme="CCEL">sg, fj</DC.Contributor>
+		  <DC.Type>Text.Commentary</DC.Type>
+		  <DC.Format scheme="IMT">text/html</DC.Format>
+		  <DC.Identifier scheme="CCEL"> </DC.Identifier>
+		  <DC.Identifier/>
+		  <DC.Subject scheme="LCCS"/>
+		  <DC.Subject scheme="DDC"/>
+		  <DC.Source sub="ElectronicEdition"/>
+		  <DC.Source sub="ElectronicEdition" scheme="URL"/>
+		  <DC.Source sub="Etext"/>
+		  <DC.Source sub="Etext" scheme="URL"/>
+		  <DC.Source sub="Print">Grand Rapids, Michigan: Baker Book House, 1996</DC.Source>
+		  <DC.Language scheme="ISO639-1">en</DC.Language>
+		  <DC.Relation/>
+		  <DC.Coverage/>
+		  <DC.Identifier scheme="URL">/ccel/calvin/calcom01.html</DC.Identifier>
+		</DC>
+		<comments/> </electronicEdInfo>
+	 <link rel="stylesheet" type="text/css" href="/css/ThML099.css"/> 
+	 
+<style type="text/css">
+</style>
+
+</ThML.head>
+<ThML.body>
+</ThML.body>
+</ThML>

Added: trunk/thml2osis/xslt/tests/osisCore.2.1.1.xsd
===================================================================
--- trunk/thml2osis/xslt/tests/osisCore.2.1.1.xsd	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/osisCore.2.1.1.xsd	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,3873 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xs:schema targetNamespace="http://www.bibletechnologies.net/2003/OSIS/namespace" xmlns="http://www.bibletechnologies.net/2003/OSIS/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" xml:lang="en">
+
+	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+	<xs:annotation>
+
+		<xs:documentation>
+
+			<p>The OSIS 2.1.1 schema was issued March 5, 2006 with the
+			following comments.</p>
+
+			<p>Welcome to the OSIS 2.1.1 schema for encoding biblical literature! A number of changes, which are detailed in the Users Manual, were made to accomodate publishing needs more easily.</p>
+
+			<p>The OSIS family of schemas is definitely a work in progress and is supported by both the American Bible Society and the Society of Biblical Literature, with additional contributions from the United Bible Societies and SIL International, as well as tireless efforts of numerous volunteers. While freely available for all purposes, it is requested that use of the schemas be acknowledged as appropriate and that problems or suggestions for improvements be forwarded to the project.</p>
+
+			<p>The OSIS schemas were written by a small core of technical and content experts who volunteered large blocks of time for this project: Steve DeRose (sderose at acm.org), chair of the Bible Technologies Group (co-sponsored by the ABS and SBL), Kees De Blois (kdeblois at solcon.nl), vice-chair of the Bible Technologies Group, Troy Griffitts (scribe at crosswire.org), Chris Little (chrislit at crosswire.org), Todd Tillinghast (todd at contentframeworks.com), Harry Plantinga (hplantin at calvin.edu), Kirk Lowery (klowery at wts.edu), and Patrick Durusau (Patrick at durusau.net), Technical Lead.</p>
+
+			<p>Outside of the core technical team, special thanks go to Adina Hamik (ABS), Bob Hodgson (ABS), John Walter (ABS) and Mike Perez (eABS) for their organization of both domestic and international meetings of the OSIS project and their unflagging support for its efforts.</p>
+
+			<p>While the history of the OSIS project is ongoing, users should be aware of the pivotal role of Dennis Drescher (Dennis_Drescher at sil.org) in his organization of a breakfast meeting at XML 2000 on Bible encoding that lead to the formation of the Bible Technologies Group and hence the OSIS project. Other contributors from SIL include, Eric Albright (eric-allison_albright at sil.org), Peter Constable (peter_constable at sil.org), John Edwards (John_Edwards at sil.org), Darrell Eppler (Darrell_Eppler at sil.org), Nathan Miles (Nathan_Miles at sil.org), and, Jim DeVries (jim_devries at sil.org).</p>
+
+			<p>The fundamental goal of the OSIS project is to provide a common format that supports multiple visions of and purposes for Bibles and related texts. By pooling the interests of the wide variety of communities interested in biblical texts, the OSIS project seeks to provide the basis for tools and texts that will benefit all of these diverse communities.</p>
+
+			<p>The lastest version of the OSIS schema and user documentation can always be found at: http://www.bibletechnologies.org and comments can be forewarded to the OSIS Technical Editors, Patrick Durusau, Patrick at durusau.net or Steve DeRose, sderose at acm.org.</p>
+
+		</xs:documentation>
+
+	</xs:annotation>
+
+	<xs:element name="osis" type="osisCT"/>
+
+	<xs:complexType name="osisCT">
+
+		<xs:choice>
+
+			<xs:element name="osisCorpus" type="osisCorpusCT" minOccurs="0"/>
+
+			<xs:element name="osisText" type="osisTextCT" minOccurs="0"/>
+
+		</xs:choice>
+
+		<xs:attribute name="TEIform" fixed="TEI.2"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="osisCorpusCT">
+
+		<xs:sequence>
+
+			<xs:element name="header" type="corpusHeaderCT" minOccurs="0"/>
+
+			<xs:element name="titlePage" type="titlePageCT" minOccurs="0" maxOccurs="1"/>
+
+			<xs:element name="osisText" type="osisTextCT" minOccurs="1" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="TEIform" fixed="teiCorpus.2"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="corpusHeaderCT">
+
+		<xs:sequence>
+
+			<xs:element name="revisionDesc" type="revisionDescCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="work" type="workCT" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="TEIform" fixed="teiHeader"/>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional" default="false"/>
+
+	</xs:complexType>
+
+
+
+	<xs:complexType name="osisTextCT">
+
+		<xs:sequence>
+
+			<xs:element name="header" type="headerCT"/>
+
+			<xs:element name="titlePage" type="titlePageCT" minOccurs="0" maxOccurs="1"/>
+
+			<xs:element name="div" type="divCT" minOccurs="0" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="annotateRef" type="annotateRefType" use="optional"/>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional" default="true"/>
+
+		<xs:attribute name="ID" type="xs:ID" use="optional"/>
+
+		<xs:attribute name="osisID" type="osisIDType" use="optional"/>
+
+		<xs:attribute name="osisIDWork" type="osisWorkType" use="required"/>
+
+		<xs:attribute name="osisRefWork" type="osisWorkType" use="optional" default="Bible"/>
+
+		<xs:attribute name="type" type="attributeExtension" use="optional"/>
+
+		<xs:attribute name="subType" type="attributeExtension" use="optional"/>
+
+		<xs:attribute ref="xml:lang" use="required"/>
+
+		<xs:attribute ref="xml:space" default="default"/>
+
+		<xs:attribute name="TEIform" fixed="text"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="headerCT">
+
+		<xs:sequence>
+
+			<xs:element name="revisionDesc" type="revisionDescCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="work" type="workCT" maxOccurs="unbounded"/>
+
+			<xs:element name="workPrefix" type="workPrefixCT" minOccurs="0" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="TEIform" fixed="teiHeader"/>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional" default="false"/>
+
+	</xs:complexType>
+
+	<!-- elements for header, with exceptions of title and head which are found with regular OSIS elements -->
+
+	<xs:complexType name="actorCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="who" type="xs:string" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="actor"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="castGroupCT">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="head" type="headCT"/>
+
+			<xs:element name="castItem" type="castItemCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="castGroup"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="castItemCT">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="actor" type="actorCT"/>
+
+			<xs:element name="role" type="roleCT"/>
+
+			<xs:element name="roleDesc" type="roleDescCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="castItem"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="castListCT">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="castGroup" type="castGroupCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="castList"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="contributorCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attribute name="file-as" type="xs:string" use="optional"/>
+
+				<xs:attribute name="role" type="roleType" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="coverageCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="creatorCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attribute name="role" type="roleType" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="descriptionCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+				<xs:attribute name="type" type="descriptionType" use="optional"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="formatCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="identifierCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+				<xs:attribute name="type" type="identifierType"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<!-- The type attribute on identifierCT is used to identify the system that specifies the meaning and syntax of the identifier element content. A list of some of the better known identifier systems has been enumerated for this value. Those are: Dewey (Dewey Decimal System); DOI (Digital Object Identifier); ISBN (International Standard Book Number); ISSN (Internation Standard Serial Number); LCCN (Library of Congress Control Number); OSIS (a system for constructing identifiers for texts encoded in OSIS markup); SICI (Serial Item and Contribution Identifier), URI (Uniform Resource Identifier); and, URL (Uniform Resource Locator). Or, listed without comment, the valid values are: Dewey, DOI, ISBN, ISSN, LCCN, OSIS, SICI, URI, URL, URN. Note that if a system not listed here is used, the value in type must be preceded by "x-", thus: "x-Durusau" as the type for an identifier from the Durusau System of Universal Identifiers (a non-existent and never to be built system). -->
+
+	<xs:complexType name="languageCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attribute name="type" type="languageType"/>
+
+				<xs:attribute name="use" type="languageUsage"/>
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="publisherCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="refSystemCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="relationCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="revisionDescCT">
+
+		<xs:sequence>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="p" type="pCT" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="revisionDesc"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="rightsCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="roleCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="role"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="roleDescCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="roleDesc"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="subjectCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attribute name="type" type="subjectType" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+		<!-- The type attribute on subjectCT is used to identify the system that specifies the meaning and syntax of the subject element content. A list of some of the better known subject classification systems has been enumerated for this value. Those are: ATLA (American Theological Libraries Association); BILDI (Biblewissenschaftliche Literaturdokumentation Innsbruck); DBC (Dutch Basic Classification); DDC (Dewey Decimal Classification); EUT (Estonian Universal Thesaurus); FGT (Finnish General Thesaurus); LCSH (Library of Congress Subject Heading); MeSH (Medical Subject Headings); NLSH (National Library Subject Headings (National Library of Poland)); RSWK (Regeln f&uuml;r den Schlagwortkatalog); SEARS (Sears List of Subject Headings); SOG (Soggettario); SWD_RSWK (Swiss National Library); UDC (Universal Decimal Classification); and, VAT (Vatican Library). Or, listed without comment, the valid values are: ATLA, BILDI, DBC, DDC, EUT, FGT, LCSH, MeSH, NLSH, RSWK, SEARS, SOG, SWD_RSWK, UDC, VAT. Note that if a system not listed here is used, the value in type must be preceded by "x-", thus: "x-Durusau" as the type for subject from the Durusau System of Universal Subject (a non-existent and never to be built system). -->
+
+	</xs:complexType>
+
+	<xs:complexType name="sourceCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="scopeCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="osisRefType">
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="teiHeaderCT" mixed="true">
+
+		<xs:sequence>
+
+			<xs:any processContents="skip" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="TEIform" fixed="teiHeader"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="typeCT">
+
+		<xs:simpleContent>
+
+			<xs:extension base="xs:string">
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attribute name="type" type="typeType" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+			</xs:extension>
+
+		</xs:simpleContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="workCT">
+
+		<xs:sequence>
+
+			<xs:element name="title" type="titleCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="contributor" type="contributorCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="creator" type="creatorCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="subject" type="subjectCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="date" type="dateCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="description" type="descriptionCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="publisher" type="publisherCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="type" type="typeCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="format" type="formatCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="identifier" type="identifierCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="source" type="sourceCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="language" type="languageCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="relation" type="relationCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="coverage" type="coverageCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="rights" type="rightsCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="scope" type="scopeCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="castList" type="castListCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:element name="teiHeader" type="teiHeaderCT" minOccurs="0"/>
+
+			<xs:element name="refSystem" type="refSystemCT" minOccurs="0" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="osisWork" type="osisWorkType" use="required"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="workPrefixCT">
+
+		<xs:attribute name="path" type="osisWorkPrefix" use="required"/>
+
+		<xs:attribute name="osisWork" type="osisWorkType" use="required"/>	
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+	</xs:complexType>
+
+	<!-- end of header elements -->
+
+	<!-- beginning of elements that occur within <div>, the main OSIS container element under <osisText> -->
+
+	<xs:complexType name="aCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="index" type="indexCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="href" type="xs:string" use="required"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="abbrCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attribute name="expansion" type="xs:string" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="TEIform" fixed="abbr"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="captionCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="TEIform" fixed="figDesc"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="catchWordCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="inscription" type="inscriptionCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="list" type="listCT"/>
+
+			<xs:element name="mentioned" type="mentionedCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="speaker" type="speakerCT"/>
+
+			<xs:element name="title" type="titleCT"/>
+
+			<xs:element name="transChange" type="transChangeCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="osisRef" type="osisRefType" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="cellCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="closer" type="closerCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="figure" type="figureCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="inscription" type="inscriptionCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="lg" type="lgCT"/>
+
+			<xs:element name="list" type="listCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="p" type="pCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="salute" type="saluteCT"/>
+
+			<xs:element name="seq" type="segCT"/>
+
+			<xs:element name="signed" type="signedCT"/>
+
+			<xs:element name="speaker" type="speakerCT"/>
+
+			<xs:element name="speech" type="speechCT"/>
+
+			<xs:element name="table" type="tableCT"/>
+
+			<xs:element name="title" type="titleCT"/>
+
+			<xs:element name="transChange" type="transChangeCT"/>
+
+			<xs:element name="verse" type="verseCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="role" type="tableRole" use="optional" default="data"/>
+
+		<xs:attribute name="align" type="osisCellAlign" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="cell"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="chapterCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="abbr" type="abbrCT"/>
+
+					<xs:element name="closer" type="closerCT"/>
+
+					<xs:element name="date" type="dateCT"/>
+
+					<xs:element name="div" type="divCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="figure" type="figureCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="hi" type="hiCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="inscription" type="inscriptionCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="lg" type="lgCT"/>
+
+					<xs:element name="list" type="listCT"/>
+
+					<xs:element name="mentioned" type="mentionedCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+					<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="p" type="pCT"/>
+
+					<xs:element name="q" type="qCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="salute" type="saluteCT"/>
+
+					<xs:element name="seg" type="segCT"/>
+
+					<xs:element name="signed" type="signedCT"/>
+
+					<xs:element name="speaker" type="speakerCT"/>
+
+					<xs:element name="speech" type="speechCT"/>
+
+					<xs:element name="table" type="tableCT"/>
+
+					<xs:element name="title" type="titleCT"/>
+
+					<xs:element name="transChange" type="transChangeCT"/>
+
+					<xs:element name="verse" type="verseCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="chapterTitle" type="xs:string" use="optional"/>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attribute name="osisRef" type="osisRefType" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="TEIform" fixed="div"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="closerCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="abbr" type="abbrCT"/>
+
+					<xs:element name="date" type="dateCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="hi" type="hiCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="lg" type="lgCT"/>
+
+					<xs:element name="list" type="listCT"/>
+
+					<xs:element name="mentioned" type="mentionedCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+					<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="p" type="pCT"/>
+
+					<xs:element name="q" type="qCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="seg" type="segCT"/>
+
+					<xs:element name="signed" type="signedCT"/>
+
+					<xs:element name="speaker" type="speakerCT"/>
+
+					<xs:element name="transChange" type="transChangeCT"/>
+
+					<xs:element name="verse" type="verseCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="TEIform" fixed="closer"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="dateCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="event" type="eventType" use="optional"/>
+
+		<xs:attribute name="type" type="calendar" use="optional" default="ISO"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+		<xs:attribute name="TEIform" fixed="date"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="divCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:sequence>
+
+					<xs:element name="titlePage" type="titlePageCT" minOccurs="0" maxOccurs="1"/>	                                     
+
+					<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+						<xs:element name="a" type="aCT"/>
+
+						<xs:element name="abbr" type="abbrCT"/>
+
+						<xs:element name="chapter" type="chapterCT"/>
+
+						<xs:element name="closer" type="closerCT"/>
+
+						<xs:element name="date" type="dateCT"/>
+
+						<xs:element name="div" type="divCT"/>
+
+						<xs:element name="divineName" type="divineNameCT"/>
+
+						<xs:element name="figure" type="figureCT"/>
+
+						<xs:element name="foreign" type="foreignCT"/>
+
+						<xs:element name="hi" type="hiCT"/>
+
+						<xs:element name="index" type="indexCT"/>
+
+						<xs:element name="inscription" type="inscriptionCT"/>
+
+						<xs:element name="lb" type="lbCT"/>
+
+						<xs:element name="lg" type="lgCT"/>
+
+						<xs:element name="list" type="listCT"/>
+
+						<xs:element name="mentioned" type="mentionedCT"/>
+
+						<xs:element name="milestone" type="milestoneCT"/>
+
+						<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+						<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+						<xs:element name="name" type="nameCT"/>
+
+						<xs:element name="note" type="noteCT"/>
+
+						<xs:element name="p" type="pCT"/>
+
+						<xs:element name="q" type="qCT"/>
+
+						<xs:element name="reference" type="referenceCT"/>
+
+						<xs:element name="salute" type="saluteCT"/>
+
+						<xs:element name="seg" type="segCT"/>
+
+						<xs:element name="signed" type="signedCT"/>
+
+						<xs:element name="speaker" type="speakerCT"/>
+
+						<xs:element name="speech" type="speechCT"/>
+
+						<xs:element name="table" type="tableCT"/>
+
+						<xs:element name="title" type="titleCT"/>
+
+						<xs:element name="transChange" type="transChangeCT"/>
+
+						<xs:element name="verse" type="verseCT"/>
+
+						<xs:element name="w" type="wCT"/>
+
+					</xs:choice>
+
+				</xs:sequence>
+
+				<xs:attribute name="canonical" type="xs:boolean" default="false" use="optional"/>
+
+				<xs:attribute name="osisRef" type="osisRefType" use="optional"/>
+
+				<xs:attribute name="scope" type="osisRefType" use="optional"/>
+
+				<xs:attribute name="type" type="divType" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+				<xs:attribute name="TEIform" fixed="div"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="divineNameCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="figureCT">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="caption" type="captionCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="alt" type="xs:string" use="optional"/>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="catalog" type="xs:string" use="optional"/>
+
+		<xs:attribute name="location" type="xs:string" use="optional"/>
+
+		<xs:attribute name="osisRef" type="osisRefType" use="optional"/>
+
+		<xs:attribute name="rights" type="xs:string" use="optional"/>
+
+		<xs:attribute name="size" type="xs:string" use="optional"/>
+
+		<xs:attribute name="src" type="xs:string"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="figure"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="foreignCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="abbr" type="abbrCT"/>
+
+					<xs:element name="date" type="dateCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="hi" type="hiCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="seg" type="segCT"/>
+
+					<xs:element name="title" type="titleCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="TEIform" fixed="foreign"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="headCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="head" type="headCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="head"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="hiCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="type" type="hiType" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+		<xs:attribute name="TEIform" fixed="hi"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="indexCT">
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="index" type="xs:string" use="required"/>
+
+		<xs:attribute name="level1" type="xs:string" use="required"/>
+
+		<xs:attribute name="level2" type="xs:string" use="optional"/>
+
+		<xs:attribute name="level3" type="xs:string" use="optional"/>
+
+		<xs:attribute name="level4" type="xs:string" use="optional"/>
+
+		<xs:attribute name="see" type="xs:string" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="index"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="inscriptionCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="speaker" type="speakerCT"/>
+
+			<xs:element name="speech" type="speechCT"/>
+
+			<xs:element name="title" type="titleCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="itemCT" mixed="true">
+
+		<xs:sequence minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="label" type="labelCT" minOccurs="0"/>
+
+			<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+				<xs:element name="a" type="aCT"/>
+
+				<xs:element name="abbr" type="abbrCT"/>
+
+				<xs:element name="date" type="dateCT"/>
+
+				<xs:element name="divineName" type="divineNameCT"/>
+
+				<xs:element name="foreign" type="foreignCT"/>
+
+				<xs:element name="hi" type="hiCT"/>
+
+				<xs:element name="index" type="indexCT"/>
+
+				<xs:element name="lg" type="lgCT"/>
+
+				<xs:element name="list" type="listCT"/>
+
+				<xs:element name="lb" type="lbCT"/>
+
+				<xs:element name="milestone" type="milestoneCT"/>
+
+				<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+				<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+				<xs:element name="name" type="nameCT"/>
+
+				<xs:element name="note" type="noteCT"/>
+
+				<xs:element name="p" type="pCT"/>
+
+				<xs:element name="q" type="qCT"/>
+
+				<xs:element name="reference" type="referenceCT"/>
+
+				<xs:element name="seg" type="segCT"/>
+
+				<xs:element name="title" type="titleCT"/>
+
+				<xs:element name="transChange" type="transChangeCT"/>
+
+				<xs:element name="verse" type="verseCT"/>
+
+				<xs:element name="w" type="wCT"/>
+
+			</xs:choice>
+
+		</xs:sequence>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="role" type="xs:string" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="item"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="labelCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="transChange" type="transChangeCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="role" type="xs:string" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="label"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="lCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="abbr" type="abbrCT"/>
+
+					<xs:element name="chapter" type="chapterCT"/>
+
+					<xs:element name="date" type="dateCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="hi" type="hiCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="mentioned" type="mentionedCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+					<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="q" type="qCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="seg" type="segCT"/>
+
+					<xs:element name="speaker" type="speakerCT"/>
+
+					<xs:element name="transChange" type="transChangeCT"/>
+
+					<xs:element name="verse" type="verseCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attribute name="level" type="xs:positiveInteger" use="optional"/>
+
+				<xs:attribute name="type" type="lineType" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+				<xs:attribute name="TEIform" fixed="l"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="lbCT">
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="milestone"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="lgCT" mixed="false">
+
+		<xs:complexContent>
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="chapter" type="chapterCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="l" type="lCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="lg" type="lgCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+					<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+					<xs:element name="q" type="qCT"/>
+
+					<xs:element name="verse" type="verseCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical"
+
+				type="xs:boolean" use="optional"/>
+
+				<xs:attribute name="type" type="lineGroupType" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+				<xs:attribute name="TEIform" fixed="lg"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="listCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="chapter" type="chapterCT"/>
+
+			<xs:element name="head" type="headCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="item" type="itemCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="verse" type="verseCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="list"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="mentionedCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="transChange" type="transChangeCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="mentioned"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="milestoneCT">
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="type" type="milestonePt"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+		<xs:attribute name="marker" type="xs:string" default="DEFAULT" use="optional"/>
+
+		<xs:attribute name="TEIform" fixed="milestone"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="milestoneEndCT">
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="type" type="milestoneSe"/>
+
+		<xs:attribute name="start" type="xs:string" use="required"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+		<xs:attribute name="TEIform" fixed="milestone"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="milestoneStartCT">
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="end" type="xs:string" use="required"/>
+
+		<xs:attribute name="type" type="milestoneSe"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+		<xs:attribute name="TEIform" fixed="milestone"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="nameCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="regular" type="xs:string" use="optional"/>
+
+		<xs:attribute name="type" type="nameType" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+		<xs:attribute name="TEIform" fixed="name"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="noteCT" mixed="true">
+
+		<xs:sequence>
+
+			<xs:element name="note" type="noteCT" minOccurs="0" maxOccurs="unbounded"/>
+
+			<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+				<xs:element name="a" type="aCT"/>
+
+				<xs:element name="abbr" type="abbrCT"/>
+
+				<xs:element name="catchWord" type="catchWordCT"/>
+
+				<xs:element name="date" type="dateCT"/>
+
+				<xs:element name="divineName" type="divineNameCT"/>
+
+				<xs:element name="figure" type="figureCT"/>
+
+				<xs:element name="foreign" type="foreignCT"/>
+
+				<xs:element name="hi" type="hiCT"/>
+
+				<xs:element name="index" type="indexCT"/>
+
+				<xs:element name="inscription" type="inscriptionCT"/>
+
+				<xs:element name="lb" type="lbCT"/>
+
+				<xs:element name="lg" type="lgCT"/>
+
+				<xs:element name="list" type="listCT"/>
+
+				<xs:element name="mentioned" type="mentionedCT"/>
+
+				<xs:element name="milestone" type="milestoneCT"/>
+
+				<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+				<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+				<xs:element name="name" type="nameCT"/>
+
+				<xs:element name="p" type="pCT"/>
+
+				<xs:element name="q" type="qCT"/>
+
+				<xs:element name="rdg" type="rdgCT"/>
+
+				<xs:element name="rdgGrp" type="rdgGrpCT"/>
+
+				<xs:element name="reference" type="referenceCT"/>
+
+				<xs:element name="seg" type="segCT"/>
+
+				<xs:element name="table" type="tableCT"/>
+
+				<xs:element name="title" type="titleCT"/>
+
+				<xs:element name="verse" type="verseCT"/>
+
+				<xs:element name="w" type="wCT"/>
+
+			</xs:choice>
+
+		</xs:sequence>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional" default="false"/>
+
+		<xs:attribute name="osisRef" type="osisRefType" use="optional"/>
+
+		<xs:attribute name="placement" type="notePlacement" use="optional"/>
+
+		<xs:attribute name="type" type="noteType" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+		<xs:attribute name="TEIform" fixed="note"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="pCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="catchWord" type="catchWordCT"/>
+
+			<xs:element name="chapter" type="chapterCT"/>
+
+			<xs:element name="closer" type="closerCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="figure" type="figureCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="inscription" type="inscriptionCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="lg" type="lgCT"/>
+
+			<xs:element name="list" type="listCT"/>
+
+			<xs:element name="mentioned" type="mentionedCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="rdg" type="rdgCT"/>
+
+			<xs:element name="rdgGrp" type="rdgGrpCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="salute" type="saluteCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="signed" type="signedCT"/>
+
+			<xs:element name="speaker" type="speakerCT"/>
+
+			<xs:element name="speech" type="speechCT"/>
+
+			<xs:element name="table" type="tableCT"/>
+
+			<xs:element name="title" type="titleCT"/>
+
+			<xs:element name="transChange" type="transChangeCT"/>
+
+			<xs:element name="verse" type="verseCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="p"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="qCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="abbr" type="abbrCT"/>
+
+					<xs:element name="closer" type="closerCT"/>
+
+					<xs:element name="date" type="dateCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="hi" type="hiCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="inscription" type="inscriptionCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="lg" type="lgCT"/>
+
+					<xs:element name="list" type="listCT"/>
+
+					<xs:element name="mentioned" type="mentionedCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+					<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="p" type="pCT"/>
+
+					<xs:element name="q" type="qCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="salute" type="saluteCT"/>
+
+					<xs:element name="seg" type="segCT"/>
+
+					<xs:element name="signed" type="signedCT"/>
+
+					<xs:element name="speaker" type="speakerCT"/>
+
+					<xs:element name="transChange" type="transChangeCT"/>
+
+					<xs:element name="verse" type="verseCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attribute name="level" type="xs:string" use="optional"/>
+
+				<xs:attribute name="marker" type="xs:string" default="DEFAULT" use="optional"/>
+
+				<xs:attribute name="osisRef" type="osisRefType" use="optional"/>
+
+				<xs:attribute name="type" type="quoteType" use="optional"/>
+
+				<xs:attribute name="who" type="xs:string" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+				<xs:attribute name="TEIform" fixed="q"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="rdgCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="lg" type="lgCT"/>
+
+			<xs:element name="list" type="listCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="p" type="pCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="transChange" type="transChangeCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="witness" type="osisRefType" use="optional"/>
+
+		<xs:attribute name="type" type="rdgType" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+		<xs:attribute name="TEIform" fixed="rdg"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="rdgGrpCT" mixed="false">
+
+		<xs:sequence>
+
+			<xs:element name="rdg" type="rdgCT" minOccurs="1" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="rdgGrp"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="referenceCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="title" type="titleCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional" default="false"/>
+
+		<xs:attribute name="osisRef" type="osisRefType" use="optional"/>
+
+		<xs:attribute name="type" type="referenceType" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="rowCT">
+
+		<xs:sequence>
+
+			<xs:element name="cell" type="cellCT" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="role" type="tableRole" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="row"/>
+
+	</xs:complexType>
+
+		<xs:complexType name="saluteCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="abbr" type="abbrCT"/>
+
+					<xs:element name="date" type="dateCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="hi" type="hiCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="lg" type="lgCT"/>
+
+					<xs:element name="list" type="listCT"/>
+
+					<xs:element name="mentioned" type="mentionedCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+					<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="p" type="pCT"/>
+
+					<xs:element name="q" type="qCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="seg" type="segCT"/>
+
+					<xs:element name="speaker" type="speakerCT"/>
+
+					<xs:element name="transChange" type="transChangeCT"/>
+
+					<xs:element name="verse" type="verseCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="TEIform" fixed="salute"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="segCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="abbr" type="abbrCT"/>
+
+					<xs:element name="date" type="dateCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="hi" type="hiCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+					<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="q" type="qCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="seg" type="segCT"/>
+
+					<xs:element name="transChange" type="transChangeCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attribute name="type" type="segType" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithoutType"/>
+
+				<xs:attribute name="TEIform" fixed="seg"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="signedCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="abbr" type="abbrCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="hi" type="hiCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+					<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="seg" type="segCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="TEIform" fixed="signed"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="speakerCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="who" type="xs:string" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="sp"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="speechCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:sequence>
+
+					<xs:element name="speech" type="speechCT" minOccurs="0" maxOccurs="unbounded"/>
+
+					<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+						<xs:element name="a" type="aCT"/>
+
+						<xs:element name="abbr" type="abbrCT"/>
+
+						<xs:element name="chapter" type="chapterCT"/>
+
+						<xs:element name="closer" type="closerCT"/>
+
+						<xs:element name="date" type="dateCT"/>
+
+						<xs:element name="divineName" type="divineNameCT"/>
+
+						<xs:element name="foreign" type="foreignCT"/>
+
+						<xs:element name="hi" type="hiCT"/>
+
+						<xs:element name="index" type="indexCT"/>
+
+						<xs:element name="inscription" type="inscriptionCT"/>
+
+						<xs:element name="lb" type="lbCT"/>
+
+						<xs:element name="lg" type="lgCT"/>
+
+						<xs:element name="list" type="listCT"/>
+
+						<xs:element name="mentioned" type="mentionedCT"/>
+
+						<xs:element name="milestone" type="milestoneCT"/>
+
+						<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+						<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+						<xs:element name="name" type="nameCT"/>
+
+						<xs:element name="note" type="noteCT"/>
+
+						<xs:element name="p" type="pCT"/>
+
+						<xs:element name="q" type="qCT"/>
+
+						<xs:element name="reference" type="referenceCT"/>
+
+						<xs:element name="salute" type="saluteCT"/>
+
+						<xs:element name="seg" type="segCT"/>
+
+						<xs:element name="signed" type="signedCT"/>
+
+						<xs:element name="speaker" type="speakerCT"/>
+
+						<xs:element name="table" type="tableCT"/>
+
+						<xs:element name="title" type="titleCT"/>
+
+						<xs:element name="transChange" type="transChangeCT"/>
+
+						<xs:element name="verse" type="verseCT"/>
+
+						<xs:element name="w" type="wCT"/>
+
+					</xs:choice>
+
+				</xs:sequence>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+				<xs:attribute name="marker" type="xs:string" default="DEFAULT" use="optional"/>
+
+				<xs:attribute name="TEIform" fixed="speech"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="tableCT">
+
+		<xs:sequence>
+
+			<xs:element name="head" type="headCT" minOccurs="0"/>
+
+			<xs:element name="row" type="rowCT" minOccurs="0" maxOccurs="unbounded"/>
+
+		</xs:sequence>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="cols" type="xs:positiveInteger" use="optional"/>
+
+		<xs:attribute name="rows" type="xs:positiveInteger" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="table"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="titleCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="figure" type="figureCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="inscription" type="inscriptionCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="lg" type="lgCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="title" type="titleCT"/>
+
+			<xs:element name="transChange" type="transChangeCT"/>
+
+			<xs:element name="verse" type="verseCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional" default="false"/>
+
+                <xs:attribute name="level" type="xs:integer" use="optional"/>
+
+		<xs:attribute name="placement" type="titlePlacement" use="optional"/>
+
+		<xs:attribute name="short" type="xs:string" use="optional"/>
+
+		<xs:attribute name="type" type="osisTitleType" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+		<xs:attribute name="TEIform" fixed="title"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="titlePageCT">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="title" type="titleCT"/>
+
+			<xs:element name="contributor" type="contributorCT"/>
+
+			<xs:element name="creator" type="creatorCT"/>
+
+			<xs:element name="subject" type="subjectCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="description" type="descriptionCT"/>
+
+			<xs:element name="publisher" type="publisherCT"/>
+
+			<xs:element name="type" type="typeCT"/>
+
+			<xs:element name="format" type="formatCT"/>
+
+			<xs:element name="identifier" type="identifierCT"/>
+
+			<xs:element name="source" type="sourceCT"/>
+
+			<xs:element name="language" type="languageCT"/>
+
+			<xs:element name="relation" type="relationCT"/>
+
+			<xs:element name="coverage" type="coverageCT"/>
+
+			<xs:element name="p" type="pCT"/>
+
+			<xs:element name="figure" type="figureCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional" default="false"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="transChangeCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="abbr" type="abbrCT"/>
+
+			<xs:element name="date" type="dateCT"/>
+
+			<xs:element name="divineName" type="divineNameCT"/>
+
+			<xs:element name="foreign" type="foreignCT"/>
+
+			<xs:element name="hi" type="hiCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="lb" type="lbCT"/>
+
+			<xs:element name="milestone" type="milestoneCT"/>
+
+			<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+			<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+			<xs:element name="name" type="nameCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="q" type="qCT"/>
+
+			<xs:element name="reference" type="referenceCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+			<xs:element name="w" type="wCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="type" type="changeType" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithoutType"/>
+
+	</xs:complexType>
+
+	<xs:complexType name="verseCT" mixed="true">
+
+		<xs:complexContent mixed="true">
+
+			<xs:extension base="milestoneable">
+
+				<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+					<xs:element name="a" type="aCT"/>
+
+					<xs:element name="abbr" type="abbrCT"/>
+
+					<xs:element name="date" type="dateCT"/>
+
+					<xs:element name="divineName" type="divineNameCT"/>
+
+					<xs:element name="foreign" type="foreignCT"/>
+
+					<xs:element name="hi" type="hiCT"/>
+
+					<xs:element name="index" type="indexCT"/>
+
+					<xs:element name="inscription" type="inscriptionCT"/>
+
+					<xs:element name="lb" type="lbCT"/>
+
+					<xs:element name="list" type="listCT"/>
+
+					<xs:element name="mentioned" type="mentionedCT"/>
+
+					<xs:element name="milestone" type="milestoneCT"/>
+
+					<xs:element name="milestoneEnd" type="milestoneEndCT"/>
+
+					<xs:element name="milestoneStart" type="milestoneStartCT"/>
+
+					<xs:element name="name" type="nameCT"/>
+
+					<xs:element name="note" type="noteCT"/>
+
+					<xs:element name="q" type="qCT"/>
+
+					<xs:element name="reference" type="referenceCT"/>
+
+					<xs:element name="seg" type="segCT"/>
+
+					<xs:element name="speaker" type="speakerCT"/>
+
+					<xs:element name="title" type="titleCT"/>
+
+					<xs:element name="transChange" type="transChangeCT"/>
+
+					<xs:element name="w" type="wCT"/>
+
+				</xs:choice>
+
+				<xs:attribute name="canonical" type="xs:boolean" use="optional" default="true"/>
+
+				<xs:attributeGroup ref="globalWithType"/>
+
+			</xs:extension>
+
+		</xs:complexContent>
+
+	</xs:complexType>
+
+	<xs:complexType name="wCT" mixed="true">
+
+		<xs:choice minOccurs="0" maxOccurs="unbounded">
+
+			<xs:element name="a" type="aCT"/>
+
+			<xs:element name="index" type="indexCT"/>
+
+			<xs:element name="note" type="noteCT"/>
+
+			<xs:element name="seg" type="segCT"/>
+
+		</xs:choice>
+
+		<xs:attribute name="canonical" type="xs:boolean" use="optional"/>
+
+		<xs:attribute name="gloss" type="xs:string" use="optional"/>
+
+		<xs:attribute name="lemma" type="osisGenType" use="optional"/>
+
+		<xs:attribute name="morph" type="osisGenType" use="optional"/>
+
+		<xs:attribute name="POS" type="osisGenType" use="optional"/>
+
+		<xs:attribute name="src" type="xs:string" use="optional"/>
+
+		<xs:attribute name="xlit" type="xs:string" use="optional"/>
+
+		<xs:attributeGroup ref="globalWithType"/>
+
+		<xs:attribute name="TEIform" fixed="w"/>
+
+	</xs:complexType>
+
+	<!-- attributes -->
+
+	<xs:attributeGroup name="globalWithType">
+
+		<xs:attribute name="annotateRef" type="annotateRefType" use="optional"/>
+
+		<xs:attribute name="annotateWork" type="xs:string" use="optional"/>
+
+		<xs:attribute name="annotateType" type="annotationType" use="optional"/>
+
+		<xs:attribute name="editions" type="xs:NMTOKENS" use="optional"/>
+
+		<xs:attribute name="ID" type="xs:ID" use="optional"/>
+
+		<xs:attribute name="osisID" type="osisIDType" use="optional"/>
+
+		<xs:attribute name="resp" type="xs:string" use="optional"/>
+
+		<xs:attribute name="type" type="attributeExtension" use="optional"/>
+
+		<xs:attribute name="subType" type="attributeExtension" use="optional"/>
+
+		<xs:attribute name="n" type="xs:string" use="optional"/>
+
+		<xs:attribute ref="xml:lang" use="optional"/>
+
+		<xs:attribute ref="xml:space" use="optional"/>
+
+		<xs:attribute name="script" type="osisScripts" use="optional"/>
+
+	</xs:attributeGroup>
+
+	<xs:attributeGroup name="globalWithoutType">
+
+		<xs:attribute name="annotateRef" type="annotateRefType" use="optional"/>
+
+		<xs:attribute name="annotateWork" type="xs:string" use="optional"/>
+
+		<xs:attribute name="annotateType" type="annotationType" use="optional"/>
+
+		<xs:attribute name="editions" type="xs:NMTOKENS" use="optional"/>
+
+		<xs:attribute name="ID" type="xs:ID" use="optional"/>
+
+		<xs:attribute name="osisID" type="osisIDType" use="optional"/>
+
+		<xs:attribute name="resp" type="xs:string" use="optional"/>
+
+		<xs:attribute name="subType" type="attributeExtension" use="optional"/>
+
+		<xs:attribute name="n" type="xs:string" use="optional"/>
+
+		<xs:attribute ref="xml:lang" use="optional"/>
+
+		<xs:attribute ref="xml:space" use="optional"/>
+
+		<xs:attribute name="script" type="osisScripts" use="optional"/>
+
+	</xs:attributeGroup>
+
+	<!-- complex types -->
+
+	<xs:complexType name="milestoneable">
+
+		<xs:attribute name="sID" type="xs:string" use="optional"/>
+
+		<xs:attribute name="eID" type="xs:string" use="optional"/>
+
+	</xs:complexType>
+
+	<!-- OSIS regexes -->
+
+	<xs:simpleType name="osisGenRegex">
+
+		<xs:restriction base="xs:string">
+
+			<xs:pattern value="((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_))*:)?([^:\s])+)"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisIDRegex">
+
+		<xs:restriction base="xs:string">
+
+			<xs:pattern value="(((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?:)?((\p{L}|\p{N}|_|(\\[^\s]))+)((\.(\p{L}|\p{N}|_|(\\[^\s]))+)*)?(!((\p{L}|\p{N}|_|(\\[^\s]))+)((\.(\p{L}|\p{N}|_|(\\[^\s]))+)*)?)?"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisRefRegex">
+
+		<xs:restriction base="xs:string">
+
+			<xs:pattern value="(((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?:)?((\p{L}|\p{N}|_|(\\[^\s]))+)(\.(\p{L}|\p{N}|_|(\\[^\s]))*)*(!((\p{L}|\p{N}|_|(\\[^\s]))+)((\.(\p{L}|\p{N}|_|(\\[^\s]))+)*)?)?(@(cp\[(\p{Nd})*\]|s\[(\p{L}|\p{N})+\](\[(\p{N})+\])?))?(\-((((\p{L}|\p{N}|_|(\\[^\s]))+)(\.(\p{L}|\p{N}|_|(\\[^\s]))*)*)+)(!((\p{L}|\p{N}|_|(\\[^\s]))+)((\.(\p{L}|\p{N}|_|(\\[^\s]))+)*)?)?(@(cp\[(\p{Nd})*\]|s\[(\p{L}|\p{N})+\](\[(\p{N})+\])?))?)?"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisScripts">
+
+		<xs:restriction base="xs:string">
+
+			<xs:pattern value="([A-Z][a-z]{3}|x-[A-Za-z0-9]+)"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+
+
+	<xs:simpleType name="osisWorkPrefix">
+
+		<xs:restriction base="xs:string">
+
+			<xs:pattern value="((//((\p{L}|\p{N}|_|-|\.|:)+))(/(\p{L}|\p{N}|_|-|\.|:)+)?(/@(\p{L}|\p{N}|_|-|\.|:)+))"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+
+
+	<xs:simpleType name="osisWorkType">
+
+		<xs:restriction base="xs:string">
+
+			<xs:pattern value="((\p{L}|\p{N}|_)+)((\.(\p{L}|\p{N}|_)+)*)?"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<!-- simple types -->
+
+	<xs:simpleType name="annotateRefType">
+
+		<xs:list itemType="osisAnnotateRefType"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="annotationType">
+
+		<xs:union memberTypes="osisAnnotation attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="attributeExtension">
+
+		<xs:restriction base="xs:string">
+
+			<xs:pattern value="x-([^\s])+"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="calendar">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="Chinese"/>
+
+			<xs:enumeration value="Gregorian"/>
+
+			<xs:enumeration value="Islamic"/>
+
+			<xs:enumeration value="ISO"/>
+
+			<xs:enumeration value="Jewish"/>
+
+			<xs:enumeration value="Julian"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="changeType">
+
+		<xs:union memberTypes="osisChanges attributeExtension"/>
+
+	</xs:simpleType>
+
+		<xs:simpleType name="descriptionType">
+
+		<xs:union memberTypes="osisDescription attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="divType">
+
+		<xs:union memberTypes="osisDivs attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="eventType">
+
+		<xs:union memberTypes="osisEvents attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="hiType">
+
+		<xs:union memberTypes="osisHi attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="identifierType">
+
+		<xs:union memberTypes="osisIdentifier attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="languageType">
+
+		<xs:union memberTypes="osisLanguage attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="languageUsage">
+
+		<xs:union memberTypes="osisLanguageUsage attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="lineType">
+
+		<xs:union memberTypes="osisLine attributeExtension xs:string"/>
+
+	</xs:simpleType>
+
+		<xs:simpleType name="lineGroupType">
+
+		<xs:union memberTypes="osisLineGroup attributeExtension xs:string"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="milestonePt">
+
+		<xs:union memberTypes="osisMilestonePt attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="milestoneSe">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="abbr"/>
+
+			<xs:enumeration value="chapter"/>
+
+			<xs:enumeration value="closer"/>
+
+			<xs:enumeration value="div"/>
+
+			<xs:enumeration value="foreign"/>
+
+			<xs:enumeration value="l"/>
+
+			<xs:enumeration value="lg"/>
+
+			<xs:enumeration value="q"/>
+
+			<xs:enumeration value="salute"/>
+
+			<xs:enumeration value="seg"/>
+
+			<xs:enumeration value="signed"/>
+
+			<xs:enumeration value="speech"/>
+
+			<xs:enumeration value="verse"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="nameType">
+
+		<xs:union memberTypes="osisNames attributeExtension"/>
+
+	</xs:simpleType>
+
+		<xs:simpleType name="notePlacement">
+
+		<xs:union memberTypes="osisPlacementNote attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="noteType">
+
+		<xs:union memberTypes="osisNotes attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="quoteType">
+
+		<xs:union memberTypes="osisQuotes attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="referenceType">
+
+		<xs:union memberTypes="osisReferences attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="rdgType">
+
+		<xs:union memberTypes="osisRdg attributeExtension xs:string"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="segType">
+
+		<xs:union memberTypes="osisSegs attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="subjectType">
+
+		<xs:union memberTypes="osisSubjects attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="titlePlacement">
+
+		<xs:union memberTypes="osisPlacementTitle attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="typeType">
+
+		<xs:union memberTypes="osisType attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisAnnotateRefType">
+
+		<xs:union memberTypes="osisRefRegex osisGenRegex"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisAnnotation">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="commentary"/>
+
+			<xs:enumeration value="exposition"/>
+
+			<xs:enumeration value="meditation"/>
+
+			<xs:enumeration value="outline"/>
+
+			<xs:enumeration value="rebuttal"/>
+
+			<xs:enumeration value="sermon"/>
+
+			<xs:enumeration value="studyGuide"/>
+
+			<xs:enumeration value="translation"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+		<xs:simpleType name="osisCellAlign">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="left"/>
+
+			<xs:enumeration value="right"/>
+
+			<xs:enumeration value="center"/>
+
+			<xs:enumeration value="justify"/>
+
+			<xs:enumeration value="start"/>
+
+			<xs:enumeration value="end"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisChanges">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="added"/>
+
+			<xs:enumeration value="amplified"/>
+
+			<xs:enumeration value="changed"/>
+
+			<xs:enumeration value="deleted"/>
+
+			<xs:enumeration value="implied"/>
+
+			<xs:enumeration value="moved"/>
+
+			<xs:enumeration value="tenseChange"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+		<xs:simpleType name="osisDescription">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="usfm"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+<!-- id, ide, rem, restore, spine and any other values can be placed
+
+		on subtype with x- -->
+
+
+
+	<xs:simpleType name="osisDivs">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="acknowledgement"/>
+
+			<xs:enumeration value="afterword"/>
+
+			<xs:enumeration value="annotant"/>
+
+			<xs:enumeration value="appendix"/>
+
+			<xs:enumeration value="article"/>
+
+			<xs:enumeration value="back"/>
+
+			<xs:enumeration value="bibliography"/>
+
+			<xs:enumeration value="body"/>
+
+			<xs:enumeration value="book"/>
+
+			<xs:enumeration value="bookGroup"/>
+
+			<xs:enumeration value="bridge"/>
+
+			<xs:enumeration value="chapter"/>
+
+			<xs:enumeration value="colophon"/>
+
+			<xs:enumeration value="commentary"/>
+
+			<xs:enumeration value="concordance"/>
+
+			<xs:enumeration value="coverPage"/>
+
+			<xs:enumeration value="dedication"/>
+
+			<xs:enumeration value="devotional"/>
+
+			<xs:enumeration value="entry"/>
+
+			<xs:enumeration value="front"/>
+
+			<xs:enumeration value="gazetteer"/>
+
+			<xs:enumeration value="glossary"/>
+
+			<xs:enumeration value="imprimatur"/>
+
+			<xs:enumeration value="index"/>
+
+			<xs:enumeration value="introduction"/>
+
+			<xs:enumeration value="majorSection"/>
+
+			<xs:enumeration value="map"/>
+
+			<xs:enumeration value="outline"/>
+
+			<xs:enumeration value="paragraph"/>
+
+			<xs:enumeration value="part"/>
+
+			<xs:enumeration value="preface"/>
+
+			<xs:enumeration value="publicationData"/>
+
+			<xs:enumeration value="section"/>
+
+			<xs:enumeration value="subSection"/>
+
+			<xs:enumeration value="summary"/>
+
+			<xs:enumeration value="tableofContents"/>
+
+			<xs:enumeration value="titlePage"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisEvents">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="edition"/>
+
+			<xs:enumeration value="eversion"/>
+
+			<xs:enumeration value="imprint"/>
+
+			<xs:enumeration value="original"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisGenType">
+
+		<xs:list itemType="osisGenRegex"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisHi">
+
+		<xs:restriction base="xs:string">
+
+		        <xs:enumeration value="acrostic"/>
+
+			<xs:enumeration value="bold"/>
+
+			<xs:enumeration value="emphasis"/>
+
+			<xs:enumeration value="illuminated"/>
+
+			<xs:enumeration value="italic"/>
+
+			<xs:enumeration value="line-through"/>
+
+			<xs:enumeration value="normal"/>
+
+			<xs:enumeration value="small-caps"/>
+
+			<xs:enumeration value="sub"/>
+
+			<xs:enumeration value="super"/>
+
+			<xs:enumeration value="underline"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisIdentifier">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="Dewey"/>
+
+			<xs:enumeration value="DOI"/>
+
+			<xs:enumeration value="ISBN"/>
+
+			<xs:enumeration value="ISSN"/>
+
+			<xs:enumeration value="LCCN"/>
+
+			<xs:enumeration value="OSIS"/>
+
+			<xs:enumeration value="SICI"/>
+
+			<xs:enumeration value="URI"/>
+
+			<xs:enumeration value="URL"/>
+
+			<xs:enumeration value="URN"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisIDType">
+
+		<xs:list itemType="osisIDRegex"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisLanguage">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="IANA"/>
+
+			<xs:enumeration value="IETF"/>
+
+			<xs:enumeration value="ISO-639-1"/>
+
+			<xs:enumeration value="ISO-639-2"/>
+
+			<xs:enumeration value="ISO-639-2-B"/>
+
+			<xs:enumeration value="ISO-639-2-T"/>
+
+			<xs:enumeration value="LINGUIST"/>
+
+			<xs:enumeration value="other"/>
+
+			<xs:enumeration value="SIL"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisLanguageUsage">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="base"/>
+
+			<xs:enumeration value="didactic"/>
+
+			<xs:enumeration value="interlinear"/>
+
+			<xs:enumeration value="original"/>
+
+			<xs:enumeration value="quotation"/>
+
+			<xs:enumeration value="source"/>
+
+			<xs:enumeration value="target"/>
+
+			<xs:enumeration value="translation"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+		<xs:simpleType name="osisLine">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="refrain"/>
+
+	                <xs:enumeration value="doxology"/>	
+
+			<xs:enumeration value="selah"/>
+
+			<xs:enumeration value="attribution"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+		<xs:simpleType name="osisLineGroup">
+
+		<xs:restriction base="xs:string">
+
+	<!--		<xs:enumeration value="doxology"/> -->
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisMilestonePt">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="column"/>
+
+			<xs:enumeration value="cQuote"/>
+
+			<xs:enumeration value="footer"/>
+
+			<xs:enumeration value="halfLine"/>
+
+			<xs:enumeration value="header"/>
+
+			<xs:enumeration value="line"/>
+
+			<xs:enumeration value="pb"/>
+
+			<xs:enumeration value="screen"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisNames">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="geographic"/>
+
+			<xs:enumeration value="holiday"/>
+
+			<xs:enumeration value="nonhuman"/>
+
+			<xs:enumeration value="person"/>
+
+			<xs:enumeration value="ritual"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisNotes">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="allusion"/>
+
+			<xs:enumeration value="alternative"/>
+
+			<xs:enumeration value="background"/>
+
+			<xs:enumeration value="citation"/>
+
+			<xs:enumeration value="crossReference"/>
+
+			<xs:enumeration value="devotional"/>
+
+			<xs:enumeration value="encoder"/>
+
+			<xs:enumeration value="exegesis"/>
+
+			<xs:enumeration value="explanation"/>
+
+			<xs:enumeration value="liturgical"/>
+
+			<xs:enumeration value="speaker"/>
+
+			<xs:enumeration value="study"/>
+
+			<xs:enumeration value="translation"/>
+
+			<xs:enumeration value="variant"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisPlacementNote">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="foot"/>
+
+			<xs:enumeration value="end"/>
+
+			<xs:enumeration value="inline"/>
+
+			<xs:enumeration value="left"/>
+
+			<xs:enumeration value="right"/>
+
+			<xs:enumeration value="interlinear"/>
+
+			<xs:enumeration value="apparatus"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+		<xs:simpleType name="osisPlacementTitle">
+
+		<xs:restriction base="xs:string">
+
+                        <xs:enumeration value="leftHead"/>
+
+			<xs:enumeration value="centerHead"/>
+
+			<xs:enumeration value="rightHead"/>
+
+			<xs:enumeration value="insideHead"/>
+
+			<xs:enumeration value="outsideHead"/>
+
+			<xs:enumeration value="leftFoot"/>
+
+			<xs:enumeration value="centerFoot"/>
+
+			<xs:enumeration value="rightFoot"/>
+
+			<xs:enumeration value="insideFoot"/>
+
+			<xs:enumeration value="outsideFoot"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisQuotes">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="block"/>
+
+			<xs:enumeration value="citation"/>
+
+			<xs:enumeration value="embedded"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisReferences">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="annotateRef"/>
+
+			<xs:enumeration value="parallel"/>
+
+			<xs:enumeration value="source"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisRdg">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="alternate"/>	
+
+			<xs:enumeration value="variant"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisRefType">
+
+		<xs:list itemType="osisRefRegex"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisRoles">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="adp"/>
+
+			<xs:enumeration value="ann"/>
+
+			<xs:enumeration value="art"/>
+
+			<xs:enumeration value="aut"/>
+
+			<xs:enumeration value="aqt"/>
+
+			<xs:enumeration value="aft"/>
+
+			<xs:enumeration value="aui"/>
+
+			<xs:enumeration value="bnd"/>
+
+			<xs:enumeration value="bdd"/>
+
+			<xs:enumeration value="bkd"/>
+
+			<xs:enumeration value="bkp"/>
+
+			<xs:enumeration value="bjd"/>
+
+			<xs:enumeration value="bpd"/>
+
+			<xs:enumeration value="ctg"/>
+
+			<xs:enumeration value="clb"/>
+
+			<xs:enumeration value="cmm"/>
+
+			<xs:enumeration value="cwt"/>
+
+			<xs:enumeration value="com"/>
+
+			<xs:enumeration value="ctb"/>
+
+			<xs:enumeration value="cre"/>
+
+			<xs:enumeration value="edt"/>
+
+			<xs:enumeration value="encoder"/>
+
+			<xs:enumeration value="ilu"/>
+
+			<xs:enumeration value="ill"/>
+
+			<xs:enumeration value="pbl"/>
+
+			<xs:enumeration value="trl"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisSegs">
+
+		<xs:restriction base="xs:string">
+
+		        <xs:enumeration value="alluded"/>
+
+			<xs:enumeration value="keyword"/>
+
+			<xs:enumeration value="otPassage"/>
+
+			<xs:enumeration value="verseNumber"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisSubjects">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="ATLA"/>
+
+			<xs:enumeration value="BILDI"/>
+
+			<xs:enumeration value="DBC"/>
+
+			<xs:enumeration value="DDC"/>
+
+			<xs:enumeration value="EUT"/>
+
+			<xs:enumeration value="FGT"/>
+
+			<xs:enumeration value="LCC"/>
+
+			<xs:enumeration value="LCSH"/>
+
+			<xs:enumeration value="MeSH"/>
+
+			<xs:enumeration value="NLSH"/>
+
+			<xs:enumeration value="RSWK"/>
+
+			<xs:enumeration value="SEARS"/>
+
+			<xs:enumeration value="SOG"/>
+
+			<xs:enumeration value="SWD_RSWK"/>
+
+			<xs:enumeration value="UDC"/>
+
+			<xs:enumeration value="VAT"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="roleType">
+
+		<xs:union memberTypes="osisRoles attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisTitles">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="acrostic"/>
+
+			<xs:enumeration value="chapter"/>
+
+			<xs:enumeration value="continued"/>
+
+			<xs:enumeration value="main"/>
+
+			<xs:enumeration value="parallel"/>
+
+			<xs:enumeration value="psalm"/>
+
+			<xs:enumeration value="runningHead"/>
+
+			<xs:enumeration value="scope"/>
+
+			<xs:enumeration value="sub"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisTitleType">
+
+		<xs:union memberTypes="osisTitles attributeExtension"/>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="osisType">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="OSIS"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+	<xs:simpleType name="tableRole">
+
+		<xs:restriction base="xs:string">
+
+			<xs:enumeration value="label"/>
+
+			<xs:enumeration value="data"/>
+
+		</xs:restriction>
+
+	</xs:simpleType>
+
+</xs:schema>
+

Added: trunk/thml2osis/xslt/tests/runtests.sh
===================================================================
--- trunk/thml2osis/xslt/tests/runtests.sh	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/runtests.sh	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+# Find xml2
+XML2=`which xml2` || { echo "Could not find command xml2"; exit 1; }
+
+# Find xsltproc
+XSLTPROC=`which xsltproc` || { echo "Could not find command xsltproc"; exit 1; }
+
+XSD=osisCore.2.1.1.xsd
+
+# Find a validator, prefer Xerces
+VALIDATOR=""
+XMLSTARLET=`which xmlstarlet` && { VALIDATOR="XMLSTARLET"; }
+XERCESVALIDATOR=/usr/share/doc/libxml-xerces-perl/examples/validator.pl
+
+if [ -f $XERCESVALIDATOR ]
+then
+  VALIDATOR="XERCES"
+fi
+
+if [ "$VALIDATOR" == "" ]
+then
+  echo "No validator found"
+  exit 1
+fi
+
+FAILED="false"
+
+
+for TESTTHML in *.thml;
+do
+  TESTOSIS=${TESTTHML%%.thml}.osis
+  TESTOSISFLAT=${TESTTHML%%.thml}.osis.flat
+  $XSLTPROC --novalid ../thml2osis.xslt $TESTTHML > $TESTOSIS || exit 1
+  if [ -f $TESTOSISFLAT ]
+  then
+    TMP=`mktemp -p .`
+    $XML2 < $TESTOSIS  > $TMP
+    diff -u $TESTOSISFLAT $TMP || FAILED="true"
+    rm "$TMP"
+  fi
+  
+  # Validate
+  if [ $VALIDATOR == "XERCES" ]
+  then 
+    $XERCESVALIDATOR --full_schema --schema $XSD --file=$TESTOSIS || { echo "$TESTOSIS - invalid OSIS"; FAILED="true"; }
+  elif [ $VALIDATOR == "XMLSTARLET" ]
+  then
+    $XMLSTARLET val --err -s $XSD $TESTOSIS > /dev/null || { echo "$TESTOSIS - invalid OSIS"; FAILED="true"; }
+  fi    
+done
+
+if [ $FAILED = "true" ]
+then
+  exit 1
+else
+  exit 0
+fi
+


Property changes on: trunk/thml2osis/xslt/tests/runtests.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/thml2osis/xslt/tests/update_test.sh
===================================================================
--- trunk/thml2osis/xslt/tests/update_test.sh	                        (rev 0)
+++ trunk/thml2osis/xslt/tests/update_test.sh	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+if [ $# -ne 1 ]
+then
+    echo "Usage: update_test.sh testname"
+    exit 1
+fi
+
+TESTNAME=$1
+TESTTHML=${TESTNAME}.thml
+TESTOSISFLAT=${TESTNAME}.osis.flat
+
+if [ ! -f $TESTTHML ]
+then
+    echo "Test $TESTNAME does not exist."
+    exit 1
+fi
+
+xsltproc --novalid ../thml2osis.xslt $TESTTHML | xml2 > $TESTOSISFLAT


Property changes on: trunk/thml2osis/xslt/tests/update_test.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/thml2osis/xslt/thml2osis.xslt
===================================================================
--- trunk/thml2osis/xslt/thml2osis.xslt	                        (rev 0)
+++ trunk/thml2osis/xslt/thml2osis.xslt	2007-07-19 20:27:49 UTC (rev 88)
@@ -0,0 +1,492 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version = '1.0'
+		xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
+		xmlns='http://www.bibletechnologies.net/2003/OSIS/namespace'>
+
+  <xsl:output method="xml"
+              encoding="UTF-8"
+              indent="yes"/>
+
+  <!-- GLOBAL CONSTANTS -->
+  <xsl:variable name="workID" select="/ThML/ThML.head/electronicEdInfo/bookID" />
+
+  <!-- xml:lang: -->
+  <xsl:variable name="lang">
+    <xsl:choose>
+      <xsl:when test="/ThML/ThML.head//DC.Language[@scheme='ISO639-1']" >
+	<xsl:value-of select="/ThML/ThML.head//DC.Language[@scheme='ISO639-1']" />
+      </xsl:when>
+      <xsl:when test="/ThML/ThML.head//DC.Language[not(@scheme)]" >
+	<xsl:value-of select="/ThML/ThML.head//DC.Language[not(@scheme)]" />
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:value-of select="$error-no-language-defined-for-document" />
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <!-- FUNCTIONS -->
+  <xsl:template name="ISO8601toOSISdate">
+    <xsl:param name="date" />
+    <xsl:value-of select="concat(
+     substring($date, 1, 4), '.', substring($date, 6, 2), '.',
+     substring($date, 9, 2))" />
+  </xsl:template>
+
+  <!-- Macro for the common case of changing one element into another -->
+  <xsl:template name="changename">
+    <xsl:param name="name" />
+    <xsl:param name="excludeattributes" />
+    <xsl:element name="{$name}" >
+      <xsl:call-template name="copyattributes">
+	<xsl:with-param name="exclude"><xsl:value-of select="$excludeattributes" /></xsl:with-param>
+      </xsl:call-template>
+      <xsl:apply-templates />
+    </xsl:element>
+  </xsl:template>
+
+  <!-- Copy the attributes of the current element -->
+  <xsl:template name="copyattributes">
+    <xsl:param name="exclude" /> <!-- space separated list of attributes that should be excluded -->
+    <xsl:for-each select="attribute::*[not(contains(concat(' ',$exclude,' '), concat(' ',name(),' ')))]">
+      <xsl:attribute name="{name()}" ><xsl:value-of select="." /></xsl:attribute>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <!-- TEMPLATES -->
+  <xsl:template match="ThML">
+    <osis xmlns='http://www.bibletechnologies.net/2003/OSIS/namespace' 
+	  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 
+	  xsi:schemaLocation='http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd'>
+      <osisText osisRefWork="bible" canonical="true">
+	<xsl:attribute name="osisIDWork">
+	  <xsl:value-of select="$workID" />
+	</xsl:attribute>
+	<xsl:attribute name="xml:lang">
+	  <xsl:value-of select="$lang" />
+	</xsl:attribute>
+	<xsl:apply-templates />
+      </osisText>
+    </osis>
+  </xsl:template>
+
+  <xsl:template match="ThML.head">
+    <header>
+      <!-- Can't parse revisionHistory, so create a single revisionDesc -->
+      <xsl:if test="./electronicEdInfo//DC.Date[@sub='Created'] and ./electronicEdInfo/revisionHistory">
+	<revisionDesc>
+	  <date>
+	    <xsl:call-template name="ISO8601toOSISdate"> 
+              <xsl:with-param name="date" select="./electronicEdInfo//DC.Date[@sub='Created']"/> 
+	    </xsl:call-template> 
+	  </date>
+	  <p>
+	    <xsl:value-of select="./electronicEdInfo/revisionHistory" />
+	  </p>
+	</revisionDesc>
+      </xsl:if>
+      <!-- We assume a single work -->
+      <work>
+	<xsl:attribute name="osisWork">
+	  <xsl:value-of select="$workID" />
+	</xsl:attribute>
+	<!-- the OSIS schema defines these as a sequence, so the exact
+	     order must be maintained -->
+	<!-- TODO: implement all the ones that are currently commented out, if possible -->
+	<xsl:call-template name="header-title" /> 
+<!--	<xsl:call-template name="header-contributor" /> -->
+	<xsl:call-template name="header-creator" />
+<!--	<xsl:call-template name="header-subject" /> -->
+	<xsl:call-template name="header-date" />
+	<xsl:call-template name="header-description" />
+	<xsl:call-template name="header-publisher" />
+<!--	<xsl:call-template name="header-type" /> -->
+	<xsl:call-template name="header-format" />
+<!--	<xsl:call-template name="header-identifier" />
+	<xsl:call-template name="header-source" /> -->
+	<xsl:call-template name="header-language" />
+<!--	<xsl:call-template name="header-relation" />
+	<xsl:call-template name="header-coverage" /> -->
+	<xsl:call-template name="header-rights" />
+<!--	<xsl:call-template name="header-scope" />
+	<xsl:call-template name="header-castList" />
+	<xsl:call-template name="header-teiHeader" />
+	<xsl:call-template name="header-refSystem" /> -->
+      </work>
+    </header>
+  </xsl:template>
+
+
+  <xsl:template name="header-format">
+    <format type="x-MIME">text/xml</format>
+  </xsl:template>
+
+  <xsl:template name="header-title">
+    <!-- TODO - this allows for duplicate <title> elements in some cases -->
+    <title>
+      <xsl:value-of select="//DC.Title[@sub='Main']|DC.Title[not(@sub)]"/>
+    </title>
+  </xsl:template>
+
+  <!-- Creator -->
+  <xsl:template name="header-creator">
+    <xsl:apply-templates select="//DC.Creator" />
+  </xsl:template>
+
+  <xsl:template match="DC.Creator[@sub='Author' and @scheme='short-form']">
+    <creator role='aut'>
+      <xsl:value-of select="." />
+    </creator>
+  </xsl:template>
+
+  <xsl:template match="DC.Creator[@sub='Translator' and @scheme='short-form']">
+    <creator role='trl'>
+      <xsl:value-of select="." />
+    </creator>
+  </xsl:template>
+
+  <!-- Publisher -->
+  <xsl:template name="header-publisher">
+    <xsl:apply-templates select="//DC.Publisher" />
+  </xsl:template>
+
+  <xsl:template match="DC.Publisher[not(@sub) and not(@scheme)]">
+    <publisher>
+      <xsl:value-of select="." />
+    </publisher>
+  </xsl:template>
+
+  <!-- Date -->
+  <xsl:template name="header-date">
+    <xsl:apply-templates select="//generalInfo/firstPublished" />
+    <xsl:apply-templates select="//DC.Date" />
+  </xsl:template>
+
+  <xsl:template match="DC.Date[@sub='Created' and @scheme='ISO8601']">
+    <date event="eversion" type="ISO">
+      <xsl:call-template name="ISO8601toOSISdate">
+	<xsl:with-param name="date" select="." />
+      </xsl:call-template>
+    </date>
+  </xsl:template>
+
+  <xsl:template match="generalInfo/firstPublished">
+    <date event="edition" type="ISO">
+      <xsl:value-of select="." />
+    </date>
+  </xsl:template>
+
+  <!-- Language -->
+   <xsl:template name="header-language">
+    <xsl:apply-templates select="//DC.Language" />
+  </xsl:template> 
+
+  <xsl:template match="DC.Language[@scheme='ISO639-1']">
+    <language type="ISO-639-1">
+      <xsl:value-of select="." />
+    </language>
+  </xsl:template>
+
+  <!-- description -->
+   <xsl:template name="header-description">
+    <xsl:apply-templates select="//generalInfo/description" />
+  </xsl:template> 
+
+  <xsl:template match="generalInfo/description">
+    <description>
+      <xsl:value-of select="." />
+    </description>
+  </xsl:template>
+
+  <!-- rights -->
+  <xsl:template name="header-rights">
+    <xsl:apply-templates select="//DC.Rights" />
+  </xsl:template>
+
+  <xsl:template match="DC.Rights">
+    <rights>
+      <xsl:value-of select="." />
+    </rights>
+  </xsl:template>
+
+  <!-- catch all for headers -->
+  <xsl:template match="//ThML.head//text()" />
+
+  <!-- TODO:
+
+  <titlePage> if possible
+
+  -->
+
+
+  <!-- BODY -->
+
+  <!-- div -->
+  <xsl:template match="//ThML.body//div1 | //ThML.body//div2 | //ThML.body//div3">
+    <div>
+      <xsl:apply-templates />
+    </div>
+  </xsl:template>
+
+  <xsl:template match="//ThML.body//td">
+    <cell>
+      <xsl:apply-templates />
+    </cell>
+  </xsl:template>
+
+  <xsl:template match="//ThML.body//tr">
+    <row>
+      <xsl:apply-templates />
+    </row>
+  </xsl:template>
+
+  <xsl:template match="//ThML.body//i">
+    <hi type="italic">
+      <xsl:apply-templates />
+    </hi>
+  </xsl:template>
+
+  <xsl:template match="//ThML.body//b">
+    <hi type="bold">
+      <xsl:apply-templates />
+    </hi>
+  </xsl:template>
+
+  <xsl:template match="//ThML.body//scripCom">
+    <div type="section" annotateType="commentary">
+      <xsl:attribute name="annotateRef">
+	<xsl:value-of select="@osisRef" />
+      </xsl:attribute>
+      <xsl:attribute name="osisID">
+	<xsl:if test="starts-with(@osisRef,'Bible:')">
+	  <xsl:value-of select="substring(@osisRef,7,100)" />
+	</xsl:if>
+	<xsl:if test="not(starts-with(@osisRef,'Bible:'))">
+	  <xsl:value-of select="@osisRef" />
+	</xsl:if>
+      </xsl:attribute>
+      <xsl:apply-templates />
+    </div>
+  </xsl:template>
+
+  <!-- scripRef -->
+
+  <!-- OSIS does not allow <reference> inside <a>,
+       so we switch the order -->
+  <xsl:template match="//ThML.body//a[scripRef]">
+    <reference>
+      <xsl:attribute name="osisRef">
+	<xsl:value-of select="scripRef/@osisRef" />
+      </xsl:attribute>
+      <a>
+	<xsl:attribute name="href">
+	  <xsl:value-of select="@href" />
+	</xsl:attribute>
+	<xsl:apply-templates select="./child::*//text()"  /> <!-- skip the <scripRef> node which is immediate child of <a> -->
+      </a>
+    </reference>
+  </xsl:template>
+
+  <!-- scripRef -->
+  <xsl:template match="//ThML.body//scripRef">
+    <reference>
+      <xsl:attribute name="osisRef">
+	<xsl:value-of select="@osisRef" />
+      </xsl:attribute>
+      <xsl:apply-templates select=".//*[name()!='scripRef'] | text()"/>
+    </reference>
+    <!-- NB: some ThML has scripRef nested within scripRef,
+         which doesn't make sense, so we sort it out here -->
+    <xsl:apply-templates select=".//scripRef" />
+  </xsl:template>
+
+  <!-- span lang="*" -->
+  <xsl:template match="//ThML.body//span[@lang]" >
+    <foreign>
+      <xsl:attribute name="xml:lang">
+	<xsl:value-of select="@lang" />
+      </xsl:attribute>
+      <xsl:apply-templates />
+    </foreign>
+  </xsl:template>
+
+  <!-- other spans - remove -->
+  <xsl:template match="//ThML.body//span[not(@lang)]" >
+    <xsl:apply-templates />
+  </xsl:template>
+
+
+  <!-- table -->
+  <xsl:template match="//ThML.body//table">
+    <xsl:call-template name="changename">
+      <xsl:with-param name="name">table</xsl:with-param>
+      <xsl:with-param name="excludeattributes">border id</xsl:with-param>
+    </xsl:call-template>
+  </xsl:template>
+
+  <!-- h1 - h6 -->
+  <xsl:template match="//ThML.body//h1 | //ThML.body//h2 | //ThML.body//h3 | //ThML.body//h4 | //ThML.body//h5 | //ThML.body//h6">
+    <title>
+      <xsl:attribute name="level">
+	<xsl:value-of select="substring(name(),2,1)" />
+      </xsl:attribute>
+      <xsl:apply-templates />
+    </title>
+  </xsl:template>
+
+  <!-- br -->
+  <xsl:template match="//ThML.body//br">
+    <lb/>
+  </xsl:template>
+
+  <!-- pb -->
+  <xsl:template match="//ThML.body//pb">
+    <milestone type="pb">
+      <xsl:call-template name="copyattributes">
+        <xsl:with-param name="exclude">href id</xsl:with-param>
+      </xsl:call-template>
+    </milestone>
+  </xsl:template>
+
+  <!-- img -->
+  <xsl:template match="//ThML.body//img">
+    <xsl:call-template name="changename">
+      <xsl:with-param name="name">figure</xsl:with-param>
+    </xsl:call-template>
+  </xsl:template>
+
+  <!-- ul -->
+  <xsl:template match="//ThML.body//ul | //ThML.body//ol">
+    <!-- TODO - is there any markup for distinguishing ol and ul? -->
+    <xsl:call-template name="changename">
+      <xsl:with-param name="name">list</xsl:with-param>
+      <xsl:with-param name="excludeattributes">class</xsl:with-param>
+    </xsl:call-template>
+  </xsl:template>
+
+  <!-- img -->
+  <xsl:template match="//ThML.body//li">
+    <xsl:call-template name="changename">
+      <xsl:with-param name="name">item</xsl:with-param>
+      <xsl:with-param name="excludeattributes">class</xsl:with-param>
+    </xsl:call-template>
+  </xsl:template>
+
+
+  <!-- a -->
+  <!-- NB see <scripRef> above -->
+  <xsl:template match="//ThML.body//a[not(scripRef)]">
+    <a>
+      <xsl:call-template name="copyattributes">
+	<xsl:with-param name="exclude">class</xsl:with-param>
+      </xsl:call-template>
+      <!-- OSIS only allows <index> and text inside <a> -->
+      <xsl:apply-templates select=".//index | .//text()"/>
+    </a>
+  </xsl:template>
+
+  <!-- index -->
+  <xsl:template match="//ThML.body//index">
+    <index>
+      <xsl:attribute name="index"><xsl:value-of select="@type" /></xsl:attribute>
+      <xsl:if test="@subject1">
+	<xsl:attribute name="level1"><xsl:value-of select="@subject1" /></xsl:attribute>
+      </xsl:if>
+      <xsl:if test="@subject2">
+	<xsl:attribute name="level2"><xsl:value-of select="@subject2" /></xsl:attribute>
+      </xsl:if>
+      <xsl:if test="@subject3">
+	<xsl:attribute name="level3"><xsl:value-of select="@subject3" /></xsl:attribute>
+      </xsl:if>
+      <xsl:if test="@subject4">
+	<xsl:attribute name="level4"><xsl:value-of select="@subject4" /></xsl:attribute>
+      </xsl:if>
+      <!-- ThML's 'title' attribute appears to be equivalent to the last
+          'levelX' attribute used in OSIS.  The following code will be adequate
+	  unless there is a subject4 attribute -->
+      <xsl:if test="not(@subject1)">
+	<xsl:attribute name="level1"><xsl:value-of select="@title" /></xsl:attribute>
+      </xsl:if>
+
+      <xsl:if test="@subject1 and not(@subject2)">
+	<xsl:attribute name="level2"><xsl:value-of select="@title" /></xsl:attribute>
+      </xsl:if>
+
+      <xsl:if test="@subject1 and @subject2 and not(@subject3)">
+	<xsl:attribute name="level3"><xsl:value-of select="@title" /></xsl:attribute>
+      </xsl:if>
+
+      <xsl:if test="@subject1 and @subject2 and @subject3 and not(@subject4)">
+	<xsl:attribute name="level4"><xsl:value-of select="@title" /></xsl:attribute>
+      </xsl:if>
+
+      <xsl:apply-templates />
+    </index>
+  </xsl:template>
+
+
+  <!-- elements to strip, but really we want to find decent
+       OSIS markup for them - TODO -->
+  <!-- added insertIndex unclear -->
+  <xsl:template match="//ThML.body//added |  //ThML.body//unclear | //ThML.body//insertIndex">
+    <xsl:apply-templates />
+  </xsl:template>
+
+  <!-- TODO <cite> should really be translated as <reference>, but that
+  requires creating a <work osisWork="someUniqueName"> element in the header.
+  That could possibly be done in second phase, but knowing how to parse
+  the contents of the <cite> element is harder. -->
+  <xsl:template match="//ThML.body//cite">
+    <xsl:apply-templates />
+  </xsl:template>
+
+  <xsl:template match="//ThML.body//deleted" >
+    <!-- TODO: handle this better? -->
+    <note>Original text contained:
+      <xsl:apply-templates />
+    </note>
+  </xsl:template>
+
+<!-- TODO
+
+- verse -> lg
+- date - conversion
+
+-->
+  
+
+  <!-- elements to strip -->
+  <xsl:template match="//ThML.body//sup">
+    <xsl:apply-templates />
+  </xsl:template>
+
+  <!-- a without href -->
+  <!-- (this is really just to correct some ThML errors -->
+  <xsl:template match="//ThML.body//a[not(@href)]" />
+
+  <!-- The rest.  Many elements are common between ThML and OSIS -->
+  <!-- TODO: check that the above list of exceptions and filters
+       are in fact complete -->
+
+  <!-- Common elements between ThML and OSIS that are currently covered here:
+       a
+       abbr
+       caption
+       foreign
+       note
+       P
+       q
+       table
+ -->
+
+  <xsl:template match="//ThML.body//*">
+    <!-- NB: we avoid using <xsl:copy> due to namespace issues -->
+    <xsl:element name="{name()}">
+      <xsl:call-template name="copyattributes">
+	<xsl:with-param name="exclude">id class place style</xsl:with-param>
+      </xsl:call-template>
+      <xsl:apply-templates />
+    </xsl:element>
+  </xsl:template>
+</xsl:stylesheet>




More information about the sword-cvs mailing list