Najnowsze tutoriale tworzenie stron internetowych
 

DTD - Atrybuty


W DTD, atrybuty są deklarowane z deklaracją ATTLIST.


Deklarowanie atrybutów

Deklaracja atrybut ma następującą składnię:

<!ATTLIST element-name attribute-name attribute-type attribute-value>

DTD example:

<!ATTLIST payment type CDATA "check">

XML example:

<payment type="check" />

attribute-type może być jedną z następujących czynności:

Rodzaj Opis
CDATA Wartością jest dane znakowe
( en1 | en2 |..) Wartość musi być jedną z listy wyliczeniowej
ID Wartością jest unikatowy identyfikator
IDREF Wartością jest identyfikator innego elementu
IDREFS Wartością jest lista innych identyfikatorów
NMTOKEN Wartość ta jest poprawna nazwa XML
NMTOKENS Wartością jest lista poprawnych nazw XML
ENTITY Wartością jest podmiotem
ENTITIES Wartością jest lista podmiotów
NOTATION Wartością jest nazwa notacji
xml: Wartość ta jest z góry określona wartość xml

attribute-value może być jedną z następujących czynności:

Wartość Wyjaśnienie
value Domyślna wartość atrybutu
#REQUIRED Wymagany jest atrybut
#IMPLIED Ten atrybut jest opcjonalny
#FIXED value Wartość atrybutu jest stała

Wartość domyślna Atrybut

DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">

Valid XML:
<square width="100" />

W powyższym przykładzie, "square" element jest zdefiniowany jako pusty element z "width" atrybutu typu CDATA. Jeśli nie jest określona szerokość, ma domyślną wartość 0.


#WYMAGANY

Składnia

<!ATTLIST element-name attribute-name attribute-type #REQUIRED>

Przykład

DTD:
<!ATTLIST person number CDATA #REQUIRED>

Valid XML:
<person number="5677" />

Invalid XML:
<person />

Użyj słowa kluczowego REQUIRED jeśli nie ma opcji do wartości domyślnej, ale nadal chcą zmusić atrybut być obecny.


#UKRYTY

Składnia

<!ATTLIST element-name attribute-name attribute-type #IMPLIED>

Przykład

DTD:
<!ATTLIST contact fax CDATA #IMPLIED>

Valid XML:
<contact fax="555-667788" />

Valid XML:
<contact />

Użyj słowa kluczowego #IMPLIED jeśli nie chcą zmusić autora zawierać atrybut, i nie ma opcji na wartość domyślną.


#NAPRAWIONY

Składnia

<!ATTLIST element-name attribute-name attribute-type #FIXED "value">

Przykład

DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">

Valid XML:
<sender company="Microsoft" />

Invalid XML:
<sender company="w3ii" />

Użyj słowa kluczowego #FIXED kiedy chcesz atrybut mieć stałą wartość, nie pozwalając autorowi, aby go zmienić. Jeśli autor zawiera inną wartość, parser XML zwróci błąd.


Wyliczone wartości atrybutów

Składnia

<!ATTLIST element-name attribute-name (en1|en2|..) default-value>

Przykład

DTD:
<!ATTLIST payment type (check|cash) "cash">

XML example:
<payment type="check" />
or
<payment type="cash" />

Użyj wyliczonych wartości atrybutów, gdy chcemy wartość atrybutu być jednym z ustalonym zestawem wartości prawnych.