DTD - عنصر
- الصفحة السابقة بناء وحدة DTD
- الصفحة التالية خصائص DTD
在一个 DTD 中,元素通过元素声明来进行声明。
声明一个元素
在 DTD 中,XML 元素通过元素声明来进行声明。元素声明使用下面的语法:
!ELEMENT 元素名称 类别
أو
!ELEMENT 元素名称 (元素内容)
空元素
空元素通过类别关键词EMPTY进行声明:
!ELEMENT 元素名称 EMPTY
مثال:
!ELEMENT br EMPTY
XML例子:
<br />
只有 PCDATA 的元素
只有 PCDATA 的元素通过圆括号中的 #PCDATA 进行声明:
!ELEMENT 元素名称 (#PCDATA)
مثال:
!ELEMENT from (#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)>
تعلن الأمثلة السابقة: يجب أن يظهر العنصر الفرعي "message" مرة واحدة فقط، وأن يظهر داخل عنصر "note" فقط.
بيان العناصر التي تظهر مرة واحدة على الأقل
<!ELEMENT اسم_العنصر (اسم_العنصر_الفرعي+)>
مثال:
<!ELEMENT note (message+)>
يؤكد العلامة المضافة في الأمثلة السابقة: يجب أن يظهر العنصر الفرعي "message" مرة واحدة على الأقل داخل عنصر "note".
بيان العناصر التي تظهر صفر مرات أو مرات متعددة
<!ELEMENT اسم_العنصر (اسم_العنصر_الفرعي*)>
مثال:
<!ELEMENT note (message*)>
يؤكد النجمة في الأمثلة السابقة: يمكن أن يظهر العنصر الفرعي "message" صفر مرات أو مرات متعددة داخل عنصر "note".
بيان العناصر التي تظهر صفر مرات أو مرة واحدة
<!ELEMENT اسم_العنصر (اسم_العنصر_الفرعي?)>
مثال:
<!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)*>
النموذج أعلاه يفيد في: "النوع" العنصر يمكن أن يحتوي على PCDATA يظهر صفر مرة أو أكثر، "to"، "from"، "header" أو "message".
- الصفحة السابقة بناء وحدة DTD
- الصفحة التالية خصائص DTD