« مروري بر DTD | صÙ?ØÙ‡ اصلی | يك كد javascript كوچك »
ادامه مروري بر DTD
November 4, 2007 03:42 PM
Element ها در DTD
سينتكس Elements
در DTD با سينتكس زير element ها تعري�? مي شوند:
سينتكس Elements
در DTD با سينتكس زير element ها تعري�? مي شوند:
<!ELEMENT element-name category>
يا
<!ELEMENT element-name (element-content)>
يا
<!ELEMENT element-name (element-content)>
Empty Elements
در اين نوع Element ها category برابر EMPTY مقداردهي مي شود:
در اين نوع Element ها category برابر EMPTY مقداردهي مي شود:
<!ELEMENT element-name EMPTY>
مثال:
<!ELEMENT br EMPTY>
مثال:
<!ELEMENT br EMPTY>
در XML با توجه به اين DTD تعري�? br بايد چنين باشد:
<br />
Element هاي با Parsed Character Data
<!ELEMENT element-name (#PCDATA)>
Element هاي با هر Ù…ØØªÙˆØ§
مي توانند هر تركيبي از داده هاي قابل پارس را بپذيرند:
مي توانند هر تركيبي از داده هاي قابل پارس را بپذيرند:
<!ELEMENT element-name ANY>
Element هاي داراي �?رزند
<!ELEMENT element-name (child1)>
يا
<!ELEMENT element-name (child1,child2,…)>
مثال:
<!ELEMENT note (to,from,heading,body)>
يا
<!ELEMENT element-name (child1,child2,…)>
مثال:
<!ELEMENT note (to,from,heading,body)>
�?رزندان به همان ترتيبي كه در تعري�? آمده اند بايد در سند XML ظاهر شوند.
�?رزندان خود مي توانند داراي �?رزند باشند.
تعداد element هاي ممكن
در مثال هاي ذكر شده تا به ØØ§Ù„ تنها مي توان يك عدد از element را در XML قرار داد.
اگر بخواهيم كه تعداد تكرار يك element را مشخص نماييم از اين �?رمت ها است�?اده مي نماييم:
+ براي يك يا چند ،‌مثل
�?رزندان خود مي توانند داراي �?رزند باشند.
تعداد element هاي ممكن
در مثال هاي ذكر شده تا به ØØ§Ù„ تنها مي توان يك عدد از element را در XML قرار داد.
اگر بخواهيم كه تعداد تكرار يك element را مشخص نماييم از اين �?رمت ها است�?اده مي نماييم:
+ براي يك يا چند ،‌مثل
<!ELEMENT element-name (child-name+)>
* براي ص�?ر يا چند ، مثل
<!ELEMENT element-name (child-name*)>
? براي ص�?ر يا يك ، مثل
<!ELEMENT element-name (child-name?)>
Ù…ØØªÙˆØ§ÙŠ Ø¯Ùˆ ØØ§Ù„تي
تعري�? زير اشاره دارد به اينكه note element داراي يك to، يك from و يك header است، به علاوه يكي از عناصر message يا body (يا message يا body)
تعري�? زير اشاره دارد به اينكه note element داراي يك to، يك from و يك header است، به علاوه يكي از عناصر message يا body (يا message يا body)
<!ELEMENT note (to,from,header,(message|body))>
Ù…ØØªÙˆØ§ÙŠ ØªØ±ÙƒÙŠØ¨ÙŠ
تعري�? زير اشاره دارد به اينكه note element داراي ص�?ر يا چند تكرار از Parsed Character data، to، from، header يا message است.
تعري�? زير اشاره دارد به اينكه note element داراي ص�?ر يا چند تكرار از Parsed Character data، to، from، header يا message است.
<!ELEMENT note (#PCDATA|to|from|header|message)*>
Attribute ها در DTD
در DTD تعري�? attribute ها با عبارت ATTLIST انجام مي شود. سينتكس آن بدين شكل است:
در DTD تعري�? attribute ها با عبارت ATTLIST انجام مي شود. سينتكس آن بدين شكل است:
<!ATTLIST element-name attribute-name attribute-type default-value>
مثل
<!ATTLIST payment type CDATA "check">
مثل
<!ATTLIST payment type CDATA "check">
كه در XML بدين شكل بايد پياده شود:
<payment type="check" />
لازم به ذكر است كه لازم نيست در سند XML ØØªÙ…ا مقدار attribute را مساوي با defalt-value قرار دهيم. بلكه هر مقدار معتبري مطابق با type مشخص شده مي تواند باشد. ولي اگر مقداري به آن نسبت داده نشده باشد، مقدار آن برابر با default-value مي گردد.
به جاي default-value و نه همراه با آن، از سه عبارت REQUIRED# و IMPLIED# و FIXED value# هم مي توانيد است�?اده كنيد. در ادامه اين سه مورد معر�?ي مي شوند.
REQUIRED#
عبارت #REQUIRED مشخص مي كند كه attribute وجودش در عنصر مربوطه الزامي است. مثل
به جاي default-value و نه همراه با آن، از سه عبارت REQUIRED# و IMPLIED# و FIXED value# هم مي توانيد است�?اده كنيد. در ادامه اين سه مورد معر�?ي مي شوند.
REQUIRED#
عبارت #REQUIRED مشخص مي كند كه attribute وجودش در عنصر مربوطه الزامي است. مثل
<!ATTLIST person number CDATA #REQUIRED>
از REQUIRED# وقتي است�?اده نماييد كه مقداري بعنوان مقدار پيش �?رض نداريد، اما در عين ØØ§Ù„ مي خواهيد كه ØØªÙ…ا اين attribute وجود داشته باشد.
IMPLIED#
از IMPLIED# وقتي است�?اده كنيد كه مقداري بعنوان default نداريد و همچنين الزامي هم در وجود اين attribute وجود ندارد. مثال:
IMPLIED#
از IMPLIED# وقتي است�?اده كنيد كه مقداري بعنوان default نداريد و همچنين الزامي هم در وجود اين attribute وجود ندارد. مثال:
<!ATTLIST contact fax CDATA #IMPLIED>
FIXED value#
از اين عبارت وقتي است�?اده كنيد كه مي خواهيد attribute يك مقدار مشخص داشته باشد و نويسنده XML نتواند چيز ديگري به جاي آن بنويسد. اگر نويسنده چيز ديگري بنويسد، پارسر XML خطا برميگرداند. مثال:
از اين عبارت وقتي است�?اده كنيد كه مي خواهيد attribute يك مقدار مشخص داشته باشد و نويسنده XML نتواند چيز ديگري به جاي آن بنويسد. اگر نويسنده چيز ديگري بنويسد، پارسر XML خطا برميگرداند. مثال:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Attribute هاي داراي مقداير Enumerated
وقتي كه attribute مقادير مشخصي را مي تواند بپذيرد، اين مقادير در قسمت attribute-type تعري�? مي شوند. مثال:
وقتي كه attribute مقادير مشخصي را مي تواند بپذيرد، اين مقادير در قسمت attribute-type تعري�? مي شوند. مثال:
<!ATTLIST payment type (check|cash) "cash">
لازم به ذكر است كه attribute-type علاوه بر CDATAو enumerated عبارات ديگري را نيز مي تواند بپذيرد. از جمله ID، IDREF، IDREFS، NMTOKEN، NMTOKENS، ENTITY، ENTITIES، NOTATION و xml. براي آشنايي بيشتر با اين موارد به ساير منابع موجود در ارتباط با DTD از جمله مرجع اين نوشته رجوع نماييد:
ENTITY ها در DTD
Entity ها متغيرهايي هستند كه بعنوان shortcut براي برخي متون يا كاراكترهاي ديگر به كار مي روند. Entity به دو صورت internal و external قابل تعري�? است.
تعري�? Entity بصورت internal
سينتكس:
ENTITY ها در DTD
Entity ها متغيرهايي هستند كه بعنوان shortcut براي برخي متون يا كاراكترهاي ديگر به كار مي روند. Entity به دو صورت internal و external قابل تعري�? است.
تعري�? Entity بصورت internal
سينتكس:
<!ENTITY entity-name "entity-value">
مثال:
<!ENTITY writer "Donald Duck.">
<!ENTITY copyright "Copyright W3Schools.">
مثال:
<!ENTITY writer "Donald Duck.">
<!ENTITY copyright "Copyright W3Schools.">
Ùˆ Ù†ØÙˆÙ‡ است�?اده آنها در XML بدين صورت است:
<author>&writer;©right;</author>
توجه كنيد كه قبل از نام entity كاراكتر "&" و بعد از آن ";" مي آيد.
تعري�? Entity بصورت external
سينتكس:
تعري�? Entity بصورت external
سينتكس:
<!ENTITY entity-name SYSTEM "filename/URL">
مثال:
<!ENTITY writer SYSTEM "http://www.w3schools.com/entities.dtd">
<!ENTITY copyright SYSTEM "http://www.w3schools.com/entities.dtd">
مثال:
<!ENTITY writer SYSTEM "http://www.w3schools.com/entities.dtd">
<!ENTITY copyright SYSTEM "http://www.w3schools.com/entities.dtd">
Ù†ØÙˆÙ‡ است�?اده از external entity مانند internal است.
نظرخواهی
ارسال شده توسط: xanax-rx در ساعت May 31, 2009 07:42 PM
cheap xanax 2mg overnight delivery or xanax or klonopin or combine vicodin with xanax or xanax online overnight shipping or xanax deaths
ارسال شده توسط: cheap-xanax-2mg-over در ساعت May 31, 2009 07:42 PM