مقاله XML چیست و چرا دارای اهمیت فراوان است ؟


در حال بارگذاری
23 اکتبر 2022
فایل ورد و پاورپوینت
2120
1 بازدید
۷۹,۷۰۰ تومان
خرید

توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد

  مقاله XML چیست و چرا دارای اهمیت فراوان است ؟ دارای ۱۰۶ صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد مقاله XML چیست و چرا دارای اهمیت فراوان است ؟  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

توجه : در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی مقاله XML چیست و چرا دارای اهمیت فراوان است ؟،به هیچ وجه بهم ریختگی وجود ندارد


بخشی از متن مقاله XML چیست و چرا دارای اهمیت فراوان است ؟ :

XML چیست و چرا دارای اهمیت فراوان است ؟

( بخش اول )
تاکنون مقالات فراوانی در باره XML نوشته شده است، اغلب مطالب عنوان شده صرفا” بر روی یک موضوع خاص تمرکز داشته و از زاویه ای کاملا” اختصاصی و در عین حال محدود به بررسی تکنولوژی XML پرداخته و بندرت به موارد اساسی و خانواده بزرگ استاندارهای XML اشاره شده است. در این مقاله عناصر کلیدی مرتبط با تکنولوژی XML تشریح و ارتباط آنها تبین و جایگاه هر یک از آنها برای پیاده کنندگان و طراحان برنامه های اطلاعاتی تشریح می گردد. پس از مطالعه این مقاله ، خوانندگان با استانداردهای کلیدی : XML,XSL,XML-Schema,DOM,SAX,Namespace,XLink بهمراه تکنولوژی های مربوطه آشنا خواهند شد.

تعریف اصطلاحات و واژه ها
در ابتدا لازم است با کلمات تشکیل دهنده XML یعنی Extensible ، Markup و Language آشنا شویم .Markup ، واژه ئی برای متادیتا است . متادیتا ، اطلاعاتی در رابطه با اطلاعات است . قدمت استفاده از Markup به قبل از کامپیوتر بر می گردد . مثلا” در دنیای نشر از علائم خاصی در متن های ویرایش شده استفاده تا به پردازنده متن ( انسان و یا ماشین ) اعلام شود ، چه نوع عملیاتی را در رابطه با اطلاعات می بایست انجام دهد. HTML یکی از زبان های کلاسیک نشانه گذاری است . مثلا” با افزودن تگ <Bold> به مرورگر اعلام می شود که به چه صورت می بایست اطلاعات نمایش داده شوند .
زبان (Language) ، به مجموعه ای از کلمات معنی دار و با مفهوم که عده ای از آنها برای بیان خواسته ها ی خود استفاده می نمایند ،اطلاق می گردد . ( مثلا” زبان فارسی و یا انگلیسی )

با کنار هم قرار دادن دو واژه اشاره شده ، با زبان نشانه گذاری مواجه خواهیم شد . زبان نشانه گذاری ، به مجموعه ای از کلمات معنی دار و با مفهوم که توسط عده ای (با آگاهی لازم انتخاب ) استفاده می گردد ، اطلاق می گردد. HTML ، نمونه ای مناسب در این زمینه است . تمام افرادی که از تگ های HTML استفاده می نمایند ، بدرستی نسبت به مفهوم و جایگاه هر یک از تگ ها آشنائی داشته و با آگاهی کامل آنها را برای بیان خواسته های خود استفاده می نمایند. مثلا” مشخص است که استفاده از تگ <H1> چه نوع پیامدهائی را بدنبال خواهد داشت . تگ فوق ، توسط مولفین صفحات وب آگاهانه انتخاب می گردد و مرورگرها نیز متناسب با تعاریف از قبل مشخص شده ، واکنش مناسب خود را در رابطه با نحوه نمایش انجام خواهند داد. یک زبان بسط پذیر(Extensible) ، زبانی است که دارای مکانیزم لازم برای افزودن کلمات بگونه ای است که توسط سایر استفاده کنندگان نیز قابل فهم باشد . در دنیای واقعی و در ارتباط با زبان های طبیعی ما هرگز شاهد چنین وضعیتی نخواهیم بود . ( افزودن یک واژه با معنی مورد نظر خود و استفاده از واژه با همان معنی توسط سایر استفاده کنندگان ) با توجه به تعاریف ارائه شده ، یک زبان نشانه گذاری بسط پذیر ، می بایست یک زبان نشانه گذاری با قابلیت افزودن کلماتی بیشتر باشد . در عمل زبان نشانه گذاری بسط پذیر ، به سیستمی برای تعریف تمام زبا ن های نشانه گذاری با قابلیت توسعه وضعیت موجود ، اطلاق می گردد .

SGML HTML و XML
SGML)Standard Generalize Markup Language) سرچشمه XML بوده و در سال ۱۹۸۸ استاندارد شده است . HTML)HyperText Markup Language) زبانی است که در ابتدا با استفاده از SGML تعریف گردید. HTML یک زبان نشانه گذاری است ، بنابراین انتظار داریم شامل مجموعه ای از تگ ها بمنظور کنترل قالب و رفتار اطلاعات در مستندات باشد . XML ، یک زبان نشانه گذاری مشابه HTML نمی باشد . XML ، زیرمجموعه ای از SGML است ( مکانیزمی برای تعریف زبان های نشانه گذاری ) . XML همانند SGML یک زبان نشانه گذاری بسط پذیر بوده اما بر خلاف SGML برای استفاده بر روی وب بهینه شده است .

مفاهیم اساسی
لازم است که مجددا” به این نکته مهم اشاره گردد که XML ، یک زبان نشانه گذاری نبوده و در مقابل مکانیزمی برای ایجاد زبان های نشانه گذاری اختصاصی است . XML ، شامل مجموعه ای از استانداردها ی متنوع با کاربردهای خاص است . XML ، یک زبان نشانه گذاری نبوده و در عین حال یک زبان برنامه نویسی هم نیست . از XML برای ارائه اطلاعات استفاده شده و بمنظور پردازش اطلاعات، می بایست برنامه هائی نوشته گردد .
از XML در موارد زیر می توان استفاده کرد :
مبادله اطلاعات بین برنامه های نامتجانس ، بنگاه های تجاری و بانک های اطلاعاتی
امکان فعال نمودن مدلی برای نمایش اطلاعات یکسان بر روی دستگاههای متفاوت با اهداف و خوانندگان گوناگون
یک قالب ذخیره سازی مناسب برای داده ها

استانداردهای خانواده بزرگ XML
از واژه XML اغلب برای بیان یک استاندارد بین المللی استفاده می گردد . در برخی حالات واژه فوق برای بیان تمام استانداردهای مرتبط با XML نیز استفاده می گردد . اکثر کاربران با استانداردهای XML سرو کار ندارند. استانداردهای موجود اغلب توسط افرادیکه نرم افزار تولید و یا بر روی سندهای XML پردازشی را انجام می دهند ، استفاده می گردد . شناخت استانداردهای موجود در این زمینه مهم بوده و لازم است با جایگاه هر یک آشنا شویم . یکی از روش هائی که می توان استانداردهای موجود را بدرستی سازماندهی و بخاطر سپرد ، توجه و تمرکز بر اهدافی است که آنها دنبال می نمایند. جدول زیر استانداردهای موجود بهمراه اهداف و قابلیت های هر یک را نشان می دهد.

امکانات موجود هدف
XML
Namespaces
XML-Schemas تعریف یک زبان XML
CSS (Cascading Style Sheets)
XSL (Extensible Style Language)
XSLT (XSL Transformations) فرمت و نمایش سندهای XML
DOM (Document Object Model)
SAX (Simple API for XML)

XSLT پیاده سازی برنامه
Such as:
SOAP (Simple Object Access Protocol)
SVG (Scalable Vector Graphics)
WML (Wireless Markup Language)
XCBL (XML Common Business Library) مبادله اطلاعات بین سیستم ها
در ادامه به بررسی هر یک از استانداردهای فوق و نحوه ارتباط آنها با یکدیگر خواهیم پرداخت :

تعریف زبان های XML
با استفاده از XML ، می توان تگ های نشانه گذاری را تعریف که توسط مجموعه ای از مستندات که خصایص مشابهی را به اشتراک می گذارند ،استفاده گردد . مثلا” مجموعه ای از پیام های تجارت الکترونیکی. مورد فوق اصطلاحا” document type نامیده می گردد . ( مشابه یک کلاس در طراحی شی گراء ) . یک Document instance ، نوع خاصی از یک سند است . مثلا” یک لیست فروش خاص . در پروژه های XML ، در ابتدا Document types با توجه به اطلاعاتی که می بایست بر روی آنها عملیاتی صورت پذیرد ، طراحی و در ادامه با ایجاد نرم افزارهای لازم ، اقدام به ایجاد و پردازش نمونه هائی از سند می گردد . XML مجموعه ای قدرتمند از بلاک های ساختمانی سطح پایین بمنظور طراحی Document types را ارائه می نماید. نمونه سند زیر، شامل مجموعه ای اطلاعات از یک بانک اطلاعاتی شخصی است .

مثال : یک سند XML شامل اطلاعات شخصی
<personnel-data>
<person ID=”PE1″>
<name>
<first-name>Webmaster</first-name>
<last-name>Admin</last-name>
</name>
<working-location office-id=”OF1″/>
<title>Web master and administrator</title>
</person>
<office ID=”OF1″>
<name>Head Office</name>
<address>Iran Avenue</address>
</office>
</personnel-data>

سند فوق شامل چندین بلاک ساختمان اساسی XML است .
سند فوق ، دارای المان هائی است که قابل مقایسه با اشیاء در سیتستم شی گراء و یا فیلد در بانک های اطلاعاتی رابطه ای است . یک المان با تگ شروع ، آغاز و با تگ پایان ، خاتمه می یابد . بین دو تگ شروع و پایان هر نوع اطلاعاتی می تواند قرار گیرد .
یک المان می تواند دارای محتویات باشد. محتویات ، متن موجود بین تگ های شروع و پایان است . مثلا” Webmaster و Admin بعنوان محتویات المان در مثال فوق مشاهده می گردند.
یک المان دارای خصلت است . خصلت ، شامل اطلاعات تکمیلی بوده که در بخش تگ شروع مربوط به المان بصورت : نام و مقدار قرار می گیرند . در مثال فوق ID و office-id ، بعنوان خصلت مطرح بوده و محتویات آنها PE1 و OF1 ، بعنوان مقادیر خصلت در نظر گرفته می شوند .
یک المان می تواند تهی (Empty) باشد. در مثال فوق <Working-location> یک المان تهی است . معمولا” المان های تهی ، بعنوان فضا نگهدارنده هائی برای خصلت ها می باشند.
المان ها می توانند شامل سایر المان ها باشند . ( المان های تودرتو ) . از المان های تودر تو برای ارائه اطلاعات سریال ( مجموعه ای از اشیاء ، سطرهائی از داده و یا سایر اطلاعات مورد نظر ) استفاده گردد .

خصلت می تواند شامل سایر خصلت ها ویا المان ها باشد .
محتویات المان ها و یا مقادیر خصلت ها ، می توانند بعنوان یک اشاره گر به سایر آیتم های موجود در سند نیز ایفای وظیفه نمایند.بمنظور نیل به هدف فوق XML روش های متعددی را ارائه نموده است . مثلا” خصلت office-id با مقدار OF1 ، درون <working-location > به خصلت ID المان <office> اشاره می نماید. اشاره گره های فوق مشخص می نمایند که محل کار شخص PE1 در OF1 است .
بلاک های ایجاد یک سند XMl در عین سادگی ، دارای انعطاف و قدرت لازم بمنظور حمایت از روش های متفاوت مدل سازی اطلاعات می باشند : اشیاء ، شبکه ای ، سلسله مراتبی، رابطه ای و ;

خوش شکل ( Well-Formed ) و معتبر ( Valid )
با استفاده از XML ، می توان اقدام به ایجاد سندهای رسمی و غیررسمی نمود. در پروژه های کوچک و یا زمانیکه قصد نمونه سازی وجود داشته باشد ، می توان با سرعت اقدام به ایجاد سندهای “خوش شکل” نمود . در پروژه های بزرگ و یا پروژه هائی که شامل سیستم های متعددی می باشند، سندهای معتبر ایجاد می گردد.
قوانین یک سند خوش شکل
وجود صرفا” یک المان ریشه
هر المان غیرتهی دارای تگ های شروع و پایان است .
تمام المان های می بایست با نظم خاصی تودرتو شده و هیچگونه تقابلی بین آنها وجود نداشته باشد.
یک سند XML زمانی معتبر است که اولا” خوش شکل بوده و ثانیا” :

دارای یک Schema ( پیش نویس ) و یا DTD)Document Type Definition) باشد.
سازگار با قوانین موجود در Schema
پیش نویس ها (Schemas) باعث اعتبار و صحت یک سند XML می گردند.
واژه Schema ، به قوانینی اطلاق می گردد که به مجموعه ای از سندهای با ساختار مشابه ، نسبت داده می شود . واژه فوق مختص XML نبوده و در سایر موارد از واژه فوق نیز استفاده می گردد . در رابطه با XML قوانین موجود به موارد زیر اشاره خواهند داشت :
از چه المان ها و خصلت هائی استفاده شده است ؟
نحوه استقرار المان ها و خصلت ها به چه صورت است ؟
هر یک از المان ها و یا خصلت ها شامل چه نوع اطلاعاتی می توانند باشند .
XML برای تعریف پیش نویس ها (Schemas) از دو زبان استفاده می نماید : DTD و XML-Schema

DTD ، مکانیزمی برای تعریف پیش نویس ها بوده که در ابتدا بمنظور استفاده در SGML طراحی و در ادامه XML نیز از آن استفاده کرد . محوریت DTD بر سند استوار بوده و دارای امکانات و ویژگی های لازم نظیر : نوع داده ها ، دامنه ها و ; نمی باشد. گرامر استفاده شده در DTD کاملا” اختصاصی بوده و ابزارهای اندکی بمنظور پردازش آنها وجود دارد .
XML-Schema ، یک استاندارد جدید بوده که مختص XML طراحی شده است . گرامر استفاده شده مبتنی بر XML است . تکنولوژی فوق بدرستی محدودیت های DTD را برطرف نموده و اکثر ابزارهای تولید شده توسط عرضه کنندگان معتبر ، مجهز به تکنولوژی فوق می باشند. به افرادیکه جدیدا” به دنیای XML وارد شده اند ، توصیه می گردد که در صورت امکان گرامر DTD را فراموش و خود را با استاندارد XML-Schema وفق نمایند . 

چه زمان اعتبار لازم است ؟
سندهای “خوش شکل” ، بسرعت آماده شده و بسادگی استفاده می گردند. تاکنون نرم افزارهای متعددی نوشته شده که در آنها از سندهای ” خوش شکل” ، استفاده شده است . با این اوصاف ،چه زمان می بایست از یک پیش نویس (Schema) رسمی استفاده کرد ؟ در پاسخ به سوال فوق می توان گفت که ” پیش نویس ها باعث ارائه صلاحیت لازم بمنظور پردازش های مبتنی بر داده ها می باشند . بدین ترتیب و در زمانیکه اطلاعات موجود در یک سند XML ، توسط یک پردازنده Schema ، پردازش می گردد، اطلاعاتی حذف و یا نادیده گرفته نخواهند شد. در این راستا از پیش نویس های نوشته شده بمنظور : بررسی صحت محتویات، مقادیر پیش فرض برای المان ها ، ارائه کمک در زمان ویرایش یک سند XML ، ترجمه از یک فرمت XML به فرمت دیگر ، استفاده می گردد .

در این راستا ، می توان کدهائی را نوشت که تمام عملیات فوق را انجام دهند ولی کدهای نوشته شده محدود به یک نوع سند خاص خواهند بود . اطلاعات موجود در پیش نویس این امکان را فراهم می آورند ، که با نوشتن یک پردازنده پیش نویس از آن در سندهای متفاوت بدون نیاز به برنامه نویسی مجدد استفاده کرد . سندهای شامل پیش نویس ، با یک فرمت استاندارد ایجاد و بسادگی امکان اشتراک آنها فراهم می گردد .

Namespace مشکل تصادم اسامی را برطرف می نمایند
در زمان عملیات بر روی سندها و برنامه های مبتنی بر XML ، بدفعات نیاز به ترکیب دو سند مجزا و ایجاد سند جدید احساس خواهد شد. با انجام هدف فوق، با چالش های جدی در رابطه با تصادم (Conflict) اسامی برخورد خواهیم کرد : المان هائی که دارای تگ های یکسان ولی معانی متفاوت می باشند .
مثلا” فرض نمائید ، بخواهیم سندی که دارای یک تگ <title> ( تگ فوق به عنوان شغلی یک فرد اشاره دارد ) است را با سند دیگر که او هم دارای یک تگ <title> ( تگ فوق به عنوان یک فیلم اشاره دارد ) است را بایکدیگر ترکیب نمائیم . زمانیکه تگ های فوق در سند های مجزا بوده و یا حتی در یک سند یکسان قرار داشته باشند با مشکلاتی مواجه نخواهیم شد ( در این حالت قصد پردازش اتوماتیک بر روی المان های <title> را نداریم ) مشکل از زمانی شروع می گردد ، که کدهائی بمنظور پردازش اتوماتیک بر روی المان های <title> نوشته گردد . در چنین حالتی لازم است از نوع تگ آگاهی لازم را پیدا کرد .

بمنظور حل مشکل فوق از XML Namespace استفاده می گردد . Namespace ،مکانیزمی است که بهمراه یک سند تعریف ، تا ارتباط مفهمومی مجموعه ای از عناصر با یکدیگر را مشخص نماید. بدین ترتیب برای هر المان محدوده و یا فضائی تعریف و بر همین اساس با آنها برخورد عملیاتی خواهد شد. برای هر Namespace می توان یک شناسه تعریف و در ادامه با استفاده از شناسه تعریف شده بصورت پیشوند در کنار نام المان تکلیف عملیاتی المان را مشخص کرد. مثلا” می توان یک NameSpace بصورت زیر تعریف کرد :

Xmlns:Tehran=www.yourc ompany.com/test1
در ادامه می توان در سند مربوطه ، بصورت :<Tehran:Test1> به آن مراجعه کرد . بدین ترتیب شما و یا برنامه مورد نظر ، برای پردازش آگاهی لازم را پیدا خواهد کرد . ( تگ مورد نظر از Namespace تعریف شده مشتق می گردد )
خلاصه
در این مقاله به سه استاندارد لازم بمنظور تعریف نوع سندهای XML اشاره گردید : XML ، NameSpace و XML-Schema ( و یا DTD) . بمنظور تعریف یک نوع سند XML ، عملیات زیر می بایست دنبال گردد :
مدل سازی اطلاعات مورد نطر
نمونه سازی با استفاده از سندهای XML “خوش شکل “
در صورت نیاز تعریف یک پیش نویس (Schema) رسمی
استفاده از Namespace بمنظور ترکیب اطلاعات از منابع متفاو
XML چیست و چرا دارای اهمیت فراوان است ؟ ( بخش دوم )

در بخش اول، مفاهیم اولیه تکنولوژی XML بررسی و پس از معرفی خانواده بزرگ تکنولوژی های مرتبط با XML ، سه استاندارد لازم بمنظور تعریف نوع سندهای XML تشریح گردید ( XML ، NameSpace و XML-Schema ( و یا DTD) ) . در بخش دوم به بررسی نحوه انتشار سندهای XML خواهیم پرداخت .
Html بعنوان اسنانداردی جهت نمایش اطلاعات در عرصه وب ، سالها است که مطرح و استفاده می گردد. تگ های Html مسئولیت تبین نحوه نمایش اطلاعات را بر عهده خواهند گرفت . تکنولوژی فوق برای انجام وظایف محوله از پیش فرض های تعریف شده و ثابت (ایستا ) استفاده می نماید . مثلا” با مشاهده تگ <B> دقیقا” مشخص شده است که می بایست چه نوع واکنشی صورت پذیرد. ( پر رنگ نمودن متن مورد نظر ) . نباید انتظار داشته باشیم که با درج تگ <B> عملیاتی غیر از آنچه از قبل تعریف شده است صورت پذیرد. مفسر تگ های Html پس از انجام تفسیر مربوطه ، واکنش از قبل تعریف شده ای را از خود نشان خواهد داد. مرورگرها بکمک مفسر های مربوطه همواره شرایط یکسانی را برای نمایش فراهم و شرایط خود را بر همه چیز منجمله سلیقه و نقطه نظرات طراح و ; ترجیج می دهند.

خودخواهی در نمایش و تحمیل شرایط مربوطه از نکات قابل تامل در تکنولوژی فوق است . Html محدوده و مرزی را برای تفکیک داده ها از نمایش قائل نگردیده و با تلفیق دو مقوله فوق همواره از یک روش ثابت برای نمایش داده ها استفاده می نماید. فرض کنید که یک فایل html داشته و بخواهیم زمانیکه برای کاربر ارسال می گردد در مرورگر مربوطه ، به دو صورت کاملا” متمایز نمایش داده شود . برای نیل به خواسته فوق چاره ای نیست مگر اینکه دو فایل مجزای html را ایجاد که هر یک دارای خروجی اختصاصی خود باشند. در مثال فوق قصد ما نمایش داده های یکسان با فرمت های متفاوت از بعد نمایش است . ما بدنبال روش و یا روش هائی هستیم که قادر به تفکیک بین داده و نمایش باشد. قطعا” Html در این راستا گزینه ای مناسب نخواهد بود. سندهای Html از تگ هائی نظیر <H1> و <P> بمنظور ایجاد ساختار و از تگ هائی نظیر <I> و <Font> بمنظور ایجاد فرمت نمایش اطلاعات استفاده می نمایند . در این راستا عملا” هیچگونه تگی که نشاندهنده نوع اطلاعات و محتویات سند باشد ، وجود ندارد .بدین ترتیب مفسر قادر به تفسیر تگ های فوق صرفا” در حد نمایش اطلاعات بوده و امکان انجام هیچگونه پردازشی وجود نخواهد داشت .

حل مشکل با استفاده از XML
Xml بین دو مقوله داده و نمایش تفکیک قائل شده است. در تکنولوژی فوق بدلیل عدم وجود تگ های از پیش تعریف شده برای نمایش اطلاعات می توان سناریوی مربوط به نحوه نمایش اطلاعات را بکمک یک تکنولوژی دیگر تعریف و تبین نمود. اطلاعات ذخیره شده بصورت Xml را می توان با حالات متفاوت و اعمال سناریو های متفاوت نمایش داد. برخلاف Html تکتولوژی Xml دارای اطلاعات از قبل تعریف شده و مشخصی برای نحوه نمایش اطلاعات نیست. تگ های تعریف شده در یک سند XML ، بصراحت ساختار و محتویات را ارائه خواهند داد . در این حالت می توان نرم افزارهائی را طراحی نمود که قادر به انجام عملیات دلخواه بر روی اطلاعات موجود در سند XML باشند . هنوز یک مسئله وجود دارد : در تگ های تعریف شده در سند XML ، آیتمی وجود ندارد که به کامپیوتر اعلام نماید به چه صورت می بایست اطلاعات مربوط به هر یک از المان ها فرمت ، تا خوانندگان قادر به خواندن آنان باشند . ما به چیزی بیشتر بمنظور تدوین استراتژی نمایش اطلاعات نیاز داریم .

زبان های تعریف سبک XML
بمنظور حل مشکل اشاره شده می توان اطلاعات مربوط به نحوه نمایش اطلاعات را در یک فایل مجزا قرار داده و در ادامه با استفاده از یک پردازنده Stylesheet فایل فوق را با سند XML ترکیب نمود. Stylesheet توسط زبان های Style نوشته می گردند. هر شخص می تواند زبان اختصاصی خود را در این زمینه پیاده سازی و استفاده نماید ولی XML با دو زبان استاندارد ارائه شده است .

CSS)Cascading Style Sheets)
CSS یک زبان Style بوده که بمنظور استفاده در سندهای Html ابداع گردیده ولی بخوبی قادر به فعالیت در کنار سندهای XML نیز می باشد . CSS مکانیزمی مناسب برای نمایش یک سند XML در مرورگر ها است . اکثر ابزارهای تولید صفحات وب دارای امکانات لازم برای تولید اسکریپت های CSS می باشند . CSS دارای دو محدودیت عمده است . اولا” ، قادر به تولید خروجی مناسب و با کیفیت بالا نمی باشد. ثانیا” ، صرفا” باعث تزئین سند شده و قابلیت تغییر در دنباله اطلاعات موجود در سند را نخواهد داشت . محتویات یک سند XML در اغلب حالات دارای یک نطم متفاوت نسبت به حالتی است که قصد نمایش آنها را داریم .در این راستا لازم است قبل از استفاده از CSS بمنظور نشر یک سند ، سند مورد نظر به حالتی که تمایل به نمایش آن را در خروجی داریم ، تبدیل گردد . بدین ترتیب یک مرحله پردازش دیگر به حجم عملیات اضافه خواهد گردید.

XSL)Extensible Style Language)
XSL یک زبان مبتنی بر XML است که دارای محدودیت های اشاره شده در رابطه با CSS نمی باشد . متاسفانه در حال حاضر ابزارهای لازم برای ایجاد اسکریپت های XSL محدود بوده و در برخی حالات ممکن است نوشتن اسکریپت ها بصورت دستی انجام گیرد . XSL دارای سه ویژگی منحصر بفرد بوده که هر کدام دارای استاندارد اختصاصی خود می باشند.
– Tranformation)XSLT) . ویژگی فوق باعث انتقال یک سند XML به فرمت دیگر می شود. فرمت فوق می تواند یک سند XML دیگر و یا یک سند DHTML باشد .
– Pointing)XPath) . ویژگی فوق امکان مشخص نمودن هر مکان در یک سند XML را فراهم می نماید . پتانسیل فوق بعنوان هسته اساسی پردازش Style Sheet مطرح بوده و مکانیزم لازم در خصوص اعمال قوانین نمایش در خصوص اطلاعات موجود در سند XML را بدون نیاز به استفاده از تگ های مربوط به Style در بطن و همراه سند ، فراهم می نماید .
– Formating)XSL) ، فرآیندی است که بر اساس آن امکان اعمال فرمت مورد نظر به اطلاعات، بدون نیاز به نوشتن دستورالعمل ها ئی که مختص یک دستگاه خروجی خاص می باشند ، را فراهم می نماید . مثلا” می توان قوانینی مشابه : ” تمام عناوین می بایست بصورت پررنگ ، فونت تایمز ، در وسط قرار گرفته ، و دور آنها یک کادر کشیده شده که دارای پهنای N باشد ” را بسادگی تعریف کرد . ویژگی فوق یک تحول چشمگیر نسبت به وضعیت فعلی است . در این راستا الزامی به نوشتن قوانین متعدد برای هر یک از دستگاههائی که قصد حمایت از آنان را داریم ، وجود نخواهد داشت .

StyleSheets چگونه کار می کند ؟
مهمترین اصل تمام زبانهای XML Style ، کمک به طراحان بمنظور ایجاد قوانین ، نسبت دهی و دستورالعمل های پردازش برای انواع اطلاعات موجود در یک سند است . قوانین در یک Stylesheet در تمپلیت ها قرار گرفته و به المان ها و الگوهای اطلاعاتی موجود ، اشاره خواهند کرد .در زمان اجراء ، یک نرم افزار کوچک که پردازنده StyleSheet نامیده می شود ، سند XML و یک StyleSheet را بعنوان ورودی اخذ خواهد کرد ( پردازنده Stylesheet ، درون هر برنامه ای که Stylesheet را به XML اعمال می نماید ، نظیر مرورگرها و یا ابزارهای طراحی صفحات وب وجود دارد) . پردازنده بر اساس دستورالعمل های موجود در Stylesheet عملیات مورد نظر را انجام و بر اساس تمپلیت تعریف شده اطلاعات ذیربط را در آن درج و باعث ایجاد یک خروجی جدید بعنوان ماحصل کار می نماید. روش فوق برنامه نویسی تعریفی در مقابل رویه ای نامیده می شود ( در این حالت قوانین مربوط به نحوه نمایش تعریف شده اند، نه اینکه دستورالعمل های رویه ای در متن کدها استفاده شده باشد ) . نمونه کدهای زیر ، یک تمپلیت XSLT را ایجاد که در آن المان <title> در زمان ایجاد تگ های Html ، درشت نوشته شده خواهند شد .

مثال : یک تمپلیت ساده XSLT
<xsl:template match=”title”>
<H1>
<xsl:apply-templates/>
</H1>
</xsl:template>

در تمپلیت فوق ، خصلت match دارای مقدار title بوده و این بدین معنی است که قانون می بایست به هر المان موجود در <title> که پردازنده Stylesheet آن را در سند XML پیدا خواهد کرد ، اعمال خواهد شد. قانون موجود در تمپلیت به این نکته اشاره دارد که محتویات المان <title> در سند XML ، می بایست در فایل Html که ایجاد خواهد شد ، درج و قبل از آن تگ <H1> و بدنبال آن تگ <H1/> آورده شود . فرض کنید فایل XML مشابه زیر باشد :
مثال : سند XML که فایل XSLT بر روی آن اعمال می گردد
<title>This text will be very large</title>

نتیجه فایل HTML پس از اعمال تمپلیت تعریف شده :
<H1>This text will be very large</H1>
مثال فوق نمونه ساده ای در این زمینه بوده و در عمل می توان با استفاده از امکانات موجود، تمپلیت های بمراتب پیچیده تر و قدرتمندتری را ایجاد نمود.
StyleSheet و افزایش انعطاف پذیری
با تفکیک دستورالعمل های فرمت اطلاعات از محتویات اطلاعات و در ادامه استفاده از مکانیزم Stylesheet بمنظور ترکیب آنها با یکدیگر ، قابلیت های فراوانی در اختیار علاقه مندان به این تکنولوژی قرار خواهد گرفت :
• می توان StyleSheet های متفاوتی را برای دستگاه های متفاوت ( مرورگرها ، PDA ، تلفن ) بر روی محیط های اطلاعاتی متفاوت ( online ، چاپ ، CD ) و با اهداف متفاوت ( نمایش مدیریتی ، نمایش تکنیکی ) ایجاد نمود .
• می توان یک Stylesheet ایجاد و آن را بر روی سندهای متعددی اعمال نمود.
• می توان اطلاعات را ویرایش و StyleSheet آنها را یکدیگر تفکیک خواهد کرد .
• می توان تمام اطلاعات موجود را ، صرفا” با فشردن با یک کلید ، منتشر کرد.
خلاصه
استانداردهای اساسی در زمان انتشار سندهای XML شامل CSS و XSL/XSLT است . مهمترین نکات در رابطه با تکنولوژی های فوق ، عبارت است از :
• جدا سازی محتویات از فرمت نمایش
• نسبت دهی Style به ساختار
• استفاده از CSS بمنظور تزئین اطلاعات
• استفاده از XSLT در زمانیکه به الگوهای قدرتمندی نیاز است .
(بخش اول) ( بخش سوم )
XML چیست و چرا دارای اهمیت فراوان است ؟ ( بخش سوم)

در بخش اول، مفاهیم اولیه تکنولوژی XML بررسی و پس از معرفی خانواده بزرگ تکنولوژی های مرتبط با XML ، سه استاندارد لازم بمنظور تعریف نوع سندهای XML تشریح گردید ( XML ، NameSpace و XML-Schema ( و یا DTD) ) . در بخش دوم به بررسی نحوه انتشار سندهای XML اشاره گردید . در این بخش ،نحوه پردازش سندهای XML و دلایل توجه جدی به این تکنولوژی ، تشریح می گردد .

پیاده کنندگان نرم افزار در زمان استفاده از XML علاقه مند به کار در دو سطح متفاوت می باشند : پردازش های سطح پائین و پردازش های سطح بالا. در پردازش های سطح پائین ، تمام سند خوانده شده و به بخش های مورد نظر برای پردازش ، تقسیم می گردد . در پردازش های سطح بالا ، از ابزارهای لازم برای انجام فعالیت های سطح پائین استفاده شده و در برخی حالات نیز لازم است که کدها و اسکریپت های خاصی نوشته شده تا پردازش های لازم بر روی یک سند XML صورت پذیرد . برای پردازش های سطح پائین ، می بایست از استانداردهای موجود در رابطه با Parsing استفاده کرد . در پردازش های سطح بالا ، می بایست از استاندارد تبدیل XML استفاده کرد .

پارسر (Parser)

هر پردازنده XML ( مرورگرها ، پردازنده های Schema ، ویرایشگرها ، پردازنده های Stylesheet ) دارای یک پارسر می باشند . پارسر یک سند XML را خوانده و آن را به بخش های متفاوت تقسیم و در حافظه مستقر می نماید .( معیار تقسیم بندی می تواند بر اساس المان و یا خصلت باشد ) . پس از استقرار بخش های متفاوت یک سند XML در حافظه ، امکان انجام عملیات بر روی هر یک از بخش های موجود توسط پردازنده فراهم می گردد . ( نظیر داده های موجود در یک بانک اطلاعاتی ) :
• انتقال یک سند از یک فرمت به فرمت دیگر
• بازسازی مجدد یک سند XML با توجه به اولویت های اطلاعاتی مورد نظر
• اعمال فرمت های دلخواه بمنظور چاپ و یا نمایش

اکثر پیاده کنندگان نرم افزار های مبتنی بر XML ، ضرورتی به فراگیری جزئیات مربوط به نحوه پارسینگ ، نداشته و می توانند آن را به ابزارهای ارائه شده توسط تولیدکنندگان واگذار نمایند . (در محیط های پیاده سازی امکانات مربوطه در این زمینه پیش بینی می گردد) . با مطالعه پارسر های XML ، شناخت مناسبی نسبت به امکانات و ویژگی های موجود، ایجاد خواهد شد . XML دارای دو اینترفیس برنامه نویسی DOM و SAX است .

DOM)Document Object Model) بر خلاف نام خود یک مدل واقعی نیست . DOM یک API ( اینترفیس برنامه نویسی ) برای نوشتن کدهای لازم بمنظور انجام عملیات دلخواه بر روی بخش هائی از یک سند XML پس از استقرار آن در حافظه است . رفتار استاندارد فوق با اطلاعات موجود در یک سند XML ، استفاده از یک ساختار درختی برای ذخیره سازی اطلاعات ، بهمراه دستوراتی برای حرکت در طول درخت و بازیابی اطلاعات مورد نظر است . دستورات بر اساس یک مدل شی گراء عمل می نمایند. مهمترین مزیت پارسرهای سازگار با DOM ، ارائه استانداردهای لازم API بمنظور انجام عملیات دلخواه در رابطه با اطلاعات است .

SAX)Simple API for XML) ، بر اساس یک مدل شی گراء رفتار نمی نماید. در اینترفیس فوق ، از مجموعه ای رویداد استفاده می گردد . رویدادها، پس از خواند ن یک سند XML توسط پارسر های سازگار با SAX ، با توجه به شرایط مربوطه ، فعال خواهند شد. یکی از دلایل مطرح شدن SAX با توجه به وجود DOM ، عدم امکان استفاده از دستورات DOM تا زمانی است که تمام سند در حافظه مستقر گردد . استفاده و بکارگیری از دستورات DOM صرفا” پس از استقرار تمام سند XML در حافظه امکان پذیر خواهد بود . بدیهی است با توجه به رویکرد عملیاتی فوق ، حجم بالای سندهای XML می تواند باعث بروز مسائل و مشکلاتی در این رابطه گردد . مثلا” بمنظور دستیابی به یک المان خاص می بایست در انتظار استقرار تمام سند XML در حافظه گردید .( از دست دادن زمان و مصرف بیهوده حافظه ) . با استفاده از تکنولوژی SAX می توان بسرعت یک سند را فعال و در ادامه المان های موجود را بمنظور استفاده از محتویات مورد نظر جستجو کرد .

قابلیت SAX ، یک پیش نیاز برای پارسرهای سازگار با DOM است ، چون یک پارسر DOM می بایست در ابتدا سند را خوانده و در ادامه از رویدادهای مشابه SAX بمنظورتشخیص المان ها استفاده و آنها را در حافظه ایجاد نماید . بعنوان جمع بندی می بایست به این نکته اشاره گردد که اغلب پارسرها امکانات مربوط به DOM و SAX را حمایت کرده و می توان از پارسر های مشابه بمنظور انجام هر یک از حالات پردازش استفاده کرد .

  راهنمای خرید:
  • در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.