با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلسه گذشته آموختیم که چگونه بلوک های XML را در DTD بسازیم و با آن ها کار کنیم. در این جلسه و در ادامه سر فصل آموزشی DTD با آموزش کار با عناصر DTD همراه شما خواهیم بود.
در DTD عناصر با یک علامت ELEMENT اعلام می شوند.
در DTD عناصر XML با سینتکس زیر شرح داده می شوند:
1 2 3 | <!ELEMENT element-name category> or <!ELEMENT element-name (element-content)> |
عناصر خالی با دسته بندی کلیدی EMPTY اعلام می شود:
1 2 3 4 5 6 7 8 9 | <!ELEMENT element-name EMPTY> Example: <!ELEMENT br EMPTY> XML example: <br /> |
عناصر با داده های کاراکتر تزیه شده فقط با #PCDATA در داخل پرانتز اعلام می شوند:
1 2 3 4 5 | <!ELEMENT element-name (#PCDATA)> Example: <!ELEMENT from (#PCDATA)> |
عناصری که با دسته بندی کلیدی ANY اعلام شده است، می تواند شامل هر ترکیبی از داده های parsable باشد:
1 2 3 4 5 | <!ELEMENT element-name ANY> Example: <!ELEMENT note ANY> |
عناصر با یک یا چند فرزند با نام عناصر children در داخل پرانتز اعلام می شود:
1 2 3 4 5 6 7 | <!ELEMENT element-name (child1)> or <!ELEMENT element-name (child1,child2,...)> Example: <!ELEMENT note (to,from,heading,body)> |
هنگامی که children در توالی جداگانه با کاما اعلام میشوند، باید در سند مشابهی ظاهر شوند.
در یک اعلام کامل، children نیز باید اعلام شوند، لذا children خود می توانند شامل children شوند.
اعلام کامل عنصر “note” به صورت زیر است:
1 2 3 4 5 | <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> |
1 2 3 4 5 | <!ELEMENT element-name (child-name)> Example: <!ELEMENT note (message)> |
مثال بالا نشان می دهد که عنصر فرزند “message” تنها یک بار و آن هم در درون عنصر “note” رخ می دهد.
1 2 3 4 5 | <!ELEMENT element-name (child-name+)> Example: <!ELEMENT note (message+)> |
علامت + در مثال بالا اعلام می کند که عنصر فرزند “message” باید یک بار یا بیشتر و آن هم در درون عنصر “note” رخ می دهد.
1 2 3 4 5 | <!ELEMENT element-name (child-name*)> Example: <!ELEMENT note (message*)> |
علامت * در مثال بالا اعلام می کند که عنصر فرزند “message” می تواند صفر بار و یا چندین مرتبه و آن هم در درون عنصر “note” رخ می دهد.
1 2 3 4 5 | <!ELEMENT element-name (child-name?)> Example: <!ELEMENT note (message?)> |
علامت ? در مثال بالا اعلام می کند که عنصر فرزند “message” می تواند صفر بار و یا یک مرتبه و آن هم در درون عنصر “note” رخ می دهد.
1 | <!ELEMENT note (to,from,header,(message|body))> |
مثال بالا اعلام می کند که عنصر “note” باید حاوی عناصر “to”، “FROM”، “header” باشد و علاوه بر آن شامل عناصر “message” و یا عنصر “body” شود.
1 | <!ELEMENT note (#PCDATA|to|from|header|message)*> |
مثال بالا اعلام می کند که عنصر “note” می تواند حاوی صفر یا چند رویداد از کاراکتر داده تجزیه شده باشد که شامل عناصر “to”, “from”, “header”, or “message” می شود.
در این جلسه با آموزش کار با عناصر در DTD همراه شما بودیم.
در جلسه بعد آموزش کار با Attribute ها در DTD را ارائه خواهیم کرد.
با پی وی لرن همراه باشید.