The Doxsl Documentation Schema

Doxsl is packaged with a W3C Schema that is integrated with the XSLT 2.0 Schema. The schema defines a set elements that can be used to embed documentation within an XSLT stylesheet. It contains several component level elements that are used to document different XSLT components such as the stylesheet itself, attribute-sets, parameters, templates and functions. Within each component, the content model contains basic sections such as description, parameter lists (if applicable), and any remarks about the component you are documenting. In each section, there are basic markup elements that allow you to create lists, tables, paragraphs and code blocks, as well as links.

The advantage to using this schema is that it is grammar-neutral and enables outputting code documentation into any suppported Doxsl output format. For example, using the Doxsl schema will allow you to render code documentation into DocBook refentry markup, as well as into the appropriate DITA markup without additional processing overrides.

The content model for all elements is very relaxed - allowing other elements to be included in the markup. For example, if you want to embed markup from another schema within the Doxsl markup, you can do so, provided that the other markup is declared with another namespace.

All defined elements reside in the urn:doxsl:documentation:1.0 namespace, typically identified by the prefix dxd.

You aren't obligated to use Doxsl's documentation schema. It's there as a starting point and is implemented by default. However, if you have documented your code with another markup schema, you can simply override Doxsl's core comment processing model with your own.