همانطور که در گامهای قبل مشاهده کردید ، برای نمایش تمام title  ها و تمام artist ها از حلقه for استفاده می کنیم

  اما با استفاده از الگومی توانیم بدون استفاده از حلقه for ، محتوای تمام المنت هایی که منطبق بر الگو هستند را نمایش دهیم
 

1-  برنامه را بصورت زیر در فایل xsl بنویسید :

 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">


      <html>
      <body>


          <h2>My CD Collection</h2>
         


      </body>
      </html>



</xsl:stylesheet>

 
 

2-   سپس مشخص می کنیم در کدام قسمت صفحه می خواهیم محتوای المنت های فایل xml را که منطبق بر الگو هستند را نمایش دهیم .

 
 

پس در قسمت مورد نظر دستور زیر را می نویسیم :

<xsl:apply-templates/>

 
 

دستور بالا یعنی  محتوای المنت هایی که بر الگو منطبق هستند نشان داده شوند .

هنوز الگو را تعریف نکرده ایم .

بر نامه تا حالا به این صورت است  :

 

 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">



      <html>
      <body>


          <h2>My CD Collection</h2>
          <xsl:apply-templates/>



      </body>
      </html>



</xsl:template>

</xsl:stylesheet>

 
  اگر برنامه را اجرا کنید ، مشاهده خواهید کرد که فعلا محتوای تمام المنت ها را نشان می دهد .

 3- تعیین الگو برای انتخاب المنت های خروجی

 

فرمول :

<xsl:template  match=”نام المنت”>

<xsl:template>

 
 

فرمول بالا الگوهایی را برای المنتهایی که همنام با نام مشخص شده است در نظر می گیرد

مثال :

 

 

<xsl:template match="cd">
  <p>
  <xsl:apply-templates select="title"/>
  <xsl:apply-templates select="artist"/>
  </p>
</xsl:template>

 
 

الگویی را برای المنت های cd تعریف می کند

و می گوید برای المنت های title , artist که درون cd هستند الگو داریم که بعدا تعریف می کنیم .

اگر الگوهای مربوط به title , artist را تعریف نکنیم ، تمام title  ها و artist ها ی موجود در cd نشان داده می شوند

 

برنامه تا الان بصورت زیر است :

 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


<xsl:template match="/">



      <html>
      <body>


          <h2>My CD Collection</h2>
          <xsl:apply-templates/>



      </body>
      </html>



</xsl:template>

<xsl:template match="cd">
  <p>
  <xsl:apply-templates select="title"/>
  <xsl:apply-templates select="artist"/>
  </p>
</xsl:template>




</xsl:stylesheet>

 

اما اگر بخواهید سبک خاصی برای نمایش محتوای title ها و artist ها بگوئید می توانید انها را هم در ادامه مشخص کنید :

 

<xsl:template match="title">
  Title: <span style="color:#ff0000">
  <xsl:value-of select="."/></span>
  <br />
</xsl:template>

<xsl:template match="artist">
  Artist: <span style="color:#00ff00">
  <xsl:value-of select="."/></span>
  <br />
</xsl:template>

 

 

 
 

یعنی الگوی مورد نظر برای المنت هایی با نام title به این صورت است که :

ابتدا عبارت زیر نشان داده شو د :

Title:

سپس با رنگ ff0000 ، محتوای المنت  جاری  که title می باشد را نشان دهد

 

همین طور برای adrtist .

 
 برنامه کامل :

 


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


<xsl:template match="/">
  <html>
  <body>
  <h2>My CD Collection</h2>
  <xsl:apply-templates/>
  </body>
  </html>
</xsl:template>

<xsl:template match="cd">
  <p>
  <xsl:apply-templates select="title"/>
  <xsl:apply-templates select="artist"/>
  </p>
</xsl:template>

<xsl:template match="title">
  Title: <span style="color:#ff0000">
  <xsl:value-of select="."/></span>
  <br />
</xsl:template>

<xsl:template match="artist">
  Artist: <span style="color:#00ff00">
  <xsl:value-of select="."/></span>
  <br />
</xsl:template>

</xsl:stylesheet>