문자 참조

문자 참조(文字參照)는 컴퓨터 용어로, XML·HTML 따위의 SGML 계열 마크업 언어에서 한 문자를 표현하기 위한 언어 구조이다.

개요
문자 참조가 만들어진 이유이자 문자 참조를 사용하는 목적은, 입력이 어려운 문자를 표현하거나 마크업 언어를 제어하는 문자를 일반 문자로 표현하기 위함이다. HTML에서의 예를 들면 '오른쪽 화살표'(→) 기호는 컴퓨터 자판에 없어서 입력이 힘들지만 &rarr;처럼 풀어서 쓸 수 있으며, '여는 꺾쇠표'(<) 기호는 HTML 요소를 시작하는 문자이므로 일반 문자로 표현하려면 &lt;처럼 풀어서 써야 한다. 이처럼 문자를 뜻하는 이름을 써서 표현하는 방법을 '문자 실체 참조' 혹은 '실체 참조'라 하고 문자 코드를 써서 표현하는 방법을 '수치 문자 참조' 또는 '문자 참조'라고 한다. HTML 4 버전에서 사용 가능한 문자 실체 참조는 252가지이다.

문자 참조의 종류와 이름

문자 참조를 사용할 때에는 크게 두 가지 방법을 사용할 수 있다. 첫째는 미리 정의된 특정한 이름(SGML 실체, )을 문자를 표현하는 약어로 사용하는 방법이고, 둘째는 문자를 표현하는 ISO 10646의 문자 코드를 수로 나타내어 사용하는 방법이다. 이 두 가지 방법을 가리키는 이름은 표준에 따라 조금 다르다. HTML 권장안에서는 전자를 문자 실체 참조(文字實體參照), 후자를 수치 문자 참조(數値文字參照)라고 하며 XML 권장안에서는 이를 각각 실체 참조, 문자 참조로 부른다. 이 네 용어는 영어의 번역어이다. 실제 권장안에 표기된 이름은 순서대로 이다.

문자 실체 참조
 각 언어 별로 사용 가능한 문자 실체 이름에 대한 자세한 내용은 XML의 문자 실체 참조 및 HTML의 문자 실체 참조 문단을 보십시오.

문자 실체 참조는 SGML 실체를 이용하는 문자 참조이다. 여기에서 사용하는 문자 실체 이름은 표준 문서 형식 정의(DTD)에 미리 명시될 수도 있고, 사용자가 따로 DTD에 정의 가능한 경우도 있다. 앰퍼샌드 기호(&)와 문자 실체 이름을 쓰고 쌍반점(;)으로 끝맺는다. 실체의 이름은 대소문자를 구별한다. 한 예로 HTML에서 &Aring;은 Å 문자를 나타내고, &aring;은 å 문자를 나타낸다.

수치 문자 참조

수치 문자 참조는 문자 코드의 수치를 직접 넣는 방식의 문자 참조이다. 10진수 또는 16진수를 쓸 수 있다. 여기에 사용되는 문자 코드는 국제 문자 세트(ISO 10646)를 따른다. 사용법은 문자 실체 참조와 비슷하지만 실체 이름 대신 문자 코드 수치를 쓰고 10진수 수치 앞에는 해시 기호(#)를, 16진수 수치 앞에는 해시 기호와 로마자 x를 쓴다. 16진수를 쓸 때 보통 대문자로 쓰긴 하지만, 대소문자 구별은 하지 않아도 된다. 단, 수 앞의 x를 대문자로 &#XH;와 같이 쓰는 것은 HTML에서는 가능하지만 XML에서는 금지된다.

XML의 문자 실체 참조 
W3C의 XML 권장안에서는 실체를 사용하는 문자 참조에 대해 '문자 실체 참조'라는 용어 대신 '실체 참조'라는 용어를 쓴다. HTML이 수백 개의 문자 실체 참조를 그 권장안에 포함하고 있는 것과는 달리, XML에서는 단 다섯 개의 '미리 정의된 실체()'를 규정하고 있다. 그러나 사용자가 문서 형식 정의를 통해서 새로운 실체 참조를 추가하는 것이 가능하다.

HTML의 문자 실체 참조 
HTML 4 버전의 문서 형식 정의에서는 252개의 문자 실체를 정의하고 있으며 HTML 4.01 버전에서는 새로운 문자 참조가 추가되지 않았다. HTML 4의 규격 명세에서는 표준 문서 형식 정의에 포함된 것 이외에 사용자에 의한 실체 추가 정의를 허용하지 않는다. 아래 표는 2010년 기준으로 HTML 권장안에 포함된 252개의 문자 실체 이름과 XML에서 지정된 어포스트로피(U+0027)를 더한, 모두 253개의 사용 가능한 문자 실체 참조 목록이다.

표 각주:

참고 문헌 

컴퓨터 용어
W3C 표준
HTML
XML