xsl سر نام هاي eXtensible Stylesheet Language مي باشد.يک xsl شامل دستورالعمل هايي براي شکل دهي به محتويات يک فايل xml مي باشد. قالب کلي يک فايل xsl را مي توانيد با وارد کردن آدرس res://msxml.dll/defaultss.xsl در قسمت آدرس مرورگر خود مشاهده نماييد.اين يک مثال کامل از يک سند xsl است که براي آشنايي اوليه و يافتن يک ديد کامل مناسب خواهد بود.
نتيجه تبديل و فرمت دهي يک سند xml بوسيله xsl مي تواند به صورت يک فايل html يا يک فايل xml ديگر باشد که در اينجا ما در مورد تبديل به يک فايل html صحبت خواهيم کرد.

» xslt
عمل تبديل xml بوسيله xsl را xslt گويند(xsl transform). براي انجام عمل تبديل به يک پردازنده xslt نياز داريم تا داده هاي سند xml و دستورالعمل هاي xsl را بخواند و بر اساس آن دستورالعمل ها داده ها را در خروجي html بنويسد.مي توانيد اينکار را با برنامه نويسي c# و استفاده از موتور xslt موجود در c#.net انجام دهيد و يا از پردازنده هاي xslt جداگانه اي که نمونه هايي از آنها به صورت رايگان موجود مي باشد استفاده نماييد.يک پردازنده خط فرمان رايگان از آدرس http://jclark.com/xml/xt.html قابل دريافت مي باشد.نحوه استفاده از اين پردازنده خط فرمان در مثال زير مشخص شده است:


xt source.xml stylesheet.xsl result.html


يکي ديگر از ويرايشگرهاي موجود ، ويرايشگر XRay XML Editor مي باشد که از آدرس http://www.architag.com/xray قابل دريافت مي باشد.اين ويرايشگر جالب در داخل خود امکان توليد اسناد xml و xsl و در نهايت توليد html خروجي را فراهم مي کند.

» يک مثال
فکر کنم بهترين روش براي يادگيري استفاده از يک مثال باشد.فرض کنيد داده هاي خود را در يک فايل xml به صورت زير داريم و مي خواهيم آنرا در يک فايل html نمايش دهيم.




يک سايت فوق العاده جالب!
http://yahoo.com
اين سايت شايد اولين سايتي باشد که..


دنبال جي هستيد؟
http://www.google.com
جستجو در اينترنت




براي تبديل اين سند xml به html از يک فايل xsl به صورت زير استفاده کرده ايم:



;




Links


Links


















xsl نوعي سند xml است و بهمين دليل در خط اول آن از اعلان xml استفاده شده است.تگ stylesheet تگ ريشه يک سند xsl است که دو صفت Version و namespace آن مقداردهي مي شود.تنها يک نسخه از xslt ارائه شده است و آنهم ورژن 1.0 آن است.namespace هم مجموعه عناصري که مجاز به استفاده از انها در xsl خواهيم بود را در بر مي گيرد.با استفاده از تگ template عنصري از xml که داده هاي آن بايد مورد استفاده قرار گيرد مشخص مي شود که در اين مثال بالاترين عنصر در سند xml عنصر MySite مي باشد.با استفاده از تگ for-each هم براي مجموعه اي از عناصر مشابه يک حلقه تکرار مي شود.نام عنصر در صفت select اين تگ مشخص مي شود که در اين مثال Links است.به ازاي هر کدام از اين عناصر ، محتويات عناصر داخلي آن با استفاده از تگ value-of و آوردن نام عنصر در صفت select آن نمايش داده مي شود.چنانچه بخواهيم محتويات يک عنصر را در داخل يک تگ مثل نمايش دهيم از عبارتي شبيه {url} که url نام عنصر است استفاده مي کنيم.
حال که اسناد xml و xsl مورد نياز آماده شده است به يک پردازنده xslt نياز داريم تا عمل تبديل را انجام دهد.در اينجا از پردازنده xt استفاده مي کنيم:


xt example1.xml example1.xsl example1.htm