DTD - Atrybuty
- Jeśli wartość atrybutu ma być jedną z określonych legalnych wartości, użyj wartości wymienionych. Poprzednia strona
- Następna strona DTD Entności
W DTD, atrybuty są deklarowane za pomocą deklaracji ATTLIST.
Deklaracja atrybutu
Deklaracja atrybutu używa następującej gramatyki:
<!ATTLIST 元素名称 属性名称 属性类型 默认值>
Przykład DTD:
<!ATTLIST payment type CDATA "check">
Przykład XML:
Przykład XML:
Poniżej znajduje sięTyp atrybutuopcje:
Typ | Opis |
---|---|
CDATA | Wartość jest danymi znakowymi (character data) |
(en1|en2|..) | Ta wartość jest wartością z listy wyliczeniowej |
ID | Wartość jest unikalnym identyfikatorem |
IDREF | Wartość jest identyfikatorem innego elementu |
IDREFS | Wartość jest listą innych identyfikatorów |
NMTOKEN | Wartość jest legalną nazwą XML |
NMTOKENS | Wartość jest listą legalnych nazw XML |
ENTITY | Wartość jest jednostką |
ENTITIES | Wartość jest listą jednostek |
NOTATION | Ta wartość jest nazwą symbolu |
xml: | Wartość jest predefiniowaną wartością XML |
Parametry domyślnej wartości mogą mieć następujące wartości:
Wartość | Wyjaśnienie |
---|---|
Wartość | Domyślna wartość atrybutu |
#REQUIRED | Wartość atrybutu jest wymagana |
#IMPLIED | Atrybut nie jest wymagany |
#FIXED value | Wartość atrybutu jest stała |
Zdefiniowanie wartości domyślnej atrybutu
Przykład
<ELEMENT square EMPTY> <ATTLIST square width CDATA "0">
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<square width="100" />
W powyższym przykładzie, "square" jest zdefiniowane jako pusty element z atrybutem "width" o typie CDATA. Jeśli szerokość nie została ustawiona, jej wartością domyślną jest 0.
#IMPLIED
#FIXED
<ATTLIST 元素名称 属性名称 属性类型 #IMPLIED>
<!ATTLIST ElementName AttributeName AttributeType #FIXED "value">
Przykład
<ATTLIST contact fax CDATA #IMPLIED>
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<contact fax="555-667788" />
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<contact />
Jeśli nie chcesz wymuszać na autorze zawarcia atrybutu i nie masz opcji wartości domyślnej, użyj słowa kluczowego #IMPLIED.
#REQUIRED
#FIXED
<ATTLIST 元素名称 属性名称 属性类型 #REQUIRED>
<!ATTLIST ElementName AttributeName AttributeType #FIXED "value">
Przykład
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<!ATTLIST person number CDATA #REQUIRED>
<sender company="Microsoft" />
<person number="5677" />
<person />
Jeśli nie masz opcji wartości domyślnej, ale wciąż chcesz wymusić, aby autor dostarczył atrybut, użyj słowa kluczowego #REQUIRED.
#FIXED
Gramatyka
<!ATTLIST ElementName AttributeName AttributeType #FIXED "value">
Przykład
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Prawidłowy XML:
<sender company="Microsoft" />
Nieprawidłowy XML:
<sender company="W3School" />
Jeśli chcesz, aby wartość atrybutu była stała i nie mogła być zmieniona przez autora, użyj słowa kluczowego #FIXED. Jeśli autor użyje innej wartości, parser XML zwróci błąd.
Wymienione wartości atrybutów
Gramatyka:
<!ATTLIST ElementName AttributeName AttributeType #FIXED "value">
Przykład DTD:
<!ATTLIST payment type (check|cash) "cash">
Przykład XML:
<payment type="check" />
Albo
<payment type="cash" />
- Jeśli wartość atrybutu ma być jedną z określonych legalnych wartości, użyj wartości wymienionych. Poprzednia strona
- Następna strona DTD Entności