Bir DTD olarak, nitelikler bir ATTLIST beyanı ile beyan edilir.
Öznitelikler'i bildirme
Bir Öznitelik bildirimi sözdizimi aşağıdaki gibidir:
<!ATTLIST element-name attribute-name attribute-type attribute-value>
DTD example:
<!ATTLIST payment type CDATA "check">
XML example:
<payment type="check" />
attribute-type aşağıdakilerden biri olabilir:
tip | Açıklama |
---|---|
CDATA | değeri, karakter verileri |
( en1 | en2 |..) | değeri numaralandırılmış listeden biri olmalıdır |
ID | Değer benzersiz id |
IDREF | değeri başka bir elemanın id |
IDREFS | değeri, diğer kimlikleri bir listesi |
NMTOKEN | değeri geçerli bir XML adıdır |
NMTOKENS | değeri geçerli XML adlarının bir listesidir |
ENTITY | değer bir varlıktır |
ENTITIES | değer varlıkların listesidir |
NOTATION | değeri bir gösterim adıdır |
xml: | değeri önceden xml değeridir |
attribute-value aşağıdakilerden biri olabilir:
değer | açıklama |
---|---|
value | özelliğinin varsayılan değer |
#REQUIRED | Özelliğin gerekli olup |
#IMPLIED | nitelik isteğe bağlıdır |
#FIXED value | özellik değeri sabittir |
Bir Standart Özellik Değeri
DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">
Valid XML:
<square width="100" />
Yukarıdaki örnekte, "square" elemanı ile boş eleman olarak tanımlanır "width" tipi CDATA'da öznitelik. hiç bir genişlik belirtilirse, bu 0 varsayılan değerine sahiptir.
#GEREKLİDİR
Sözdizimi
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
Örnek
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Valid XML:
<person number="5677" />
Invalid XML:
<person />
Bir varsayılan değeri için bir seçenek yoksa #REQUIRED anahtar kelimeyi kullanın, ancak yine de mevcut olması özelliğini zorlamak istiyorum.
#IMPLIED
Sözdizimi
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
Örnek
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
Valid XML:
<contact fax="555-667788" />
Valid XML:
<contact />
Bir özellik içerecek şekilde yazar zorlamak istemiyorsanız #IMPLIED anahtar kelimeyi kullanın ve varsayılan değer için bir seçenek yok.
#SABİT
Sözdizimi
<!ATTLIST element-name attribute-name attribute-type #FIXED "value">
Örnek
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Valid XML:
<sender company="Microsoft" />
Invalid XML:
<sender company="w3ii" />
Bir özelliği değiştirmek için yazar izin vermeden sabit değere sahip istediğinizde #FIXED anahtar kelime kullanın. Bir yazar başka bir değer içeriyorsa, XML ayrıştırıcı bir hata döndürür.
Sabit Öznitelik Değerleri
Sözdizimi
<!ATTLIST element-name attribute-name (en1|en2|..) default-value>
Örnek
DTD:
<!ATTLIST payment type (check|cash) "cash">
XML example:
<payment type="check" />
or
<payment type="cash" />
Eğer özellik değeri hukuki değerleri sabit bir kümesi biri olmak istediğinizde sabit öznitelik değerleri kullanın.