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 Schema

The xqDoc Schema was designed to store information about XQuery library and main modules in a vendor neutral format. For XQuery library and main modules, XML adhering to this schema can be generated from the provided xqDoc conversion package. For proprietary XQuery library modules offered by vendors (often written in a different language other than XQuery) the xqDoc Schema is once again a neutral format for storing information about these library modules. For example, we have translated the W3C XPath F&O (represented as XHTML) into the neutral xqDoc XML format with some scripts. By normalizing documentation to a single neutral format (and storing the resultant XML in a XML database or filesystem) it then becomes possible to use the provided xqDoc XQuery presentation functions to generate the resultant XHTML.

The xqDoc schema is divided into the five following sections. The schema is well docmented and is available here.

control

This section contains information about the xqDoc conversion package version (and date) when the xqDoc XML was generated. For xqDoc XML created from proprietary sources (i.e. not from user-defined library or main modules) which did not use the xqDoc conversion program, then the version would likely contain 'N/A'.

module

This section defines the module xqDoc URI, the type of module ('library' or 'main') and xqDoc comments associated with the module. In addition, the entire source code associated with the module is stored. The module xqDoc URI listed in this section is used extensively by the scripts for cross-reference linking. The base-uri value for the document when stored into the XML database can be different from this value ... although, as a general rule these values will normally be the same.

imports

This section defines the imported modules and any xqDoc comments associated with the imports.

variables

This section defines the global variables and any xqDoc comments associated with the imports.

functions

This section defines each of the functions contained within the library or main module and any xqDoc comments associated with the functions. Any 'invoked' functions associated with this function should also be defined as well as referenced global variables. For main modules, it will also include the QueryBody XQuery expression under the default function name of 'xqDoc-main'. In addition, the source code associated with each function is stored.