1 / 53

معرفی XML و DTD

معرفی XML و DTD. با تشکر از: علی آراسته، محمد مهدی حاتمی، جواد سلیمی، مجتبی محامد. XML. مقدمه XML قوانین نگارش در XML ساختار DTD. »». مقدمه XML. XML چیست ؟ XML. e X tensible. L anguage. M arkup. »» XML یک Meta Markup Language است.

telyn
Download Presentation

معرفی XML و DTD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. معرفی XML و DTD با تشکر از: علی آراسته، محمد مهدی حاتمی، جواد سلیمی، مجتبی محامد

  2. XML مقدمه XML قوانین نگارش در XML ساختار DTD

  3. »»

  4. مقدمه XML

  5. XML چیست ؟ XML eXtensible Language Markup »»XML یک Meta Markup Language است. »»XML برای انتقال دادهای ساخت یافته در محیط اینترنت . »» قالبی مناسب برای ذخیره سازی داده‌ها.

  6. تاریخچه XML eXtensible Markup Language XML HyperText Markup Language HTML Standard Generalized Markup Language SGML

  7. ضرورت :XML ضرورت‌ها : »» ذخیره ,سازمان‌بندی و ارسال اطلاعات »»تقريبا تمام استانداردها وپروتكل هاي web service بر اساس XML هستند. »» ظرفيت فايل هاي XML زياد است. »»XML ماژولار است

  8. تفاوت XML با HTML »»XML به منظور حمل اطلاعات طراحی شده »»XML و HTML هر کدام برای هدف خاصی طراحی شده اند. »»XML برای ذخيره وسازمان بندي اطلاعات بوجود آمد. »»HTML برای نمایش اطلاعات بوجود آمد

  9. کاربرد XML »» مبادله اطلاعات بين برنامه هاي نا متجانس ،بنگاه هاي تجاري وبانك هاي اطلاعاتي »»امكان فعال نمودن مدلي براي نمايش اطلاعات يكسان بر روي دستگاه هاي متفاوت بااهداف گوناگون. »»يك قالب مناسب براي ذخيره اطلاعات

  10. قوانین نگارش در XML

  11. قوانین نگارش »» ابزارهای نوشتن و اجرا: »»XML را مانند HTML می‌توان با هر ویرایشگر متنی نوشت. »» اجرایXML با مرورگرها »» تبدیل سایر اسناد به اسناد XML »» تبدیل اسناد XML به HTML

  12. قوانین نگارش »» عناصر: XML نيز مانند HTML از سه قسمت عناصر‍،ويژگي ها و مقادير تشكيل شده است . هر عنصر دارای یک برچسب شروع ویک بر چسب پایان دارد. <element>contents</element> برچسب پایانی بر چسب شروع مثال: <bank>customer</bank>

  13. قوانین نگارش »» عناصر: هر عنصر مي تواند محتوياتي داشته باشد. هر عنصر می‌تواند یک ویژگی یا بیشتر داشته باشد. اطلاعاتی که توسط ویژگی‌ها تعریف می‌شوند Meta Data نامیده می‌شوند. Attribute بر چسب شروع برچسب پایانی <name language = “English ”>Tiger</name> <name language = “English ”>Tiger</name> نام ویژگی مقدار ویژگی محتویات

  14. قوانین نگارش »» ادامه Code.xml <animal> <name Language = “English ”>Tiger</name> <weight>500 pound </weight> </animal> Code.xml <bank name= “mellat ”>customer</bank>

  15. قوانین نگارش »» ادامه عنصر ریشه (Root Element): »»یک سند XML باید یک عنصر ریشه داشته باشد . »»فقط دستورات پردازشیوتوضیحات می‌توانند خارج از عنصر ریشه باشند. عناصر تودر تو: <element Out>content <element In>content </element In></element Out> »»به هر میزان دلخواه می‌توان عناصر تودرتو ایجاد کرد. »»هر عنصر باید به طورکامل داخل عنصرپدربسته شود . <b><i>This is a example</i></b>

  16. قوانین نگارش »» ادامه Comments نحوه ي نوشتن توضيحات: <! - - updated May 3,2007 - - > اعلان XML : <? xml version =“1.0” ? >

  17. قوانین نگارش »» ادامه »»نمايش عناصر در قالب متني <‍‌‍‌[CDATA[CONTENTS]]!> كلمه ي كليدي محتوياتي كه قرار است به كاربر نمايش داده شود مثال: Code.xml ‍‌‍‌ <![CDATA[<Address> <city>kashan</kashan> <Street>A<>/street] ]> »» امكان استفاده ار ساختار CDATA به صورت تو در تو وجود ندارد.

  18. قوانین نگارش »»ادامه نکات: »»XML بین حروف بزرگ و کوچک فرق می‌گذارد »»مقادیر باید داخل ‘ ’ یا “ ” قرار گیرند. »»برخلاف HTML برچسب پایانی حتماً باید داشته باشیم . »»توضیحات تودرتو نمی‌توانیم داشته باشیم. »»توضیحات توسط مفسرهای XML نادیده فرض می‌شوند. »»دستوراتی که با <?شروع و با ?> به پایان می‌رسند دستورات پردازشی هستند. »»سند XML را با پسوند .xml ذخیره می‌کنند.

  19. قوانین نگارش »» عناصر مثال: <? xml version =“1.0” ?> <!- - This is a example - -> <animal> <name language = “English”>Tiger</name> <name language= “Latin”>Panthera Tigris</name> <Weight>500 pounds</weight> </animal>

  20. DTD

  21. :DTD »» ساختار DTD داخلی »» ساختار DTD خارجی »» ساختار DTD شخصی »» ساختار DTDعمومی »» قوانین اعتباری در ساختار DTD »» موجودیت‌ها و عبارات توضیحی در ساختار DTD

  22. انواع مجموعه قوانین : • DTD • شمای XML (XML Schema ) »» مجموعه قوانین منطقی و مفهومی میان اطلاعات در حوزه کاربردی . DTD چیست ؟ DTD مخفف Document Type Definition است . DTD ها ساختار قدیمی تعریف مجموعه قوانین برای اسنادXML می باشند . هدف از تعريف DTD منسجم كردن روابط بين داده ها است.

  23. <!DOCTYPE root[ مجموعه قوانین]> عنصر ریشه سند XML تعریف DTD داخلی : برای ایجاد یک یا چند سند محدود از ساختار DTD داخلی استفاده می‌شود . DTD داخلی درداخل سند XML تعریف می‌شود . در ابتدای سند XML مورد نظر و بعد از اعلان XML و به صورت زیر تعریف می‌شود :

  24. DTD داخلی »»یک مثال : <? xml version =“1.0” ?> <!DOCTYPE animal[ ]> <animal> . . . .</animal> قوانین DTD محتویات سند XML

  25. تعریف DTD خارجی : »» در مواردي كه ساختار اطلاعاتي داراي مجموعه اي از چندين سند XMLمختلف باشد از DTD خارجي استفاده مي شود. »» با استفاده از يك ويرايشگر متني قوانين DTD مورد نظر خود را در يك فايل با پسوند .dtdذخيره مي كنيم. »»در صورتي كه DTD ايجاد شده توسط ديگران نيز مورد استفاده قرار مي گيرد از استاندارد FPI براي نام گذاري آن استفاده مي كنيم .

  26. تعریف DTD خارجی »»ادامه شخص يا سازمان پشتيباني كننده DTD تعريف مشخصه ي عمومي رسمي +//owner//DTD label //xx// شرحي ويژه از DTD بر اسا س استاندارد ISO عبارت مخفف دو حرفي معرف زبان بر اساس استاندارد ISO 639 -//owner//DTD label //xx// بدون استاندارد

  27. تعریف DTD خارجی شخصي اعلان DTD خارجي شخصي در سند XML : »»در قسمت اعلان XML عبارت Standalone=”no” قرارمي دهيم سپس عبارت زير را مي نويسيم: <!DOCTYPE root SYSTEM “file.dtd” > نام عنصر ريشه در سند XML مسير و نام فايل DTD به معناي اينكه DTD تعريف شده يك DTD شخصي است

  28. تعریف DTD خارجی شخصي »» ادامه مثال: <? xml version =“1.0” Standalone=”no”?> <!DOCTYPE endangered_species SYSTEM “http://www.cookwood.com /xml/ End _species.dtd”> »»در صورت لزوم مي توانيم از DTD داخلي وخارجي به همراه يكديگر استفاده كنيم. »» با DTD می توانیم اطلاعات خود را از نظر صحت بررسی کنیم.

  29. تعریف DTD عموميخارجی: <!DOCTYPE root PUBLIC DTD_name “file.dtd” > مسير و نام فايل DTD نام عنصر ريشه در سند XML نام DTD بر اساس FPI به معناي اينكه DTD تعريف شده يك DTD شخصي است

  30. تعریف DTD عموميخارجی »» ادامه مثال <? xml version =“1.0” Standalone=”no”?> <!DOCTYPEendangered_speciesPUBLIC “-//liz castro//DTD End_species//EN//” “http://www.cookwood.com/xml/ End _species.dtd”> محتویات سند XML

  31. <!ELEMENT tag Type> قوانین اعتباری در ساختار DTD »»قوانين مربو ط به عناصر: عنصر مورد نظر در سند xml EMPTY (CONTENTS) ANY كلمه ي كليدي

  32. قوانین اعتباری در ساختار DTD چند مثال: <!ELEMEN endangered_species(animal)> <!ELEMEN picture EMPTY> <!ELEMEN endangered_species ENY> »» ترتيب تعريف عناصر در ساختار DTD مهم نيست.

  33. قوانین اعتباری در ساختار DTD »» ادامه اعلان عناصري كه فقط شامل عبارت هاي متني هستند: <!ELEMEN element_name (#PCDATA)> عنصر فقط شامل عبارت هاي متني است عنصري كه قصد تعريف آن را داريم كلمه ي كليدي »»عنصري كه بر اساس فرايند بالا توليد شود نمي تواند شامل عنصر ديگري باشد.

  34. قوانین اعتباری در ساختار DTD »» ادامه مثال: Code.dtd Code.xml <!ELEMEN Address ANY> <Address> <!ELEMEN CITY (#PCDATA )> <CITY> kashan </CITY> <!ELEMEN Street (#PCDATA )> <Street> A </Street> <!ELEMEN Zip (#PCDATA )> <Zip> 1264 </Zip> </Address>

  35. قوانین اعتباری در ساختار DTD »» ادامه تعريف عنصري كه شامل يك عنصر باشد: <!ELEMEN element_name (child)> <!ELEMEN Address (City)> مثال: تعريف عنصري با اجزاي مرتب: <!ELEMEN element_name (child1,child2,…)>

  36. قوانین اعتباری در ساختار DTD »» ادامه مثال: Code.dtd <!ELEMEN Address (State,City,Street,Zip)> Code.xml <Address> <State> Esfahan </State> <CITY> kashan </CITY> <Street> A </Street> <Zip> 1264 </Zip> </Address>

  37. قوانین اعتباری در ساختار DTD »» ادامه تعريف گزينه ها(choice) <!ELEMEN tag (child1|child2|…)> مثال: <!ELEMEN Paytype (salary|com|wage)>

  38. قوانین اعتباری در ساختار DTD »» ادامه »» در DTD سه نماد ويژه وجود دارد كه براي تعيين تكرار تعداد واحد ها در سند XML به كار مي رود. »» يك واحد مي تواند يك عنصر يا گزينه اي بين چند عنصر ويا مجموعه اي از عناصر ترتيبي باشد. »»علامت ? به اين معني كه واحد مورد نظر حداكثر يك بار مي تواند در سند XML تكرار شود. »»علامت + به اين معني كه واحد مورد نظر حداقل يك بار در سند XML تكرار مي شود . »»علامت * به اين معني كه واحد مورد نظر به هر تعداد مورد نيازدر سند XML مي تواند تكرار مي شود . Code.dtd <!ELEMEN Address (State , City+ ,Street*,Zip?)> »»عنصر State يك بار بايد درسند XML تكرار شود. Code.dtd <!ELEMEN tag (unit, unit+)>

  39. قوانین اعتباری در ساختار DTD »» ادامه Code.dtd <!ELEMEN Address ((Street*,Zip?)| phon_num)> Code.xml Code.xml <Address> <Address> <Street> A</Street> < phon_num>124</ phon_num> <Street> B </Street> </Address> <Zip> 1264 </Zip> </Address>

  40. قوانین اعتباری در ساختار DTD »» ادامه تعريف ويژگي هاي ساده: استفاده از ويژگي هاي عناصر در سند XML هنگامي مجاز است كه در DTD مربوطه تعريف شده باشند. Code.dtd <!ATTLIST tag attribute CDATA #type> كلمه ي كليدي نام ویژگی FIXED “default” IMPLIED RIQUIRED عنصر مورد نظر در سند xml نوع ویژگی

  41. قوانین اعتباری در ساختار DTD »» ادامه تعريف ويژگي ها »» مثال: Code.dtd <!ELEMEN population (#PCDATA)> <!ATTLIST population year CDATA #IMPLIED> Code.xml < population >55500 </ population > Code.xml < population year=“1387”>55500 </ population > Code.xml < population year=“mouse”>55500 </ population >

  42. قوانین اعتباری در ساختار DTD »» ادامه تعريف ويژگي ها »» مثال: Code.dtd <!ELEMEN population (#PCDATA)> <!ATTLIST population year (1387|2008) #RIQUIRED> Code.xml < population year=“1387”>55500 </ population > Code.xml < population >55500 </ population > × Code.dtd <!ELEMEN population (#PCDATA)> <!ATTLIST population year #FIXED “1387”> Code.xml × < population year=“2008”> </ population >

  43. قوانین اعتباری در ساختار DTD »» ادامه تعريف ويژگي ها با مقادير ويژه: ID: يك مقدار منحصربه فرد (unique value) دركل سندXML IDREF: يك ارجاع به يك مقدار منحصربه فرد IDREFS: چندين ارجاع به مقادير منحصربه فرد Code.dtd <!ATTLIST tag attribute (ID|IDREF|IDREFS) #type> FIXED “default” IMPLIED RIQUIRED

  44. قوانین اعتباری در ساختار DTD »» ادامه تعريف ويژگي ها با مقادير ويژه »»مثال: Code.dtd <!ELEMEN Student (#PCDATA)> <!ATTLIST Student stu_num ID #RIQUIRED> Code.xml <Student stu_num=“100000”>

  45. ENTITIES parameter General Internal External Internal External Parsed Unparsed موجودیت‌ها در ساختار DTD »»مجموعه اي از داده ها كه در هنگام ارجاع به موجوديت در ساختار DTD جايگزين مي شوند. »» خوانايي ساختار DTD را افزايشمي شوند. انواع موجوديت ها:

  46. موجودیت‌ها در ساختار DTD»»ادامه تعريف يك موجوديت داخلي (ميانبر متني): »»يك موجوديت داخلي دردرون ساختار DTD تعريف مي شود. Code.dtd <!ENTITYAbbreviation “content”> كلمه ي كليدي متن جايگزين نام شناسه ي موجوديت »» براي استفاده از موجوديت در سندXML بايد عبارت ;abbreviation& را تايپ كنيم. »» يك موجوديت مي تواند حاوي موجوديت ديگري نيز باشد.

  47. موجودیت‌ها در ساختار DTD»»ادامه تعريف يك موجوديت داخلي : »»موجوديت را داخل يك فايل ذخيره ميكنيم. »» عبارت standalone=“no” را در قسمت اعلان XML مي نويسيم. داخل ساختار DTD عبارت زير را قرار مي دهيم. <!ENTITY % abbreviation SYSTEM “entity.url”> مسير ونام فايل خارجي نام شناسه ي موجوديت كلمه ي كليدي موجوديت خارجي

  48. موجودیت‌ها در ساختار DTD»»ادامه موجوديت هاي با محتويات تفسير شده: »» اطلاعات متني را شامل نمي شوند. »»توسط پارسر XML مورد ارزيابي قرار نخواهند گرفت. تعريف موجوديت هاي با محتويات تفسير شده: <!ENTITY abbreviation SYSTEM “entity.url” NDATA id> تشريح كننده ي اطلاعات تفسير شده مثال: Code.dtd <!ENTITY flower_pic SYSTEM “flower. Jpg” NDATA jpg>

More Related