突出显示 XSLT 中的错误
最后修改时间:2023 年 8 月 23 日XSLT 支持可以检测 XSLT 构造中的一系列错误,例如拼写错误的模板名称、缺少模板参数、错误的匹配模式、对未声明的变量的引用、错误或无用的嵌入 XPath 表达式等,并且还提供了快速修复自动修复其中一些错误。
在你开始之前
在设置 |安装并启用XPathView + XSLT插件 插件页面,选项卡Marketplace ,如从 JetBrains Marketplace 安装插件中所述。
语法高亮
在允许的情况下,XPath 函数调用、轴名称、数字、字符串等会根据当前活动的配色方案突出显示。默认情况下,该插件使用为相应 Java 类型定义的颜色,例如数字和字符串文字等。如果需要不同的颜色,可以在“颜色方案”页面的选项卡中配置这些颜色。设置。
XPath 语法检查
就像交互式 XPath 表达式求值一样,XSLT 支持捕获样式表中使用的 XPath 表达式中的任何语法错误。
XPath 类型检查
在 XPath 中,几乎所有类型都可以通过某些明确定义的转换语义相互分配。但是,没有为任何类型定义到 NODESET 的转换,并且也没有可用的(可移植)转换函数。此类类型转换会突出显示为错误。
模式验证
XPath 表达式的一种特殊形式是 XSLT 中的模式。例如,它们用作元素中matchxsl:template
属性的值。这里只允许 XPath 表达式的某个子集,XSLT 支持对其进行检查。
未解决的参考文献
检测到对尚未声明或无法从当前作用域访问的变量的引用,并将其突出显示为错误。有一些快速修复方法可以为此类未解析的变量引用创建变量或参数声明。
快速修复:
重复声明
在 XSLT 中,同一范围级别上声明的变量或参数不得超过一个。也不允许有多个同名模板。该插件将识别此类重复声明并在编辑器中突出显示它们。
其他检查
阴影变量
尽管在不同的嵌套级别中可能具有相同名称的变量或参数,但这可能会造成混乱,并可能导致编程错误。该插件可以识别隐藏的声明,并提供快速修复来重命名本地变量或外部变量。
缺少模板参数
XSLT 支持执行的另一项检查是是否使用xsl:call-template
. 如果没有默认值,即没有select属性并且参数的声明元素具有空主体,则认为参数是必需的。
快速修复:
多余的模板参数
还有一个补充检查,用于标记未声明为模板参数的参数。有一些快速修复可用于从模板调用中删除参数或将相应的参数添加到被调用的模板中。
快速修复:
函数调用参数
就像交互式 XPath 表达式求值一样,XSLT 支持检查函数参数的数量和类型是否与其 XPath 和 XSLT 内置函数的声明相匹配。
XPath 检查
支持所有XPath 检查来编辑 XSLT 文档。还可以通过使用noinspection XML 注释,以类似于 IntelliJ IDEA 用于 Java 代码的标准抑制机制的方式来抑制这些检查。抑制可以在不同的级别上进行,无论是指令级别、模板级别(如果适用)还是样式表级别。
感谢您的反馈意见!