« مروري بر XML | صÙ?ØÙ‡ اصلی | ادامه مروري بر DTD »
مروري بر DTD
November 3, 2007 02:26 PM
ادامه مروري بر XML را با DTD پي مي گيريم.
DTD وسيله اي براي تعريÙ? بلاك هاي معتبر در سند XML است.
يك DTD مي تواند داخل خود سند XML تعريÙ? شود يا بصورت external از آن باشد.
Internal DTD Declaration:
در اين ØØ§Ù„ت در قسمت DOCTYPE با سينتكس زير تعريÙ? مي شود:
DTD وسيله اي براي تعريÙ? بلاك هاي معتبر در سند XML است.
يك DTD مي تواند داخل خود سند XML تعريÙ? شود يا بصورت external از آن باشد.
Internal DTD Declaration:
در اين ØØ§Ù„ت در قسمت DOCTYPE با سينتكس زير تعريÙ? مي شود:
<!DOCTYPE root-element [element-declarations]>
مثال:
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>you</to>
<from>me</from>
<heading>Reminder</heading>
<body>Don't forget</body>
</note>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>you</to>
<from>me</from>
<heading>Reminder</heading>
<body>Don't forget</body>
</note>
در اين مثال DOCTYPE note مشخص مي كند كه عنصر root سند note است.
External DTD Declaration:
در قسمت DOCTYPE با سينتكس زير تعريÙ? مي شود:
External DTD Declaration:
در قسمت DOCTYPE با سينتكس زير تعريÙ? مي شود:
<!DOCTYPE root-element SYSTEM "filename">
مثال بالا را به صورت external مي بينيم:
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>you</to>
<from>me</from>
<heading>Reminder</heading>
<body>Don't forget</body>
</note>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>you</to>
<from>me</from>
<heading>Reminder</heading>
<body>Don't forget</body>
</note>
Ùˆ Ù…ØØªÙˆØ§ÙŠ Ù?ايل note.dtd بدين صورت است:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
دلايل استÙ?اده از DTD
* هر DTD Ù?رمت Ù?ايل XML مربوط به خود را توصيÙ? مي كند.
* اÙ?راد Ùˆ گروه هاي مختلÙ? مي توانند Ù?رمت DTD را بصورت استاندارد براي تبادلات در نظر بگيرند Ùˆ Ù?ايل هاي XML خود را بر اساس آن توليد نمايند.
* application ها نيز مي توانند براي اعتبارسنجي Ù?ايل XML از DTD ها استÙ?اده كنند.
از ديدگاه DTD هر سند XML يا HTML از اجزاي زير تشكيل شده است:
* Elements
* Attributes
* Entities
* PCDATA
* CDATA
در ادامه هر كدام ØªØ´Ø±ÙŠØ Ù…ÙŠ گردند:
Elements
Element ها بلاك هاي اصلي اسناد XML يا HTML هستند. موارد زير مثال هايي از element ها هستند:
* هر DTD Ù?رمت Ù?ايل XML مربوط به خود را توصيÙ? مي كند.
* اÙ?راد Ùˆ گروه هاي مختلÙ? مي توانند Ù?رمت DTD را بصورت استاندارد براي تبادلات در نظر بگيرند Ùˆ Ù?ايل هاي XML خود را بر اساس آن توليد نمايند.
* application ها نيز مي توانند براي اعتبارسنجي Ù?ايل XML از DTD ها استÙ?اده كنند.
از ديدگاه DTD هر سند XML يا HTML از اجزاي زير تشكيل شده است:
* Elements
* Attributes
* Entities
* PCDATA
* CDATA
در ادامه هر كدام ØªØ´Ø±ÙŠØ Ù…ÙŠ گردند:
Elements
Element ها بلاك هاي اصلي اسناد XML يا HTML هستند. موارد زير مثال هايي از element ها هستند:
<body>some text</body>
<message>some text</message>
<message>some text</message>
Attributes
عبارتند از ØªÙˆØ¶ÙŠØØ§Øª اضاÙ?ÙŠ درباره element ها. در مثال زير img همان element است Ùˆ src يك attribute آن. از آنجا كه خود element Ù…ØØªÙˆØ§ÙŠØ´ empty است با "/" بسته مي شود.
عبارتند از ØªÙˆØ¶ÙŠØØ§Øª اضاÙ?ÙŠ درباره element ها. در مثال زير img همان element است Ùˆ src يك attribute آن. از آنجا كه خود element Ù…ØØªÙˆØ§ÙŠØ´ empty است با "/" بسته مي شود.
<img src="computer.gif" />
Entities
برخي كاراكترها معني خاصي در XML دارند مثل < كه علامت شروع تگ XML است. مشابه آن در HTML عبارت ";nbsp&" است كه به "no-breaking-space" اشاره دارد. ليست آنها در XML بدين Ø´Ø±Ø Ø§Ø³Øª:
برخي كاراكترها معني خاصي در XML دارند مثل < كه علامت شروع تگ XML است. مشابه آن در HTML عبارت ";nbsp&" است كه به "no-breaking-space" اشاره دارد. ليست آنها در XML بدين Ø´Ø±Ø Ø§Ø³Øª:
< <
> >
& &
" "
' '
> >
& &
" "
' '
PCDATA
PCDATAمخÙ?Ù? Parsed Character Data متني است كه توسط Parser قابل parse است.
CDATA
CDATA مخÙ?Ù? Character Data متني است كه توسط parserØŒ parse نمي شود.
PCDATAمخÙ?Ù? Parsed Character Data متني است كه توسط Parser قابل parse است.
CDATA
CDATA مخÙ?Ù? Character Data متني است كه توسط parserØŒ parse نمي شود.
نظرخواهی