Kuvaus: Tämän laajennuspisteen avulla voit määrittää sisäisiä XML-tunnustenvastavuusmalleja käyttämällä vastaavuus-elementtiä. Näitä malleja voidaan käyttää XML-vertailussa, kun XML-elementit halutaan yksilöidä määritteen arvolla tai alielementin tekstillä.
Lisäksi järjestettyjä elementtejä voidaan käyttää, kun halutaan määrittää, että elementin suoria aliobjekteja pitää verrata järjestyksen mukaisesti sen sijaan, että vertailtaisiin oletusarvon mukaisella järjestykseen perustumattomalla tavalla.
Kokoonpanon merkintä:
<!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>
Varoitus: Jos tunniste on liitetty useamman kuin yhden kerran, vain ensimmäinen liitosmääritys otetaan huomioon. Sisäiset tunnusten vastaavuusmallit ovat etusijalla käyttäjän määrittämiin tunnusten vastaavuusmalleihin nähden, kun samanlaisia tunnisteita on määritettynä.
Varoitus: Kun (plugin.xml-tiedostosta) poistetaan sisäinen tunnusten vastaavuusmalli, jolla on tunnisteliitos, XML-vertailun lisäosa pitää ladata uudelleen, jotta tunnisteen ja lisäosan välinen liitos voidaan purkaa. Jos näin ei tehdä ja tiedostoja, joilla on tämä tunniste, vertaillaan ensimmäistä kertaa, XML-vertailun lisäosaa käytetään käyttämällä oletusarvoista Unordered-algoritmia. (Tässä vaiheessa tunniste ja XML-lisäosa on kuitenkin irrotettu toisistaan, koska lisäosa on ladattu.)
<!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>
Seuraava esimerkki havainnollistaa tapausta, jossa alielementin tekstiä käytetään tunnuksena:
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
Toimitettu toteutus:
XML-vertailun lisäosa määrittää tunnusten vastaavuusmallin Eclipsen plugin.xml-tiedostoille, yhden mallin .classpath-tiedostoille ja yhden ANT-tiedostoille.