문자 참조: 두 판 사이의 차이
내용 삭제됨 내용 추가됨
잔글 ISBN 오자 수정 |
많은 내용 추가. W3C 권장안 문서 인용. 분류. |
||
1번째 줄:
'''문자
==
문자 참조가 만들어진 이유이자 문자 참조를 사용하는 목적은, 입력이 어려운 문자를 표현하거나 마크업 언어를 제어하는 문자를 일반 문자로 표현하기 위함이다. [[HTML]]에서의 예를 들면 '→'(화살표) 기호는 [[컴퓨터 자판]]에 없어서 입력이 힘들지만 <code>&rarr;</code> 처럼 풀어서 쓸 수 있으며, '<'(꺽쇠표, 보다 작음 부등호) 기호는 [[HTML 요소]]를 시작하는 문자이므로 일반 문자로 표현하려면 <code>&lt;</code> 처럼 풀어서 써야 한다.
==문자 참조의 종류와 이름==
문자 참조를 사용할 때에는 크게 두 가지 방법을 사용할 수 있다. 첫째는 미리 정의된 특정한 '이름([[SGML 실체]])'을 문자를 표현하는 약어로 사용하는 방법이고, 둘째는 문자를 표현하는 [[국제 문자 세트|ISO 10646]]의 [[문자 코드]]를 수로 나타내어 사용하는 방법이다. 이 두 가지 방법을 가리키는 이름은 표준에 따라 조금씩 다른데, 아래와 같다.
:*[[W3C]]의 [[HTML]] 권장안에서는 [[SGML 실체|실체]]를 사용한 문자 참조를 '''문자 실체 참조'''({{lang|en|character entity reference}})라고 하며 [[국제 문자 세트|ISO 10646]] 문자 코드 수치를 사용한 문자 참조를 '''수치 문자 참조'''({{lang|en|numeric character reference}})라고 한다.<ref name="w3c_html401spec_19991224_5_3">
{{웹 인용 |제목=HTML 4.01 Specification - 5.3 Character references |url=http://www.w3.org/TR/1999/REC-html401-19991224/charset.html#h-5.3 |출판사=[[W3C]] |작성일자=1999-12-24 |확인일자=2010-11-24 |언어고리=en}} [http://www.w3.org/TR/html401/charset.html#h-5.3 같은 항목의 최신 버전] 참고.
</ref><ref name="masiko_webstandard_20070625">
{{서적 인용 |제목=웹표준교과서 - XHTML과 CSS로 하는'바른' 웹디자인 |저자=마시코 타카히로({{lang|ja|益子 貴寛}}) |공저자=김대석(옮긴이), 신승식(감수) |출판사=디지털미디어리서치 |발행일자=2007-06-25 |id=ISBN 9788995527634 |꺽쇠표=예}}
</ref>
:*W3C의 [[XML]] 권장안에서는 실체를 사용한 것을 '''실체 참조'''({{lang|en|entity reference}})라고 하며 수치를 사용한 것을 '''문자 참조'''({{lang|en|character reference}})라고 한다.<ref name="w3c_xml10fifth_20081126_4_1">
{{웹 인용 |제목=Extensible Markup Language (XML) 1.0 (Fifth Edition) - 4.1 Character and Entity References |url=http://www.w3.org/TR/2008/REC-xml-20081126/#sec-references |출판사=[[W3C]] |작성일자=2008-11-26 |확인일자=2010-11-24 |언어고리=en}} [http://www.w3.org/TR/xml/#sec-references 같은 항목의 최신 버전] 참고.
</ref><ref name="w3c_xml11second_20060929_4_1">
{{웹 인용 |제목=Extensible Markup Language (XML) 1.1 (Second Edition) - 4.1 Character and Entity References |url=http://www.w3.org/TR/2006/REC-xml11-20060816/#sec-references |출판사=[[W3C]] |작성일자=2006-09-29 |확인일자=2010-11-24 |언어고리=en}} [http://www.w3.org/TR/xml11/#sec-references 같은 항목의 최신 버전] 참고.
</ref>
이 백과사전 문서에서는 둘 사이의 구분을 쉽게 하기 위해 HTML 권장안에서 사용하는 용어로 개념을 설명하고 있다.
===문자 실체 참조===
'''문자 실체 참조'''(文字實體參照)는 ([[SGML 실체]]({{llang|en|[[:en:SGML entity|SGML entity]]}})를 이용하는 문자 참조이다. 표준 [[문서 형식 정의]](DTD)에 미리 명시되거나, 사용자가 따로 DTD에 정의함으로써 사용 가능하다. 문자 실체 참조를 사용해 문자를 표현하려면 아래처럼 [[&]], 문자 실체 이름, [[쌍반점|;]]을 차례로 쓰면 된다. 실체의 이름은 대소문자를 구별한다. 한 예로 &Aring;은 'Å' 문자를 나타내고, &aring;은 'å' 문자를 나타낸다.
{| class="wikitable" style="margin: 0.2em 3em;"
|style="padding: 1em;"|<code><nowiki>&이름;</nowiki></code>
|}
::
===수치 문자 참조===
'''수치 문자 참조'''(數値文字參照)는 [[문자 코드]]의 수치를 직접 넣는 방식의 문자 참조이다. [[십진법|10진수]] 또는 [[십육진법|16진수]]를 쓸 수 있다. 여기에 사용되는 문자 코드는 [[국제 문자 세트]](ISO 10646)를 따른다.<ref name="w3c_html401spec_19991224_5_3"/>
{| class="wikitable" style="margin: 0.2em 3em;"
!style="padding: 1em;"|진법||style="padding: 1em;"|사용법||style="padding: 1em;"|설명
|-
|style="padding: 1em;"|10진수
|style="padding: 1em;"|<code><nowiki>&#N;</nowiki></code>
|style="padding: 1em;"|&, [[해시 기호|#]], 10진수, 쌍반점을 차례로 씀.
|-
|style="padding: 1em;"|16진수
|style="padding: 1em;"|<code><nowiki>&#xH;</nowiki></code>
|style="padding: 1em;"|&, #, [[X|x]], 16진수, 쌍반점을 차례로 씀.
|}
::16진 표현에서 x를 대문자로 써서 <code>&#XH;</code>와 같이 쓰는 것은 [[HTML]]에서는 가능하지만 [[XML]]에서는 금지된다. 16진수를 쓸 때에는 대소문자 구별이 없다.<ref name="w3c_html401spec_19991224_5_3" /><ref name="w3c_xml10fifth_20081126_4_1" /><ref name="w3c_xml11second_20060929_4_1" />
== XML의 문자 실체 참조 ==
W3C의 [[XML]]
{{웹 인용 |제목=Extensible Markup Language (XML) 1.0 (Fifth Edition) - 4.6 Predefined Entities |url=http://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent |출판사=[[W3C]] |작성일자=2008-11-26 |확인일자=2010-11-24 |언어고리=en}} [http://www.w3.org/TR/xml/#sec-predefined-ent 같은 항목의 최신 버전] 참고.
</ref><ref name="w3c_xml11second_20060929_4_6">
{{웹 인용 |제목=Extensible Markup Language (XML) 1.1 (Second Edition) - 4.6 Predefined Entities |url=http://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent |출판사=[[W3C]] |작성일자=2006-09-29 |확인일자=2010-11-24 |언어고리=en}} [http://www.w3.org/TR/xml11/#sec-predefined-ent 같은 항목의 최신 버전] 참고.
</ref> 그러나 사용자가 [[문서 형식 정의]]를 통해서 새로운 실체 참조를 추가하는 것이 가능하다.
{| class="wikitable"
줄 61 ⟶ 90:
== HTML의 문자 실체 참조 ==
[[HTML]] 4 [[버전]]의 [[문서 형식 정의]]에서는 252개의 문자 실체를 정의하고 있으며 HTML 4.01 버전에서는 새로운 문자 참조가 추가되지 않았다. HTML 4의 규격 명세에서는 표준 문서 형식 정의에 포함된 것 이외에 [[사용자 (컴퓨터)|사용자]]에 의한 실체 추가 정의를 허용하지 않는다. 아래 표는 2010년 현재 HTML 문서 형식 정의(DTD)에 포함된 252개의 문자 실체 이름<ref name="w3c_html401spec_19991224_24">
{{웹 인용 |제목=HTML 4.01 Specification - 24 Character entity references in HTML 4 |url=http://www.w3.org/TR/1999/REC-html401-19991224/sgml/entities.html |출판사=[[W3C]] |작성일자=1999-12-24 |확인일자=2010-11-24 |언어고리=en}} [http://www.w3.org/TR/html401/sgml/entities.html 같은 항목의 최신 버전] 참고.
</ref>에 [[XML]]에서 지정된 어포스트로피(U+0027)<ref name="w3c_xhtml1second_20020801_c_16">
HTML의 DTD에는 포함되지 않고 XML에서 정의된 것으로, 사용에 주의가 필요하다. XML이나 XHTML 문서를 올바르게 읽지 못하는 HTML 전용 브라우저의 경우 &apos;가 동작하지 않으므로 대신 &#39;를 사용해야 한다. 다음 항목 참고.
*{{웹 인용 |제목=XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition) - C.16. The Named Character Reference ' |url=http://www.w3.org/TR/2002/REC-xhtml1-20020801/#C_16 |출판사=[[W3C]] |작성일자=2002-08-01 |확인일자=2010-11-24 |언어고리=en}} [http://www.w3.org/TR/xhtml1/#C_16 같은 항목의 최신 버전].
</ref>를 더해 253개의 사용 가능한 문자 실체 참조 목록이다.
{{글 숨김 |제목=HTML과 XHTML의 문자 실체 참조 표(숨겨짐). 표를 보려면 오른쪽의 '보이기'를 클릭.}}
{|class="wikitable sortable"
줄 106 ⟶ 139:
| ampersand
|-
| apos<ref group="표">
HTML의 DTD에는 포함되지 않고 XML에서 정의된 것으로, 사용에 주의가 필요하다. XML이나 XHTML 문서를 올바르게 읽지 못하는 HTML 전용 브라우저의 경우 &apos;가 동작하지 않으므로 대신 &#39;를 사용해야 한다.
</ref>
| '
| U+0027 (39)
줄 2,123 ⟶ 2,158:
<references />
[[분류:W3C_표준]]
[[분류:HTML]]
[[분류:XML]]
[[cs:HTML entita]]
|