Project
  History
  Mission
  Quotes
  License
  News

Related Efforts
  XQuery Style

Quick Start
  General
  BaseX
  eXist
  MarkLogic
  Saxon
  xquerydoc
  Zorba

Documentation
  Assumptions
  Limitations
  xqDoc Comments
  xqDoc Schema
  xqDoc Conversion
  xqDoc Display
  xqDoc Drivers

Downloads
  Binaries
  Source

Sample Output
  xqDoc Basic
  xqDoc Standard
  xqDoc Enhanced

Credits
  Who We Are

MarkLogic

The following instructions are based on MarkLogic XML Content Server v3.0. However, none of the instructions are specific to this version so it should work for subsequent versions (assuming the proper versions for MarkLogic XDBC .jar files are installed). There may be some work needed to get MarkLogic working with the newer XCC .jar files. If anyone has time to get this working, please feel free to modify and push the relevant changes.


Setup

Although the following setup instructions do not have to be explicitly followed, they offer a 'clean' approach for configuring a MarkLogic environment for xqDoc.

  1. Create a Forest (named 'xqdoc') for storing xqDoc XML.
  2. Create a Database (named 'xqdoc') for the xqDoc XML and reference the 'xqdoc' Forest previously created.
  3. Create an XDBC server and reference the 'xqdoc' Database previously created. Set the 'library' for imports to 'xqdoc'.
  4. Create an HTTP server and reference the same 'xqdoc' Database previously created. Set the 'root' for the imports to 'xqdoc'.
  5. Immediately under the MarkLogic installation directory, create a directory named 'xqdoc'.
  6. Unzip the xqDoc Jan 2007 presentation scripts into this 'xqdoc' directory.


Software Requirements

The following software packages need to be specified in the Java ClassPath. The helpful links below provide the location(s) for these packages.

xqdoc-conversion-bin-v1_6.zip
Use the xqdoc_conv.jar for the xqDoc conversion package contained in the zip file.

xqdoc-marklogic-driver-bin-v1_0.zip
Use the xqdoc_ml.jar for the MarkLogic drivers contained in the zip file.

antlr-2.7.5.jar
Use a minimum of the antlr-2.7.5.jar file.

jdom-1.1.zip
Use the jdom.jar contained in the zip file.

xqrunner
Select the appropriate version and use use the xqrunner.jar contained in the zip file.

MarkXDBC
Select the appropriate version and use the xdbc.jar, xdmp.jar, and xeval.jar contained in the zip file.

With MarkLogic properly configured and the necessary .jar files downloaded, it is time to begin executing one of the MarkLogic drivers.


MarkLogicFileDriver

This driver will process XQuery library and main modules from the file system and store the resultant xqDoc XML into a MarkLogic database. The driver expects the following parameters:

  • Either a directory containing library and main modules (ending in .xqy) or an individual module name
  • The Address of the MarkLogic XDBC server that will access and store the xqDoc XML
  • The above MarkLogic XDBC server port number
  • The above MarkLogic XDBC server username
  • The above MarkLogic XDBC server password

So, assuming that ...

  • the necessary .jar files are specified in the ClassPath
  • the library and main modules are available in e:\
  • the MarkLogic XDBC server address is 24.15.60.100
  • the XDBC port is 2000
  • the username is 'darin'
  • the password is 'xqdoc'
the invocation should look as follows ...

java org.xqdoc.drivers.marklogic.MarkLogicFileDriver
e:\
24.15.60.100
2000
darin
xqdoc


MarkLogicModuleDriver

This driver will process XQuery library and main modules stored in a MarkLogic modules database and store the resultant xqDoc XML into a MarkLogic database. The driver expects the following parameters:

  • Address of the MarkLogic XDBC server with access to the modules database
  • The above MarkLogic XDBC server port number
  • The above MarkLogic XDBC server username
  • The above MarkLogic XDBC server password
  • The Address of the MarkLogic XDBC server that will access and store the xqDoc XML
  • The above MarkLogic XDBC server port number
  • The above MarkLogic XDBC server username
  • The above MarkLogic XDBC server password
So, assuming that ...
  • the necessary .jar files are specified in the ClassPath
  • the MarkLogic XDBC server address for the modules database is 24.15.60.100
  • the XDBC port for this server is 4000
  • the username is 'darby'
  • the password is 'modules'
  • the MarkLogic XDBC server address for the xqDoc XML database is 24.15.60.100
  • the XDBC port for this server is 2000
  • the username is 'darin'
  • the password is 'xqdoc'
the invocation should look as follows ...

java org.xqdoc.drivers.marklogic.MarkLogicModuleDriver
24.15.60.100
4000
darby
modules
24.15.60.100
2000
darin
xqdoc


MarkLogicZipDriver

This driver will process all of the xqDoc XML files stored in the 'xqdoc' collection of the XML database and create a static view of the documentation by creating numerous HTML files and placing them into a zip file named xqdoc.zip. This view of xqDoc XML is useful for those people who may not have access to the MarkLogic XML Content Server to dynamically render the content via scripts. Instead, an appointed person can create the .zip file and disseminate to the appropriate people. The driver expects the following parameters:

  • Directory where to place the generated xqdoc.zip file
  • The Address of the MarkLogic XDBC server that will access the xqDoc XML
  • The above MarkLogic XDBC server port number
  • The above MarkLogic XDBC server username
  • The above MarkLogic XDBC server password

So, assuming that ...

  • the necessary .jar files are specified in the ClassPath
  • the xqDoc presentation scripts have installed in the root directory
  • the MarkLogic XDBC server address is 24.15.60.100
  • the XDBC port is 2000
  • the username is 'darin'
  • the password is 'xqdoc'
the invocation should look as follows ...

java org.xqdoc.drivers.marklogic.MarkLogicZipDriver
24.15.60.100
2000
darin
xqdoc


Display

With the xqDoc XML stored in the database, it can now be viewed with the xqDoc presentation scripts.

So, assuming that ...

  • the xqDoc presentation scripts have been unzipped in the MarkLogic HTTP server (with access to the xqDoc XML) root directory
  • the xqDoc XML has been stored into the MarkLogic database with either the File driver or Module driver
  • the address and port for the MarkLogic HTTP server (with access to the xqDoc XML) is 24.15.60.100 and 1000
The xqDoc module home page can be accessed with the following url:

  http://24.15.60.100:1000/default.xqy


Installation Verification

If user-defined XQuery library and main modules are not readily available, the xqDoc display scripts can be used to verify the proper configuration of the MarkLogic environment and usage of the MarkLogic provided drivers. Simply unzip the xqDoc display scripts into a directory and then specify that directory when executing the MarkLogicFileDriver. When the xqDoc presentation output is viewed, it should look very similar to the enhanced output. The main difference will be the W3C XPath Functions and Operators will not be hypertext linked.