1
:با تشکر از
علی آراسته، محمد مهدی حاتمی، جواد سلیمی، مجتبی محامد
2
XML
XMLمقدمه
در نگارش XMLقوانین
DTDساختار
3
کاربرد ضرورت
تاریخچه
XML
»»
4
ویژگی ها
عناصر
مقادیر
نوشتن ابزارهایواجرا
نگارش قوانین
»»
5
موجودیت ها قوانین
انواع
DTD
6
XMLمقدمه
7
XML ؟ چیست
XML
eXtensible
MarkupLanguage
»» XML یکMeta Markup Language. است
»» XML اینترنت محیط در یافته ساخت دادهای انتقال برای.
»» . داده ها سازی ذخیره برای مناسب قالبی
8
XMLتاریخچه
SGML
HTML
XML
Standard Generalized Markup Language
HyperText Markup Language
eXtensible Markup Language
9
XML:ضرورت
: ضرورت ها
اطالعات , «« ارسال و سازمان بندی ذخیره
هاي «« وپروتكل استانداردها تمام اساس web serviceتقريبا XMLبرهستند.
هاي «« فايل .XMLظرفيت است زياد
»»XML است ماژوالر
10
»» XML شده طراحی اطالعات حمل منظور به
»» XML وHTML . اند شده طراحی خاصی هدف برای کدام هر
»» XML. آمد بوجود اطالعات بندي وسازمان ذخيره برای
»» HTML آمد بوجود اطالعات نمایش برای
با XMLتفاوت HTML
11
XMLکاربرد
وبانك «« تجاري هاي ،بنگاه متجانس نا هاي برنامه بين اطالعات مبادلهاطالعاتي هاي
روي «« بر يكسان اطالعات نمايش براي مدلي نمودن فعال امكانبا متفاوت هاي گوناگون دستگاه اهداف .
اطالعات «« ذخيره براي مناسب قالب يك
12
قوانین نگارش
XMLدر
13
قوانین نگارش «« ابزارهای نوشتن و : اجرا
»»XML مانند متنی HTMLرا ویرایشگر هر با می تواننوشت.
مرورگرها XMLاجرای «« با
اسناد «« به اسناد سایر XMLتبدیل
اسناد «« HTMLبه XMLتبدیل
14
: قوانین نگارش «« عناصر
XML مانند تشكيل HTMLنيز مقادير و ها عناصر ،ويژگي قسمت سه ازاست . شده
. دارد پایان چسب بر ویک شروع برچسب یک دارای عنصر هر
<element>contents</element>
بر چسب شروع برچسب پایانی
:مثال<bank>customer</bank>
15
: قوانین نگارش «« عناصر
. باشد داشته محتوياتي تواند مي عنصر هر
. باشد داشته بیشتر یا ویژگی یک می تواند عنصر هر
می شوند تعریف ویژگی ها توسط که نامیده Meta Dataاطالعاتیمی شوند.
<name language = “English ”>Tiger</name>
بر چسب شروع
ویژگی نام مقدار ویژگی
محتویات
برچسب پایانی
Attribute
<name language = “English ”>Tiger</name>
16
<animal>
<name Language = “English ”>Tiger</name>
<weight>500 pound </weight>
</animal>
ادامه «« نگارش قوانین
<bank name= “mellat ”>customer</bank>
Code.xml
Code.xml
17
قوانین نگارش «« ادامه
ریشه (:Root Element)عنصر
سند «« باشد . XMLیک داشته ریشه عنصر یک باید
پردازشی «« دستورات ریشه فقط عنصر از خارج می توانند وتوضیحات.باشند
تو تودر :عناصر
<element Out>content <element In>content </element In></element Out>
کرد «« ایجاد تودرتو عناصر می توان دلخواه میزان هر . به
شود «« عنصرپدربسته داخل طورکامل به باید عنصر <b><i>This is a example</i></b>. هر
18
ادامه «« نگارش قوانین
Comments
<! - - updated May 3,2007 - - >
توضيحات نوشتن ي :نحوه
:XMLاعالن
< ?xml version =“1.0 ? ”>
19
ادامه «« نگارش قوانین
متني «« قالب در عناصر نمايش
< [CDATA[CONTENTS]]
>!قرار كه محتوياتي
كاربر به استشود داده نمايش
كليدي ي كلمه
:مثال
!<[CDATA[<Address> <city>kashan</kashan>
<Street>A<>/street>] ]
Code.xml
ساختار «« ار استفاده وجود CDATAامكان تو در تو صورت بهندارد.
20
: نکات
»» XML می گذارد فرق کوچک و بزرگ حروف بین
داخل «« باید .“ ”یا ‘ ’ مقادیر گیرند قرار
باشیم HTMLبرخالف «« داشته باید g حتما پایانی .برچسب
»» . باشیم داشته نمی توانیم تودرتو توضیحات
مفسرهای «« توسط .XMLتوضیحات می شوند فرض نادیده
با «« که با >?دستوراتی و پردازشی ?<شروع دستورات می رسند پایان بههستند.
پسوند XMLسند «« با .xml.را می کنند ذخیره
ادامه «« نگارش قوانین
21
<? 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>
:مثال
عناصر «« نگارش قوانین
22
DTD
23
:DTDداخلی DTDساختار ««
خارجی DTDساختار ««
شخصی DTDساختار ««
عمومی DTDساختار ««
ساختار «« در اعتباری DTDقوانین
ساختار «« در توضیحی عبارات و DTDموجودیت ها
24
DTD ؟ چیست
DTD مخفف Document Type Definition. است
DTD اسناد برای قوانین مجموعه تعریف قدیمی ساختار XMLهاباشند .می
قوانین مجموعه : انواع.1DTD
XML (XML Schema )شمای 2.
کاربردی «« حوزه در اطالعات میان مفهومی و منطقی قوانین . مجموعه
تعريف از .DTDهدف است ها داده بين روابط كردن منسجم
25
داخلی : DTD تعریف
ساختار از محدود سند چند یا یک ایجاد می شود . DTDبرای استفاده داخلی
DTD سند درداخل می شود .XMLداخلی تعریف
سند ابتدای اعالن XMLدر از بعد و نظر تعریف XMLمورد زیر صورت به ومی شود :
<!DOCTYPE root[ قوانین <[مجموعه
سند ریشه XMLعنصر
26
DTD »» مثال : داخلی یک
<? xml version =“1.0” ?>
<!DOCTYPE animal[
]>
<animal>
.
.
.
.</animal>
سند XMLمحتویات
DTDقوانین
27
خارجی : DTD تعریف
سند «« چندين از اي مجموعه داراي اطالعاتي ساختار كه مواردي درXML از باشد . DTDمختلف شود مي استفاده خارجي
قوانين «« متني ويرايشگر يك از استفاده فايل DTDبا يك در را خود نظر موردپسوند . dtd.با كنيم مي ذخيره
كه «« صورتي مي DTDدر قرار استفاده مورد نيز ديگران توسط شده ايجاداستاندارد از كنيم . FPIگيرد مي استفاده آن گذاري نام براي
28
ادامه ««خارجی DTD تعریف
+//owner//DTD label //xx//
عمومي ي مشخصه تعريفرسمي
استاندارد س اسا برISO
-//owner//DTD label //xx//
پشتيباني سازمان يا شخصDTDكننده
استاندارد بدون
از ويژه DTDشرحيحرفي دو مخفف عبارت
اساس بر زبان معرفISO 639استاندارد
29
شخصي DTD تعریف خارجی
سند DTDاعالن در شخصي :XMLخارجي
اعالن «« قسمت زير ”Standalone=”noعبارت XMLدر عبارت سپس دهيم قرارمي: نويسيم مي را
<!DOCTYPE root SYSTEM “file.dtd” >
فايل نام و مسيرDTD
اينكه معناي DTDبهيك شده DTDتعريف
است شخصي
سند در ريشه عنصر نامXML
30
شخصي DTD تعریف ادامه«« خارجی
:مثال
<? xml version =“1.0” Standalone=”no” ?><!DOCTYPE endangered_species SYSTEM “http://www.cookwood.com /xml/
End _species.dtd”>
از «« توانيم مي لزوم صورت يكديگر DTDدر همراه به وخارجي داخلي. كنيم استفاده
.DTDبا «« کنیم بررسی صحت نظر از را خود اطالعات توانیم می
31
<!DOCTYPE root PUBLIC DTD_name “file.dtd” >
فايل نام و مسيرDTD
اينكه معناي DTDبهيك شده DTDتعريف
است شخصي
در ريشه عنصر نامXMLسند
اساس DTDنام برFPI
خارجی: عمومي DTDتعریف
32
ادامه«« خارجی عمومي DTDتعریف
مثال
<? xml version =“1.0” Standalone=”no” ?><!DOCTYPE endangered_species PUBLIC “-//liz castro//DTD End_species//EN//” “http://www.cookwood.com/xml/ End _species.dtd”>
سند XMLمحتویات
33
ساختار در اعتباری DTDقوانین
عناصر «« به ط مربو :قوانين
<!ELEMENT tag Type>
EMPTY
(CONTENTS)
ANY
سند در نظر مورد عنصرxml
كليدي ي كلمه
34
ساختار در اعتباری DTDقوانین
<!ELEMEN endangered_species(animal)>
<!ELEMEN picture EMPTY>
<!ELEMEN endangered_species ENY>
مثال :چند
ساختار «« در عناصر تعريف . DTDترتيب نيست مهم
35
ساختار در اعتباری ادامه«« DTDقوانین
هستند متني هاي عبارت شامل فقط كه عناصري :اعالن
<!ELEMEN element_name (#PCDATA)>
شامل فقط عنصرمتني هاي عبارت
است
قصد كه عنصريداريم را آن تعريف
كليدي ي كلمه
شامل «« تواند نمي شود توليد باال فرايند اساس بر كه عنصريباشد ديگري .عنصر
36
ساختار در اعتباری ادامه«« DTDقوانین
:مثال
<!ELEMEN Address ANY>
<!ELEMEN CITY (#PCDATA )>
<!ELEMEN Street (#PCDATA )>
<!ELEMEN Zip (#PCDATA )>
<Address>
<CITY> kashan </CITY>
<Street> A </Street>
<Zip> 1264 </Zip>
</Address>
Code.dtd Code.xml
37
ساختار در اعتباری ادامه«« DTDقوانین
باشد عنصر يك شامل كه عنصري :تعريف
<!ELEMEN element_name (child)>
مرتب اجزاي با عنصري :تعريف
<!ELEMEN element_name (child1,child2,…)>
<!ELEMEN Address (City)> :مثال
38
ساختار در اعتباری ادامه«« DTDقوانین
<!ELEMEN Address (State,City,Street,Zip)>
:مثال
Code.xml
<Address>
<CITY> kashan </CITY>
<Street> A </Street>
<Zip> 1264 </Zip>
</Address>
<State> Esfahan </State>
Code.dtd
39
ساختار در اعتباری ادامه«« DTDقوانین
ها گزينه (choice)تعريف
<!ELEMEN tag (child1|child2|…)>
<!ELEMEN Paytype (salary|com|wage)>
:مثال
40
ساختار در اعتباری ادامه«« DTDقوانین
سند DTDدر «« در ها واحد تعداد تكرار تعيين براي كه دارد وجود ويژه نماد XMLسه. رود مي كار به
عناصر «« از اي مجموعه ويا عنصر چند بين اي گزينه يا عنصر يك تواند مي واحد يك . باشد سند ?عالمت ««ترتيبي در تواند مي بار يك حداكثر نظر مورد واحد كه معني اين XMLبه
. شود تكرار
سند +عالمت «« در بار يك حداقل نظر مورد واحد كه معني اين مي XMLبه تكرار .شود
سند * «« نيازدر مورد تعداد هر به نظر مورد واحد كه معني اين به تواند XMLعالمت ميشود . مي تكرار
<!ELEMEN Address (State , City+ ,Street*,Zip?)>
Code.dtd
درسند Stateعنصر «« بايد بار .XMLيك شود تكرار
<!ELEMEN tag (unit, unit+)>Code.d
td
41
ساختار در اعتباری ادامه«« DTDقوانین
<!ELEMEN Address ((Street*,Zip?)| phon_num)>
Code.dtd
Code.xml
<Address>
<Street> A</Street>
<Zip> 1264 </Zip>
</Address>
<Street> B </Street>
Code.xml
<Address>
</Address>
< phon_num >124</ phon_num >
42
ساختار در اعتباری ادامه«« DTDقوانین
: ساده هاي ويژگي تعريف
سند در عناصر هاي ويژگي از در XMLاستفاده كه است مجاز DTD هنگامي. باشند شده تعريف مربوطه
<!ATTLIST tag attribute CDATA #type>
Code.dtd
كليدي ي كلمه
سند در نظر مورد عنصرxml
ویژگی نام FIXED “default”
IMPLIED
RIQUIRED
ویژگی نوع
43
ساختار در اعتباری ادامه«« DTDقوانین
Code.dtd<!ELEMEN population (#PCDATA)>
<!ATTLIST population year CDATA #IMPLIED>
< population >55500 </ population >
< population year=“1387”>55500 </ population >< population year=“mouse”>55500 </ population >
ها ويژگي مثال«« تعريف :
Code.xml
Code.xml
Code.xml
44
ساختار در اعتباری ادامه«« DTDقوانین
ها ويژگي مثال«« تعريف :Code.d
td<!ELEMEN population (#PCDATA)>
<!ATTLIST population year (1387|2008) #RIQUIRED>
< population >55500 </ population >
< population year=“1387”>55500 </ population >
×
Code.xml
Code.xml
<!ELEMEN population (#PCDATA)>
<!ATTLIST population year #FIXED “1387”>
Code.dtd
< population year=“2008”> </ population >
×Code.xml
45
ساختار در اعتباری ادامه«« DTDقوانین
ها ويژگي مقادير تعريف بافرد: ID:ويژه منحصربه مقدار دركل ( unique value)يك
فرد: XMLIDREFسند منحصربه مقدار يك به ارجاع يك
IDREFS :فرد منحصربه مقادير به ارجاع چندين
<!ATTLIST tag attribute (ID|IDREF|IDREFS) #type>
Code.dtd
FIXED “default”
IMPLIED
RIQUIRED
46
ساختار در اعتباری ادامه«« DTDقوانین
ها ويژگي ويژه تعريف مقادير مثال««با :
Code.dtd<!ELEMEN Student (#PCDATA)>
<!ATTLIST Student stu_num ID #RIQUIRED>
<Student stu_num=“100000”>
Code.xml
47
ساختار در DTDموجودیت ها
ENTITIES
parameterGenera
l
Internal
External
Internal
External
Parsed Unparsed
ساختار «« در موجوديت به ارجاع هنگام در كه ها داده از اي DTDمجموعه. شوند مي جايگزين
ساختار «« افزايش DTDخوانايي . را شوند مي
موجوديت انواع:ها
48
ساختار در ادامه «« DTDموجودیت ها
:) متني ) ميانبر داخلي موجوديت يك تعريف
ساختار «« دردرون داخلي موجوديت تعريف DTDيك. شود مي
<!ENTITY Abbreviation “content” >
كليدي ي كلمهي شناسه نام
موجوديت
جايگزين متن
Code.dtd
سند «« در موجوديت از استفاده عبارت XMLبراي & abbreviation ;بايد . كنيم تايپ را
باشد «« نيز ديگري موجوديت حاوي تواند مي موجوديت .يك
49
ساختار در ادامه «« DTDموجودیت ها
داخلي : موجوديت يك تعريف
»» . ميكنيم ذخيره فايل يك داخل را موجوديت
اعالن ”standalone=“noعبارت «« قسمت در .XMLرا نويسيم مي
ساختار .DTDداخل دهيم مي قرار را زير عبارت
!<ENTITY % abbreviation SYSTEM “entity.url>”
فايل ونام مسيرخارجي
خارجي موجوديت
ي شناسه نامكليدي موجوديت ي كلمه
50
ساختار در ادامه «« DTDموجودیت ها
: شده تفسير محتويات با هاي موجوديت
»». شوند نمي شامل را متني اطالعات
پارسر «« نخواهند XMLتوسط قرار ارزيابي موردگرفت.
: شده تفسير محتويات با هاي موجوديت تعريف
!<ENTITY abbreviation SYSTEM “entity.url” NDATA id>
ي كننده تشريحتفسير اطالعات
شده
!<ENTITY flower_pic SYSTEM “flower. Jpg ” NDATA jpg>
Code.d:مثالtd
51
ساختار در ادامه «« DTDموجودیت ها
ها موجوديت توضيحي هاي : عبارت
!<ENTITY abbreviation SYSTEM “entity.url” NDATA id>
<!NOTATION id SYSTEM “content> ”
كليدي ي كلمه توضيحات
52
:DTDمعايب
ساختار DTDساختار «« با نزديكي .XMLارتباط ندارد
.DTDدر «« كرد تعريف توان نمي يكسان نام با عناصري
»». ندارد وجود عناصر براي اي داده نوع تعريف امكان
»». ندارد وجود مقداري ارزش تعريف امكان
: حل راه
شماي ساختار از XMLاستفاده
53