DTD - 속성
- 이전 페이지 DTD 요소
- 다음 페이지 DTD 요소 대비 속성
DTD에서 속성은 ATTLIST 선언을 통해 선언됩니다.
속성 선언
속성 선언은 다음과 같은 문법을 사용합니다:
<!ATTLIST 요소 이름 속성 이름 속성 유형 기본 값>
DTD 예제:
<!ATTLIST payment type CDATA "check">
XML 예제:
<payment type="check" />
다음은속성 유형의 선택 사항:
타입 | 설명 |
---|---|
CDATA | 문자 데이터 (character data)의 값이 있습니다 |
(en1|en2|..) | 이 값은 열거 목록의 하나의 값입니다 |
ID | 유일한 id의 값이 있습니다 |
IDREF | 다른 요소의 id의 값이 있습니다 |
IDREFS | 다른 id의 목록의 값이 있습니다 |
NMTOKEN | 값이 유효한 XML 이름입니다 |
NMTOKENS | 값은 합법적인 XML 이름 목록입니다 |
ENTITY | 값은 엔티티입니다 |
ENTITIES | 값은 엔티티 목록입니다 |
NOTATION | 이 값은 심볼 이름입니다 |
xml: | 값은 предопределенная XML значение |
기본 값 파라미터는 다음 값 중 하나를 사용할 수 있습니다:
값 | 설명 |
---|---|
값 | 속성의 기본 값 |
#REQUIRED | 속성 값이 필요합니다 |
#IMPLIED | 속성이 필요하지 않습니다 |
#FIXED value | 속성 값이 고정된 것 |
기본 속성 값 설정
DTD:
<!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0">
법적 XML:
<square width="100" />
위의 예제에서 "square"는 CDATA 타입의 "width" 속성을 가진 공백 요소로 정의되었습니다. 너비가 설정되지 않으면 기본 값은 0입니다.
#IMPLIED
문법
<!ATTLIST 元素名称 属性名称 属性类型 #IMPLIED>
예제
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
법적 XML:
<contact fax="555-667788" />
법적 XML:
<contact />
저자가 속성을 포함하지 않도록 강제하고 기본 값 옵션 없이 키워드 #IMPLIED을 사용하십시오.
#REQUIRED
문법
<!ATTLIST 元素名称 属性名称 属性类型 #REQUIRED>
예제
DTD:
<!ATTLIST person number CDATA #REQUIRED>
법적 XML:
<person number="5677" />
불법적인 XML:
<person />
기본 값 옵션 없이 저자가 속성을 강제로 제출하려면, 키워드 #REQUIRED를 사용하십시오.
#FIXED
문법
<!ATTLIST 元素名称 属性名称 属性类型 #FIXED "value">
예제
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
법적 XML:
<sender company="Microsoft" />
불법적인 XML:
<sender company="W3School" />
속성이 고정된 값을 가지고 있으며 저자가 이 값을 변경하지 않기를 원한다면, #FIXED 키워드를 사용하십시오. 저자가 다른 값을 사용하면 XML 파서가 오류를 반환합니다.
속성 값 나열
문법:
<!ATTLIST 元素名称 属性名称 (en1|en2|..) 默认值>
DTD 예제:
<!ATTLIST payment type (check|cash) "cash">
XML 예제:
<payment type="check" />
또는
<payment type="cash" />
속성 값이 일련의 고정된 유효 값 중 하나인 경우, 목록 속성 값을 사용하십시오.
- 이전 페이지 DTD 요소
- 다음 페이지 DTD 요소 대비 속성