突出显示 XSLT 中的错误
XSLT 支持可以检测 XSLT 构造中的一系列错误,例如拼写错误的模板名称、缺少模板参数、错误的匹配模式、对未声明变量的引用、错误或无用的嵌入式 XPath 表达式等等,并且还提供快速修复以自动修复其中一些错误。
语法高亮
在允许的情况下,根据当前活动的配色方案突出显示 XPath 函数调用、轴名称、数字、字符串等。如果需要不同的颜色,可以在Settings/Preferences的Color Scheme页面上的选项卡中配置这些颜色。
XPath 语法检查
就像交互式 XPath 表达式求值一样,XSLT 支持捕获样式表中使用的 XPath 表达式中的任何语法错误。

XPath 类型检查
在 XPath 中,几乎所有类型都可以通过某些明确定义的转换语义相互分配。但是,没有为任何类型定义到 NODESET 的转换,也没有可用的(便携式)转换函数。这种类型转换被突出显示为错误。

模式验证
XPath 表达式的一种特殊形式是 XSLT 中的模式。例如,它们被用作元素中匹配xsl:template
属性的值。这里只允许 XPath 表达式的某个子集,XSLT 支持会检查这些子集。

未解决的引用
检测到对尚未声明或无法从当前范围访问的变量的引用并将其突出显示为错误。有快速修复可用于为此类未解析的变量引用创建变量或参数声明。

快速修复:

重复声明
在 XSLT 中,在同一范围级别上声明的变量或参数不得超过一个。同名的模板也不能超过一个。该插件将识别此类重复声明并在编辑器中突出显示它们。
其他检查
阴影变量
即使在不同的嵌套级别中可能有相同名称的变量或参数,这也可能会造成混淆,并且可能会导致编程错误。该插件可以识别阴影声明并提供快速修复来重命名本地或外部变量。
缺少模板参数
XSLT 支持执行的另一项检查是是否所有必需的参数都用xsl:call-template
. 如果没有默认值,即如果没有选择属性并且参数的声明元素具有空主体,则认为参数是必需的。

快速修复:

多余的模板参数
还有一个补充检查,用于标记未声明为模板参数的参数。有一些快速修复可用于从模板调用中删除参数或将相应的参数添加到被调用的模板。

快速修复:

函数调用参数
就像交互式 XPath 表达式评估一样,XSLT 支持检查函数参数的数量和类型是否与它们对 XPath 和 XSLT 的内置函数的声明相匹配。

XPath 检查
支持所有XPath 检查来编辑 XSLT 文档。也可以通过使用noinspection XML 注释以类似于 PhpStorm 用于 Java 代码的标准抑制机制的方式抑制这些检查。可以在不同的级别上进行抑制,无论是指令级别、模板级别(如果适用)还是样式表级别。