DTD - Στοιχεία
Σε ένα DTD, τα στοιχεία δηλώνονται μέσω δηλώσεων στοιχείων.
Δημιουργία μιας δηλώσης στοιχείου
Σε ένα DTD, τα στοιχεία XML δηλώνονται μέσω δηλώσεων στοιχείων. Οι δηλώσεις στοιχείων χρησιμοποιούν τη γλώσσα:
!ELEMENT στοιχεία Ονόματος Κατηγορία>
ή
!ELEMENT στοιχεία Ονόματος ( περιεχόμενο στοιχείων)>
Κενά στοιχεία
Τα κενά στοιχεία δηλώνονται με τον όρο κατηγορίας EMPTY:
!ELEMENT στοιχεία Ονόματος EMPTY>
例子:
!ELEMENT br EMPTY>
Παράδειγμα XML:
<br />
Στοιχεία που περιέχουν μόνο PCDATA
Τα στοιχεία που περιέχουν μόνο PCDATA δηλώνονται με το #PCDATA εντός κόκκινων παρενθέσεων:
!ELEMENT στοιχεία Ονόματος (#PCDATA)>
例子:
!ELEMENT από (#PCDATA)>
Στοιχεία με οποιοδήποτε περιεχόμενο
Τα στοιχεία που δηλώνονται με τον όρο κατηγορίας ANY μπορούν να περιέχουν οποιαδήποτε σύνθεση δεδομένων που μπορεί να αναλυθεί:
!ELEMENT στοιχεία Ονόματος ANY
例子:
!ELEMENT note ANY
Τα στοιχεία με υποστοιχεία (σειρά)
Τα στοιχεία με ένα ή περισσότερα υποστοιχεία δηλώνονται με το όνομα των υποστοιχείων μέσα στα γυαλιστερά κεφάλαια:
<!ELEMENT στοιχείο_ονόματος (υποστοιχείο_ονόματος 1)>
ή
<!ELEMENT στοιχείο_ονόματος (υποστοιχείο_ονόματος 1,υποστοιχείο_ονόματος 2,...)>
例子:
<!ELEMENT note (to,from,heading,body)>
Όταν τα υποστοιχεία δηλώνονται με μια σειρά από κόμματα, πρέπει να εμφανίζονται με την ίδια σειρά στο έγγραφο. Σε μια πλήρη δήλωση, τα υποστοιχεία πρέπει επίσης να δηλωθούν, και τα υποστοιχεία μπορούν να έχουν υποστοιχεία. Η πλήρης δήλωση του στοιχείου "note" είναι:
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Η δήλωση στοιχείων που εμφανίζονται μόνο μια φορά
<!ELEMENT στοιχείο_ονόματος (υποστοιχείο_ονόματος)>
例子:
<!ELEMENT note (message)>
Η παραπάνω παράδειγμα δηλώνει ότι το στοιχείο child message πρέπει να εμφανίζεται μια φορά και μόνο μέσα στο στοιχείο "note".
Η δήλωση στοιχείων που εμφανίζονται τουλάχιστον μια φορά
<!ELEMENT στοιχείο_ονόματος (υποστοιχείο_ονόματος+)>
例子:
<!ELEMENT note (message+)>
Η προσθήκη στην παραπάνω παράδειγμα δηλώνει ότι το στοιχείο child message πρέπει να εμφανίζεται τουλάχιστον μια φορά μέσα στο στοιχείο "note".
Η δήλωση στοιχείων που εμφανίζονται μηδέν ή πολλές φορές
<!ELEMENT στοιχείο_ονόματος (υποστοιχείο_ονόματος*)>
例子:
<!ELEMENT note (message*)>
Η αστέριά στην παραπάνω παράδειγμα δηλώνει ότι το στοιχείο child message μπορεί να εμφανίζεται μηδέν ή πολλές φορές μέσα στο στοιχείο "note".
Η δήλωση στοιχείων που εμφανίζονται μηδέν ή μια φορά
<!ELEMENT στοιχείο_ονόματος (υποστοιχείο_ονόματος?)>
例子:
<!ELEMENT note (message?)>
Η παράθεση ερωτήματος στην παραπάνω παράδειγμα δηλώνει ότι το στοιχείο child message μπορεί να εμφανίζεται μηδέν ή μια φορά μέσα στο στοιχείο "note".
Η δήλωση περιεχομένου τύπου "μη.../ή..."
例子:
<!ELEMENT note (to,from,header,(message|body))>
Η παραπάνω παράδειγμα δηλώνει ότι το στοιχείο "note" πρέπει να περιέχει τα στοιχεία "to", "from", "header", και τα στοιχεία που δεν είναι "message" αλλά "body".
声明混合类型的内容
例子:
<!ELEMENT note (#PCDATA|to|from|header|message)*>
上述例子声明了:"note" 元素可包含出现零次或多次的 PCDATA、"to"、"from"、"header" 或者 "message"。