SGML-entitás

A Wikipédiából, a szabad enciklopédiából
(SGML entitás szócikkből átirányítva)

Az SGML jelölőnyelvben és az SGML-t használó, vagy abból származó nyelvekben (pl. HTML, XML) entitásnak nevezzük a dokumentumhoz rendelt, névvel ellátott adatokat, vagy magát a név nélküli dokumentumot.

Egy entitás jellemzően egy vagy több karakter sorozatából áll. Az elnevezett entitásokra a dokumentumban tetszőleges számban lehet hivatkozni, hasonló módon, mint a több programozási nyelvben is használatos makrókra.

Entitás típusok[szerkesztés | forrásszöveg szerkesztése]

Láthatóság szerint
  • Az entitás általános, ha az entitásra a dokumentumban bárhol lehet hivatkozni.
  • Az entitás paraméter típusú, ha csak a DTD-n belül lehet rá hivatkozni.
Forrás alapján
  • A belső entitások deklarációja magában a DTD-ben szerepel.
  • A külső entitások adatait egy külső fájl tartalmazza.
Értelmezhetőség alapján
  • Az értelmezhető entitások olyan szöveges információkat tartalmaznak, melyek hivatkozáskor a dokumentum részévé válnak, és a feldolgozás során az értelmező elemzi őket. Egy paraméter típusú entitás csak értelmezhető lehet.
  • A nem értelmezhető entitások bármilyen nyers adatot tartalmazhatnak. A használó alkalmazás csupán az entitás meglétét ellenőrzi, de a tartalmát nem elemzi, még akkor sem, ha az szöveges típusú.

Szintaxis[szerkesztés | forrásszöveg szerkesztése]

Az entitásokat a dokumentumhoz tartozó DTD-ben deklarálhatjuk. Példák:

<!ENTITY valami "Valami">

Belső általános entitás, aminek a neve "valami", és a "Valami" szöveget tartalmazza.

<!ENTITY Eacute CDATA "&#201;">

Belső általános entitás, aminek a neve "Eacute", és az "É" betűt tartalmazza.

<!ENTITY % adat "file:///adat.txt">

Külső paraméter entitás, aminek a neve "adat", és az értékét az "adat.txt" állomány tartalmazza.

A paraméter entitásokra a DTD-n belül "%" és ";" jelek között hivatkozhatunk, míg az általánosakra az egész dokumentumban "&" és ";" jelek között:

<!ENTITY ValamiAdat "&valami; adat: %adat;">

Karakter entitások[szerkesztés | forrásszöveg szerkesztése]

Egy általános SGML dokumentum kódolása csak a 7 bites ASCII kódkészletet használhatja. Konkrét alkalmazások ezt definiálhatják másképp (pl. a HTML alapértelmezett kódolásként a nyugat-európai 8 bites ISO-8859-1 kódolást használja), de egy általános SGML dokumentumnak is biztosítania kell a nemzetközi karakterek kezelését.

Entitások használata nélkül egy tetszőleges Unicode karakterre annak UCS kódjával hivatkozhatunk. A hivatkozás lehetséges decimális számmal "&#" és ";" jelek között vagy hexadecimálisan "&#x" és ";" jelek között.

Az SGML számos nemzetközi betűhöz, nyomdai jelhez és egyéb karakterhez definiál entitásneveket.[1][2] Köztük szerepel az összes magyar ékezetes betű is, illetve számos olyan nyomdai jel is, ami még a Unicode-ban sem szerepel (mint pl. az fj ligatúra).

A magyar ékezetes betűk SGML entitásai[szerkesztés | forrásszöveg szerkesztése]

Betű Entitás UCS kód (decimális) UCS kód (hexa) Csoport Unicode név
á aacute 225 00E1 ISOlat1 LATIN SMALL LETTER A WITH ACUTE
Á Aacute 193 00C1 ISOlat1 LATIN CAPITAL LETTER A WITH ACUTE
é eacute 233 00E9 ISOlat1 LATIN SMALL LETTER E WITH ACUTE
É Eacute 201 00C9 ISOlat1 LATIN CAPITAL LETTER E WITH ACUTE
í iacute 237 00ED ISOlat1 LATIN SMALL LETTER I WITH ACUTE
Í Iacute 205 00CD ISOlat1 LATIN CAPITAL LETTER I WITH ACUTE
ó oacute 243 00F3 ISOlat1 LATIN SMALL LETTER O WITH ACUTE
Ó Oacute 211 00D3 ISOlat1 LATIN CAPITAL LETTER O WITH ACUTE
ö ouml 246 00F6 ISOlat1 LATIN SMALL LETTER O WITH DIAERESIS
Ö Ouml 214 00D6 ISOlat1 LATIN CAPITAL LETTER O WITH DIAERESIS
ő odblac 337 0151 ISOlat2 LATIN SMALL LETTER O WITH DOUBLE ACUTE
Ő Odblac 336 0150 ISOlat2 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
ú uacute 250 00FA ISOlat1 LATIN SMALL LETTER U WITH ACUTE
Ú Uacute 218 00DA ISOlat1 LATIN CAPITAL LETTER U WITH ACUTE
ü uuml 252 00FC ISOlat1 LATIN SMALL LETTER U WITH DIAERESIS
Ü Uuml 220 00DC ISOlat1 LATIN CAPITAL LETTER U WITH DIAERESIS
ű udblac 369 0171 ISOlat2 LATIN SMALL LETTER U WITH DOUBLE ACUTE
Ű Udblac 368 0170 ISOlat2 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE

Megjegyzés: Az SGML alkalmazásoknak nem kötelező használniuk az SGML karakter entitásokat. Hogy mit használnak, azt dokumentumonként a DTD határozza meg. Így pl. a HTML a 4.01-es verzióban nem támogatja a közép-európai csoportba (ISOlat2) tartozó betűket entitásnevek formájában[3], azonban ez áthidalható a numerikus hivatkozással vagy a HTML fejlécében beállítható alapértelmezett karakterkódolással.

Lásd még[szerkesztés | forrásszöveg szerkesztése]

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]