DTD가에서, 속성은 ATTLIST 선언으로 선언됩니다.
속성 선언
속성 선언 구문은 다음과 같습니다
<!ATTLIST element-name attribute-name attribute-type attribute-value>
DTD example:
<!ATTLIST payment type CDATA "check">
XML example:
<payment type="check" />
attribute-type 다음 중 하나 일 수 있습니다 :
유형 | 기술 |
---|---|
CDATA | 값은 문자 데이터이며 |
( en1 | en2 |..) | 값은 열거 된 목록에서 하나 여야합니다 |
ID | 값은 고유 ID 인 |
IDREF | 이 값은 다른 요소의 ID이다 |
IDREFS | 이 값은 다른 ID의리스트 인 |
NMTOKEN | 값은 유효한 XML 이름 |
NMTOKENS | 값은 유효한 XML 이름의 목록입니다 |
ENTITY | 값은 실체 |
ENTITIES | 값은 엔티티의 목록 |
NOTATION | 값은 표기의 이름 |
xml: | 이 값은 미리 정의 된 XML 값 |
attribute-value 다음 중 하나 일 수 있습니다 :
값 | 설명 |
---|---|
value | 속성의 기본값 |
#REQUIRED | 속성이 필요합니다 |
#IMPLIED | 속성은 선택 사항입니다 |
#FIXED value | 속성 값은 고정되어 |
기본 속성 값
DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">
Valid XML:
<square width="100" />
위의 예에서 "square" 소자 A의 빈 요소로 정의되는 "width" 형 CDATA의 속성. 더 폭이 지정되지 않은 경우는 0의 디폴트 값을 갖는다.
#REQUIRED
통사론
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
예
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Valid XML:
<person number="5677" />
Invalid XML:
<person />
당신이 디폴트 값에 대한 옵션이없는 경우 #REQUIRED 키워드를 사용하지만, 여전히 존재하는 속성을 강제로 할 수 있습니다.
#IMPLIED
통사론
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
예
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
Valid XML:
<contact fax="555-667788" />
Valid XML:
<contact />
이 속성을 포함하도록 저자를 강제하지 않으려면 #IMPLIED 키워드를 사용하여, 당신은 디폴트 값에 대한 옵션이 없습니다.
#결정된
통사론
<!ATTLIST element-name attribute-name attribute-type #FIXED "value">
예
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Valid XML:
<sender company="Microsoft" />
Invalid XML:
<sender company="w3ii" />
당신이 속성을 변경 저자을 허용하지 않고 고정 된 값을 할 때 #FIXED 키워드를 사용합니다. 저자가 다른 값을 포함하는 경우, XML 파서는 오류를 반환합니다.
열거 된 속성 값
통사론
<!ATTLIST element-name attribute-name (en1|en2|..) default-value>
예
DTD:
<!ATTLIST payment type (check|cash) "cash">
XML example:
<payment type="check" />
or
<payment type="cash" />
이 속성 값이 유효한 값의 고정 세트 중 하나가 될하고자 할 때 열거 속성 값을 사용합니다.