DTD - 属性

Στην DTD, η περίοδος δηλώνεται μέσω της διαθήκης ATTLIST.

Διακρίνετε την περίοδο

Η διατύπωση της διακήρυξης περιόδου χρησιμοποιεί την εξής γραμματική:

<!ATTLIST στοιχείο όνομα περιόδου τύπου default>

Παράδειγμα DTD:

<!ATTLIST payment type CDATA "check">

Παράδειγμα XML:

<payment type="check" />

Είναι:Τύπος περιόδουτις επιλογές του:

Τύπος Περιγραφή
CDATA τις αξίες των δεδομένων χαρακτήρων (character data)
(en1|en2|..) αυτή η τιμή είναι μια από τις τιμές της λίστας των τύπων
ID τις αξίες του μοναδικού id
IDREF τις αξίες του id ενός άλλου στοιχείου
IDREFS λίστα άλλων id
NMTOKEN τις αξίες του νόμιμου XML ονόματος
NMTOKENS Η τιμή είναι μια λίστα νόμιμων ονομάτων XML
ENTITY Η τιμή είναι ένα όνειρο
ENTITIES Η τιμή είναι μια λίστα εντύπων
NOTATION Αυτή η τιμή είναι το όνομα του συμβολικού
xml: Η τιμή είναι μια προκαθορισμένη τιμή XML

Οι παράμετροι του προεπιλεγμένου συνόλου τιμών μπορούν να χρησιμοποιηθούν ως εξής:

Τιμή Επεξήγηση
Τιμή Η προεπιλεγμένη τιμή της παράμετρος
#REQUIRED Η τιμή της παράμετρος είναι απαραίτητη
#IMPLIED Η παράμετρος δεν είναι απαραίτητη
#FIXED value Η τιμή της παράμετρος είναι σταθερή

Ορίζετε μια προεπιλεγμένη τιμή για την παράμετρο

DTD:

!ELEMENT square EMPTY>
!ATTLIST square width ενημερωμένα "0">

Νόμιμη XML:

<square width="100" />

Στο παραπάνω παράδειγμα, το "square" ορίζεται ως κενό στοιχείο με την τύπο παραμέτρου "width" με τύπο CDATA. Αν η διάσταση δεν έχει οριστεί, η προεπιλεγμένη τιμή είναι 0.

#IMPLIED

Γλώσσα:

!ATTLIST στοιχεία όνομα_παράμετρος τύπος_παράμετρος #IMPLIED>

Παράδειγμα

DTD:

!ATTLIST contact fax ενημερωμένα #IMPLIED>

Νόμιμη XML:

<contact fax="555-667788" />

Νόμιμη XML:

<contact />

Αν δεν θέλετε να υποχρεώσετε τους συγγραφείς να περιλαμβάνουν παράμετρο και δεν έχετε επιλογή προεπιλεγμένης τιμής, χρησιμοποιήστε το κλειδί #IMPLIED.

#REQUIRED

Γλώσσα:

!ATTLIST στοιχεία όνομα_παράμετρος τύπος_παράμετρος #REQUIRED>

Παράδειγμα

DTD:

!ATTLIST person number ενημερωμένα #REQUIRED>

Νόμιμη XML:

<person number="5677" />

Μη νόμιμη XML:

<person />

Αν δεν έχετε επιλογή προεπιλεγμένης τιμής αλλά θέλετε να υποχρεώσετε τους συγγραφείς να υποβάλουν παράμετρο, χρησιμοποιήστε το κλειδί #REQUIRED.

#FIXED

Γλώσσα:

!ATTLIST στοιχεία όνομα_παράμετρος τύπος_παράμετρος #FIXED "value">

Παράδειγμα

DTD:

!ATTLIST στοιχεία όνομα_παράμετρος ενημερωμένα #FIXED "Microsoft">

Νόμιμη XML:

<sender company="Microsoft" />

Μη νόμιμη XML:

<sender company="W3School" />

Αν θέλετε να έχει η παράμετρος σταθελή τιμή και να μην επιτρέπεται στους συγγραφείς να την αλλάξουν, χρησιμοποιήστε το κλειδί #FIXED. Αν οι συγγραφείς χρησιμοποιήσουν διαφορετική τιμή, ο αναλυτής XML θα επιστρέψει σφάλμα.

Αναφέρετε τις τιμές των παραμέτρων

Γλώσσα:

!ATTLIST στοιχεία όνομα_παράμετρος (en1|en2|..) default_value>

DTD 例子:

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

XML 例子:

<payment type="check" />

或者

<payment type="cash" />

如果您希望属性值为一系列固定的合法值之一,请使用列举属性值。