説明: この拡張ポイントを使用すると、マッピング ・エレメントを使用して、内部 XML ID マッピング・スキームを定義できます。
このスキームは、XML 比較を実行して、子エレメントの属性またはテキストの値によって XML エレメントを一意的に識別する場合に使用されます。
また、順序付け エレメントを使用して、エレメントの直接の子が、デフォルトの不規則な方法ではなく、順番に比較されるように指定することができます。
構成マークアップ:
<!ELEMENT idmap (mapping*)>
<!ATTLIST idmap
name
CDATA #REQUIRED
extension
CDATA
>
<extension
point="org.eclipse.compare.structureMergeViewers">
<structureMergeViewer
extensions="xml,classpath,cd"
class="org.eclipse.compare.xml.XMLStructureViewerCreator">
</structureMergeViewer>
警告: 拡張が複数回関連付けられている場合は、最初の関連のみが考慮されます。 また、内部 ID マッピング・スキームには、重複拡張が定義される場合のユーザー ID マッピング・スキームに関する優先順位があります。
警告: 拡張関連のある内部 ID マッピング・スキームが (plugin.xml から) 除去された場合、XML 比較プラグインは、拡張から自身を再ロードして、関連付けを解除する必要があります。 関連付けを解除しない場合、この拡張を持つファイルの最初の比較では、XML 比較プラグインがデフォルトの不規則 (Unordered) アルゴリズムと共に使用されます。 (ただし、この時点で、XML プラグインがロードされるため、拡張は XML プラグインとの関連付けが解除されています。)
<!ELEMENT mapping EMPTY>
<!ATTLIST mapping
signature
CDATA #REQUIRED
id
CDATA #REQUIRED
id-source CDATA
>
<!ELEMENT ordered EMPTY>
<!ATTLIST ordered
signature
CDATA #REQUIRED
>
<idmap name="ANT">
<mapping signature="project" id="name"/>
<mapping signature="project>target" id="name"/>
<ordered signature="project>target"/>
<idmap>
以下の例は、子エレメントのテキストが ID として使用される場合を示しています。
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
提供される実装:
XML 比較プラグインは、Eclipse plugin.xml ファイルの ID マッピング・スキームを定義します。.classpath ファイルと ANT ファイルにスキームを 1 つずつ定義します。