Merkkiviittaus

**Merkkiviittaus** eli **nimiviittaus** (usein myös *entiteettiviittaus* tai pelkkä *[[entiteetti]]*) on HTML:ssä ja muissa merkintäkielissä keino sisällyttää tekstitallenteeseen sellaisia kirjoitusmerkkejä, joita ei voida kirjoittaa sellaisinaan, koska ne eivät sisälly koodattaessa käytettävään merkistöön tai näppäimistöön tai koska niille on määritetty erikoistehtäviä. Merkki- tai nimiviittaus upotetaan HTML-sivulle erityisenä koodina, joka alkaa `[[&]]`-merkillä ja päättyy puolipisteeseen (`;`). Selaimen tehtävä on esittää viittaus oikean näköisenä merkkinä, mikä tosin edellyttää, että merkki sisältyy myös käytettävään fonttiin.

Esimerkiksi Ä-kirjain ei sisälly ASCII-merkistöön, mutta se voidaan silti koodata pelkillä ASCII-merkeillä, kun käytetään suuraakkosen nimiviittausta `&amp;Auml;` tai vastaavaa pienaakkosen nimiviittausta `&amp;auml;` (A-kirjaimeen liitetty lyhenne *uml* viittaa saksassa tavattavaan umlaut-ilmiöön, jota oikeinkirjoituksessa tavallisesti ilmentää kantakirjaimen yläpuolelle tarkkeeksi lisättävä pistepari). Pienemmyysmerkki (&lt;) sen sijaan sisältyy ASCII-merkistöön, mutta merkintäkielissä se toimii tavallisesti alkumerkkinä (ikään kuin kulmasulkeena) piiloon jäävissä tunnisteissa eli arkikielisesti tägeissä, joilla merkitään tallennetta rakenteellisesti jäsentävien elementtien alku ja loppu. Silloin kun pienemmyysmerkin ei ole tarkoitus aloittaa tunnistetta, voidaan käyttää nimiviittausta `&amp;lt;` ( ’pienempi kuin’), joka selaimessa näkyy yksinkertaisesti pienemmyysmerkkinä. Koska &-merkki puolestaan toimii nimi- tai merkkiviittauksen alkumerkkinä, sekin on korvattava nimiviittauksella `&amp;amp;` () tai vastaavalla merkkiviittauksella, jos sen halutaan näkyvän omana itsenään mutta selain tulkitsisi sen viittauksen alkumerkiksi.

## Sanallinen tai numeerinen viittaus

Nimiviittaus perustuu merkin (englanninkieliseen) nimeen tai lyhenteeseen, kun taas merkkiviittaus perustuu numeeriseen Unicode-tunnukseen. Nimiviittaus on määritetty vain osalle merkeistä, mutta numeerisesti voidaan viitata periaatteessa mihin tahansa Unicode-merkkiin (kontrollimerkkejä lukuun ottamatta). Unicode-tunnus esitetään tavallisesti heksadesimaalisessa muodossa, mutta etenkin merkkiviittauksessa voidaan käyttää myös vastaavaa desimaalista eli kymmenjärjestelmään perustuvaa lukua.

Esimerkiksi kreikkalainen suuraakkonen sigma (jonka tunnus on U+03A3) voidaan sisällyttää HTML-koodiin seuraavanlaisia viittauksia käyttäen:

* nimiviittaus: `&amp;Sigma;` → &Sigma;
* desimaalinen merkkiviittaus: `&amp;#931;` → &#931;
* heksadesimaalinen merkkiviittaus: `&amp;#x3A3;` → &#x3A3;

Desimaalisessa merkkiviittauksessa on siis &-merkin ja puolipisteen välissä ristikkomerkki, jota seuraa Unicode-tunnuksen arvoa vastaava kymmenjärjestelmän luku. Heksadesimaalisessa merkkiviittauksessa on ristikkomerkin lisäksi x-kirjain, jonka pitää XML- ja XHTML-koodissa olla nimenomaan pienaakkonen (sen sijaan itse heksadesimaalilukuun kuuluvat kirjaimet merkitään usein suuraakkosin, mutta pienaakkoset käyvät yhtä hyvin). Unicode-tunnuksen alkunolla voidaan merkkiviittauksesta jättää pois.

## Lähteet

* MOT: Tietotekniikan liiton ATK-sanakirja 5.0 (© Tietotekniikan liitto ry:n sanastotoimikunta).