PyCharm 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が「なじみのない」場合、エラーとしてマークされます。この問題を解決するには、次のインテンションアクションのいずれかを使用します。

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

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

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

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

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

<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年6月30日