DTD 속성 선언
속성의 선언
DTD에서 속성은 요소에 대한 추가적인 정보를 제공하며, 해당 요소의 특징을 정의합니다.
DTD에서 속성은 다음과 같이 ATTLIST 구문으로 선언할 수 있습니다.
문법
<!ATTLIST 요소이름 속성이름 속성타입 속성값>
요소의 이름은 해당 속성이 포함될 요소의 이름을 명시합니다.
속성의 타입 정의
DTD에서 속성을 선언할 때 사용할 수 있는 속성 타입은 다음과 같습니다.
속성 타입 | 설명 |
---|---|
CDATA | 이 타입의 속성값은 문자 데이터(character data)임. |
(속성값1|속성값2|...) | 이 타입의 속성값은 나열된 리스트 중 하나에 해당함. |
ID | 이 타입의 속성값은 하나뿐인 아이디(id)임. |
IDREF | 이 타입의 속성값은 다른 요소의 아이디(id)임 |
IDREFS | 이 타입의 속성값은 다른 아이디(id)의 리스트임. |
NMTOKEN | 이 타입의 속성값은 유효한(valid) XML 이름임. |
NMTOKENS | 이 타입의 속성값은 유효한(valid) XML 이름의 리스트임. |
ENTITY | 이 타입의 속성값은 엔티티(entity)임. |
ENTITIES | 이 타입의 속성값은 엔티티(entity)의 리스트임. |
NOTATION | 이 타입의 속성값은 notation의 이름임. |
xml: | 이 타입의 속성값은 미리 정의된 예약어인 'xml'임. |
속성값 정의
DTD에서 속성을 선언할 때 사용할 수 있는 속성값은 다음과 같습니다.
속성값 | 설명 |
---|---|
값 | 이 속성의 속성값이 명시되지 않을 경우 사용할 기본값임. |
#REQUIRED | 이 속성은 반드시 명시되어야 함. |
#IMPLIED | 이 속성은 명시되어도 되고, 명시되지 않아도 됨. |
#FIXED 값 | 이 속성의 속성값은 명시된 값으로 고정됨. |
DTD 예제
<!ELEMENT math EMPTY>
<!ATTLIST math grade CDATA 'F'>
위의 예제에서 만약 grade 속성의 속성값을 명시하지 않으면, 기본값으로 'F'가 자동 설정됩니다.