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

xqDoc Display

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.


default.xqy

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.


get-module.xqy

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 other modules.


get-code.xqy

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.


xqdoc-display.xqy

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.