Format html output with CSS : html output « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Transform.xslt" type="text/xsl"?>
<europe>
  <state>Belgium</state>
  <state>Russia</state>
  <state>San Marino</state>
  <state>Switzerland</state>
</europe>


File: Transform.xslt

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="europe">
    <html>
      <head>
        <title>European States</title>
      </head>
      <style type="text/css">
        body {font-family: sans-serif}
      </style>
      <body>
        <h3>Alphabetical List of European States</h3>
        <paragraph>
          <b>Total Number of States:</b>
          <xsl:text> </xsl:text>
          <xsl:value-of select="count(state)" />
        </paragraph>
        <ul>
          <xsl:apply-templates select="state">
            <xsl:sort />
          </xsl:apply-templates>
        </ul>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="state">
    <li>
      <xsl:apply-templates />
    </li>
  </xsl:template>

</xsl:stylesheet>

Output:

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>European States</title>
   </head><style type="text/css">
        body {font-family: sans-serif}
      </style><body>
      <h3>Alphabetical List of European States</h3>
      <paragraph><b>Total Number of States:</b> 4
      </paragraph>
      <ul>
         <li>Belgium</li>
         <li>Russia</li>
         <li>San Marino</li>
         <li>Switzerland</li>
      </ul>
   </body>
</html>








5.3.html output
5.3.1.Use tag to format xml element
5.3.2.Use different font style to format element
5.3.3.Output to a list
5.3.4.Just output html tags
5.3.5.Output entity
5.3.6.Output one type of HTML tags per template
5.3.7.Use html to format xml document
5.3.8.Format xml with html
5.3.9.Format html output with CSS