DTD elementlari
DTD’da elementlar ELEMENT e’loni bilan e’lon qilinadi.
Elementlarni e’lon qilish
DTD’da XML elementlari quyidagi sintaksis bilan e’lon qilinadi:
<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>Bo‘sh elementlar
Bo‘sh elementlar EMPTY kategoriya kalit so‘zi bilan e’lon qilinadi:
<!ELEMENT element-name EMPTY>
Example:
<!ELEMENT br EMPTY>
XML example:
<br />Tahlil qilinadigan belgili ma’lumotlarga ega elementlar
Faqat tahlil qilinadigan belgili ma’lumotlarga ega elementlar qavs ichidagi #PCDATA bilan e’lon qilinadi:
<!ELEMENT element-name (#PCDATA)>
Example:
<!ELEMENT from (#PCDATA)>Istalgan kontentga ega elementlar
ANY kategoriya kalit so‘zi bilan e’lon qilingan elementlar tahlil qilinadigan ma’lumotlarning istalgan kombinatsiyasini o‘z ichiga olishi mumkin:
<!ELEMENT element-name ANY>
Example:
<!ELEMENT note ANY>Bola elementlarga ega elementlar (ketma-ketliklar)
Bir yoki bir nechta bola elementga ega elementlar qavs ichida bola elementlar nomini yozish orqali e’lon qilinadi:
<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>
Example:
<!ELEMENT note (to,from,heading,body)>Bola elementlar vergul bilan ajratilgan ketma-ketlikda e’lon qilinganda, ular hujjatda ham aynan shu ketma-ketlikda kelishi kerak. To‘liq e’londa bola elementlar ham e’lon qilinishi kerak, bola elementlarning esa o‘z bolalari bo‘lishi mumkin. "note" elementining to‘liq e’loni:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>Elementning faqat bir marta kelishini e’lon qilish
<!ELEMENT element-name (child-name)>
Example:
<!ELEMENT note (message)>Yuqoridagi misol "message" bola elementi "note" elementi ichida bir marta va faqat bir marta kelishi kerakligini e’lon qiladi.
Elementning kamida bir marta kelishini e’lon qilish
<!ELEMENT element-name (child-name+)>
Example:
<!ELEMENT note (message+)>Yuqoridagi misoldagi + belgisi "message" bola elementi "note" elementi ichida bir yoki bir necha marta kelishi kerakligini e’lon qiladi.
Elementning nol yoki undan ko‘p marta kelishini e’lon qilish
<!ELEMENT element-name (child-name*)>
Example:
<!ELEMENT note (message*)>Yuqoridagi misoldagi * belgisi "message" bola elementi "note" elementi ichida nol yoki undan ko‘p marta kelishi mumkinligini e’lon qiladi.
Elementning nol yoki bir marta kelishini e’lon qilish
<!ELEMENT element-name (child-name?)>
Example:
<!ELEMENT note (message?)>Yuqoridagi misoldagi ? belgisi "message" bola elementi "note" elementi ichida nol yoki bir marta kelishi mumkinligini e’lon qiladi.
"Yo/yoki" kontentini e’lon qilish
<!ELEMENT note (to,from,header,(message|body))>Yuqoridagi misol "note" elementi "to" elementi, "from" elementi, "header" elementi va yo "message", yo "body" elementini o‘z ichiga olishi kerakligini e’lon qiladi.
Aralash kontentni e’lon qilish
<!ELEMENT note (#PCDATA|to|from|header|message)*>Yuqoridagi misol "note" elementi tahlil qilinadigan belgili ma’lumotlarni, "to", "from", "header" yoki "message" elementlarini nol yoki undan ko‘p marta o‘z ichiga olishi mumkinligini e’lon qiladi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
