جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
XML چيست و چرا داراي اهميت فراوان است ؟
-(3 Body) 
XML چيست و چرا داراي اهميت فراوان است ؟
Visitor 487
Category: دنياي فن آوري


تاکنون مقالات فراواني در باره 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 بوده و در سال 1988 استاندارد شده است . 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 تعريف شده مشتق مي گردد )

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 آنها را يکديگر تفکيک خواهد کرد .
• مي توان تمام اطلاعات موجود را ، صرفا" با فشردن با يک کليد ، منتشر کرد.

 


Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image