به منظور پردازش يک سند XML مي توان از روش هاي مختلفي استفاده نمود . برخي از روش ها ، مبتني بر تکنولوژي هاي سمت سرويس گيرنده و برخي ديگر مبتني بر تکنولوژي هاي سمت سرويس دهنده بوده که پس از پردازش يک سند XML و ايجاد خروجي مناسب ، نتايج براي مرورگر ارسال مي گردد . در اين رابطه مي توان از امکانات ارائه شده به منظور انجام عمليات متفاوتي در ارتباط با اسناد XML نظير ويرايش يک سند و يا قابليت اشتراک آنان بين چندين سرويس دهنده ، استفاده نمود .
در اين مقاله قصد داريم با تاکيد بر تکنولوژي هاي سمت سرويس دهنده به نحوه تبديل اسناد XML در محيط دات نت اشاره نمائيم .
براي دستيابي به اسناد XML با استفاده از تکنولوژي هاي سمت سرويس گيرنده مي توان از روش هاي متفاوتي استفاده نمود :
-
اسناد XML مبتني بر فايل : استفاده از فايل هاي XML و XSLT به عنوان ورودي و تبديل اسناد XML به XHTML به منظور نمايش توسط مرورگر
-
اسناد XML مبتني بر حافظه :استفاده از استاندارد Document Object Model )DOM ) به منظور دستيابي و پردازش اسناد XML
-
اسناد XML مبتني بر Stream : ارائه يک روش ساده به منظور خواندن و نوشتن اسناد XML که در هر لحظه يک عنصر توليد خواهد شد .
پردازش هاي سمت سرويس دهنده در محيط دات نت انجام مي شود .مثلا" در روش دستيابي مبتني بر فايل ، فريمورک دات نت يک کنترل سرويس دهنده را ارائه نموده است که با استفاده از يک فايل XML و يک فايل XSLT ، خروجي مناسب به منظور نمايش در صفحات وب توليد مي گردد . در روش دستيابي مبتني بر حافظه ، فريمورک دات نت امکانات لازم به منظور پردازش اسناد XML را متناسب با استاندارد DOM مربوط به کنسرسيوم وب ارائه نموده است . در روش دستيابي مبتني بر Stream نيز کلاس هاي لازم به منظور خواندن و يا نوشتن اطلاعات در فايل هاي XML ارائه شده است .
در تمامي مثال هائي که در ادامه به بررسي آنان خواهيم پرداخت از فايل XML زير ( SrcoArticles.xml ) استفاده شده است . فايل فوق ، حاوي ليستي ساده از مقالات است .
<?xml version="1.0" encoding="Utf-8"?>
<Articles>
<Article> <ID>111111</ID> <Name> XML در دانت : خواندن يک فايل </Name> <Description> نحوه خواندن يک فايل XML در دات نت </Description> <DatePublish> 28 / 7 / 1383 </DatePublish> </Article>
<Article> <ID>222222</ID> <Name> XML در دانت : ايجاد يک فايل</Name> <Description> نحوه ايجاد يک فايل XML در دات نت </Description> <DatePublish> 24 / 7 / 1383 </DatePublish> </Article>
</Articles> |
تبديل فايل هاي XML با استفاده از فايل هاي XSLT
استفاده از فايل هاي XSLT در ارتباط با فايل هاي XML بر روي سرويس دهنده محقق مي گردد . يک تبديل XSLT ، با استفاده از يک کنترل سرويس دهنده <asp:xml> بر روي يک صفحه وب و در محل مورد نظر براي نمايش خروجي ، انجام مي شود ( خروجي به صورت XHTML ) . براي کنترل فوق ، مي بايست فايل هاي XML و XSLT را مشخص تا با استفاده از آنان خروجي مورد نظر توليد گردد . شکل زير نحوه انجام اين فرآيند را نشان مي دهد :
کنترل <asp:xml> در محل مورد نظر به منظور نمايش خروجي در يک صفحه وب قرار مي گيرد . کنترل فوق از دو خصلت به منظور مشخص نمودن فايل هاي XML و فايل XSLT استفاده مي نمايد . شکل عمومي استفاده از کنترل فوق به صورت زير است :
<asp:Xml DocumentSource="path" TransformSource="path" runat="server"/> |
خصلت هاي DocumentSource و DocumentTransform به ترتيب مسير استقرار فايل هاي XML و XSLT را مشخص مي نمايند .
فايل SrcoArticles.xsl که از آن به منظور تبديل فايل SrcoArticles.xml استفاده شده است :
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table border="1" dir="rtl" style="border-collapse:collapse"> <tr style="background-color:#E6E6E6"> <th>شماره سريال</th> <th>عنوان</th> <th>شرح</th> <th>تاريخ انتشار</th> </tr>
<xsl:apply-templates select="Articles/Article"/>
</table>
</xsl:template>
<xsl:template match="Article"> <tr> <td><xsl:value-of select="ID"/></td> <td><xsl:apply-templates select="Name"/></td> <td><xsl:apply-templates select="Description"/></td> <td><xsl:value-of select="DatePubish"/></td> </tr>
</xsl:template>
</xsl:stylesheet> |
استفاده از کنترل <asp:lable> در يک صفحه وب ASP.NET ( فايل XmlTransform1.aspx )
<script runat="server" language="vb"> Sub Page_Load() Message.Text = " تبديل يک سند XML با استفاده از کنترل asp:Xml" End Sub </script>
<html dir=rtl> <head> <title>تبديل يک سند </title> </head> <body>
<form runat="server"> <p align="center" style ="font-weight:bold"> <asp:label id="Message" runat="server"/> </p> <asp:Xml runat="server" DocumentSource="SrcoArticles.xml" TransformSource="SrcoArticles.xsl"/> </form>
</body> </html> |
پس از ذخيره کد فوق در فايلي با نام XmlTransform1.aspx و اجراي آن ، خروجي زير نمايش داده مي شود .
در بخش دوم اين مقاله به بررسي نحوه تبديل اسناد DOM با استفاده از XSLT خواهيم پرداخت .
برگرفته از سايت سخا روش