W3C에 의하면 entity의 정의는 다음과 같습니다.
- Document entity는 entity 트리의 루트 및 XML 프로세서의 시작점 역할을 한다.
이 말은 entity라는 것이 XML에서 placeholder로서 역할을 한다는 뜻입니다. entity는 document prolog나 DTD에서 선언될 수 있습니다. 다른 형식의 entity도 있지만 여기서는 character entity에 관해서만 논하기로 합니다.
XML이건 HTML이건 자체적으로 이미 예약된 기호들이 있어서, 그 기호들은 코드 내에서 사용하지 못합니다. 예를 들어서, < 나 > 기호는 태그를 여닫는 용도로 예약되어 있습니다. 이런 특수문자들을 표시할 때에 entity가 사용됩니다.
키보드로 직접 입력할 수 없는 기호나 특수 문자의 경우에도 character entity를 이용하여 출력 가능합니다.
Types of Character Entities
세 개의 타입이 존재합니다.
- Predefined Character Entities
- Numeric Character Entities
- Named Character Entities
Predefined Character Entities
몇몇 기호들을 사용할때 모호한 부분을 피하기 위해 도입되었습니다. 예를 들면 크다, 작다 기호인 < >는 열고 닫는 태그 < >와 같습니다. 이 character entity는 기본적으로 태그와의 혼동을 막기 위해 사용되는 것입니다. 다음은 XML specification에 사전 정의(predefined)된 character entity의 목록입니다.
- Ampersand(&) : &
- Single quote( ' ) : '
- Greater than(>) : >
- Less than(<) : <
- Double quote("): "
Numeric Character Entities
Numeric entity는 character entity를 참조하는데 사용됩니다. Decimal(10진수) 혹은 Hexadecimal(16진수)일 수 있으며, 수 천개의 숫자 참조를 사용할 수 있기 때문에 일일이 기억하기는 어렵습니다. 숫자 참조는 유니코드 상의 문자 번호를 나타냅니다.
10진수 참조에서 일반적인 문법은 다음과 같습니다.
&# decimal number ;
| cs |
16진수에서는 다음과 같습니다.
&#x Hexadecimal number ;
| cs |
아래 표는 predefined character entity와 그 numeric 값을 표시한 것입니다.
Entity
이름 |
Character |
Decimal
reference |
Hexadecimal |
quot |
“ |
" |
" |
amp |
& |
& |
& |
apos |
‘ |
' |
' |
lt |
< |
< |
< |
gt |
> |
> |
> |
Named Character Entities
숫자 참조는 기억하기 어렵기 때문에, 사람들이 선호하는 entity는 named character entity입니다. 각각의 entity에 이름을 달아놓은 것으로 아래에 그 예가 있습니다.
댓글 없음:
댓글 쓰기