Descrizione: Questo punto di estensione consente di definire schemi di associazione ID XML
interni utilizzando l'elemento mapping. Questi schemi possono poi essere utilizzati per eseguire un
confronto XML allo scopo di identificare univocamente gli elementi XML in base al valore di un attributo o al
testo in un elemento secondario.
Inoltre, gli elementi ordered possono essere utilizzati per specificare che l'elemento secondario
diretto di un elemento deve essere confrontato rispettando un ordine invece che nel modo non ordinato
predefinito.
Tag di configurazione:
<!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>
Avviso: Se un'estensione viene associata più di una volta, verrà considerata solo la prima associazione. Inoltre, gli schemi di associazione ID interni hanno la priorità sugli schemi di associazione ID utente se esistono estensioni duplicate.
Avviso: Quando uno schema di associazione ID interno con associazione di estensione viene eliminato (da plugin.xml), il plugin di confronto XML deve essere ricaricato per annullare l'associazione dall'estensione. In caso contrario, al primo confronto con l'estensione, il plugin di confronto XML verrà utilizzato con l'algoritmo predefinito Unordered. (Tuttavia, a questo punto l'estensione non sarà più associata al plugin XML, come se il plugin fosse stato caricato).
<!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>
Il seguente esempio, illustra un caso in cui il testo di un elemento secondario viene utilizzato come id:
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
Implementazione fornita:
Il plugin di confronto XML definisce uno schema di associazione ID per i file Eclipse
plugin.xml, uno per i file .classpath e uno per i file ANT.