« Binding بين XML Schema Ùˆ كلاس هاي جاوا | صÙ?ØÙ‡ اصلی | مروري بر DTD »
مروري بر XML
October 29, 2007 09:20 AM
XML يا Extensible Markup Language امكاني است براي توصي�? داده ها. عبارت است از يك �?ايل متني با پسوند XML كه با هر اديتور متني قابل ويرايش است. شيوه نگارش آن در ادامه Ø´Ø±Ø Ø¯Ø§Ø¯Ù‡ خواهد شد.
برخي مشخصات XML :
* مانند HTML است اما تگ هاي آن از پيش تعري�? شده نيستند و كاربر، خود بايد آنها را تعري�? نمايد.
* از DTD يا يك XML Schema براي توصي�? داده ها است�?اده مي كند.
ت�?اوت اصلي XML Ùˆ HTML اين است كه HTML بر چگونگي نمايش داده ها تاكيد دارد. در ØØ§Ù„ÙŠ كه XML Ù…ØØªÙˆØ§ÙŠ Ø¯Ø§Ø¯Ù‡ ها را توصي�? مي كند. در واقع XML مكملي است بر HTML. نه جايگزين آن
كاربردهاي XML :
* با XML داده ها خارج از HTML نگهداري مي شوند.
* XML براي جابجايي داده ها به كار مي رود.
* XML براي به اشتراك گذاري داده ها به كار مي رود
* XML براي ذخيره سازي داده هاي به كار مي رود
* در واقع XML باعث مي شود كه داده هاي شما پركاربرد تر باشند
* XML مي تواند براي ساخت يك زبان جديد به كار رود. XML مادر زبان هايي چون WAP و WML است.
سينتكس :
سينتكس XML بسيار ساده است
مثال:
<note date="12/11/2006">
<to>You</to>
<from>me</from>
<heading>Reminder</heading>
<body>Don't forget</body>
</note>
خط بعدي عنصر ريشه يا root element را مشخص مي نمايد. عنصر ريشه ماهيت سند XML را مشخص مي كند. مثل اينكه مي گوييم اين سند يك note است.
نكات:
* همه تگ هاي XML بايد بسته شوند و اين اجباري است.
* تگ هاي XML همه case sensitive هستند. بنابراين تگ هاي باز و بسته بايد عينا يكسان نوشته شوند. به عبارت ديگر مثلا تگ <message> نمي تواند با <Message/> بسته شود.
* ساختار تو درتوي تگ ها بايد به درستي رعايت شود.
* همه اسناد XML الزاما بايد داراي عنصر ريشه باشند . بقيه عناصر درون آن قرار داده شوند.
* در دو طر�? value همه attribute هاي سند XML بايد كوتيشن قرار گيرد. هم مي تواند single quote باشد و هم double quote
* �?ضاي خالي يا space رشته ها در سند XML پاك نمي شود.
comment در XML
بين عناصر XML رابطه پدر Ùˆ �?رزندي ØØ§ÙƒÙ… است.
<title>My First XML</title>
<prod id="33-657" media="paper"></prod>
<chapter>Introduction to XML
<para>What is HTML</para>
<para>What is XML</para>
</chapter>
<para>Elements must have a closing tag</para>
<para>Elements must be properly nested</para>
</chapter>
* element content : مثل book
* mixed content : مثل chapter
* simple content : مثل para
* empty content : مثل prod
در مثال بالا تنها prod داراي attribute است.
قواعد نامگذاري element ها:
* اسامي شامل ØØ±Ùˆï¿½? Ùˆ اعداد Ùˆ برخي كاراكترهاي ديگر مي شوند
* اسامي نبايد با عدد يا كاراكترهاي نقطه گذاري شروع شوند
* اسامي نبايد با عبارت xml يا XML يا Xml Ùˆ ساير ØØ§Ù„ات XML شروع شود
* اسامي نبايد space داشته باشد
* اسامي نبايد ":" داشته باشند
اسامي element ها بهتر است گويا و توصي�?ي باشند.
كجا از element است�?اده شود و كجا از attribute ؟
هيچ قانوني براي اين كار وجود ندارد. اما كلا است�?اده از element ها در جاهايي كه نمي توان تمايزي بين اين دو قائل شد، توصيه مي شود. بهتر است هميشه داده ها را در element ها گنجاند. attribute ها را صر�?ا براي �?راهم نمودن اطلاعات در مورد داده ها (metadata) مقداردهي نماييد.
بعنوان برخي مشكلات است�?اده از attribute مي توان اين موارد را برشمرد:
* attribute ها نمي توانند چند مقدار بپذيرند
* attribute ها توسعه دادنشان سخت تر است.
* attribute ها قابليت نمايش structure ها را ندارند.
* كار با attribute ها در برنامه سخت تر است.
* attribute ها در تقابل با DTD تست كردنشان سخت تر است.
يك استثناء:
شناسه يا كد داده ها مثل counter اي كه بصورت سريال بالا مي رود را مي توان در attribute ها هم قرارداد.
XML با سينتكس درست Well Formed XML ناميده مي شود.
XML كه با DTD اعتبارسنجي شده ، Valid XML خوانده مي شود.
نظرخواهی
ارسال شده توسط: ali در ساعت November 2, 2007 08:30 PM
من با InfoPath آشنا نيستم. اما بطور كلي XML مشابه يك منبع داده است. مثل بانك هاي رابطه اي. براي نمايش آن در صÙ?ØÙ‡ وب نيز بايد در web application خود با ابزار موجود در هر زبان مثل JAXB در جاوا اطلاعات آن را بخوانيد Ùˆ توسط jsp در صÙ?ØÙ‡ وب نمايش دهيد. مثل ساير Ù…ØØªÙˆØ§ÙŠ Ø¯ÙŠÙ†Ø§Ù…ÙŠÙƒ. اميدوارم منظور شما را درست متوجه شده باشم Ùˆ جوابم نامربوط نباشد. اگر اينطور نيست ممنون مي شوم كه بيشتر ØªÙˆØ¶ÙŠØ Ø¯Ù‡ÙŠØ¯.
ارسال شده توسط: mahyar در ساعت November 3, 2007 10:14 AM