Föregående exempel var enkla såtillvida att det bara fanns 
  en produkt. I praktiken kommer XML filen troligtvis att ha flera produkter. 
  Nedan är en mer utvecklad variant på föregående exempelfil. 
  Den är ännu utan XSL
xml17_1.xml
<?xml version="1.0" encoding="iso-8859-1"?>  
<!DOCTYPE products [
<!ELEMENT products (product+)>
<!ELEMENT product (code,price,amount)>
<!ELEMENT code (#PCDATA)>
<!ELEMENT price (#PCDATA)> 
<!ELEMENT amount (#PCDATA)>
]>
<products>
  	<product>
    		<code>HPD dator</code>
    		<price>5000</price>
    		<amount>4</amount>
  	</product> 
  	<product>
    		<code>Min dator</code>
    		<price>10000</price>
    		<amount>1</amount>
  	</product> 
  	<product>
    		<code>Din dator</code>
    		<price>100</price>
    		<amount>1</amount>
  	</product> 
</products>
 Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Nedan är en modifierad variant som beaktar det att det finns flera produkter 
  genom att sätta in dem i en loop (iteration):
  
xml17_2.xsl
<?xml version='1.0' encoding="iso-8859-1" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
  	<head>
    		<title>TITEL</title>
    		<style type="text/css">
      			h4 
      			{
        				font-family:verdana,arial,sans-serif; 
        				color:#666666; 
      			}
    		</style>
  	</head>
  	<body bgcolor="#FFFFFF" text="#000000">
    		<h4>En TestSida</h4>
    		<xsl:for-each select="products/product">
      			<xsl:value-of select="code"/> <br />
      			<xsl:value-of select="price"/> <br />
      			<xsl:value-of select="amount"/> <br />
    		</xsl:for-each>
  	</body>
</html>
</xsl:template>
</xsl:stylesheet>
 Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Vi använder denna i XML filen genom att sätta in en hänvisning 
  till denna stylesheet.
  
xml17_2.xml
<?xml version="1.0" encoding="iso-8859-1"?>  
<?xml-stylesheet type="text/xsl" href="xml17_2.xsl"?>
<!DOCTYPE products [
<!ELEMENT products (product+)>
<!ELEMENT product (code,price,amount)>
<!ELEMENT code (#PCDATA)>
<!ELEMENT price (#PCDATA)> 
<!ELEMENT amount (#PCDATA)>
]>
<products>
  	<product>
    		<code>HPD dator</code>
    		<price>5000</price>
    		<amount>4</amount>
  	</product> 
  	<product>
    		<code>Min dator</code>
    		<price>10000</price>
    		<amount>1</amount>
  	</product> 
  	<product>
    		<code>Din dator</code>
    		<price>100</price>
    		<amount>1</amount>
  	</product> 
</products>
 Öppna XML filen   Öppna XML konverterad till HTML (Även NS)
Öppna XML filen   Öppna XML konverterad till HTML (Även NS)
Observera att vi inte behöver använda fill path till datat i ovanstående 
  XSL fil. Vi säger att vi vill gå igenom alla products/product, 
  d.v.s. vi loopar själva produktdata. Då finns vi redan på rätt 
  nivå och det räcker med att ange vilken datanod (leaf - löv) 
  i XML filen vi vill ha. Gämför med kataloghantering i ett operativsystemet. 
  Om vi finns i en katalog behöver vi ju inte ange full path, utan det räcker 
  med att ange underkatalogens namn.
Sammanfattning av vad vi sett hittills
En XSL fil innehåller dels HTML kod för formateringen av sidan, 
  dels "programkod" som plockar in datat från XML filen på 
  lämpliga ställen.
En XSL fil skall alltid ha följande början (kursiv text anger 
  sådanst som kan behöva modifieras)
<?xml version='1.0' encoding="iso-8859-1" 
  ?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
och följande slut
</xsl:template>
  </xsl:stylesheet>
 
OBS. Ibland ser man XSL kod som inte börjar med att matcha roten, 
  utan börjar "längre in i datat". Detta är inte rekommendabelt. 
  börja alltid från roten.
Man kan loopa genom datat med hjälp av 
<xsl:for-each select="path till de noder vi skall 
  loopa genom">
  ...
  </xsl:for-each>