DTD - عناصر

  • مثال بالا اعلام می‌کند: عنصر "note" می‌تواند PCDATA، "to"، "from"، "header" یا "message" را شامل شود که صفر یا چندین بار ظاهر شوند. صفحه قبلی
  • صفحه بعدی ویژگی‌های 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)*)>

  • مثال بالا اعلام می‌کند: عنصر "note" می‌تواند PCDATA، "to"، "from"، "header" یا "message" را شامل شود که صفر یا چندین بار ظاهر شوند. صفحه قبلی
  • صفحه بعدی ویژگی‌های DTD