JetBrains Rider 2026.1 Help

XSLT でエラーをハイライトする

XSLT サポートは、XSLT 構文内のさまざまなエラー、例えばテンプレート名のスペルミス、テンプレートパラメーターの不足、不適切なマッチパターン、未宣言の変数への参照、不正または無意味な埋め込み XPath 式などを検出し、一部のエラーについては自動的に修正するクイックフィックスも提供します。

始める前に

JetBrains マーケットプレイスからプラグインをインストールする説明に従って、 設定 | プラグイン ページの Marketplace タブに XPathView + XSLT プラグインをインストールして有効にします。

構文ハイライト

許可されている場合、XPath 関数呼び出し、軸名、数値、文字列などは、現在アクティブな配色に従ってハイライトされます。 別の色付けが必要な場合は、 設定カラースキーム ページのタブでそれらの色を設定できます。

XPath 構文チェック

対話式の XPath 式評価と同様に、XSLT サポートは、スタイルシート内で使用される XPath 式の構文エラーをキャッチします。

XPath 構文チェック

XPath 型チェック

XPath では、ほとんどすべての型が、明確に定義された変換セマンティクスを使用して相互に割り当て可能です。 ただし、NODESET への変換はどの型にも定義されておらず、使用可能な (移植可能な) 変換関数もありません。 このような型変換はエラーとしてハイライトされます。

型チェック

パターン検証

XPath 式の特別な形式は、XSLT のパターンです。 例: xsl:template 要素内の 一致-attribute の値として使用されます。 ここでは XPath 式の特定のサブセットのみが許可されており、XSLT サポートによってチェックされます。

パターンチェック

未解決の参照

宣言されていない変数への参照、または現在のスコープからアクセスできない変数への参照は検出され、エラーとしてハイライトされます。 このような未解決の変数参照に対して変数またはパラメーター宣言を作成するためのクイックフィックスが用意されています。

未解決の変数

クイックフィックス:

未解決の変数のクイックフィックス

重複した宣言

XSLT では、同じスコープレベルで宣言された変数またはパラメーターは複数存在してはなりません。 同じ名前のテンプレートが複数存在することも許可されていません。 プラグインはそのような重複した宣言を識別し、エディターでハイライトします。

その他のチェック

シャドーされた変数

異なる入れ子レベルで同じ名前の変数またはパラメーターを使用することは可能ですが、これは混乱を招く可能性があり、プログラミングミスを引き起こす可能性があります。 このプラグインはシャドウされた宣言を識別し、ローカル変数または外部変数の名前を変更するためのクイックフィックスを提供します。

テンプレート引数がありません

XSLT サポートが実行するもう 1 つのチェックは、すべての必須パラメーターが xsl:call-template で指定されているかどうかです。 デフォルト値がない場合、つまり select 属性がなく、パラメーターの宣言要素の本体が空の場合、パラメーターは必須とみなされます。

欠落しているテンプレート呼び出し引数

クイックフィックス:

欠落している引数のクイックフィックス

余分なテンプレート引数

テンプレートパラメーターとして宣言されていない引数にフラグを付ける補足的なチェックもあります。 テンプレート呼び出しから引数を削除したり、呼び出されたテンプレートに対応するパラメーターを追加したりするためのクイックフィックスが用意されています。

余分なテンプレート呼び出し引数

クイックフィックス:

余分な引数のクイックフィックス

関数呼び出しの引数

XSLT のサポートは、インタラクティブ XPath 式評価と同様に、関数引数の数と型が XPath と XSLT の組み込み関数の宣言と一致するかどうかをチェックします。

XPath 関数の引数がありません

XPath インスペクション

すべての XPath インスペクションは XSLT ドキュメントの編集時にサポートされています。 これらのインスペクションは、 noinspection XML コメントを使用することで、JetBrains Rider が Java コードで用いる標準的な抑制メカニズムと同様の方法で抑制できます。 抑制は、インストラクションレベル、テンプレートレベル(該当する場合)、またはスタイルシートレベルなど、さまざまなレベルで可能です。

2026 年 6 月 12 日