DTD - 속성
DTD에서 속성은 ATTLIST 선언으로 선언됩니다.
속성 선언
속성 선언의 구문은 다음과 같습니다.
<!ATTLIST element-name attribute-name attribute-type attribute-value>
DTD example:
<!ATTLIST payment type CDATA "check">
XML example:
<payment type="check" />
속성 유형 은 다음 중 하나일 수 있습니다.
Type | Description |
---|---|
CDATA | The value is character data |
(en1|en2|..) | The value must be one from an enumerated list |
ID | The value is a unique id |
IDREF | The value is the id of another element |
IDREFS | The value is a list of other ids |
NMTOKEN | The value is a valid XML name |
NMTOKENS | The value is a list of valid XML names |
ENTITY | The value is an entity |
ENTITIES | The value is a list of entities |
NOTATION | The value is a name of a notation |
xml: | The value is a predefined xml value |
속성 값 은 다음 중 하나일 수 있습니다.
Value | Explanation |
---|---|
value | The default value of the attribute |
#REQUIRED | The attribute is required |
#IMPLIED | The attribute is optional |
#FIXED value | The attribute value is fixed |
기본 속성 값
DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">
Valid XML:
<square width="100" />
위의 예에서 "square" 요소는 CDATA 유형의 "width" 속성이 있는 빈 요소로 정의됩니다. 너비가 지정되지 않은 경우 기본값은 0입니다.
#필수의
통사론
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
예시
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Valid XML:
<person number="5677" />
Invalid XML:
<person />
기본값에 대한 옵션이 없지만 여전히 속성이 존재하도록 하려면 #REQUIRED 키워드를 사용하십시오.
#암시적
통사론
<!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="W3Schools" />
작성자가 변경할 수 없도록 속성에 고정 값을 지정하려면 #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" />
속성 값을 고정된 법적 값 집합 중 하나로 지정하려면 열거된 속성 값을 사용합니다.