문자 참조

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

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

개요[편집]

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

문자 참조의 종류와 이름[편집]

표준 실체를 사용한 문자 참조 수치를 사용한 문자 참조
W3CHTML 권장안[1][2] 문자 실체 참조
(character entity reference)
수치 문자 참조
(numeric character reference)
W3C의 XML 권장안[3][4] 실체 참조
(entity reference)
문자 참조
(character reference)
(표) 언어 종류에 따라 다른 문자 참조를 가리키는 이름

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

문자 실체 참조[편집]

Crystal Clear app xmag.png 각 언어 별로 사용 가능한 문자 실체 이름에 대한 자세한 내용은 XML의 문자 실체 참조HTML의 문자 실체 참조 문단을 보십시오.
사용법 설명
&이름; 앰퍼샌드 기호, 문자 실체 이름, 쌍반점을 차례로 씀.
(표) 문자 실체 참조의 사용

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

수치 문자 참조[편집]

진법 사용법 설명
10진수 &#N; 앰퍼샌드 기호, 해시 기호, 10진수, 쌍반점을 차례로 씀.
16진수 &#xH; 앰퍼샌드 기호, 해시 기호, 로마자 x, 16진수, 쌍반점을 차례로 씀.
(표) 10진수와 16진수로 표기하는 수치 문자 참조

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

XML의 문자 실체 참조[편집]

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

이름 문자 유니코드(10진) 권장안 설명
quot " U+0022 (34) XML 1.0 겹따옴표
amp & U+0026 (38) XML 1.0 앰퍼샌드 기호
apos ' U+0027 (39) XML 1.0 어포스트로피
lt < U+003C (60) XML 1.0 부등호 (보다 작음 기호)
gt > U+003E (62) XML 1.0 부등호 (보다 큼 기호)
(표) XML의 '미리 정의된 실체'

HTML의 문자 실체 참조[편집]

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

참고 문헌[편집]

  1. (영어) HTML 4.01 Specification - 5.3 Character references. W3C (1999년 12월 24일). 2010년 11월 24일에 확인. 같은 항목의 최신 버전 참고.
  2. <cite class="book" style="font-style:normal" id="CITEREF마시코 타카히로(益子 貴寛)">마시코 타카히로(益子 貴寛), 김대석(옮긴이), 신승식(감수) (2007년 6월 25일). 《웹표준교과서 - XHTML과 CSS로 하는'바른' 웹디자인》. 디지털미디어리서치. ISBN 9788995527634
  3. (영어) Extensible Markup Language (XML) 1.0 (Fifth Edition) - 4.1 Character and Entity References. W3C (2008년 11월 26일). 2010년 11월 24일에 확인. 같은 항목의 최신 버전 참고.
  4. (영어) Extensible Markup Language (XML) 1.1 (Second Edition) - 4.1 Character and Entity References. W3C (2006년 9월 29일). 2010년 11월 24일에 확인. 같은 항목의 최신 버전 참고.
  5. (영어) Extensible Markup Language (XML) 1.0 (Fifth Edition) - 4.6 Predefined Entities. W3C (2008년 11월 26일). 2010년 11월 24일에 확인. 같은 항목의 최신 버전 참고.
  6. (영어) Extensible Markup Language (XML) 1.1 (Second Edition) - 4.6 Predefined Entities. W3C (2006년 9월 29일). 2010년 11월 24일에 확인. 같은 항목의 최신 버전 참고.
  7. (영어) HTML 4.01 Specification - 24 Character entity references in HTML 4. W3C (1999년 12월 24일). 2010년 11월 24일에 확인. 같은 항목의 최신 버전 참고.
  8. HTML의 DTD에는 포함되지 않고 XML에서 정의된 것으로, 사용에 주의가 필요하다. XML이나 XHTML 문서를 올바르게 읽지 못하는 HTML 전용 브라우저의 경우 &apos;가 동작하지 않으므로 대신 &#39;를 사용해야 한다. 다음 항목 참고.