XSLT Stylesheet Component Documentation Support

Oxygen XML Developer plugin 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 plugin 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.

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

In Text mode, to add documentation blocks while editing use the Add component documentation action available in 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 of a documentation block using Oxygen XML Developer plugin 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>

Was this helpful?