IntelliJ IDEA 2020.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 http://www.example.org/xsds/example.xsd">

または

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

参照されたURLまたは名前空間URIが "未知"の場合、エラーとしてマークされます。この問題を解決するには、次のいずれかのインテンションアクションを使用してください。

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

  • 外部リソースの手動設定。ローカルで利用可能な適切なスキーマまたはDTDファイルがすでにある場合は、このオプションを使用してください。マップ外部リソースダイアログが開き、指定されたURLまたは名前空間URIのファイルを選択することができます。操作の結果は、リソースをフェッチした場合と同じです。

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

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

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

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

xmlns 属性の値に対してインテンションアクションを呼び出すと、結果は次のようになります。

<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リストに追加できます。

最終更新日: 2020年7月7日