파라미터 엔티티
HTML DTD는 파라미터 엔티티 정의로 시작된다.
파라미터 엔티티 정의는 DTD에만 나타나고, HTML 문서에는 나타나지 않는다.
파라미터 엔티티 정의는 <!ENTITY 라는 키워드로 시작되고, 엔티티(entity) 이름이 따옴표 속의 문자열로 기술되며, >으로 닫는다.
DTD의 파라미터 엔티티는 "%"로 시작 되고, 엔티티 이름, 그리고 선택적인 ";" 로 끝난다.
<!ENTITY % fontstyle "TT | I | B | BIG | SMALL">
fontstyle에 기술된 문자열을 설명한다.
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
inline 에는 fontstyle, phrase, special, formctrl 파라미터 엔티티들이 포함된다고 정의 한 것이다.
엘리먼트 선언
HTML DTD는 엘리먼트 타입과 그 속성(attribute)으로 구성된다.
<!ELEMENT 로 시작되고 >로 종결되며, 그 사이에 아래 내용들이 기술된다.
1. 엘리먼트 이름.
2. 엘리먼트의 종료태그는 선택적이다. 엘리먼트 이름 다음에 두개의 하이픈('-'와 '-')이 나오면, 각각은 시작과 끝을 의미하며 필수적이다. 한 개의 하이픈 뒤에 "O"가 있으면, 종료 태그가 생략될 수 있고, "O"가 짝으로 있으면 시작태그와 종료태그가 생략 될 수 있다.
3. 엘리먼트의 내용이 될수 있다. 가능한 엘리먼트 컨텐츠를 컨텐츠(content) 모델이라한다. 내용을 갖지 않게 설계된 엘리먼트 타입을 빈(empty) 엘레멘트라 하며, 컨텐츠 모델은 "EMPTY"라는 키워드를 사용하여 정의한다.
Empty Element : 내용을 포함하지 않음 <img> <br> ...
Non-Empty Element : 나머지
<!ELEMENT UL - - (LI)+>
1. 선언된 엘레멘트 이름은 UL이다.
2. 두개의 하이픈('- -')은 이 엘레멘트에서 시작 태그 <UL>과 종료 태그 </UL>가 다 필요하다는 것을 의미한다.
3. 마지막으로 이 엘레멘트에서 컨텐트(content) 모델은 '한개 이상의 LI 엘레멘트를 갖는다'는 것을 정의한다.
<!ELEMENT IMG - O EMPTY>
1. 선언된 엘레멘트 이름은 IMG이다.
2. 하이픈 "-" 다음의 "O"는 종료 태그가 생략 될 수 있다는 것을 의미한다.
3. 키워드 "EMPTY"로 이 종류에는 컨텐트을 가질 수 없음을 의미한다.
엘레멘트의 컨텐트 모델은 다음 문법으로 기술한다.
( ... ) |
그룹을 지정. |
A | B |
A 또는 B이고, 둘 다는 아님 |
A , B |
A와 B가 순서를 맞춰 둘 다 나타남. |
A & B |
A와 B가 순서는 관계 없이 둘 다 나타남. |
A? |
A가 안 나타나거나 한 번 나타남. |
A* |
A가 안 나타나거나 한번 이상 나타남. |
A+ |
A가 한번 이상 나타남. |
<!ELEMENT UL - - (LI)+>
UL 엘레먼트는 시작과 종료 태그가 있고, LI 엘레멘트가 한 개 이상 포함 되어야 함.
<!ELEMENT DL - - (DT | DD)+>
DL 엘레먼트에는 시작과 종료 태그가 있고, 순서 관계 없이 하나 이상의 DT 또는 DD 엘레먼트가 포함 되어야 한다.
<!ELEMENT A - - (%inline;)* -(A)>
A 엘레먼트는 시작과 종료 태그가 있고, DTD 파라메터(Parameter) 엔티티(Entity) "%inline;"의 부분이고, A안에 다른 A를 가질 수 없다.
'UI개발' 카테고리의 다른 글
자바스크립트 연산자 (0) | 2015.07.26 |
---|---|
자바스크립트 데이터 종류 (0) | 2014.12.01 |
자바스크립트 변수 (0) | 2014.05.07 |
메타태그 (0) | 2014.05.07 |
문서형 정의 및 선언 (0) | 2014.04.12 |