Eclipse-ympäristön XML-vertailun lisäosa
XML-vertailun lisäosan avulla voit tehdä kahden XML-asiakirjan rakennevertailun. Se palauttaa erorakenteen, joka osoittaa, mitkä XML-elementit on lisätty tai poistettu ja - muutettujen XML-elementtien osalta - mitä eroja määritteissä tai varsinaisessa tekstissä on.
Lisäosan asennus
- Kopioi kansio org.eclipse.compare.examples.xml Eclipse-ympäristön plugins-alikansioon.
Lisäosan käyttö
Lisäosaa käytetään automaattisesti, kun vertaillaan tiedostoja, joiden tunniste on .xml.
Oletusarvoisesti XML-vertailu käyttää Unordered-vertailumetodia, joka ohittaa järjestyksen, jossa XML-elementit ovat asiakirjassa, ja sovittaa elementit niin, että lähinnä samanlaiset elementit määritetään toisiaan vastaaviksi.
On myös Ordered-vertailumetodi, joka vertaa XML-elementtejä täsmälleen siinä järjestyksessä, kun ne ovat asiakirjassa. Useimmiten tämä vertailumetodi ei ole kovin hyödyllinen.
Vertailumetodi voidaan muuttaa rakenne-esityksen työkalurivin avattavasta luettelosta.
Kun XML-asiakirja sisältää elementtejä, jotka voidaan yksilöidä määritteellä tai alielementin tekstillä, on suositeltavaa luoda tunnusten vastaavuusmalli tämäntyyppiselle XML-asiakirjalle.
Katso lisätietoja lisäosan käytöstä kohdasta Opetusohjelmat ja esimerkit.
Tunnusten vastaavuusmallit
Tunnusten vastaavuusmalli määrittää XML-elementeille määritteen tai alielementin tekstin, joka yksilöi tämän elementin. Näin varmistetaan, että vertailussa määritetään oikeiden elementtien vastaavuus ja oikeita elementtejä verrataan toisiinsa. Jos XML-elementin osalta ei määritetä tunnusten vastaavuutta, käytetään yleistä vastaavuusalgoritmia. Tämä yleinen vastaavuusalgoritmi ei kuitenkaan aina tuota haluttua tulosta.
Syy tähän on, että yleinen vastaavuusalgoritmi etsii kahden jäsennetyn rakenteen solmujen vastaavuutta vertailua varten, minkä ansiosta eroja on mahdollisimman vähän. Tämä tarkoittaa sitä, että usein määritetään toisiaan vastaaviksi kaksi XML-elementtiä, jotka ovat rakenteeltaan samanlaiset mutta jotka edustavat kahta täysin erilaista tietokokonaisuutta.
Järjestetyt merkinnät
Kun käytät oletusarvoista järjestykseen perustumatonta vertailua (tunnusten vastaavuuksien kanssa tai ilman niitä), joskus on suotavaa määrittää, että joidenkin tiettyjen elementtien alielementtejä verrataan järjestyksen mukaan tavallisen järjestykseen perustumattoman tavan sijaan.
Esimerkiksi verrattaessa ANT-tiedostoja target-elementtien alielementtien esiintymisjärjestys on tärkeä.
Tällaisessa tapauksessa voidaan luoda Järjestämätön merkintä. Järjestämätön merkintä määrittää, että xml-elementin suoria alielementtejä, jotka on määritetty xml-elementin polulla, verrataan järjestyksen mukaisesti (määritteitä verrataan kuitenkin edelleen järjestykseen perustumattomalla tavalla).
Näiden alielementtien alielementtejä verrataan edelleen järjestykseen perustumattomalla tavalla, ellei muuta määritetä.
Tunnusten vastaavuusmallien ja järjestämättömien merkintöjen määritys
Tunnusten vastaavuusmalleja voidaan luoda kolmella tavalla:
- Laajentamalla laajennuspistettä idMapping
- Käyttämällä XML-vertailun oletusasetussivua.
- Käyttämällä työkalurivin Luo uusi tunnusten vastaavuusmalli -painiketta ja pikavalikkoa.
Metodi 1 luo ns. sisäisen vastaavuusmallin. Sisäistä tunnusten vastaavuusmallia ei voi muokata ajon aikana. Käyttämällä oletusasetusten sivulla kopion muokkauksen painiketta voidaan luoda sisäinen tunnusten vastaavuusmalli.
Metodit 2 ja 3 luovat ns. käyttäjän vastaavuusmalleja. Käyttäjä luo nämä ajon aikana, ja niitä voidaan muuttaa milloin tahansa oletusasetusten sivulla.
Sisäisiin ja käyttäjän vastaavuusmalleihin voidaan liittää tiedoston tunniste. Kun sitten verrataan toisiinsa kahta XML-tiedostoa, jolla on tämä tiedoston tunniste, käytetään automaattisesti tiettyä tunnusten vastaavuusmallia, jolla on tämä tunniste.
Kun luodaan tai muokataan tunnusten vastaavuusmääritystä jotakin tiettyä XML-elementtiä varten, on määritettävä seuraavat neljä asiaa (katso esimerkkiä):
- Elementin nimi.
- Elementin polku. Tämä elementin polku on XML-asiakirjan juuresta elementin pääelementtiin johtava polku.
- Tunnuksen nimi, joka määrittää elementin.
- Tieto siitä, onko kohdan 3 tunnuksen nimi elementin määritteen nimi tai jonkin sen alielementin nimi (tällaisessa tapauksessa tämän alielementin tekstiä käytetään tunnuksena).
Laajennuspisteet
XML-vertailun lisäosassa on vain yksi laajennuspiste. Sitä käytetään luotaessa sisäisiä tunnusten vastaavuusmalleja: