YYYEJI

[XML] DTD 속성 타입 (Attribute types) 본문

HTML(or XML) & CSS & JavaScript

[XML] DTD 속성 타입 (Attribute types)

YEJI ⍢ 2022. 9. 30. 10:48
728x90

 

Attribute(속성) 이란 ?

Element(요소)에 대한 추가적인 정보를 제공합니다.

 

따라서 속성 타입은 해당 element(요소)의 특징을 말한다고 볼 수 있습니다.

<!ATTLIST 요소이름 속성이름 속성타입 속성값>

 

 

Attribute type

Attibute type Explanation
CDATA 문자 데이터(character data)
(Attribute value 1|Attribute value 2 . . | ..)  나열된 리스트 중 하나에 해당
ID 하나뿐인 아이디(id)
IDREF 다른 요소의 아이디(id)
IDREFS 다른 아이디(id)의 리스트
NMTOKEN 유효한(valid) XML 이름
NMTOKENS 유효한(valid) XML 이름의 리스트
ENTITY 엔티티(entity)
ENTITIES 엔티티(entity)의 리스트
NOTATION  notation의 이름
xml: 미리 정의된 예약어인 'xml'

 

 

Attribute type value 

Attribue value Explanation
value 이 속성의 속성값이 명시되지 않을 경우 사용할 basic value
#REQUIRED 반드시 명시되어야 되는 value 
#IMPLIED 명시되어도 되고, 않아도 되는 value
#FIXED 값 명시된 값으로 고정된 value

 

 

 

 

Define of Attribute 

<!ATTLIST 요소이름 속성이름 속성타입 속성값>

 ✓ DTD 속성은 ATTLIST 구문으로 선언

 ✓ Element 의 이름은 해당 속성이 포함될 element 의 이름을 명시합니다.

 

 

 

 

EXAMPLE

<!ENTITY myEntityA " Entity Value A">
<!ATTLIST message id NMTOKEN #REQUIRED>
<!ATTLIST message number CDATA #REQUIRED>

 ✓ <!ENTITY   ...  >                      Entity 정의

 ✓ name "value"                          pair로 존재

 
<!DOCTYPE myMessage [
<!ELEMENT myMessage ( message )>
<!ELEMENT message (#PCDATA)>
<!ENTITY myEntityA "Entity Value A">
<!ATTLIST message id CDATA #REQUIRED>
]>
<myMessage>
	<message id = "445 &myEntityA; ">
		Welcome to XML! &myEntityA;
	</message>
</myMessage>

 

✓ XML 코드를 작성할 때 위에서 정의한 Entity를 사용할 수 있습니다.

 

 

 

 

◡̈