XML DTD 선언
HTML & CSS & JS 2015. 6. 22. 09:08DTD 선언
문서 자체에서 항상 통일된 형식으로 문서를 작성하고, 자동으로 검사하기 위해 정의
반드시 xml 문서 선언 다음에 하나만 작성한다.
- 요소 선언
- 요소의 이름, 계층 구조를 정의
- 속성 선언
- 요소에 추가되는 속성과 속성 이름, 값의 범위, 필수성 등을 정의
- 엔티티 선언
- 치환 문자열이나 문서에서 사용할 파일이나 다른 객체에 대한 이름 등을 정의
- 표기법 선언
- xml 형식이 아닌 다른 외부 파일을 참조하는 경우 그 대상을 지정하는 이름 등을 정의
<!DOCTYPE tel_num [ <!ELEMENT tel_num (home, office, cell)> <!ELEMENT home (#PCDATA)> <!ELEMENT office (#PCDATA)> <!ELEMENT cell (#PCDATA)> ]
DTD 요소 선언
<!ELEMENT 요소이름 인수>
선언 인수
- ANY 어떠한 내용이라도 요소의 내용으로 가질 수 있다. 거의 사용되지 않는다.
<!ELEMENT element_name ANY>
- EMPTY 빈어있는 요소로 요소의 내용이 없어야 한다.
<!ELEMENT element_name EMPTY>
- PCDATA 단순한 텍스트 데이터만을 의미
<!ELEMENT element_name (#PCDATA)>
- 하위요소
- 하위요소를 정의할 때 하위요소의 이름을 ","로 구분한다.
- "?"를 붇인 하위요소는 작성되지 않거나 1번만 작성된다.
- "+"를 붙인 하위요소는 1번 이상은 반드시 작성되어야 한다.
- "|"로 하위요소 이름을 정의하면 정의된 하위요소 중 하나의 요소가 하위요소로 작성된다.
- "*"를 붙인 하위요소는 작성되지 않거나 몇번이라도 작성될 수 있다.
DTD 속성 선언
<!ATTLIST element_mane attribute_name attribute_value default_value>
선언 인수
- CDATA 파싱(문서해석) 대상에서 제외되는 일반 문자열 데이터
- 나열(en1|en2|...) 나열된 값중 하나가 사용될 수 있다는 의미로 "|"로 구분
- ID 특정요소에 유일한 식별자를 부여하기 위해서 사용
- IDREF, IDREFS 어떤 요소에서 ID형식으로 지정된 속성값을 다른 요소에서 사용하고 싶을 때 사용
- NMTOKEN, NMTOKENS xml에서 사용되는 이름의 규칙을 속성값에 적용할 때 사용
속성의 기본값
"값" 속성이 지정되지 않은 경우 기본값으로 사용할 값
- #REQUIRED
- 필수의 의미로 반드시 명시적으로 문서 본문에서 작성되어야함
- #IMPLIED
- 생략 가능의 의미로 속성값이 작성되지 않아도 됨
- #FIXED
- "값" 수정되어서는 안되는 속성의 기본값을 지정함
DTD 엔티티 선언
약자로 정의되는 긴 문자열 또는 파일
이스케이프 문자 엔티티
html에서 사용하는 이스케이프 문자와 동일하다.
- 치환문자열 엔티티
<!ENTITY entity_name "string"> &entity_name;
- 파일 엔티티
<!ENTITY entity_name SYSTEM "file_URL"> <!ENTITY entity_name PUBLIC "공개식별자" "file_URL">
- 파라미터 엔티티 문서 본문에서 사용하는 것이 아니라 DTD 내부에서 사용할 목적으로 선언
<!ENTITY % entity_name "string"> <!ENTITY % entity_name SYSTEM "file_URL"> <!ENTITY % entity_name PUBLIC "공개식별자" "file_URL"> %entity_name;
표기법의 선언
그림 또는 바이너리 데이터를 포함할 경우 문서 해석에서 제외시키기 위해 선언
NOTATION 선언 후 ENTITY 선언하고 요소의 속성을 정의해서 사용
<!NOTATION PICBMP SYSTEM "www..../....bmp"> <!ENTITY PICFILE SYSTEM "www..../....bmp" NDATA PICBMP> <!ATTLIST PIC FILE ENTITY #REQUIRED> <PIC FILE="PICFILE">
외부 DTD 파일의 사용
확장자 .dtd를 사용한다
<!DOCTYPE root_element SYSTEM "DTD_file"< <!DOCTYPE root_element PUBLIC "공개식별자" "DTD_file"<
예)
<!DCOTYPE member [ <!ELEMENT member (member_log, member_info)> <!ELEMENT member_log (member_id, member_pw)> <!ELEMENT member_id (#PCDATA)> <!ELEMENT member_pw (#PCDATA)> <!ELEMENT member_info (member_name, member_num, member_phone, member_job)> <!ELEMENT member_name (#PCDATA)> <!ELEMENT member_num (#PCDATA)> <!ELEMENT member_phone (#PCDATA)> <!ATTLIST member_phone type(home|office|cell) "cell"> <!ELEMENT member_job (#PCDATA)> <!ATTLIST member_job job (...|...|...|...|...) #REQUIRED> ]>
'HTML & CSS & JS' 카테고리의 다른 글
HTML 4.01 tag (0) | 2015.06.22 |
---|---|
HTML XML 문서 형식 선언 (0) | 2015.06.22 |
XML 문서 규칙 (0) | 2015.06.22 |
CSS 작성 (0) | 2015.06.22 |
SyntaxHighlighter (0) | 2015.06.22 |