DTD elementlari


DTD’da elementlar ELEMENT e’loni bilan e’lon qilinadi.


ULASHISH

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!