DTD - العناصر
في DTD ، يتم التصريح عن العناصر بتصريح ELEMENT.
إعلان العناصر
في DTD ، يتم التصريح عن عناصر XML بالصيغة التالية:
<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>
العناصر الفارغة
يتم التصريح عن العناصر الفارغة بالكلمة الأساسية للفئة فارغة:
<!ELEMENT element-name EMPTY>
Example:
<!ELEMENT br EMPTY>
XML example:
<br />
العناصر مع بيانات الأحرف الموزعة
يتم التصريح عن العناصر التي تحتوي على بيانات أحرف تم تحليلها فقط باستخدام #PCDATA داخل أقواس:
<!ELEMENT element-name (#PCDATA)>
Example:
<!ELEMENT from (#PCDATA)>
العناصر مع أي محتويات
يمكن أن تحتوي العناصر المعلنة بالكلمة الأساسية للفئة "أي" على أي مجموعة من البيانات القابلة للتحليل:
<!ELEMENT element-name ANY>
Example:
<!ELEMENT note ANY>
العناصر مع الأطفال (تسلسل)
يتم التصريح عن العناصر التي تحتوي على واحد أو أكثر من العناصر الفرعية داخل أقواس باسم العناصر الفرعية:
<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>
Example:
<!ELEMENT note (to,from,heading,body)>
عندما يتم التصريح عن الأطفال في تسلسل مفصولة بفواصل ، يجب أن يظهر الأطفال بنفس التسلسل في المستند. في الإعلان الكامل ، يجب أيضًا الإعلان عن الأطفال ، ويمكن للأطفال أيضًا إنجاب الأطفال. الإعلان الكامل عن عنصر "الملاحظة" هو:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
التصريح عن حادثة واحدة فقط للعنصر
<!ELEMENT element-name (child-name)>
Example:
<!ELEMENT note (message)>
يوضح المثال أعلاه أن العنصر الفرعي "message" يجب أن يظهر مرة واحدة ومرة واحدة فقط داخل عنصر "note".
إعلان الحد الأدنى لمرة واحدة للعنصر
<!ELEMENT element-name (child-name+)>
Example:
<!ELEMENT note (message+)>
توضح علامة + في المثال أعلاه أن العنصر الفرعي "message" يجب أن يظهر مرة واحدة أو أكثر داخل عنصر "note".
التصريح عن عدد حالات صفر أو أكثر لعنصر
<!ELEMENT element-name (child-name*)>
Example:
<!ELEMENT note (message*)>
تعلن علامة * في المثال أعلاه أن العنصر الفرعي "message" يمكن أن يحدث صفرًا أو أكثر من المرات داخل عنصر "note".
التصريح بصفر أو حدث واحد للعنصر
<!ELEMENT element-name (child-name?)>
Example:
<!ELEMENT note (message?)>
ال ؟ يوضح تسجيل الدخول في المثال أعلاه أن العنصر الفرعي "message" يمكن أن يحدث صفرًا أو مرة واحدة داخل عنصر "note".
التصريح إما / أو المحتوى
<!ELEMENT note (to,from,header,(message|body))>
يوضح المثال أعلاه أن عنصر "note" يجب أن يحتوي على عنصر "to" ، وعنصر "from" ، وعنصر "header" ، وإما عنصر "message" أو "body".
إعلان المحتوى المختلط
<!ELEMENT note (#PCDATA|to|from|header|message)*>
يوضح المثال أعلاه أن عنصر "note" يمكن أن يحتوي على صفر أو أكثر من تكرارات بيانات الأحرف المحللة ، أو "إلى" ، أو "من" ، أو "الرأس" ، أو "الرسالة".