جايگاه XSLT به منظور فرمت دهي خروجي برنامه هاي وب
ايجاد خروجي مناسب و با فرمت مطلوب ، از جمله اهداف مهم در تمامي برنامه هاي کامپيوتري است. برنامه هاي وب نيز از ايـن قاعده مستثني نبوده و طراحان و پياده کنندگان اين نوع از برنامه ها ، با بهره گيري از امکانات و تکنولوژي هاي متفاوت سعي در ارائه خروجي مناسب و با فرمت قابل قبول براي مخاطبان خود مي نمايند. خروجي يک برنامه وب ، در سطح سرويس گيرندگان ارائه مي گردد ، بديهي است به منظور فرمت مناسب خروجي برنامه هاي وب ، مي بايست بر تکنولوژي هائي متمرکز گرديد که امکان بکارگيري آنان در سطح سرويس گيرنده و از طريق مرورگر کاربران ، ميسر مي باشد . مسئوليت ميزبان نمودن بخش رابط کاربر برنامه هاي وب برعهده مرورگر بوده و لازم است تمامي تلاش هاي انجام شده در اين خصوص با تاکيد بر اهميت و جايگاه مرورگر ها ، سازماندهي و مديريت گردد . ASP.NET ( پلات فرم دات نت براي ايجاد برنامه هاي وب ) ، از دو روش عمده در ارتباط با ايجاد فرمت مناسب خروجي ( Formatting)براي برنامه هاي وب ، استفاده مي نمايد :
• استفاده از 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 در محيط ويژوال استوديو دات نت )
.jpg)
• مقداردهي مناسب خصلت DocumentSource کنترل سرويس دهنده XML به فايل XML
• مقداردهي مناسب خصلت TransformSource کنترل سرويس دهنده XML به فايل XSL که از آن بمنظور فرمت دهي خروجي ، استفاده مي گردد .
.jpg)
شکل زير ، فرم وب را پس از استقرار يک کنترل سرويس دهنده XML بر روي آن ، نشان مي دهد.
.jpg)
در زمان اجراء ، کنترل سرويس دهنده XML ، ورودي XML را با استفاده از اطلاعات موجود در فايل XSL به منظور توليد فرمت مناسب خروجي ، پردازش مي نمايد .
.jpg)
ايجاد يک فايل XML
فايل هاي 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 را انتخاب مي نمائيم .
مرحله اول | مرحله دوم |
.jpg)
| .jpg)
|
به منظور صرفه جوئي در زمان ايجاد و اشکال زدائي يک فايل XML ، شايسته است که در ابتدا ساختار سند XML مشخص و پس از تعريف تگ هاي مورد نظر ، اقدام به ايجاد آن با استفاده از امکانات ويژوال استوديو دات نت ، نمود. XMLFile1 ، يک فايل نمونه XML است که با توجه به ساختار تعريف شده ، اطلاعات دانشجويان را در خود ذخيره مي نمايد( نام و نام خانوادگي ، جنسيت ، رشته تحصيلي ، آدرس منزل و ... )
Student XML file:XMLFile1 |
<?xml version="1.0" encoding="utf-8" ?> <Students> <Student> <Gender>مرد</Gender> <Fname>محمدرضا</Fname> <Lname>ايراني</Lname> <Study>فنآورياطلاعات و ارتباطات</Study> <Address> <Home></Home> <Office></Office> <Tel> <TelHome></TelHome> <TelOffice></TelOffice> </Tel> <Email></Email> </Address> <Marks> <Quiz> <Q1></Q1> <Q2></Q2> <Q3></Q3> </Quiz> <MidTerm></MidTerm> <Final></Final> </Marks> </Student> </Students> |
داده مربوط به هر يک از آيتم ها بين تگ هاي شروع و پايان قرار مي گيرد. ساختار فايل و اسامي عناصري است که به نوعي محتويات يک المان را تشريح مي نمايند، از نکات مهم يک فايل XML محسوب مي گردد( به غير از فرمت دهي ) . ساختار XML بصورت سلسه مراتبي بوده و به هر آيتم موجود در ساختار فوق ، با نام "گره " ( Node ) ، مراجعه مي گردد . گره ها داراي ارتباطات از نوع Parent-child بوده که با استفاده از XPath)XML Path Language) ،مشخص مي گردند ( نظير آدرس دهي يک فولدر ) .
ايجاد يک فايل XSL
فايل XSL ، مسئوليت ارائه Layout و منطق لازم به منظور تبديل داده ذخيره شده در فايل XML به خروجي مورد نظر را برعهده دارد. به منظور ايجاد يک فايل XSL در ويژوال استوديو دات نت ، گزينه Add New Item را از طريق منوي Project انتخاب و در ادامه از طريق ليست Template ، گزينه XSL file را انتخاب مي نمائيم .
فايل XSL ، شامل عبارات تمپليتي است که آيتم هاي مورد نظر ورودي از فايل XML را شامل مي شود . هر تمپليت ، شامل عناصر استاندارد HTML است که به منظور فرمت دهي عناصر ورودي از فايل XML استفاده مي گردد .تمپليت XSL زير ، عناصر Fname،Lname و Study را از فايل XMLFile1 به عنصر h3 در HTML تبديل مي نمايد .
XSLT File :XSLTFile1 |
<?xml version="1.0" encoding="utf-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/Students/Student"> <xsl:apply-templates select="Student"/> <h2 dir="rtl" align="center"><xsl:text>مشخصاتدانشجويان</xsl:text></h2> <hr/> <h3 dir="rtl"><xsl:value-of select="Fname"/></h3> <h3 dir="rtl"><xsl:value-of select="Lname"/></h3> <h3 dir="rtl"><xsl:value-of select="Study"/></h3> </xsl:template> </xsl:stylesheet> |
درمثال فوق از عناصر و خصلت هاي 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 ) .
.jpg)
عناصرXSL استفاده شده در مثال فوق ، حداقل عمليات لازم به منظور نمايش داده را شامل مي شود : تعريف يک تمپليت ، درج داده درون تمپليت ، نمايش مقادير مورد نظر از فايل XML و درج متن . عمليات فوق را مي توان با بکارگيري عناصر HTML معمولي و Style sheet نيز انجام داد. استفاده از XSL مزاياي متعددي را بدنبال داشته که به دو مورد آن اشاره مي شود :
• امکان تغيير موقعيت عناصر ( لي اوت صفحه ) در فايل XSL ، بدون نياز به تغيير داده ، فراهم مي گردد .
• امکان انجام عمليات منطقي بر روي داده نظير پردازش هاي تکراري و شرطي ، فراهم مي گردد.
ادامه دارد ....
منبع:http://article.mjsoft.ir/خ