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