تور لحظه آخری
امروز : چهارشنبه ، 12 دی 1403    احادیث و روایات:  امام علی (ع):هيچ كس جز با اطاعت خدا خوشبخت نمى‏شود و جز با معصيت خدا بدبخت نمى‏گردد.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

اجاره سند در شیراز

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

خرید بلیط هواپیما

بلیط اتوبوس پایانه

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

خرید از چین

خرید از چین

تجهیزات کافی شاپ

خرید سرور اچ پی ماهان شبکه

کاشت ابرو طبیعی و‌ سریع

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

دوره آموزش باریستا

مهاجرت به آلمان

بهترین قالیشویی تهران

بورس کارتریج پرینتر در تهران

تشریفات روناک

نوار اخطار زرد رنگ

ثبت شرکت فوری

تابلو برق

خودارزیابی چیست

فروشگاه مخازن پلی اتیلن

قیمت و خرید تخت برقی پزشکی

کلینیک زخم تهران

خرید بیت کوین

خرید شب یلدا

پرچم تشریفات با کیفیت بالا و قیمت ارزان

کاشت ابرو طبیعی

پرواز از نگاه دکتر ماکان آریا پارسا

پارتیشن شیشه ای اداری

اقامت یونان

خرید غذای گربه

رزرو هتل خارجی

تولید کننده تخت زیبایی

مشاوره تخصصی تولید محتوا

سی پی کالاف

دوره باریستا فنی حرفه ای

چاکرا

استند تسلیت

تور بالی نوروز 1404

سوالات لو رفته آیین نامه اصلی

کلینیک دندانپزشکی سعادت آباد

پی ال سی زیمنس

دکتر علی پرند فوق تخصص جراحی پلاستیک

تجهیزات و دستگاه های کلینیک زیبایی

 






آمار وبسایت

 تعداد کل بازدیدها : 1848635201




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

استفاده از XSLT در برنامه های وب (3)


واضح آرشیو وب فارسی:راسخون:
استفاده از XSLT در برنامه های وب (3)
استفاده از XSLT در برنامه های وب (3) نحوه انجام عمليات مرتب سازی و ساختارهای تصميم گيری در XSLT    مرتب سازی ( Sorting) مرتب سازی در XSLTبا افزودن يک و يا چندين عنصر فرزند <xsl:Sort> به عنصر <xsl:apply-templates> و يا <xsl:for each> محقق می گردد . گرامر استفاده از عنصر فوق ، بصورت زير است : xsl:sort element syntax<xsl:sort select="Xpath expression" lang ="lang" data-type="text or number" order = "ascending or descending " case-order = "upper-first or lower-first" /> خصلت Select، باعث انتخاب يک عنصر و يا خصلت می گردد . در صورتيکه بيش از يک عنصر <xsl:sort> استفاده گردد ، خروجی در ابتدا بر اساس عنصر و يا خصلت مشخص شده در اولين <xsl:sort> مرتب شده و در صورتيکه پس از مرتب سازی ، موارد تکراری وجود داشته باشد ، موارد موجود توسط عنصر و يا خصلت مشخص شده در دومين <xsl:sort> ، مرتب می گردند . خصلت data-type، مشخص کننده نوع داده ئی است که قصد مرتب سازی آن وجود دارد( عددی و يا حرفی ) . مثلا" در صورتيکه قصد مرتب سازی اعداد 1 ، 10 ، 11، 5 را داشته باشيم ، نوع data-typeمی بايست textدر نظر گرفته شود . در چنين حالتی خروجی بصورت : 5 ، 11، 10 ، 1 خواهد بود . در صورتيکه مرتب سازی بصورت عددی انجام شود ، مقدار خصلت data-typeمی بايست numberدر نظر گرفته شود . در چنين حالتی نتيجه عمليات مرتب سازی بصورت 11 ، 10 ، 5 ، 1 می باشد . خصلت data-typeدارای مقدار پيش فرض ، textمی باشد. خصلت order، پارامتر صعودی و يا نزولی فرآيند مرتب سازی را مشخص می نمايد. مقدار پيش فرض اين خصلت ascendingمی باشد . خصلت case-order، اولويت حروف را مشخص می نمايد (حروف بزرگ و يا کوچک ). مثلا"، در صورتيکه برای خصلت case-orderمقدار upper-firstدر نظر گرفته شده باشد و قصد مرتب سازی داده هائی نظير : A B a bرا داشته باشيم ، نتايج بصورت : A a B bخواهد بود . در صورتيکه مقدار خصلت فوق ، lower-firstدر نظر گرفته شود ، نتيجه عمليات مرتب سازی بصورت : a A b Bخواهد بود. مقدار پيش فرض خصلت فوق بستگی به خصلت langداشته که زبان سند مورد نظر را مشخص می نمايد. زمانيکه ، برای خصلت lang، مقدار enدر نظر گرفته شود ، خصلت case-orderدارای مقدار پيش فرض، upper-firstاست . مثال يک : هدف : استفاده از عنصر xsl:sortبه منظور مرتب سازی مشخصات دانشجويان بر اساس نام خانوادگی توضيحات : درمثال فوق ، از فايل XMLزير استفاده شده است ( فايل XMLحاوی نام و نام خانوادگی پنج دانشجو می باشد ) . Student XML file<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?> <Students> <name> <first> علی</first> <last> رضائی</last> </name> <name> <first> خسرو</first> <last> ايرانی</last> </name> <name> <first>حسين</first> <last> ياوری</last> </name> <name> <first>محمد رضا</first> <last> خسروی</last> </name> <name> <first> پيمان</first> <last>دوستی</last> </name> </Students> فايل XSLاستفاده شده برای مثال يک : Student XSL file for sortting <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body Dir="rtl"> <H3 Align="Center"> ليست دانشجويان</H3> <table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center"> <tr> <th bgcolor="#336699"><font size="3" color="white"> نام</font></th> <th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی</font> </th> </tr> <xsl:for-each select="Students/name"> <xsl:sort select="last"/> <tr> <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="first"/></font></td> <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="last"/></font></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> خروجی : پس از مقداردهی خصلت های DocumentSourceو TransformSourceکنترل سرويس دهنده XML، به ترتيب به فايل های XMLو XSL، خروجی زير نمايش داده می شود .

ساختار تصميم گيریدر زمان ايجاد يک StyleSheet،در برخی حالات نيازمند اتخاذ تصميم در رابطه با نحوه نمايش نتايج می باشيم . XSLTدارای عناصری است که با استفاده از آنان می توان کنترل روند پردازش را در Stylesheetانجام داد. هر زبان برنامه نويسی امکان اتخاذ تصميم را از طريق کد نوشته شده در اختيار برنامه نويسان قرار می دهد . XSLTاز اين قاعده مستثنی نبوده و امکان تصميم گيری بر اساس شرايط موجود را با استفاده از دو عنصر <xsl:if> و <xsl:choose> فراهم می نمايد . گرامر عمومی دو عنصر فوق، بصورت زير می باشد : xsl:if element syntax<xsl:if test="Boolean expression" xsl:choose element syntax<xsl:choose> <xsl:when test="Boolean expression" > <xsl:when test="Boolean expression" > <xsl:otherwise> </xsl:choose> برای هر دو عنصر <xsl:if> و <xsl:choose> ، عبارت منطقی ( Boolean expression> يک عبارت XPathبوده که به يک مقدار منطقی تبديل خواهد شد.عبارت XPathبر اساس قوانين زير به يک عبارت منطقی تبديل می گردد : در صورتيکه مقدار عددی بوده و ارزش آن صفر باشد ، مقدار Falseدر نظرگرفته خواهدشد.برای هر مقدار غيرصفر( مثبت و يا منفی ) ، مقدار Trueدر نظر گرفته می شود . در صورتيکه مقدار يک رشته باشد و طول آن بيش از صفر باشد ، مقدار Trueدر نظر گرفته خواهد شد . در صورتيکه مقدار يک مجموعه گره باشد و مقدار آن غيرتهی باشد ، مقدار Trueدر نظر گرفته خواهد شد . هر نوع ديگر اشياء بر اساس نوع شی به يک مقدار منطقی تبديل خواهند شد . مثلا" عبارت : < "xsl:if test = "name> ، در صورتيکه يک عنصر با نام <name> غيرتهی وجود داشته (عضوء context node) ، مقدار Trueو در غير اينصورت مقدار Falseدر نظر گرفته خواهد شد. عنصر <xsl:if> ، ساده ترين ساختار تصميم گيری ارائه شده در XSLTمی باشد. عنصر فوق ، مقدار عبارت را بررسی ( ارائه شده توسط خصلت test) و در صورتيکه مقدار آن Trueباشد ، محتويات عنصر <xsl:if> ، بررسی و اجراء خواهند شد . xsl:if element Example<xsl:if test="name" > نام مورد نظر پيداگرديد</xsl:if> در مثال فوق ، در صورتيکه عنصر <name> بعنوان فرزندی از context nodeوجود داشته باشد ، عبارت " نام مورد نظر پيدا گرديد " ، نمايش داده می شود. عنصر <xsl:choose> ، نسبت به <xsl:if> امکانات بيشتری را بمنظور اتخاذ تصميم ارائه می نمايد . ساختار فوق، امکان تصميم گيری پيجيده تری را فراهم می نمايد.در عنصر فوق ، می توان از يک گزينه "پيش فرض " ، نيز استفاده نمود . xsl:choose Example : <xsl:choose> <xsl:when test="salary[number(.) &gt; 2000]" > يک عدد بزرگ</xsl:when> <xsl:when test="salary[number(.) &gt; 1000]" > يک عدد متوسط</xsl:when> <xsl:otherwise> يک عدد کوچک</xsl:otherwise> </xsl:choose> در صورتيکه عنصر <number> ، شامل يک مقدار عددی بيش از 2000 باشد ، عبارت : "يک عدد بزرگ " در خروجی نمايش داده خواهد شد . در صورتيکه مقدار عنصر فوق بيش از 1000 باشد .، عبارت : "يک عدد متوسط " در خروجی نمايش داده می شود. در ساير حالات ، عبارت : " يک عدد کوچک" در خروجی نمايش داده خواهد شد .در مثال فوق از يک تابع XPathاستفاده شده است ( تابع ( ) number) .تابع فوق،مسئوليت تبديل مقدار عنصر <number> به يک مقدار عددی را برعهده دارد . فراموش نکنيم که تمامی اطلاعات موجود در يک فايل XML، صرفا" بصورت متن بوده و XSLTهمواره با داده موجود در يک فايل XMLبصورت textبرخورد خواهد کرد( مگراينکه ، با صراحت به XSLTاعلام گردد که می بايست در اين رابطه تبديلی صورت پذيرد) . در صورتيکه از تابع numberاستفاده نشود ، XSLTداده موردنظر را بصورت Textبررسی می نمايد. ( در مثال فوق در مقابل علامت "<" از "gt" استفاده شده است ). مثال دو : هدف : استفاده از عنصر xsl:ifبه منظور اتخاذ تصميم و نمايش اطلاعات دانشجو با نام " خسرو ايرانی " توضيحات : درمثال فوق ، از فايل XMLارائه شده درمثال يک ( فايل XMLحاوی نام و نام خانوادگی پنج دانشجو می باشد ) و فايل XSLزير استفاده شده است. Student XSL file : If Example <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body Dir="rtl"> <H3 Align="Center"> ليست دانشجويان</H3> <table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center"> <tr> <th bgcolor="#336699"><font size="3" color="white"> نام</font></th> <th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی</font> </th> </tr> <xsl:for-each select="Students/name"> <xsl:if test="first="خسرو"" > <tr> <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="first"/></font></td> <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="last"/></font></td> </tr> </xsl:if> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> خروجی : پس از مقداردهی خصلت های DocumentSourceو TransformSourceکنترل سرويس دهنده XML، به ترتيب به فايل های XMLو XSL، خروجی زير نمايش داده می شود .

مثال سه : هدف : استفاده از عنصر xsl:chooseبه منظور اتخاذ تصميم و نمايش اطلاعات دانشجو با نام " خسرو ايرانی " و "پيمان دوستی " توضيحات :درمثال فوق ، از فايل XMLارائه شده درمثال يک ( فايل XMLحاوی نام و نام خانوادگی پنج دانشجو می باشد ) و فايل XSLزير استفاده شده است. Student XSL file for sortting<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body Dir="rtl"> <H3 Align="Center"> ليست دانشجويان</H3> <table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center"> <tr> <th bgcolor="#336699"><font size="3" color="white"> نام</font></th> <th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی</font> </th> </tr> <xsl:for-each select="Students/name"> <xsl:choose> <xsl:when test="first="خسرو""> <tr> <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="first"/></font></td> <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="last"/></font></td> </tr> </xsl:when> <xsl:when test="first="پيمان""> <tr> <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="first"/></font></td> <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="last"/></font></td> </tr> </xsl:when> </xsl:choose> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> خروجی : پس از مقداردهی خصلت های DocumentSourceو TransformSourceکنترل سرويس دهنده XML، به ترتيب به فايل های XMLو XSL، خروجی زير نمايش داده می شود .

منبع:http://article.mjsoft.ir/خ





این صفحه را در گوگل محبوب کنید

[ارسال شده از: راسخون]
[مشاهده در: www.rasekhoon.net]
[تعداد بازديد از اين مطلب: 465]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن