RubyMine 2024.1 ヘルプ

XML スキーマと DTD の参照

XML ファイルが外部 XML スキーマ(XSD)または DTD ファイルを参照している可能性があります。

<root xmlns="http://www.example.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/xsds/example.xsd">

または

<!DOCTYPE root SYSTEM "http://www.example.org/dtds/example.dtd">

参照された URL または名前空間 URI が認識されない場合、エラーとしてマークされます。この問題を解決するために:

  1. 参照されている URL にキャレットを置き、Alt+Enter を押します。

    Referencing an unfamiliar URL
  2. 提案されたオプションのリストから、次のいずれかを選択します。

    • 外部リソースの取得。RubyMine は参照ファイルをダウンロードして、それを URL(または名前空間 URI)に関連付けます。エラーのハイライトは消えます。XML ファイルは、ダウンロードされたスキーマまたは DTD に従って検証されます。(URL および名前空間 URI とスキーマおよび DTD ファイルとの関連付けは、設定ダイアログのスキーマと DTD ページに表示されます。)

    • 外部リソースの手動セットアップ。適切なスキーマまたは DTD ファイルがすでにローカルで使用できる場合は、このオプションを使用します。外部リソースのマップダイアログが開き、指定した URL または名前空間 URI (たとえば、http://www.example.org/xsds/example.xsd または http://www.example.org) のファイルを選択できます。操作の結果は、リソースを取得する場合と同じです。

    • 外部リソースを無視。URL または名前空間 URI が、無視されるスキーマおよび DTD のリストに追加されます。(このリストは、スキーマと DTD ページの設定ダイアログに表示されます。) エラーのハイライトが消えます。RubyMine は XML ファイルを検証しませんが、XML ファイルが整形式であるかどうかはチェックします。

    • 外部リソース用の Xsi スキーマのロケーションを追加します。このインテンションアクションを使用すると、ルート XML 要素を完成させることができます。名前空間がすでに指定されている場合、RubyMine はいくつかの欠落している属性を追加できます。

例: 次のような断片がある場合:

<root xmlns="http://www.example.org">

xmlns 属性の値に対して外部リソース用の Xsi スキーマのロケーションを追加するインテンションアクションを呼び出すと、結果は次のようになります。

<root xmlns="http://www.example.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org">

このステップでは、スキーマ URL を追加して、その URL (または名前空間 URI) を適切なスキーマファイルにマップしたり、URL (または URI) を無視されるスキーマおよび DTD のリストに追加したりできます。