Revision [1905]
This is an old revision of ModuleMarkLogic made by DavidLee on 2013-09-30 15:21:54.
Mark Logic Module
Connectivity to a Mark Logic server is supported with an extension module.
Mark Logic support is via an Extension Module. It must be downloaded separately from xmlsh and added to the classpath in order to run.
Download
Mark Logic extension module is on sourceforge in the marklogic_ext package under xmlsh.Dowload the latest binary from xmlsh files
Choose the "marklogic_ext" folder and download the latest release.
You also need the latest "XCC" connector .jar file file from XCC for MarkLogic (the Java XCC Distribution). The current version of the MarkLogic extension was built using the file "marklogic-xcc-5.0.1.jar".
Dependancies
The current MarkLogic extension (1.20) requires xmlsh version 1.2.4 or greater.Importing
Copy the files (marklogic_ext.jar, marklogic-xcc*.jar, module.xml) to a directory named "marklogic" as a sub-directory of any path in the XMODPATH directory.
If you are using a different version of the marklogic XCC jar then you can edit module.xml to reflect the actual file used.
Import the marklogic extension in xmlsh with an "import module" statement.
The module can be found using the XMODPATH variable or explicitly by specifying the module.xml file
Assuming you put the marklogic files in the directory /usr/local/xmlsh/ext/marklogic
XMODPATH=/usr/local/xmlsh/ext import module ml=marklogic
Configuring
To run Mark Logic commands you need to configure the connection information to access your Mark Logic server. All the Mark Logic commands require an environment variable, MLCONNECT to specify the connection. The format is the URI used by the XCC API.
xcc://user:password@host:port/Database
Note: the Port is the port number of an XDBC "Host" defined on the Mark Logic server.
Example
$ MLCONNECT=xcc://me:password@server:8003/Test
Instead of using an environment variable, you can also pass in the connection URI as a command argument using -c or -connect
Example
ml:query -c xcc://me:password@server:8003/Test -q "'Hello World'"
SSL / xccs
Starting with version 1.10 (2010-12-25) the MarkLogic extension module supports SSL connections to 4.1 or later servers. SSL is enabled by using the "xccs://" scheme (instead of "xcc://").Currently only SSL Encryption, not Client and server certificate chain validation is supported.
Running
Your now ready to run Mark Logic commands from within xmlsh.The following commands are supported
createdir | Creates directories |
del | Deletes documents |
deldir | Deletes directories |
direxists | Tests whether a directory exists |
exists | Tests whether a document exists |
get | Gets documents from the server |
get-permissions | List document permissions |
invoke | Invokes a remotely stored query |
list | Lists documents |
list-collections | List all collection URI's |
listdir | Lists directories |
put | Puts one or more files to the server |
move-forest | Move a document from one forest to another |
query | Invokes an ad-hoc query |
rename | Renames (moves) a document |
set-permissions | Set document permissions |
Extension Modules