UPPREVIOUSNEXT  Technologies Internet et Education, © TECFA
  6. Déclarations et style

6. Déclarations et style

6.1 Déclaration de la sortie

xsl:output

permet de définir le type de sortie qui sera produit et de générer des entêtes. Voici la syntaxe (simplifiée) pour XSL V 1.0 (1999)

<xsl:output
method = "xml" | "html" | "text"
version = nmtoken
encoding = string
omit-xml-declaration = "yes" | "no"
standalone = "yes" | "no"
doctype-public = string
doctype-system = string
indent = "yes" | "no"
media-type = string />

Exemple 6-1: Output en HTML 4.01 transitionnel

<xsl:output method="html"     encoding="ISO-8859-1"     doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
 

Exemple 6-2: Output en XHTML "façon light"

<xsl:output
   method="html"
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
   doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
   indent="yes"
   encoding="iso-8859-1"
/>

Exemple 6-3: Output en XHTML "pur" (page XML) et transitionnel

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns="http://www.w3.org/1999/xhtml">
<xsl:output
   method="xml"
   doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
   doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
   indent="yes"
   encoding="iso-8859-1"
/>

Exemple 6-4: Output en XHTML "pur" et strict

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns="http://www.w3.org/1999/xhtml">
<xsl:output
   method="xml"
   doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
   doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
   indent="yes"
   encoding="iso-8859-1"
/>

Exemple 6-5: Output en SVG

<xsl:output 
 method="xml" 
 indent="yes" 
 standalone="no"
 doctype-public="-//W3C//DTD SVG 1.0//EN" 
 doctype-system="http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd" 
 media-type="image/svg"
/>

Exemple 6-6: Output en VRML

<xsl:output method="text" 
 encoding="UTF-8" 
 media-type="model/vrml"/>  
....
<xsl:template match="/">#VRML V2.0 utf8 
......

6.2 CSS pour le résultat de la transformation

<xsl:template match="racine">

<html>

<head>

<link href="programme.css" type="text/css" rel="stylesheet"/>

<title>

bla bla

</title>

</head>

6.3 Générer plusieurs fichiers HTML à partir d’un seul XML

Exemple 6-7: Programme de l’Atelier WebMaster 2004

<!-- au début du fichier -->
<xsl:output name="daypage" method="html" encoding="ISO-8859-1"      doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
.....  
<!-- une règle qui génère une page -->
 <xsl:template match="software">
  <xsl:result-document href="software.html" format="daypage">
  <html> <head>
    <title> <xsl:value-of select="/course/course-title"/>	 </title> </head>
    <body bgcolor="white">
     [<a name="top" href="../welcome.html">Home</a>] -&gt; [<a name="top" href="programme.html">Programme</a>] -&gt; [Logiciels]
     <ul>
      ......
      <xsl:apply-templates select="soft"/>
     </ul>
    </body>
   </html>
 
 </xsl:result-document>
 </xsl:template>

Quelques astuces:

<xsl:template match="day">
  <xsl:result-document href="{@name}{@dayno}{@month}.html" format="daypage">
<xsl:template match="day" mode="toc">
  <a href="{@name}{@dayno}{@month}.html"><xsl:value-of select="@name"/></a> - 
</xsl:template>
	<b>Programme</b>: <a href="programme.html"> Top</a> - <xsl:apply-templates select="//day" mode="toc"/>

UPPREVIOUS NEXT -- TIE