JetBrains Rider 2025.2 Help

在 XSLT 中高亮显示错误

XSLT 支持可以检测 XSLT 构造中的一系列错误,例如拼写错误的模板名称、缺少的模板参数、不正确的匹配模式、对未声明变量的引用、错误或无用的嵌入式 XPath 表达式等,并提供快速修复以自动修复其中的一些错误。

在开始之前

按照 从 JetBrains Marketplace 安装插件 中的描述,在 设置/首选项 | 插件 页面上的 Marketplace 选项卡中安装并启用 XPathView + XSLT 插件。

语法高亮显示

在允许的情况下,XPath 函数调用、轴名称、数字、字符串等会根据当前活动的配色方案进行高亮显示。 如果需要不同的配色,可以在 设置 页面上的 配色方案 选项卡中配置这些颜色。

XPath 语法检查

与交互式 XPath 表达式评估类似,XSLT 支持会捕获样式表中使用的 XPath 表达式中的任何语法错误。

XPath 语法检查

XPath 类型检查

在 XPath 中,几乎所有类型都可以通过某些定义明确的转换语义相互赋值。 然而,任何类型都没有定义到 NODESET 的转换,也没有可用的(可移植的)转换函数。 此类类型转换会被高亮显示为错误。

类型检查

模式验证

XPath 表达式的一种特殊形式是 XSLT 中的模式。 例如,它们用作 xsl:template 元素中 match 属性的值。 此处仅允许某些 XPath 表达式的子集,XSLT 支持会对此进行检查。

模式检查

未解析的引用

检测到未声明或当前作用域不可访问的变量引用,并将其高亮显示为错误。 提供快速修复以为此类未解析的变量引用创建变量或参数声明。

未解析的变量

快速修复:

未解析变量的快速修复

重复声明

在 XSLT 中,同一作用域级别上不能声明多个变量或参数。 同样,不允许存在多个具有相同名称的模板。 插件会识别此类重复声明并在编辑器中高亮显示。

其他检查

隐藏的变量

即使在不同的嵌套级别中可以有相同名称的变量或参数,这可能会引起混淆并可能导致编程错误。 插件可以识别被遮蔽的声明,并提供快速修复以重命名局部变量或外部变量。

缺少模板参数

XSLT 支持执行的另一个检查是是否为所有必需的参数指定了 xsl:call-template。 如果参数没有默认值,即没有 select 属性且参数的声明元素具有空体,则该参数被视为必需。

缺少模板调用参数

快速修复:

缺少参数的快速修复

多余的模板参数

还有一个补充检查,用于标记未声明为模板参数的参数。 提供快速修复以从模板调用中删除参数或向被调用的模板添加相应的参数。

多余的模板调用参数

快速修复:

多余参数的快速修复

函数调用实参

与交互式 XPath 表达式评估类似,XSLT 支持会检查 XPath 和 XSLT 的内置函数的参数数量和类型是否与其声明匹配。

缺少 XPath 函数参数

XPath 检查

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

最后修改日期: 2025年 9月 26日