TAHA
10-06-2009, 08:01 AM
دنيای XML مملو از تکنولوژی های ديگر، نظير XLink,Namespace,DTD,Schema,CSS,XSL,XHTML و ... است .افراديکه قصد آشنائی با XML را دارند، همواره با اين سوال مشکل مواجه هستند که از کجا می بايست آغاز نمايند. در اين مقاله به بررسی ده نکته مهم بمنظور آشنائی با XML پرداخته تا از اين رهگذر مسيری مناسب برای علاقه مندان به فراگيری اين تکنولوژی مهم ، مشخص گردد.
نکته اول : XML گزينه ای برای ارائه ساختار داده ها
داده های ساختيافته شامل مواردی نظير صفحات گسترده ، دفترچه های آدرس ، پارامترهای قابل پيکربندی و ... می باشند . XML ، مجموعه ای از قوانين بمنظور طراحی ساختار داده های مورد نظر است . XML ، بعنوان يک زبان برنامه نويسی تلقی نشده و برای استفاده از آن اجباری به داشتن تجربه لازم برنامه نويسی نخواهد بود . با استفاده از XML ، کامپيوترها بسادگی قادر به توليد و خواندن اطلاعات و اطمينان از عدم مبهم بودن ساختمان داده ها می باشند . XML ، بسط پذير ، مستقل از پلات فورم و مورد حمايت های بين المللی و محلی است . XML ، بطور کامل Unicode را حمايت می نمايد .
نکته دوم : XML شباهت زيادی به HTML دارد
XML ، همانند HTML از تگ ها و خصلت ها استفاده می نمايد.در HTML ، هر تگ و يا خصلت دارای عملکرد و معنی از قبل مشخص شده ای بوده وبا بکارگيری هر تگ ، نحوه نمايش اطلاعات ( بين تگ ها ی استفاده شده) برای مرورگر تبين می گردد. XML ، با استفاده از تگ ها ، محدوده مشخصی برای داده ها را تعيين و عملا" مسئوليتی در رابطه با تفسير تگ ها و داده های همراه آنها را نداشته و اين عمليات را به برنامه هائی که يک فايل XML را می خوانند، واگذار می نمايد . مثلا" در صورتيکه از تگ <p> در يک سند XML استفاده شده باشد ، نمی توان اين ادعا را داشت که تگ فوق نشاندهنده يک پاراگراف است . ممکن است تگ فوق، نشاندهنده price ، parameter و يا يک person باشد .
نکته سوم : XML بصورت متن است .
برنامه هائی که داده های ساختيافته توليد می نمايند، اغلب داده های خود را برروی ديسک ذخيره می نمايند . فرمت ذخيره سازی اطلاعات ممکن است بصورت متن و يا باينری باشد . مهمترين مزيت ذخيره سازی داده ها بصورت متن ، امکان مشاهده داده ها بدون نياز به برنامه ای است که اطلاعات را توليد کرده است . حتی می توان اطلاعات فوق را با استفاده از يک ويرايشگر متنی تغيير داد . فرمت های اطلاعاتی مبتنی بر متن، به پياده کنندگان نرم افزار قابليت های بيشتری را در خصوص اشکال زدائی برنامه ها نيز می دهد. فايل های XML ، مشابه HTML بصورت متن می باشند . قوانين موجود در XML ، با صراحت و شفافيت بيشتری ارائه شده است . فراموش کردن يک تگ و يا عدم قرار دادن خصلت بين علامت "" باعث می گردد که يک فايل XML غيرقابل استفاده گردد . در صورتيکه در فايل های HTML مسائل فوق تحمل و اغلب مجاز خواهد بود . اگر يک فايل XML دارای مشکل باشد ، برنامه استفاده کننده پس از مواجه شدن با مشکل ، عمليات خود را در محل بروز خطاء متوقف و يک پيام خطاء را ارائه خواهد داد .
نکته چهارم : ظرفيت فايل های XML زياد است .
با توجه به اينکه فرمت فايل های XML ، بصورت متنی بوده و از تگ ها بمنظور مرزبندی داده ها استفاده می شود ، اين نوع فايل ها معمولا" دارای حجم بيشتری نسبت به فايل هائی با فرمت باينری می باشند . همانگونه که در نکته سوم اشاره گرديد، مهمترين مزيت يک فرمت مبتنی بر متن ، قابليت مشاهده آن و مهمترين اشکال ، اشغال حجم بيشتری از فضای ذخيره سازی است . از طرف ديگر با توجه به وجود برنامه های فشرده سازی نظير Zip ، امکان فشرده سازی فايل ها بخوبی و با سرعت بالا فراهم می گردد . پروتکل های ارتباطی نظير پروتکل های مربوط به مودم و يا HTTP/1.1 ( پروتکل اصلی در وب ) قادر به فشرده سازی داده ها و صرفه جوئی در پهنای باند استفاده شده می باشند .
نکته پنجم : XML خانواده ای از تکنولوژی ها است
XML 1.0 (http://www.w3.org/TR/REC-xml) ، مشخصات ، ماهيت و قوانين موجود در رابطه با تگ ها و خصلت ها را تعريف می نمايد . خانواده XML ، شامل مجموعه ای در حال رشد از ساير ماژول هائی است که سرويس های مفيدی را در خصوص انجام عمليات و خواسته های مهم بر عهده دارند . XLink ، روشی استاندارد برای افزدون ابر لينک ها به يک فايل XML را مشخص می نمايد . XPointer ، گرامری مناسب برای اشاره به بخش های متفاوت يک سند XML است . يک XPointer ، شباهت زيادی به يک URL داشته ، با اين تفاوت که در مقابل اشاره به سندهائی بر روی وب ، به بخش های متفاوت در يک سند XML اشاره می نمايد . CSS ، زبان style sheet قابل استفاده برای XML و HTML است . XSL ، يک زبان پيشرفته برای ارائه style sheet است . تکنولوژی فوق بر اساس XSLT است . XSLT ، يک زبان تبديل بمنظور سازماندهی مجدد ، افزودن و يا حذف تگ ها و خصلت ها است . DOM ، استانداردی با مجموعه ای از توابع برای انجام عمليات برروی يک سند XML ( يا HTML) از طريق يک زبان برنامه نويسی است . XML Schema ، به پياده کنندگان ، امکان تعريف دقيق ساختار اطلاعات را ارائه می نمايد . در اين رابطه ماژول های متعدد ديگری نيز وجود داشته که در خانواده بزرگ XML دارای جايگاه خاص خود می باشند .
نکته ششم : XML جديد است اما نه خيلی جديد
پياده سازی XML از سال 1996 آغاز و در فوريه سال 1998 توسط کنسرسيوم وب عرضه گرديد . ممکن است ابهامی در خصوص جوان بودن تکنولوژی فوق در ذهن ايجاد گردد . در پاسخ می بايست به اين نکته اشاره گردد که تکنولوژی فوق ، خيلی هم جديد نيست . قبل از XML ، تکنولوژی SGML وجود داشت . پياده کنندگاه در اوايل دهه 80 در مقياس وسيعی از آن برای پروژه های بزرگ مستند سازی استفاده می نمودند . پياده سازی HTML از سال 1990 آغاز گرديد. طراحان XML ، بهترين بخش های SGML را بهمراه تجارب موجود در رابطه با HTML ، ترکيب و محصولی را توليد نموده اند که قدرتی کمتر از SGML ندارد . SGML اغلب برای مستند سازی فنی استفاده شده و از آن برای ساير موارد مربوط به داده ها بندرت استفاده می گردد . XML دقيقا" برخلاف وضعيت فوق است .
نکته هفتم : XML باعث هدايت HTML بسمت XHTML می گردد .
يکی از موارد مهم کاربرد XML ، تکنولوژی XHTML است . XHTML ، گزينه بعدی نسبت به HTML است . XHTML دارای المان های مشابه المان های استفاده شده در HTML است . گرامر استفاده شده در XHTML ، بگونه ای تغيير پيدا کرده که منطبق بر قوانين مربوط به XML باشد . سندهای مبتنی بر XML ، گرامر خود را از XML به ارث برده و آن را با روش های خاصی محدود می نمايد . ( مثلا" XHTML امکان استفاده از <p> را داده ولی امکان استفاده از <r> را نخواهد داد ) در XHTML به گرامر موجود ، مفهوم نيز اضافه شده است . ( مثلا" XHTML از تگ <p> برای يک پاراگراف استفاده می نمايد نه برای price و يا person )
نکته هشتم : XML ماژولار است .
XML ، امکان تعريف يک فرمت جديد سند را با ترکيب و استفاده مجدد از ساير فرمت ها فراهم می نمايد . با توجه به اينکه دو فرمت بصورت مستقل از يکديگر طراحی و پياده سازی می گردند، ولی ممکن است از المان ها و يا خصلت هائی با اسامی مشابه ، استفاده شده باشد . در زمان ترکيب فرمت های فوق، می بايست تدابير لازم پيش بينی گردد . ( مثلا" ممکن است تگ <p> در يک فرمت، مفهوم پاراگراف را داشته در صورتيکه در فرمت ديگر، دارای مفهوم person باشد ) . بمنظور حل مشکل فوق ( وجود اسامی مشابه با مفهوم متفاوت ) ، namespace ارائه شده است . XSL و RDF نمونه های مناسبی از فرمت های مبتنی بر XML بوده که از namespace استفاده می نمايند .
نکته نهم : XML پايه و اساس RDF و سمنتيک وب است .
RDF)Resource Description FrameWork ) يک فرمت متنی مبتنی بر XML بوده که تشريح منابع و برنامه های متاديتا ( نظير يک برنامه موزيک playlist و يا آلبوم عکس ) را حمايت می نمايد . مثلا" RDF می تواند اين امکان را فراهم آورد که يک آلبوم عکس وب را با استفاده از اطلاعات مربوط به ليست تماس شخصی ، ايجاد و در ادامه برنامه سرويس گيرنده پست الکترونيکی قادر به ارسال يک پيام بصورت خودکار برای افراد موجود در آلبوم باشد . همانگونه که HTML باعث ترکيب سندها و برنامه های مبتنی بر فرم ها در وب می گردد ، RDF با يکپارچگی برنامه ها و آژانس ها ، يک وب سمنتيک ( وبی که تعامل اطلاعاتی بين اجزای آن کاملا" مشهود و مدون است ) ايجاد می نمايد.
نکته دهم : حق استفاده از XML رايگان بوده ، مستقل از پلات فورم است و بخوبی حمايت می گردد.
با انتخاب XML ، برای پياده سازی يک پروژه از امکانات حمايتی متنوع و گسترده ای در رابطه با ابزارها و مهندسين با تجربه بهره مند خواهيد شد . انتخاب XML ، مشابه انتخاب SQL برای بانک اطلاعاتی است . در اين حالت همچنان نياز به ايجاد بانک اطلاعاتی ، نوشتن برنامه ها و روتين های لازم بمنظور انجام عمليات دلخواه خواهد بود . با توجه به اينکه حق استفاده از XML رايگان بوده می توان نرم افزار خود را با استفاده از آن ، بدون پرداخت هزينه ای طراحی نمود .
نکته اول : XML گزينه ای برای ارائه ساختار داده ها
داده های ساختيافته شامل مواردی نظير صفحات گسترده ، دفترچه های آدرس ، پارامترهای قابل پيکربندی و ... می باشند . XML ، مجموعه ای از قوانين بمنظور طراحی ساختار داده های مورد نظر است . XML ، بعنوان يک زبان برنامه نويسی تلقی نشده و برای استفاده از آن اجباری به داشتن تجربه لازم برنامه نويسی نخواهد بود . با استفاده از XML ، کامپيوترها بسادگی قادر به توليد و خواندن اطلاعات و اطمينان از عدم مبهم بودن ساختمان داده ها می باشند . XML ، بسط پذير ، مستقل از پلات فورم و مورد حمايت های بين المللی و محلی است . XML ، بطور کامل Unicode را حمايت می نمايد .
نکته دوم : XML شباهت زيادی به HTML دارد
XML ، همانند HTML از تگ ها و خصلت ها استفاده می نمايد.در HTML ، هر تگ و يا خصلت دارای عملکرد و معنی از قبل مشخص شده ای بوده وبا بکارگيری هر تگ ، نحوه نمايش اطلاعات ( بين تگ ها ی استفاده شده) برای مرورگر تبين می گردد. XML ، با استفاده از تگ ها ، محدوده مشخصی برای داده ها را تعيين و عملا" مسئوليتی در رابطه با تفسير تگ ها و داده های همراه آنها را نداشته و اين عمليات را به برنامه هائی که يک فايل XML را می خوانند، واگذار می نمايد . مثلا" در صورتيکه از تگ <p> در يک سند XML استفاده شده باشد ، نمی توان اين ادعا را داشت که تگ فوق نشاندهنده يک پاراگراف است . ممکن است تگ فوق، نشاندهنده price ، parameter و يا يک person باشد .
نکته سوم : XML بصورت متن است .
برنامه هائی که داده های ساختيافته توليد می نمايند، اغلب داده های خود را برروی ديسک ذخيره می نمايند . فرمت ذخيره سازی اطلاعات ممکن است بصورت متن و يا باينری باشد . مهمترين مزيت ذخيره سازی داده ها بصورت متن ، امکان مشاهده داده ها بدون نياز به برنامه ای است که اطلاعات را توليد کرده است . حتی می توان اطلاعات فوق را با استفاده از يک ويرايشگر متنی تغيير داد . فرمت های اطلاعاتی مبتنی بر متن، به پياده کنندگان نرم افزار قابليت های بيشتری را در خصوص اشکال زدائی برنامه ها نيز می دهد. فايل های XML ، مشابه HTML بصورت متن می باشند . قوانين موجود در XML ، با صراحت و شفافيت بيشتری ارائه شده است . فراموش کردن يک تگ و يا عدم قرار دادن خصلت بين علامت "" باعث می گردد که يک فايل XML غيرقابل استفاده گردد . در صورتيکه در فايل های HTML مسائل فوق تحمل و اغلب مجاز خواهد بود . اگر يک فايل XML دارای مشکل باشد ، برنامه استفاده کننده پس از مواجه شدن با مشکل ، عمليات خود را در محل بروز خطاء متوقف و يک پيام خطاء را ارائه خواهد داد .
نکته چهارم : ظرفيت فايل های XML زياد است .
با توجه به اينکه فرمت فايل های XML ، بصورت متنی بوده و از تگ ها بمنظور مرزبندی داده ها استفاده می شود ، اين نوع فايل ها معمولا" دارای حجم بيشتری نسبت به فايل هائی با فرمت باينری می باشند . همانگونه که در نکته سوم اشاره گرديد، مهمترين مزيت يک فرمت مبتنی بر متن ، قابليت مشاهده آن و مهمترين اشکال ، اشغال حجم بيشتری از فضای ذخيره سازی است . از طرف ديگر با توجه به وجود برنامه های فشرده سازی نظير Zip ، امکان فشرده سازی فايل ها بخوبی و با سرعت بالا فراهم می گردد . پروتکل های ارتباطی نظير پروتکل های مربوط به مودم و يا HTTP/1.1 ( پروتکل اصلی در وب ) قادر به فشرده سازی داده ها و صرفه جوئی در پهنای باند استفاده شده می باشند .
نکته پنجم : XML خانواده ای از تکنولوژی ها است
XML 1.0 (http://www.w3.org/TR/REC-xml) ، مشخصات ، ماهيت و قوانين موجود در رابطه با تگ ها و خصلت ها را تعريف می نمايد . خانواده XML ، شامل مجموعه ای در حال رشد از ساير ماژول هائی است که سرويس های مفيدی را در خصوص انجام عمليات و خواسته های مهم بر عهده دارند . XLink ، روشی استاندارد برای افزدون ابر لينک ها به يک فايل XML را مشخص می نمايد . XPointer ، گرامری مناسب برای اشاره به بخش های متفاوت يک سند XML است . يک XPointer ، شباهت زيادی به يک URL داشته ، با اين تفاوت که در مقابل اشاره به سندهائی بر روی وب ، به بخش های متفاوت در يک سند XML اشاره می نمايد . CSS ، زبان style sheet قابل استفاده برای XML و HTML است . XSL ، يک زبان پيشرفته برای ارائه style sheet است . تکنولوژی فوق بر اساس XSLT است . XSLT ، يک زبان تبديل بمنظور سازماندهی مجدد ، افزودن و يا حذف تگ ها و خصلت ها است . DOM ، استانداردی با مجموعه ای از توابع برای انجام عمليات برروی يک سند XML ( يا HTML) از طريق يک زبان برنامه نويسی است . XML Schema ، به پياده کنندگان ، امکان تعريف دقيق ساختار اطلاعات را ارائه می نمايد . در اين رابطه ماژول های متعدد ديگری نيز وجود داشته که در خانواده بزرگ XML دارای جايگاه خاص خود می باشند .
نکته ششم : XML جديد است اما نه خيلی جديد
پياده سازی XML از سال 1996 آغاز و در فوريه سال 1998 توسط کنسرسيوم وب عرضه گرديد . ممکن است ابهامی در خصوص جوان بودن تکنولوژی فوق در ذهن ايجاد گردد . در پاسخ می بايست به اين نکته اشاره گردد که تکنولوژی فوق ، خيلی هم جديد نيست . قبل از XML ، تکنولوژی SGML وجود داشت . پياده کنندگاه در اوايل دهه 80 در مقياس وسيعی از آن برای پروژه های بزرگ مستند سازی استفاده می نمودند . پياده سازی HTML از سال 1990 آغاز گرديد. طراحان XML ، بهترين بخش های SGML را بهمراه تجارب موجود در رابطه با HTML ، ترکيب و محصولی را توليد نموده اند که قدرتی کمتر از SGML ندارد . SGML اغلب برای مستند سازی فنی استفاده شده و از آن برای ساير موارد مربوط به داده ها بندرت استفاده می گردد . XML دقيقا" برخلاف وضعيت فوق است .
نکته هفتم : XML باعث هدايت HTML بسمت XHTML می گردد .
يکی از موارد مهم کاربرد XML ، تکنولوژی XHTML است . XHTML ، گزينه بعدی نسبت به HTML است . XHTML دارای المان های مشابه المان های استفاده شده در HTML است . گرامر استفاده شده در XHTML ، بگونه ای تغيير پيدا کرده که منطبق بر قوانين مربوط به XML باشد . سندهای مبتنی بر XML ، گرامر خود را از XML به ارث برده و آن را با روش های خاصی محدود می نمايد . ( مثلا" XHTML امکان استفاده از <p> را داده ولی امکان استفاده از <r> را نخواهد داد ) در XHTML به گرامر موجود ، مفهوم نيز اضافه شده است . ( مثلا" XHTML از تگ <p> برای يک پاراگراف استفاده می نمايد نه برای price و يا person )
نکته هشتم : XML ماژولار است .
XML ، امکان تعريف يک فرمت جديد سند را با ترکيب و استفاده مجدد از ساير فرمت ها فراهم می نمايد . با توجه به اينکه دو فرمت بصورت مستقل از يکديگر طراحی و پياده سازی می گردند، ولی ممکن است از المان ها و يا خصلت هائی با اسامی مشابه ، استفاده شده باشد . در زمان ترکيب فرمت های فوق، می بايست تدابير لازم پيش بينی گردد . ( مثلا" ممکن است تگ <p> در يک فرمت، مفهوم پاراگراف را داشته در صورتيکه در فرمت ديگر، دارای مفهوم person باشد ) . بمنظور حل مشکل فوق ( وجود اسامی مشابه با مفهوم متفاوت ) ، namespace ارائه شده است . XSL و RDF نمونه های مناسبی از فرمت های مبتنی بر XML بوده که از namespace استفاده می نمايند .
نکته نهم : XML پايه و اساس RDF و سمنتيک وب است .
RDF)Resource Description FrameWork ) يک فرمت متنی مبتنی بر XML بوده که تشريح منابع و برنامه های متاديتا ( نظير يک برنامه موزيک playlist و يا آلبوم عکس ) را حمايت می نمايد . مثلا" RDF می تواند اين امکان را فراهم آورد که يک آلبوم عکس وب را با استفاده از اطلاعات مربوط به ليست تماس شخصی ، ايجاد و در ادامه برنامه سرويس گيرنده پست الکترونيکی قادر به ارسال يک پيام بصورت خودکار برای افراد موجود در آلبوم باشد . همانگونه که HTML باعث ترکيب سندها و برنامه های مبتنی بر فرم ها در وب می گردد ، RDF با يکپارچگی برنامه ها و آژانس ها ، يک وب سمنتيک ( وبی که تعامل اطلاعاتی بين اجزای آن کاملا" مشهود و مدون است ) ايجاد می نمايد.
نکته دهم : حق استفاده از XML رايگان بوده ، مستقل از پلات فورم است و بخوبی حمايت می گردد.
با انتخاب XML ، برای پياده سازی يک پروژه از امکانات حمايتی متنوع و گسترده ای در رابطه با ابزارها و مهندسين با تجربه بهره مند خواهيد شد . انتخاب XML ، مشابه انتخاب SQL برای بانک اطلاعاتی است . در اين حالت همچنان نياز به ايجاد بانک اطلاعاتی ، نوشتن برنامه ها و روتين های لازم بمنظور انجام عمليات دلخواه خواهد بود . با توجه به اينکه حق استفاده از XML رايگان بوده می توان نرم افزار خود را با استفاده از آن ، بدون پرداخت هزينه ای طراحی نمود .