Skip to content
Browse files

Added some standard files.

  • Loading branch information...
1 parent da1a5ee commit 135e7aa273843959b5e3b7de6b45321461967379 @sramsay sramsay committed Aug 6, 2012
Showing with 545 additions and 75 deletions.
  1. +2 −0 AUTHORS
  2. +7 −0 COPYING
  3. +460 −0 ChangeLog
  4. 0 NEWS
  5. +75 −0 README
  6. +0 −75 README.md
  7. +1 −0 README.md
View
2 AUTHORS
@@ -0,0 +1,2 @@
+Stephen Ramsay <sramsay.unl@gmail.com>
+Brian Pytlik-Zillig <bzillig1@unl.edu>
View
7 COPYING
@@ -0,0 +1,7 @@
+Copyright © 2007-2012 The Board of Regents of the University of Nebraska, The Board of Trustees of the University of Illinois, The University of Georgia Research Foundation, Inc., University of Maryland College Park, McMaster University, University of Alberta and The National Center for Supercomputing Applications. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. Neither the name Abbot, the names of any institution listed in the above copyright notice, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission.
+
+THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
View
460 ChangeLog
@@ -0,0 +1,460 @@
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-08-02
+
+ Working on adding config file to metastylesheet.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-08-02
+
+ ...
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-08-02
+
+ Enabled config option.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-08-02
+
+ Updated file.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-08-02
+
+ Minor adjustments to comments.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-08-02
+
+ Added customization.clj file.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-07-31
+
+ Added data.xml dependency.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-07-31
+
+ Added data.xml jar.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-25
+
+ ...
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-25
+
+ Minor adjustment.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-25
+
+ Added license and warranty information.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-25
+
+ Minor correction.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-25
+
+ Removed reference to CHANGES file.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-25
+
+ Shortened suffix.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-14
+
+ Version bump. Reverted to pmap.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-14
+
+ Version bump.
+
+Merge: dbf7175 ce6d002
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-14
+
+ Merge branch 'master' of github.com:CDRH/abbot
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-14
+
+ With shutdown-agents.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-14
+
+ Experimenting with futures. No shutdown-agents in this version.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-13
+
+ Mild refactoring.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-13
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-06-13
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-05-26
+
+ Minor change to copyright statement.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-05-25
+
+ Refactored main conversion function to remove clutter.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-05-25
+
+ Version bump to 0.4.4.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-05-25
+
+ Version bump to 0.4.4.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-05-07
+
+ Changed the language about our version of clojure from 1.3 to 1.4.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-05-07
+
+ ...
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-05-07
+
+ Recompiled abbot and rebuilt dependencies for clojure 1.4.
+
+Brian Pytlik Zillig <bzillig1@unl.edu> 2012-03-28
+
+ Added <?xml-model href=""?> processing instruction. Specifies location of schema.
+
+Brian Pytlik Zillig <bzillig1@unl.edu> 2012-03-23
+
+ Improved namespace handling in both meta-stylesheet and config file.
+
+Brian Pytlik Zillig <bzillig1@unl.edu> 2012-03-22
+
+ Improved namespace handling in the meta stylesheet.
+
+Frank Smutniak <fsmutniak@gmail.com> 2012-03-19
+
+ Revert 2a3d38f70ed8d37094273a00adcde261944c8b60^..HEAD
+
+Frank Smutniak <fsmutniak@gmail.com> 2012-03-19
+
+ Revert 2a3d38f70ed8d37094273a00adcde261944c8b60^..HEAD
+
+Brian Pytlik Zillig <bzillig1@unl.edu> 2012-03-13
+
+ Tightened various XPaths in templates to eliminate ambiguous rule match errors.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-04
+
+ Deleted old tools.cli.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-04
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-04
+
+ Updated clojure.tools.cli.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-04
+
+ Updated options parsing to conform with new version of tools.cli.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-04
+
+ Updates version of clojure.tools.cli.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-04
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-04
+
+ ...
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-02
+
+ Fixed typo.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-02
+
+ Version bump.
+
+Merge: 7a46a7d 8a546f9
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-02
+
+ Merge branch 'master' of github.com:CDRH/abbot
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-03-02
+
+ Minor adjustment to comment on conversion-stylesheet function.
+
+Brian Pytlik Zillig <bzillig1@unl.edu> 2012-02-28
+
+ Fixed a bug that appeared (only when) when usingtei_all.rng schema.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-28
+
+ Refactored conversion-stylesheet function to precompile the
+ conversion stylesheet within the closure (before generating the compiled
+ stylesheet itself).
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-28
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-28
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Minor adjustment to docstring.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ The -convert function now has variable arity.
+
+ With default schema:
+
+ abbot.convert("/home/sramsay/input", "/home/sramsay/output/")
+
+ With user-supplied schema:
+
+ abbot.convert("/home/sramsay/input", "/home/sramsay/output/", "/home/sramsay/projects/abbot/resources/target/tei-xl.rng");
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Rewrote core function to reflect changes in stylesheets.clj.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Added version variable.
+
+ Added urlify function for normalizing paths.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Refactored conversion-stylesheet into a closure (that can be bound to
+ any stylesheet passed in at runtime).
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Added version flag.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-26
+
+ Version bump.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-02-25
+
+ Working on parameterization of stylesheet functions.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-22
+
+ Upgraded to clojure-1.3
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-22
+
+ Abbot is now working with Clojure 1.3.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-22
+
+ Cleaned version of source.
+
+Merge: 6417c6f 8239630
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-22
+
+ Merge branch 'api'
+
+ Conflicts:
+README.markdown
+project.clj
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-22
+
+ Added temporary API build script to test.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-22
+
+ Restablized abbot. All files (including abbot_config.xml) are now
+ read from URLs. See Issues for details.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-20
+
+ Working on adding custom transforms to meta-stylesheet (stylesheet
+ function in stylesheets.clj)
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-19
+
+ Fixed parameters in convert function (resolving apparent parse error).
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-18
+
+ Added version of metastylesheet with abbot_config commented out.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-17
+
+ Metastylesheet and target schema moved to external URL.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-17
+
+ Trying to generalize the source of the target schema.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-12
+
+ Version bump (0.3.1)
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-12
+
+ stylesheets.clj now reads meta-stylesheet and target schema from jar.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-12
+
+ Version bump.
+
+Merge: 2c75ca6 d35c0fb
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-12
+
+ Merge branch 'api'
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-12
+
+ Basic API is working.
+
+ Refactored core.clj into cli.clj and Abbot.clj.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-12
+
+ Removed SNAPSHOT string from uberjar, and updated README.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-12
+
+ Temporarily added binaries back into repo.
+
+ This should be replaced with a self-contained (lein-based) build, and/or a self-contained jar in Downloads.
+
+Brian Pytlik Zillig <bzillig1@unl.edu> 2012-01-11
+
+ Added tei-all.rng
+
+Brian Pytlik Zillig <bzillig1@unl.edu> 2012-01-11
+
+ Added comment as a test.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-10
+
+ Version bump (to 1.2.1).
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-10
+
+ Sanity has been restored. The core clojure libraries have
+ been rolled back to 1.2.1 (with contrib).
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-01
+
+ Trying to fix problems with standalone jar.
+
+Merge: a1603f3 64e6d81
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-01
+
+ Merge branch 'api'
+
+ Conflicts:
+abbot-0.1.0-SNAPSHOT-standalone.jar
+abbot-0.1.0-SNAPSHOT.jar
+classes/clojure/tools/cli$group$fn__144.class
+classes/clojure/tools/cli$group.class
+classes/clojure/tools/cli$show_help$iter__72__76$fn__77$fn__78.class
+classes/clojure/tools/cli$show_help$iter__72__76$fn__77.class
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2012-01-01
+
+ Added directory parameters to -convert method.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-12-31
+
+ Cleaned out classes directory.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-12-31
+
+ Basic -convert function operational.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-12-31
+
+ Recompiled uberjar.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-12-15
+
+ Re-added class files and uberjar.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-25
+
+ Added markdown README.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-25
+
+ Testing out Markdown READMEs.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-19
+
+ The beginnings of a Java api.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-18
+
+ Cleaning out binaries . . .
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-18
+
+ Cleaning out binaries . . .
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-18
+
+ ...
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-18
+
+ Some initial fooling around with java-interop.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-18
+
+ More reordering . . .
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-18
+
+ Reordering dependencies (removed clojure-contrib from project.clj).
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-06
+
+ Minor changes to README.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-06
+
+ Minor change.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-05
+
+ Unspeakably minor change to code formatting.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-05
+
+ Minor changes to the README.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-05
+
+ Minor adjustment to README.
+
+Stephen Ramsay <sramsay.unl@gmail.com> 2011-11-05
+
+ first commit
View
0 NEWS
No changes.
View
75 README
@@ -0,0 +1,75 @@
+
+Abbot
+=====
+
+Version 0.4.7.
+
+A sepulchral voice reverberating through the monastery, says . . .
+
+*This is pre-release software.* It may fail to compile. It might have undocumented features. It certainly has unimplemented features. It definitely has bugs. You have been warned. Watch this space for updates.
+
+Description
+-----------
+
+Abbot is a tool for undertaking large-scale conversion of XML document collections in order to make them interoperable with one another. In particular, Abbot can make one or more collections conform to a designated schema (including a schema used to define one of the collections). In the simplest case, where the "target schema" is a proper subset of the schema(s) used to define the collections in question, Abbot operates more-or-less automatically. More complicated cases require that you define specific transformations in a configuration file, but that configuration file uses a simple language unrelated to either XSLT or Schema.
+
+[Note: The DSL used in the config file represents one of the major areas of volatility in this pre-release. In fact, it won't actually exist for awhile. In the meantime, you can still use XSLT.]
+
+By default, Abbot converts documents into TEI Analytics -- a TEI subset designed for text analysis applications.
+
+Abbot is designed to be furiously fast (it will automatically parallelize the conversion across n processor cores), and might be the right solution for jobs that don't explicitly involve interoperability, but merely seek to perform XSL transformations on massive document collections quickly.
+
+Abbot is designed to run on UNIX-like systems, and is being developed on Linux. Patches that make it play nice on other platforms will be warmly welcomed.
+
+Quickstart
+----------
+
+(We'll assume that you have one or more collections that do not conform to TEI-A and you would like to make them interoperate with one another by making them conform to that schema.)
+
+Everything you need to use Abbot (aside from an up-to-date JVM) is contained in the file abbot-X.X.X-standalone.jar.
+
+1. Set the environment variable ABBOT\_HOME to this directory (the root directory of the Abbot distribution).
+
+2. Put the files you want to convert into $ABBOT\_HOME/input.
+
+3. type "java -jar abbot-X.X.X-standalone.jar"
+
+4. Behold your converted files in $ABBOT\_HOME/output
+
+[Note: Passing -h after the jar will show you some command-line switches that allow you to change the input and output directories.]
+
+Slowstart
+---------
+
+In order to use Abbot effectively, it helps to understand a bit about how it works.
+
+Abbot reads a schema (we'll call it the "target schema") and automatically generates a stylesheet designed to convert a set of XML documents into a form that (ideally) validates against that schema. In its most basic form, it simply assumes that any element that appears in the document and which is also legal according to the target schema can be passed through unchanged. So if the target schema describes a proper subset of the elements used by the documents, Abbot can perform the conversion without much effort on your part.
+
+This works well for a surprising number of cases in which interoperability is the goal, but obviously won't work in more complicated cases. When the mapping from some element in the documents to some element described in the schema is less obvious, you'll need to provide Abbot with a description of how that transformation should be undertaken.
+
+The key files, then, are the target schema (which is kept in $ABBOT\_HOME/target) and the abbot\_config.xml file (which is kept in $ABBOT\_HOME/config). The config file simply contains XSLT templates (under the <custom-transformations> element). Each one of these will be added at runtime to the stylesheet that is automatically generated from the target schema.
+
+[Note: Once again, replacing this config file with a simplified language is one of the major development goals of Abbot. In the meantime, you have to provide your own XSLT templates. Whether this is still worth it in your particular case really depends on how much customization is required, though it may be that having Abbot take care of the trivial cases for you helps you quite a bit.]
+
+So if you want to start playing with different target schemas and custom mappings, those are the two files you want to replace and/or fiddle with.
+
+Building from (and Tinkering with) the Source
+---------------------------------------------
+
+Abbot is built using a combination of XSLT and [Clojure](http://clojure.org/) using the [Leiningen](http://leiningen.org/) build tool. So assuming you have both Clojure (we're using version 1.4) and the current copy of Leiningen, you should be able to type:
+
+ lein deps
+ lein uberjar
+
+to generate the current SNAPSHOT.
+
+The abbot "runtime" is substantially written in Clojure, but that code is mainly concerned with compiling the "metastylesheet" (the stylesheet that generates the stylesheet that does the conversion -- or, as we call it, the "conversion stylesheet"). Once the conversion stylesheet is built (in the first few seconds of a typical run), Abbot will proceed to apply it to all the documents in the input directory.
+
+So, if you're interested in tinkering with the XSLT part of things, you want to look in $ABBOT\_HOME/xslt (where the metastylesheet resides). All other parts of the system -- the compilation of the stylesheets, parallelized conversion, etc. -- are in the src directory.
+
+License, etc.
+-------------
+
+Written and maintained by Brian Pytlik-Zillig and Stephen Ramsay for the [Center for Digital Research in the Humanities](http://cdrh.unl.edu/) at the University of Nebraska-Lincoln.
+
+Copyright © 2011-2012 Board of Regents of the University of Nebraska-Lincoln. Norman may be freely distributed and/or modified subject to certain conditions. It is made available in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE for more details.
View
75 README.md
@@ -1,75 +0,0 @@
-
-Abbot
-=====
-
-Version 0.4.7.
-
-A sepulchral voice reverberating through the monastery, says . . .
-
-*This is pre-release software.* It may fail to compile. It might have undocumented features. It certainly has unimplemented features. It definitely has bugs. You have been warned. Watch this space for updates.
-
-Description
------------
-
-Abbot is a tool for undertaking large-scale conversion of XML document collections in order to make them interoperable with one another. In particular, Abbot can make one or more collections conform to a designated schema (including a schema used to define one of the collections). In the simplest case, where the "target schema" is a proper subset of the schema(s) used to define the collections in question, Abbot operates more-or-less automatically. More complicated cases require that you define specific transformations in a configuration file, but that configuration file uses a simple language unrelated to either XSLT or Schema.
-
-[Note: The DSL used in the config file represents one of the major areas of volatility in this pre-release. In fact, it won't actually exist for awhile. In the meantime, you can still use XSLT.]
-
-By default, Abbot converts documents into TEI Analytics -- a TEI subset designed for text analysis applications.
-
-Abbot is designed to be furiously fast (it will automatically parallelize the conversion across n processor cores), and might be the right solution for jobs that don't explicitly involve interoperability, but merely seek to perform XSL transformations on massive document collections quickly.
-
-Abbot is designed to run on UNIX-like systems, and is being developed on Linux. Patches that make it play nice on other platforms will be warmly welcomed.
-
-Quickstart
-----------
-
-(We'll assume that you have one or more collections that do not conform to TEI-A and you would like to make them interoperate with one another by making them conform to that schema.)
-
-Everything you need to use Abbot (aside from an up-to-date JVM) is contained in the file abbot-X.X.X-standalone.jar.
-
-1. Set the environment variable ABBOT\_HOME to this directory (the root directory of the Abbot distribution).
-
-2. Put the files you want to convert into $ABBOT\_HOME/input.
-
-3. type "java -jar abbot-X.X.X-standalone.jar"
-
-4. Behold your converted files in $ABBOT\_HOME/output
-
-[Note: Passing -h after the jar will show you some command-line switches that allow you to change the input and output directories.]
-
-Slowstart
----------
-
-In order to use Abbot effectively, it helps to understand a bit about how it works.
-
-Abbot reads a schema (we'll call it the "target schema") and automatically generates a stylesheet designed to convert a set of XML documents into a form that (ideally) validates against that schema. In its most basic form, it simply assumes that any element that appears in the document and which is also legal according to the target schema can be passed through unchanged. So if the target schema describes a proper subset of the elements used by the documents, Abbot can perform the conversion without much effort on your part.
-
-This works well for a surprising number of cases in which interoperability is the goal, but obviously won't work in more complicated cases. When the mapping from some element in the documents to some element described in the schema is less obvious, you'll need to provide Abbot with a description of how that transformation should be undertaken.
-
-The key files, then, are the target schema (which is kept in $ABBOT\_HOME/target) and the abbot\_config.xml file (which is kept in $ABBOT\_HOME/config). The config file simply contains XSLT templates (under the <custom-transformations> element). Each one of these will be added at runtime to the stylesheet that is automatically generated from the target schema.
-
-[Note: Once again, replacing this config file with a simplified language is one of the major development goals of Abbot. In the meantime, you have to provide your own XSLT templates. Whether this is still worth it in your particular case really depends on how much customization is required, though it may be that having Abbot take care of the trivial cases for you helps you quite a bit.]
-
-So if you want to start playing with different target schemas and custom mappings, those are the two files you want to replace and/or fiddle with.
-
-Building from (and Tinkering with) the Source
----------------------------------------------
-
-Abbot is built using a combination of XSLT and [Clojure](http://clojure.org/) using the [Leiningen](http://leiningen.org/) build tool. So assuming you have both Clojure (we're using version 1.4) and the current copy of Leiningen, you should be able to type:
-
- lein deps
- lein uberjar
-
-to generate the current SNAPSHOT.
-
-The abbot "runtime" is substantially written in Clojure, but that code is mainly concerned with compiling the "metastylesheet" (the stylesheet that generates the stylesheet that does the conversion -- or, as we call it, the "conversion stylesheet"). Once the conversion stylesheet is built (in the first few seconds of a typical run), Abbot will proceed to apply it to all the documents in the input directory.
-
-So, if you're interested in tinkering with the XSLT part of things, you want to look in $ABBOT\_HOME/xslt (where the metastylesheet resides). All other parts of the system -- the compilation of the stylesheets, parallelized conversion, etc. -- are in the src directory.
-
-License, etc.
--------------
-
-Written and maintained by Brian Pytlik-Zillig and Stephen Ramsay for the [Center for Digital Research in the Humanities](http://cdrh.unl.edu/) at the University of Nebraska-Lincoln.
-
-Copyright © 2011-2012 Board of Regents of the University of Nebraska-Lincoln. Norman may be freely distributed and/or modified subject to certain conditions. It is made available in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE for more details.
View
1 README.md

0 comments on commit 135e7aa

Please sign in to comment.
Something went wrong with that request. Please try again.