Who We Are
The code to control the presentation of the xqDoc XHTML is straightforward. It
consists of three XQuery main modules and one XQuery library module that will execute
against xqDoc XML that has been stored in a XML database or filesystem. All of the XQuery contained in the
library module is vendor neutral and adheres to the W3C Recommendation for XQuery 1.0. However, there are some
MarkLogic proprietary extensions in the main modules to retrieve information passed in a HTTP query string and setting
some HTTP header values to disable caching. If the ability to invoke XQuery scripts via a
web server is not provided by a vendor's XQuery implementation, then a simple .war application
could be created to accomplish the same purpose as the (3) main modules. In this situation,
each main module would be replaced with an equivalent JSP. Then, these JSP pages would
invoke XQuery functions defined in the library module.
Below is a brief description of the XQuery modules. The source code for the XQuery modules is available
in the downloads area or the xqDoc XHTML presentation view for these modules can be viewed in the
sample output area. When the xqDoc XML is stored in the
filesystem (instead of a XML database), an XQuery processor only utilizes a slightly modified version of xqdoc-display.xqy
library module included in the xqdoc_conv.jar.
This main module constructs the xqDoc home page. This page will list all of the XQuery library and main modules that have
been converted into xqDoc XML and stored in the 'xqdoc' collection for the XML database.
This main module constructs the display page for the selected xqDoc library or main module. This will consist of
xqDoc comments, imported modules, declared variables, defined functions, and cross reference links for
This main module constructs the code page for the selected function or module. The code for the selected XQuery function
or module will display in a pop-up window.
This library module is the work-horse for the application. The above main modules are essentially thin
veneers that leverage functions defined in this library module.