Beschrijving: Met het extensiepunt kunt u interne XML ID-toewijzingsschema's met het element mapping. Deze Deze schema's kunnen vervolgens worden gebruikt als er een XML-vergelijking wordt uitgevoerd waarmee XML-elementen op een unieke manier kunnen worden geïdentificeerd met de waarde van een kenmerk of de tekst in een subelement.
Bovendien kunnen geordende elementen worden gebruikt om op te geven dat de directe subelementen van een element op een geordende manier vergeleken moeten worden in plaats van op de ongeordende standaardmanier.
Configuratiemarkup:
<!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>
Waarschuwing: Als een extensie meer dan eens wordt gekoppeld, komt alleen de eerste koppeling in aanmerking. Bovendien hebben interne ID-toewijzingsschema's prioriteit over ID-toewijzingsschema's van gebruikers als er dubbele extensies worden gedefinieerd.
Waarschuwing: Als een intern ID-toewijzingsschema met een extensiekoppeling wordt verwijderd (uit een plugin.xml) moet de XML-vergelijkingsplugin opnieuw worden geladen om losgekoppeld te worden van de extensie. Als dit niet zo is en de bestanden met deze extensie voor het eerst met elkaar worden vergeleken, wordt de XML-vergelijkingsplugin gebruikt met het standaardalgoritme Niet gesorteerd. (Op dat moment is de extensie echter al losgekoppeld van de XML-plugin, als de plugin is geladen.)
<!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>
Het volgende voorbeeld illustreert een geval waarin de tekst van een subelement wordt gebruikt als ID:
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
Verstrekte implementatie:
Met de XML-vergelijkingsplugin wordt een ID-toewijzingsschema voor plugin.xml-bestanden van Eclipse gedefinieerd, een voor .classpath-bestanden en een voor ANT-bestanden.