Edit online

XSLT Stylesheet Component Documentation Support

Oxygen XML Developer offers built-in support for documenting XSLT stylesheets. If the expanded QName of the element has a non-null namespace URI, the <xsl:stylesheet> element may contain any element not from the XSLT namespace. Such elements are referenced as user-defined data elements. Such elements can contain the documentation for the stylesheet and its elements (top-level elements whose names are in the XSLT namespace). Oxygen XML Developer offers its own XML schema that defines such documentation elements. The schema is named stylesheet_documentation.xsd and can be found in [OXYGEN_INSTALL_DIR]/frameworks/stylesheet_documentation. The user can also specify a custom schema in XSL Content Completion options.

Content Completion

When content completion is invoked inside an XSLT editor by pressing Ctrl + Space, it offers elements from the XSLT documentation schema (either the built-in one or one specified by user).

Adding Documentation Blocks

In Text mode, to add documentation blocks, press Ctrl + Alt + D (Command + Option + D on macOS) or select Add component documentation from the contextual menu.

If the cursor is positioned inside the <xsl:stylesheet> element context, documentation blocks are generated for all XSLT elements. If the cursor is positioned inside a specific XSLT element (such as a template or function), a documentation block is generated for that element only.

Example: Documentation Block Using Oxygen XML Developer Built-in Schema
<xd:doc>
  <xd:desc>
    <xd:p>Search inside parameter <xd:i>string</xd:i> 
        for the last occurrence of parameter
    <xd:i>searched</xd:i>. The substring starting from the 0 position
        to the identified last occurrence will be returned. 
    <xd:ref name="f:substring-after-last" type="function" 
        xmlns:f="http://www.oxygenxml.com/doc/xsl/functions">See also
    </xd:ref>
    </xd:p>
  </xd:desc>
  <xd:param name="string">
    <xd:p>String to be analyzed</xd:p>
    </xd:param>
  <xd:param name="searched">
    <xd:p>Marker string. Its last occurrence will be identified</xd:p>
    </xd:param>
  <xd:return>
    <xd:p>A substring starting from the beginning of <xd:i>string</xd:i>
        to the last occurrence of <xd:i>searched</xd:i>. 
        If no occurrence is found an empty string will be returned.
    </xd:p>
  </xd:return>
</xd:doc>