Rename and Safe Delete for XSLT items such as templates, variables and parameters.
Introduce Variable for creating XSLT variables from selected XPath expressions.
Inline for variables.
Before you start
Enable the XPathView + XSLT plugin
This functionality relies on the XPathView + XSLT plugin, which is bundled and enabled in IntelliJ IDEA by default. If the relevant features aren't available, make sure that you didn't disable the plugin.
Press Ctrl+Alt+S to open the IDE settings and then select.
Open the Installed tab, find the XPathView + XSLT plugin, and select the checkbox next to the plugin name.
Named templates can be renamed in IntelliJ IDEA just like any other symbol. All
xsl:call-template invocations that refer to this template will be updated accordingly.
Rename variables and parameters
Just as named templates, it is possible to rename XSLT variables and template parameters, either at a point of their use or at their declaration.
Named templates, parameters and variables can be deleted using IntelliJ IDEA Safe Delete feature. In other words, the item will be removed if there aren't any references left to it in other Style Sheets across the project.
This is especially useful if the Style Sheet may be included in other ones via
xsl:import to make sure that nothing will be deleted that is still used somewhere else.
It is possible to extract XPath-Expressions and turn them into an xsl:variable declaration. Check the Replace all occurrences checkbox to replace all other occurrences of the same expression.
This is similar to Introduce Variable, but it creates a new parameter instead of a variable. It also has an additional option Create with default value that determines if the selected expression should be added as the introduced parameter's default value or if all calls to the template should be updated to pass the selected expression. That option is only available when introducing parameters to named templates.
This is just the opposite of Introduce Variable, it replaces all usages of a variable with the expression that is specified in the variable's select-attribute. Variables that don't have such an attribute cannot be inlined. Inlining variable references that resolve to parameters is not possible as well.