Description : Ce point d'extension permet de définir des schémas
internes de mappage des ID XML à l'aide de l'élément mapping. Ces schémas
peuvent alors être utilisés pour effectuer une comparaison XML afin d'identifier les
éléments XML par la valeur d'un attribut ou le texte d'un élément enfant.
En outre, les éléments triés permettent d'indiquer que les enfants directs
d'un élément doivent être comparés triés, plutôt que non triés (par défaut).
Marques de configuration :
<!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>
Avertissement : Si une extension est associée plusieurs fois, seule la première association est prise en compte. En outre, les schémas internes de mappage des ID sont prioritaires par rapport aux schémas de mappage des ID utilisateur lorsque des extensions en double sont définies.
Avertissement : Lorsqu'un schéma interne de mappage des ID avec une association d'extension est supprimé (d'un fichier plugin.xml), le plug-in Comparaison XML doit être rechargé pour se dissocier de l'extension. S'il ne l'est pas, lors de la première comparaison des fichiers avec cette extension, le plug-in Comparaison XML est utilisé avec l'algorithme Unordered par défaut. (Toutefois, à ce stade, l'extension aura été dissociée du plug-in XML, car le plug-in aura été chargé.)
<!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>
L'exemple suivant illustre un cas dans lequel le texte d'un élément enfant est utilisé comme ID :
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
Implémentation fournie :
Le plug-in Comparaison XML définit un schéma de mappage des ID pour les fichiers
plugin.xml d'Eclipse, un pour les fichiers .classpath et un pour les
fichiers ANT.