Początkujący często stają przed problemem zapisania w dokumencie XML znaków specjalnych, które wpisane normalnie spowodują, że dokument przestanie być poprawnym dokumentem XML.
Doskonale o tym wiedzą webmasterzy (szczególnie XHTML), umieszczający w kodzie strony znaki trudne do uzyskania z klawiatury. Choć trzeba pamiętać, że także znaki, które można uzyskać z klawiatury (np. cudzysłów, apostrof) wprowadzone powinny zostać jako encje, gdyż znaki te w składni XML mają specjalne znaczenie (używane są do ograniczenia wartości atrybutów). Także w dokumentach XML "webmasterski" sposób wstawiania znaków specjalnych okaże się trafny. Aby w dokumencie XML skorzystać ze znaków specjalnych, użyć należy tzw. encji (ang. entities).
Encje to identyfikatory, reprezentujące dowolną część dokumentu lub zwykle zastępowany encją tekst. To ich pierwsza rola - zastępowanie. W praktyce używamy ich, by dowolny długi tekst (zwłaszcza, jeśli używany jest w dokumencie bardzo często) zastąpić krótkim jednoznacznym identyfikatorem (tzw. odwołaniem do encji).
Encje są typowe dla języków z rodziny SGML (ang. Standard Generalized Markup Language) i często można je spotkać w DTD (ang. Document Type Defintion), opisujących strukturę dokumentów takich, jak np. dokumenty HTML, XML, XHTML. Np.:
<!DOCTYPE kierunki [
<!ENTITY pn "północ">
<!ENTITY pd "południe">
<!ENTITY ws "wschód">
<!ENTITY za "zachód">
]>
<kierunki>
<kierunek>&pn;</kierunek>
<kierunek>&pd;</kierunek>
<kierunek>&ws;</kierunek>
<kierunek>&za;</kierunek>
<kierunki>
Drugą, poza skróceniem zapisu, możliwością, jakie dają encje, jest zastąpienie znaków, które mają specjalne znaczenie w składni dokumentu XML. Są to np. & (&), < (<) itp. Znak "<" jest charakterystyczny dla elementów dokumentu XML, więc nie może zostać jawnie użyty w innym celu.
Więcej na temat encji:






