실재
HTML 코더가 숙지해야 할 미리 정의된 다섯 가지 XML 엔터티가 있습니다. XML 문서의 문자 &, <, >, " 및 '는 각각 &, @lt;, >, " 및 '로 표시됩니다.
XML은 엔터티의 기능을 크게 확장하여 문서의 나머지 부분에서 사용할 수 있도록 DTD에 엔터티를 정의할 수 있습니다. 예를 들어, XML 문서에서 "Wired Digital"이라는 문구를 자주 사용해야 하는데, 이는 DTD에서 다음과 같이 표현될 수 있습니다.
<!ENTITY wd "유선 디지털">
그래서 이 문구를 사용할 때 &wd;를 입력할 수 있습니다. 이렇게 하면 철자가 틀리거나 동일한 정보를 다시 입력하는 것을 방지할 수 있습니다. 엔터티는 워드 프로세서에서 매크로로 작동할 수 있습니다.
대체되는 텍스트는 임의로 길 수 있지만 너무 길면 해당 정보를 다른 파일에 저장하는 것이 좋습니다. 이는 외부 엔터티 참조를 통해 수행할 수 있습니다. 엔터티 이름과 파일 URL에 SYSTEM 키워드를 사용합니다.
<!ENTITY 텍스트 시스템 "http://my.url.here">
이러한 기능은 강력하지만 한 가지 단점이 있습니다. 즉, DTD 내에서 확장할 수 없다는 것입니다. 확장된 기능을 구현하려면 매개변수 엔터티라는 특수 도구가 필요합니다. 엔터티 이름 앞에 "%"를 삽입하여 엔터티 정의에 구현됩니다. 정의한 후에는 매개변수 이름을 퍼센트 콜론과 세미콜론으로 묶어서 매개변수 정의를 수행할 수 있습니다.
왜 이런 일을 하는가? 아래 코드를 살펴보세요.
<!ELEMENT vCard (%prop.man;, (%prop.id; | %prop.del; |
%prop.tel;
%prop.exp;)*)>
이 코드는 공개 XML 명함 초안에서 가져온 것입니다. 루트 요소를 정의할 때 작성자는 정보를 다양한 매개변수 엔터티로 분리하는 것이 더 쉽다는 것을 알게 되었습니다. 이러한 엔터티 중 하나를 살펴보면 그 이유를 알 수 있습니다. 아래에서 prop.id 엔터티를 살펴보세요.
<!ENTITY % prop.id "
(닉네임 | 사진 | 생일)">
각 엔터티가 이렇게 긴 문자열로 표시되면 요소 정의를 읽기 어려울 것입니다.
이제 DTD를 읽어볼 차례입니다.
Jay Greenspan ISO-8859-1 엔터티
명명됨
엔터티 숫자
엔터티 문양 설명
�-
미사용
수평 탭
줄 바꿈
미사용
공간
!느낌표
" " " 큰따옴표
# # 숫자 기호
$ $ 달러 기호
% % 퍼센트 기호
& & & 앰퍼스탠드
'' 아포스트로피
(( 왼쪽 괄호
) ) 오른쪽괄호
* * 별표
+ +더하기 기호
, , 쉼표
- -하이픈
. 기간(완전히)
명명됨
엔터티 숫자
엔터티 문양 설명
// 솔리더스(슬래시)
0-
9자리0~9
: : 콜론
;
< < < 보다 작은 기호
= = 등호
> > > 보다 큰 기호
?물음표
@ @ 상업
에이-
Z 문자 AZ
[ ][ 왼쪽 대괄호
reversesolidus(백슬래시)
] ] 오른쪽 대괄호
^ ^ 캐럿
_ _ 가로 막대(밑줄)
`` 급성악센트
에이-
z 문자 az
{ { 왼쪽 중괄호
|
명명됨
엔터티 숫자
엔터티 문양 설명
} } 오른쪽중괄호
~ ~ 물결표
-
Ÿ 미사용
중단되지 않는 공백
¡ ¡ 거꾸로된 느낌표
¢ ¢ 센트부호
£ £ 파운드스털링
¤ ¤ 일반 통화 기호
¥ 엔 기호
¦ ¦ 깨진수직 막대
§ § 섹션 기호
¨ ¨움라우트(분음법)
© © © 저작권
ª ª 여성 서수
« « leftanglequote, guillemotleft
¬ ¬ 서명하지 않음
소프트하이픈
® ® 등록상표
̅ ̅ 마크로나센트
명명됨
엔터티 숫자
엔터티 문양 설명
° °도 기호
± ± 플러스마이너스
² ² 위 첨자two
³ ³위 첨자세
`` ``급악센트
µ µ 마이크로사인
¶ ¶ 단락 기호
· · 미들닷
¸ ¸ 세디야
¹ ¹위첨자
º º 남성 서수
» » rightanglequote, 길레모트라이트
¼ ¼ 1/4
½ ½ 반
½ ½ 4분의 3
¿ ¿ 거꾸로 된 물음표
À À À 대문자A, 그레이센트
Á Á Á 대문자A, 급성악센트
   대문자A, 곡절악센트
명명됨
엔터티 숫자
엔터티 문양 설명
à à 대문자A, 물결표
è è ä 대문자A, dieresisorumlautmark
Å Å Å 대문자A, 링
Æ Æ Æ 대문자AEdipthong(합자)
Ç Ç Ç 대문자C, cedilla
È È È 대문자E, 그레이센트
É É É 대문자E, 예각악센트
К К К 대문자E, 곡절악센트
Ë Ë Ë 대문자E, dieresisorumlautmark
Ì Ì Ì 대문자I, 그레이센트
Í Í Í 대문자I, 급성악센트
Î Î Î 대문자I, 곡절악센트
Ï Ï Ï 대문자I, dieresisorumlautmark
Ð Ð Ð 대문자Eth, 아이슬란드어
Ñ Ñ Ñ 대문자N, 물결표
Ò Ò Ò 대문자O, 그레이센트
Ó Ó Ó 대문자O, 예각악센트
Ô Ô Ô 대문자O, 곡절악센트
Õ Õ Õ 대문자O, 물결표
명명됨
엔터티 숫자
엔터티 문양 설명
Ö Ö Ö 대문자O, dieresisorumlautmark
× × 곱하기 부호
Ø Ø Ø 대문자O, 슬래시
Ù Ù Ù 대문자U, 그레이센트
Ú Ú Ú 대문자U, 예각악센트
Û Û Û 대문자U, 곡절악센트
Ü Ü 대문자U, dieresisorumlautmark
Ý Ý Ý 대문자Y, 급성악센트
ð ð Þ 대문자THORN, 아이슬란드어
ß ß ß 소문자샤프, 독일어(szligature)
à à à 소문자, 억양 악센트
á á á 소문자, 악센트
â â 소문자, 곡절악센트
ã ã 소문자, 물결표
ä ä ä 소문자, dieresisorumlautmark
å å å 소문자a, ring
æ æ æ 소문자aedipthong(합자)
ç ç ç 소문자, 세딜라
è è 소문자, 그레이브액센트
명명됨
엔터티 숫자
엔터티 문양 설명
é é 소문자, 급성악센트
ê ê 소문자, 곡절악센트
ë ë ë 소문자, dieresisorumlautmark
ì ì 소문자i, 그레이브액센트
í í 소문자, 급성악센트
î î î 소문자i, 곡절악센트
ï ï 소문자i, dieresisorumlautmark
ð ð ð lowercaseeth, 아이슬란드어
ñ ñ 소문자, 물결표
ò ò ò 소문자, 억양 악센트
ó ó ó 소문자, 급성악센트
ô ô ô 소문자, 곡절악센트
õ õ õ 소문자, 물결표
ö ö 소문자, dieresisorumlautmark
¼ ¼ 나누기 기호
ø ø 소문자, 슬래시
ù ù ù 소문자, 그레이브액센트
ú ú 소문자, 악센트
û û û 소문자, 곡절악센트
명명됨
엔터티 숫자
엔터티 문양 설명
ü ü 소문자, dieresisorumlautmark
ý ý 소문자, 급성악센트
þ þ þ lowercasethorn, 아이슬란드어
ÿ ÿ ÿ 소문자, dieresisorumlautmark