Monday, February 17, 2003

کاربردهاي XML

بسيار مهم است که بدانيم:
XML براي ذخيره, حمل و تبادل داده ها طراحي شده است و نه براي نمايش آنها.

XML داده ها را از HTML جدا ميکند
به وسيله XML, داده هاي شما خارج از محيط فايل HTML ذخيره ميگردد.
زماني که HTML براي نمايش داده ها استفاده مي شود, اين داده ها درون HTML ذخيره شده است. اما با XML, داده هاي لازم مي تواند در يک XML جداگانه قرار گيرد. بدين ترتيب شما ميتوانيد HTML را براي طرح بندي (layout) داده ها و نمايش آنها استفاده کنيد و نگران تغيير دادن فايل HTML بعد از تغيير داده ها نباشيد.
ضمنا داده هاي موجود در XML مي تواند به صورت يک (Data Island) و درون فايل HTML قرار گيرد و همچنان شما به HTML تنها براي نمايش آن داده ها فکر کنيد.

XML براي تبادل داده ها
به وسيله XML, داده هاي بين سيستمهاي غير سازگار تبادل مي شود.
در دنياي واقعي, سيستمهاي مکانيزه و بانکهاي اطلاعاتي شامل داده هائي با ساختار ناسازگار با يکديگر هستند. يکي از کارهائي که وقت توسعه دهندگان سيستمهاي نرم افراري را تلف مينمايد, تبادل داده ها بين اين چنين سيستمهاي ناسازگار در اينترنت ميباشد.تبديل داده ها به XML, پيچيدگي کار را بسيار کاهش ميدهد و داده هاي ساخته شده در XML در برنامه هاي متفاوت قابل خواندن و تبادل ميگردد.

اشتراک داده ها با XML
به وسيله XML, فايلهاي متني ساده وظيفه اشتراک داده ها را به عهده ميگيرند.
از آنجائي که XML در يک فايل متني  ساده ذخيره ميشود, راهي براي اشتراک داده ها بدون وابستگي نرم افزاري و سخت افزاري فراهم ميکند. نه تنها اين قابليت کار را براي برنامه هاي کاربردي مختلف که با اين داده ها کار ميکنند آسان کرده است, بلکه راهي است آسان براي توسعه و ارتقاع سيستمها به روي سيستم عاملهاي جديد, سرورها, برنامه هاي کاربردي و مرورگرهاي جديد.

ذخيره داده ها با XML
به وسيله XML, فايلهاي متني ساده براي ذخيره داده ها استفاده مي شود.
XML همچنين براي ذخيره داده ها در فايلها و يا بانکهاي اطلاعاتي استفاده مي شود. برنامه هاي کاربردي براي ذخيره و بازيابي داده ها از XML نوشته مي شوند و ديگر برنامه هاي کاربردي مشابه براي نمايش آن داده ها.

XML دادها را بيشتر قابل استفاده ميکند
به وسيله XML, داده ها ي شما براي کاربران بيشتري قابل استفاده مي شود.
از آنجائي که  XML به سخت افزار, نرم افزار و برنامه هاي کاربردي وابسته نيست, شما ميتوانيد تنها به وسيله يک مرورگر استاندارد HTML داده هاي خود را براي ديگران قابل دسترسي کنيد.
کاربران ديگر و يا برنامه هاي کاربردي ديگر به XML شما به عنوان يک منبع داده ها درست همانند يک بانک اطلاعاتي دسترسي دارند. داده هاي شما براي انواع ماشينهاي خواننده متن (reading machine) قابل استفاده مي شود و ....

منبع سايت w3schools

Sunday, February 16, 2003

شروع کار با XML 

چه چيزهائي را بايد از قبل بدانيم؟
براي شروع به کار با XML بايد به دو مطلب پايه اي آشنائي داشته باشيم:
1- WWW و HTML و مفهوم ساخت صفحه وب (Web Page)
2 - زبانهاي اسکريپت نويسي در صفحات وب مثل JavaScript و يا VBScript
 

XML در يک نگاه

  • XML مخفف EXtensible Markup Language ميباشد. به معني زبان علامتگذاري توسعه پذير.

  • XML بسيار شبيه HTML ميباشد

  • تگها در XML از قبل تعريف شده نيستند , بلکه شما بايد تگهاي خودتان را تعريف کنيد.

  • XML براي توصيف داده ها (Describe Data) ميباشد.

تفاوت اصلي بين XML و HTML
بايد توجه داشته باشيم که XML جايگزيني براي HTML نيست , بلکه اين دو زبان علامتگذاري براي اهداف متفاوتي طراحي شده اند.
- XML براي توصيف داده ها و تمرکز بروي مقادير و نوع آنها طراحي شده است.
- HTML براي نشان دادن داده ها به کاربر و تمرکز بروي نحوه نمايش اين داده ها طراحي شده.
پس در يک جمله ميتوان گفت که:

HTML براي نمايش اطلاعات است و XML براي توصيف آنها.

XML قرار نيست کاري انجام دهد !! ؟؟
شايد در نگاه اول به عنوان اين مطلب, کمي درک آن سخت باشد, اما بايد گفت که در حقيقت XML براي انجام دادن کاري طراحي نشده است بلکه راهي براي دادن ساختار به داده ها و ذخيره کردن و يا ارسال آنها ميباشد. به عنوان مثال به يادداشت زير که به صورت XML ميباشد و از Jane به Tove نوشته شده است دقت کنيد:

<note>
<to>Tove</to>
<from>Jane</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

اين يادداشت داراي عنوان و بدنه پيغام است , همچنين نشان مي دهد که فرستنده و گيرنده چه کساني هستند. اما ملاحظه ميکنيد که اين متن XML خودش به تنهائي کاري انجام نميدهد, بلکه فردي بايد برنامه اي را بنويسد که از اطلاعات موجود در اين متن XML براي ارسال پيام استفاده نمايد.

XML مجاني و توسعه پذير است
تگهاي XML از قبل تعريف نشده اند و شما تگهاي خودتان را اختراع مينمائيد :)
همانطور که ميدانيد تگها و ساختار يک فايل HTML از قبل تعريف شده است و نويسنده اين فايلها بايد در اين ساختار معين و به وسيله تگهاي آماده و تعريف شده از قبل, فايل HTML خود را بسازد, اما XML به نويسنده خود اجازه ميدهد که تگهاي خودش را در ساختار متني دلخواه خود بنويسد. بنابراين, و با اين قابليت فوق العاده مهم و قوي ميتوان گفت که :
XML يک زبان علامتگذاري توسعه پذير, آينده دار و بسيار قوي ميباشد.

آينده XML در توسعه وب
XML ميرود که در همه جا حضور داشته باشد.
همه ما در توسعه XML از زماني که متولد شده است تا کنون, سهيم بوده ايم و يا خواهيم بود.
توسعه سريع XML بسيار حيرت آور است و اکنون بسياري از فروشندگان و طراحان برنامه هاي نرم افزاري, خودشان را منطبق بر اين استاندارد نموده اند. کاملا واضح است که, XML بسيار براي آينده اينترنت مهم ميباشد.درست همانند HTML که پايه و اساس وب ميباشد, XML متداولترين ابزار براي مديريت و انتقال اطلاعات در وب خواهد شد.

منبع سايت w3schools

Sunday, January 26, 2003

رابطه و تفاوتهاي XML و HTML

امروز مي خواهيم در مورد رابطه HTML و XML و همچنين در مورد ساختار سند هاي (XML Documents) XML کمي صحبت کنيم. اسکلت کلي يک فايل HTML بصورت زير است.

<html>
<head>
<title></title>
</head>
<body>
......................................
</body>
</html>

 

هر فايل HTML داراي چند قسمت مهم و مستقل از يکديگرست که با برچسبهاي خاص (Tag) خود از هم جدا مي شوند فايلهاي XML نيز اين ويژگي را دارند.
HTML عليرغم تمام شايستگي هايش ذاتا محدود است چون ايده اساسي نهفته در آن به متن هاي ثابت و ايستا مربوط مي شود و اينجاست که XML بعنوان يک مکمل وارد صحنه مي شود ( البته XML در اين زمينه تنها نيست در درسهاي بعدي درباره ساير مکملها صحبت خواهيم کرد.)
XML نيز يک زبان علامتگذاري است که برچسبهايي شبيه HTML دارد.
اما برتري XML بر HTML در اين نهفته است که به شما اجازه مي دهد تا برچسبهاي کاملا جديدي ( مطابق نيازهايتان) تعريف کنيد و از اين جهت بسيار انعطاف پذيرتر از HTML است. HTML زبان ساده و راحتي است و قواعد آن چندان محکم و الزام آور نيست . اگر در جايي از يک سند HTML چيزي را فراموش کنيد و يا عمدا ناديد بگيريد کاوشگر جاي خالي آنرا برايتان پر خواهد گرفت.
اما XML اينقدر سهل انگار و بخشنده نيست و مجبوريد قواعد زير را کالا رعايت کنيد:
1- هر برچسب شروع بايد با يک برچسب پايان جفت شود.
2- برچسب ها نبايد با يکديگر همپوشاني داشته باشند.
3- نام برچسب ها به نوع (بزرگ يا کوچک) حروف حساس است.
در HTML نيز بسياري از برچسب ها جفت هستند يعني بدون آخري اولي کارکرد صحيح خود را از دست مي دهد. اما در تعدادي از آنها وجود برچسب پاياني الزامي نيست و مي توان آنرا حذف کرد. بهترين نمونه اين قبيل برچسبها برچسب پارگراف يا همان <P> است. اما در HTML بر چسب هايي نيز وجود دارند که در واقع يک عمل هستند نه فرمت قسمتي از متن . بهترين نمونه اين قبيل برچسب ها <BR> يعني بر چسب خط جديد است .
در اين قبيل موارد براي رعايت قاعده اول XML برچسب شروع و پايان را در يک برچسب ادغام کرده است. که به آن برچسب خالي (empty tag) گفته مي شود. براي مثال برچسب <BR> در XML بصورت </ br> در آمده است . در اينجا "/" بعد از "br" نشان دهنده آنست که برچسب شروع و پايان در هم ادغام شده اند.
HTML در زمينه همپوشاني  و تداخل (Casting) برچسب ها نيز بسيار سهل انگار است. ولي در XML بايد دستورات به صورت مرتب نوشته شود و رعايت قاعده براي دستورات الزامي است.

Sunday, January 19, 2003

مقدمه 
در تاريخ کوتاه وب ‚ فهرست چيزهايي که آينده اي درخشــــــان براي آنها پيش بيني مي شده اما خيلي زود معلوم شده که بيشتر شايعه بوده تــــــا واقعيت بسيار بلند بالاست.
زبان علامتگذاري قـــابل توسعه (eXtensible Markup Language) يا همان XML هم يکي از آن تکنولوژي هائيست که براي آن آينده اي درخشـــــان پيش بيني کرده اند. ولي هنوز خيلي زود است تا بتوان درباره واقعي بودن اين ادعــــــا قضاوت کرد.با اين حال يک چيز واضح است ‚ و آن اينکه تجارت الکترونيک يك واقعيت  انکارناپذير است و XML مي تواند نقشي کليدي در اين ميان بازي کند.يادگيري XML نيز بسيار ساده است چون طرز کار آن بسيار شبيه HTML است.همه اين دلايل باعث مي شوند تـا فکر کنيم XML پديده اي زودگذر نخواهد بود.

تاريخچه پيدايش زبانهاي علامت گذاري (Markup Languages):
زبانهاي و روشهاي علامتگذاري بسيار قديمي تر از وب هستند و قدمت آنهــــا حتي به اختراع چاپ و نشر بر مي گردد. وقتي يک ناشر يا ويراستــــار دست نوشته اي را براي چاپ آماده مي کرد مجبور بود بعضي از قسمتها را بطريقي از ساير قسمتهـــــا متمايز کند مثلا براي برجسته کردن يک قسمت ‚ علامتي را ( که طبعا براي مسئول قسمت حروفچيني نيز شناخته شده بود) در ابتداي آن مي گذاشت و البته پايــــــان آنراهم بايد بگونه اي مشخص مي کرد.
اولين زبان علامتگذاري کامپيوتر توسط IBM در دهه 1960 اختراع شد اين زبــــان که زبان علامتگذاري عمومي (GML) نام داشت براي استاندارد کردن اسنــــــــاد داخلي IBM بکار مي رفت. بعدها GML به زبان علامتگذاري عمومي استاندارد به نــــــــــام SGML توسعه يافت و بسياري از صنايع مختلف آنرا بعنوان يک استـــــــــــاندارد ارائه اطلاعات پذيرفتند. در سال 1986 سازمان بين المللي استاندارد (ISO) نيز SGML را بعنوان يک استاندارد پذيرفت.
به احتمال زياد تا بحال حتي يک خط کد به زبان SGML نديده ايد ولي بايد بدانيد کــه HTML در واقع زير مجموعه اي از SGML است اما قبل از آن که بدانيد HTML از کجــــا آمده بايد بدانيد وقتي يک آدرس مانند http://www.yahoo.com را در کــــاوشگر وب (Web Browser) خود وارد مي کنيد چه اتفاقي مي افتد؟
نمايش يک صفحه در کاوشگر سه مرحله دارد:
1. کاوشگر به کمک کامپيوتر ديگــــــــــري در اينترنت (که DNS نام دارد) آدرس واقعي صفحه در خواست شده را پيدا مي کند . اين در واقع آدرس کامپيوتريست که فــــايل HTML مورد نظر در آن است .
2. اگر اين سايت وجود خارجي داشته باشد کاوشگر با آن تماس مي گرفته و فـــايل HTML را درخواست مي کند.
3. اگر اين فايل وجود داشته باشد سايت آنرا از همان راه به کاوشگـــــــر مي فرستد سپس کاوشگر محتويات فايل دريافتي را خوانده و نمايش مي دهد.

شـــايد باور نکنيد اما تا اواخر دهه 1980 چنين مکانيزمي در اينترنت و جود نداشت و فقط در اين زمان بود که محققان مرکز اروپايي فيزيک ذرات (CERN) در سوئيس بــــه فکر اختراع آن افتادند.
دانشمندان اين مرکز روزانه مقالات و گزارشهايي را زا طريق شبکه داخلي با يکديگر رد و بدل مي کردند که در آنها به کرات به مقـــــالات ديگر اشاره مي شد.خواندن اين مقالات مستلزم آن بود که فرد بدنبال آنها جستجو کرده و بصورت دستي آنهـــا را باز کند از طرف ديگر اين مقالات در کامپيوتر هاي مختلف به يک شکــــل ديده نمي شد چون روش استانداردي براي نمايش اطلاعات در کامپيوتر وجود نداشت.
در سايه اين مشکلات بود که تيم برنر زلي و آندرس برگ لوند به فکــــــــر اختراع يک سيستم تبادل اسناد الکترونيکي افتادند.
براي اين کار آنان به فکر ابداع يک سري برچسب(Tag) افتادند که در دل سند قـــــرار مي گرفت و بکمک آنها برنامه نمايش دهنده سند مي توانستا محتويـــــــــــات آن را بدرستي فرمت کرده و نمايش دهند. اين برچسب ها بين دو علامت <> قرار گــرفته و از ساير محتويات سند متمايز مي شدند.
اين همان زباني بو که بعدها به زبان علامتگذاري ابرمتن يا HTML معروف شد.
برنامه اي که اين سند ها را نمايش مي دهد نيز امروزه بنام کـــــــاوشگر (Browser) شناخته مي شود. اين راه حل ســــاده (اما قوي) چنان موثر بود که اينک برنرزلي را بعنوان مخترع وب مي شناسند.

با رشد وب HTML نيز بسرعت مراحل تکامل را پشت سر گذاشت به همين دليل لازم بود تا سازماني مستقل استاندارد کردن HTML (و SGML) را بر عهده گيرد.جالب است بدانيد که رياست اين سازمان که کنسرسيوم وب (W3C) نام دارد اينک بر عهده آقاي برنرزلي است .

چرا بايد XML ياد بگيريم؟
براي اين کار يک دليل عمده وجود دارد :
با آن که وب يکي از سريعترين رشدهاي مشاهده شده در تاريخ بشر را تجربــه مي کند ( بگونه ايکه سرعت رشد فقط با سرعت تکثير باکتريها قابل مقايسه است) امـا هنوز طلفي نو پا بيش نيست.و هر ابزاري که بتواند در اين دنياي مجـــــــازي از پس کاري بر آيد بسرعت نظرها را بخود جلب خواهد کرد.
يکي از مهمترين گرايشهاي موجود در اينترنت و وب تجارت الکترونيک (يا همـــــــــان e-commerce) است. رشد سريع تجارت الکترونيک اکنون با مـــــوانعي روبرو شده است . چون کار آنقدرها هم که در ابتدا تصور مي شد ســـــاده نيست. با اين همه‚ ترديد نبايد داشت که تجارت الکترونيک بخش مهمي از اقتصاد کنوني جهـــان است. نکته کليدي در يک تجارت الکترونيکي ‚ جمع آوري و  ذخيره ســـــــــــازي و پردازش و تفسير اطلاعات پراکنده وب است. و اين کاريست که بخوبي از عهـــــده XML بر مي آيد.

پس براي يادگيري XML با ما باشيد.