Inspection Module
This XQuery Module contains functions for generating xqDoc files from XQuery modules.
Introduction
xqDoc provides a simple vendor neutral solution for generating a documentation from XQuery modules. The documentation conventions have been inspired by the JavaDoc standard. Documentation comments begin with (:~
and end with :)
, and tags start with @
. xqDoc comments can be specified for main and library modules, variable declarations and function declarations, as shown in the example below.
Conventions
All functions in this module are assigned to the http://basex.org/modules/xqdoc
namespace, which is statically bound to the xqdoc
prefix.
All errors are assigned to the http://basex.org/errors
namespace, which is statically bound to the bxerr
prefix.
Functions
xqdoc:parse
Signatures | xqdoc:parse($input as xs:string) as element(xqdoc:xqdoc)
|
Summary | Parses the specified $input and generates an xqDoc element.
|
Example
The following example module...
(:~ : This module provides some sample functions to demonstrate : the features of the XQDoc Module. : @author BaseX Team : @see http://docs.basex.org/wiki/XQDoc_Module : @version 1.0 :) module namespace samples = 'http://basex.org/modules/samples'; (:~ This is a sample number. :) declare variable $samples:number := 1; (:~ : This function simply returns the specified number. : @param $number number to return : @return specified number :) declare function samples:same($number as xs:integer) as xs:integer { $number };
...will be converted to the following xqDoc file:
<xqdoc:xqdoc xmlns:xqdoc="http://www.xqdoc.org/1.0"> <xqdoc:control> <xqdoc:date>2013-05-31T00:13:02.199+02:00</xqdoc:date> <xqdoc:version>1.1</xqdoc:version> </xqdoc:control> <xqdoc:module type="library"> <xqdoc:uri>http://basex.org/modules/samples</xqdoc:uri> <xqdoc:name>sample.xq</xqdoc:name> </xqdoc:module> <xqdoc:imports/> <xqdoc:variables> <xqdoc:variable> <xqdoc:name>samples:number</xqdoc:name> <xqdoc:comment> <xqdoc:description>This is a sample number.</xqdoc:description> </xqdoc:comment> </xqdoc:variable> </xqdoc:variables> <xqdoc:functions> <xqdoc:function arity="1"> <xqdoc:comment> <xqdoc:description>This function simply returns the specified number.</xqdoc:description> <xqdoc:param>$number number to return</xqdoc:param> <xqdoc:return>specified number</xqdoc:return> </xqdoc:comment> <xqdoc:name>samples:same</xqdoc:name> <xqdoc:signature>declare function samples:same($number as xs:integer) as xs:integer</xqdoc:signature> <xqdoc:parameters> <xqdoc:parameter> <xqdoc:name>number</xqdoc:name> <xqdoc:type>xs:integer</xqdoc:type> </xqdoc:parameter> </xqdoc:parameters> <xqdoc:return> <xqdoc:type>xs:integer</xqdoc:type> </xqdoc:return> </xqdoc:function> </xqdoc:functions> </xqdoc:xqdoc>
Changelog
This module was introduced with Version 7.7.