استفاده از XSLT در برنامه های وب (1)
جايگاه XSLT به منظور فرمت دهی خروجی برنامه های وب
• استفاده از CSS . از تکنولوژی CSS)Cascading style sheet) ، به منظور کنترل شکل ظاهری عناصر موجود بر روی يک فرم وب استفاده می گردد . از امکانات CSS ، می توان در جهت تنظيم رنگ ، اندازه ، فونت و رفتار عناصر HTML موجود بر روی يک صفحه وب استفاده نمود .
• استفاده از XSLT . از تکنولوژی XSLT)Extensible Stylesheet Language Transformation ) ، به منظور تبديل اطلاعات يک فايل XML به خروجی HTML و استقرار اطلاعات فوق بر روی يک فرم وب ، استفاده می گردد . XSLT ، داده مورد نياز را از فايل XML دريافت و پس از تبديل آنان به عناصر HTML ، سبک های ( Styles ) مشخص شده را در رابطه با هر يک از عناصر بکار می گيرد .
در اين مقاله به بررسی نحوه استفاده از XSLT ، به منظور تعريف فرمت خروجی برنامه های وب، خواهيم پرداخت .
XSLT ، از کنترل سرويس دهنده XML به منظور ايجاد فرمت خروجی يک فايل XML ( ورودی ) با استفاده از مجموعه قوانين ذخيره شده در يک فايل XSL ، استفاده می نمايد . فايل XSL ، مشابه فايل CSS است که در مقاله "استفاده از CSS در برنامه های وب دات نت " با آن آشنا شديم .فايل XSL ، قوانين formatting لازم به منظور ايجاد خروجی مناسب در يک فرم وب را ارائه می نمايد . برخلاف فايل های CSS ، يک فايل XSL قادر به استقرار عناصر در هر مکانی بر روی يک فرم وب بوده و همچنين امکان انجام عمليات منطقی نظير فرآيندهای تکرار و شرطی نيز به کمک آن ميسر می گردد. فايل های XSL را می توان بمنزله يک لايه هوشمند فرمت دهی در نطر گرفت که مکمل فايل های CSS می باشند ( نه جايگزين آنان ) . در چنين مواردی می توان ساختار داده موردنظر جهت استقرار بر روی يک فرم وب را با استفاده از XSL ، مشخص واز CSS به منظور تعريف شکل ظاهری عناصر تعريف شده در لی اوت مورد نظر،استفاده نمود .
برای استفاده از XSLT در يک فرم وب ، مراحل زير را دنبال می نمائيم :
• افزودن يک کنترل سرويس دهنده XML به يک فرم وب ( استفاده از Toolbox در محيط ويژوال استوديو دات نت )
• مقداردهی مناسب خصلت DocumentSource کنترل سرويس دهنده XML به فايل XML
• مقداردهی مناسب خصلت TransformSource کنترل سرويس دهنده XML به فايل XSL که از آن بمنظور فرمت دهی خروجی ، استفاده می گردد .
شکل زير ، فرم وب را پس از استقرار يک کنترل سرويس دهنده XML بر روی آن ، نشان می دهد.
در زمان اجراء ، کنترل سرويس دهنده XML ، ورودی XML را با استفاده از اطلاعات موجود در فايل XSL به منظور توليد فرمت مناسب خروجی ، پردازش می نمايد .
ايجاد يک فايل XML
XML به منظور مشخص نمودن عناصر داده از تگ <element > ... < /element> استفاده می نمايد ( مشابه HTML ) . فايل های XML بر خلاف فايل های HTML از مجموعه قوانين خاصی ، تبعيت می نمايند :
• هر آيتم ، می بايست دارای يک تگ شروع و يک تگ پايان باشد . در فايل های HTML برخی از تگ ها نظير : <br> و <li> می توانند بدون تگ پايانی ( < br> ، <li> ) استفاده گردند . در فايل های XML ، چنين عملياتی مجاز نمی باشد .
• اسامی تگ ها ، نسبت به حروف بزرگ و کوچک حساس می باشد . در فايل های HTML ، تگ های <P> و <p> ، معادل يکديگر بوده و در اين رابطه مرورگر خطائی را ارائه نمی نمايد. در فايل های XML ، تگ های فوق بعنوان دو تگ مجزا در نظر گرفته می شوند.
• مقادير نسبت داده شده به خصلت های هر تگ ، می بايست محصور بين علامت " " باشد ( Double quotation ) . در فايل های HTML ، می توان علامت کوتيشن را برای خصلت هائی که از نوع عددی می باشند ، حذف نمود ( نظير : <table cols=3> . در فايل های XML ، می بايست همواره از Double quotation استفاده شود ( نظير : <"table cols="3 > ) .
• آيتم های تودرتو ، می بايست با انظباط خاصی خاتمه يابند . در فايل های HTML استفاده از تگ هائی بصورت زير مجاز می باشد :
Nested Item in HTML File |
<b>Bold text <i> italic bold </b>regular italic</i> |
در فايل های XML چين عملياتی مجاز نخواهد بود و می بايست تگ <i> قبل از تگ <b> بسته شود .
Nested Item in XML File |
<b>Bold text <i> italic bold </i></b><i>regular italic</i> |
مجموعه قوانين فوق، نشاندهنده وجود پتانسيل های مهمی در فايل های XML نسبت به فايل های HTML بوده و کاربران می توانند تگ های اختصاصی و دلخواه خود را تعريف نمايند.
بمنظور ايجاد يک فايل XML در ويژوال استوديو دات نت ، گزينه Add New Item را از طريق منوی Project انتخاب و در ادامه از طريق ليست Template ، گزينه XML file را انتخاب می نمائيم .
مرحله اول | مرحله دوم |
به منظور صرفه جوئی در زمان ايجاد و اشکال زدائی يک فايل XML ، شايسته است که در ابتدا ساختار سند XML مشخص و پس از تعريف تگ های مورد نظر ، اقدام به ايجاد آن با استفاده از امکانات ويژوال استوديو دات نت ، نمود. XMLFile1 ، يک فايل نمونه XML است که با توجه به ساختار تعريف شده ، اطلاعات دانشجويان را در خود ذخيره می نمايد( نام و نام خانوادگی ، جنسيت ، رشته تحصيلی ، آدرس منزل و ... )
Student XML file:XMLFile1 |
<?xml version="1.0" encoding="utf-8" ?> |
داده مربوط به هر يک از آيتم ها بين تگ های شروع و پايان قرار می گيرد. ساختار فايل و اسامی عناصری است که به نوعی محتويات يک المان را تشريح می نمايند، از نکات مهم يک فايل XML محسوب می گردد( به غير از فرمت دهی ) . ساختار XML بصورت سلسه مراتبی بوده و به هر آيتم موجود در ساختار فوق ، با نام "گره " ( Node ) ، مراجعه می گردد . گره ها دارای ارتباطات از نوع Parent-child بوده که با استفاده از XPath)XML Path Language) ،مشخص می گردند ( نظير آدرس دهی يک فولدر ) .
ايجاد يک فايل XSL
فايل XSL ، شامل عبارات تمپليتی است که آيتم های مورد نظر ورودی از فايل XML را شامل می شود . هر تمپليت ، شامل عناصر استاندارد HTML است که به منظور فرمت دهی عناصر ورودی از فايل XML استفاده می گردد .تمپليت XSL زير ، عناصر Fname،Lname و Study را از فايل XMLFile1 به عنصر h3 در HTML تبديل می نمايد .
XSLT File :XSLTFile1 |
<?xml version="1.0" encoding="utf-8" ?> |
درمثال فوق از عناصر و خصلت های XSL زير، استفاده شده است :
• عنصر xsl:stylesheet
خصلت version : نسخه استفاده شده XSL را مشخص می نمايد( نسخه يک ، آخرين نسخه موجود می باشد ) .
خصلت xmlns:xsl : پيشوند عناصر موجود در فايل XSL را مشخص می نمايد .
• عنصر xsl:template
خصلت match : يک تمپليت برای يک گره XML را تعريف می نمايد .
• عنصر xsl:apply-templates
خصلت select : يک تمپليت را دررابطه با گره انتخاب شده ، بکار می گيرد .
• عنصر xsl:value-of
خصلت select : بازيابی مقدار يک گره XML و يا بررسی يک عبارت XPath را انجام می دهد .
• عنصر xsl:text . متن و يا فضای خالی مورد نظررا در خروجی نمايش می دهد .
شکل زير نحوه عملکرد عناصر فوق بمنظور تبديل داده XML را از طريق کنترل سرويس دهنده XML نشان می دهد( استفاده از فايل های XMLFile1 و XSLTFile1 ) .
عناصرXSL استفاده شده در مثال فوق ، حداقل عمليات لازم به منظور نمايش داده را شامل می شود : تعريف يک تمپليت ، درج داده درون تمپليت ، نمايش مقادير مورد نظر از فايل XML و درج متن . عمليات فوق را می توان با بکارگيری عناصر HTML معمولی و Style sheet نيز انجام داد. استفاده از XSL مزايای متعددی را بدنبال داشته که به دو مورد آن اشاره می شود :
• امکان تغيير موقعيت عناصر ( لی اوت صفحه ) در فايل XSL ، بدون نياز به تغيير داده ، فراهم می گردد .
• امکان انجام عمليات منطقی بر روی داده نظير پردازش های تکراری و شرطی ، فراهم می گردد.
ادامه دارد ....
منبع:http://article.mjsoft.ir
/خ