XSLT macro
Removal notice:
Please note that the URL user and URL user password parameters were removed in 5.8.5 (see Deprecation notice: URL user and URL user password parameters). We recommend using profiles to access external data.
Features
Uses XSLT to transform XML to HTML, XHTML, or wiki markup. Supports XSLT 1.0.
Supports working with XSL parameters; only available with wiki output format. See Passing parameters to the XSLT engine section.
Supports security restrictions as described in Macro Security for Confluence.
Supports capabilities for including data similar to other scripting macros.
Supports find and replace for adjusting resulting output.
The macro works with valid, downloadable XML and XSLT files only.Â
If you want to specify a URL in the Location parameters, make sure that only a raw URL is provided. A raw URL is defined as the part of the URL following the domain information and includes the query string, if present. For example, in the URL stringÂ
http://www.contoso.com/articles/recent.aspx
, the raw URL isÂ/articles/recent.aspx
.
Parameters
Macro browser label | Default | Description | Macro parameter |
---|---|---|---|
Transformed output format | html | Specify how the output is treated. The options are as follows:
| output |
Profile | Enter the profile name to access the files to be transformed. Profiles contain a basic set of parameters used to access a remote location such as the type of URL, user credentials, and so on. Refer to profiles configuration to know more about profiles and see tutorials.Â
| profile | |
Location of XML code | macro body | Enter the location of XML data. By default, the macro transforms the code entered in the macro body.
| source |
Location of XSL code | macro body | Enter the location of XSL code. This field becomes mandatory if source XML code is entered in the macro body. By default though, the XSL content in macro body is considered.
| style |
Find regex patterns | Enter a comma-separated list of regex patterns to repair and modify XML prior to processing by the XSLT processor with find and replace logic. Read more about regular expressions. Example: | find | |
Replacement strings | Enter a comma-separated list of positions to search for patterns in the output content. Note that the positions are indexed beginning at "1". If a comma is a part of an entry, use single quotes around it. Example: | replace | |
Include head section HTML | false | Enable this option to retain all the other tags from the header section and treat them as regular body content. This is useful for retaining style information in particular. By default, the head tag is always removed. | head |
Show error message panel | false | Displays the XSL transformer generated warning and errors in a panel even if the transformation is not terminated with an error. Terminating errors automatically generate an error panel. | showErrors |
Error level | NONE | Specify the level at which the data process fails. The selected level determines how the XSLT macro handles data processing errors. The options are:
| |
File encoding | system default | Specify the encoding for an external file, if different from the system default handling. Example:Â | encoding |
User id for URL connection | Enter the user name to be used for URL access to XML and XSL files. | user | |
Password for URL connection | Enter the user password to be used for URL access to XML and XSL files. | password | |
Timeout in milliseconds | Enter time in milliseconds to wait until the URL connection times out before getting data. Use this to increase time needed for slow connections. Note that if a zero is given, the connection may wait indefinitely. | timeout | |
Disable secure processing feature | false | Enable this option to disable secure processing of XML and XSL files. If authorized by your Confluence administrator to change this setting, more powerful capabilities are available. See - HTML-89Getting issue details... STATUS for details. Administrators can use Macro Security for Confluence to enable these more powerful capabilities. | disableSecureProcessing |
XSLT Version | 1.0 | Select the version based on your style (XSLT) input document. This drop-down contains the XSLT versions that the macro is compatible with. Available since 5.4.0 version. | xsltVersion |
Usage
Download a copy of the cdcatalog.xsl from https://www.w3schools.com/xml/cdcatalog.xsl and attach it to your page.
{xslt:style=^cdcatalog.xsl}
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
</cd>
<cd>
<title>Maggie May</title>
<artist>Rod Stewart</artist>
<country>UK</country>
</cd>
</catalog>
{xslt}
Â
{xslt:source=^cdcatalog.xml|style=#http://www.w3schools.com/xsl/cdcatalog.xsl}
{xslt}
Â
{xslt:source=xslt - basic^cdcatalog.xml|style=#http://www.w3schools.com/xsl/cdcatalog.xsl}
{xslt}
Passing parameters to the XSLT engine
Parameters not interpreted by the XSLT macro are passed through to XSLT. You must use wiki syntax to take advantage of this.
The following example is provided by Johan Nagels:
The output of the code is: The value of winnersOnly is "lala"
If you omit the parameter tag, the output shown is: The value of winnersOnly is "no"
Helpful resources
Profiles in the Configuration screen
Key concepts to understand how to link and render XML content from other sources
Gallery
Â
Confluence®, Jira®, Atlassian Bamboo®, Bitbucket®, Fisheye®, and Atlassian Crucible® are registered trademarks of Atlassian®
Copyright © 2005 - 2024 Appfire | All rights reserved. Appfire™, the 'Apps for makers™' slogan and Bob Swift Atlassian Apps™ are all trademarks of Appfire Technologies, LLC.