Value-of

Extraction des valeurs contenues dans le document XML :

 feuille6.xsl  appliquée sur atomes.xml --> résultat
  <xsl:output method="html"/>
  <xsl:template match="classification_atomique">
    <html><body>
      <xsl:apply-templates/>
    </body></html>
  </xsl:template>
  <xsl:template match="atome">
    <p>
      <xsl:value-of select="nom"/>
      <xsl:text> </xsl:text>
      <xsl:apply-templates select="symbole"/>
    </p>
  </xsl:template>
  <xsl:template match="symbole">
    symbole: 
    <xsl:text> </xsl:text>
    <xsl:value-of select="."/>
  </xsl:template>
<html>
   <body>
      
      <p>hydrog&egrave;ne
         
         symbole:
         H
      </p>
      
      <p>h&eacute;lium
         
         symbole:
         He
      </p>

xsl:value-of extrait la valeur du prochain pattern spécifié, içi le texte de l'élément nom.

 feuille7.xsl  appliquée sur atomes.xml --> résultat
  <xsl:output method="html"/>
  <xsl:template match="classification_atomique">
    <html><body>
      <xsl:value-of select="atome/symbole"/>
    </body></html>
  </xsl:template>
<html>
   <body>H</body>
</html>

xsl:value-of extrait la valeur du prochain (et du prochain seulement) pattern spécifié à partir du noeud courant classification_atomique : l'élément symbol, fils de atome, lui-même fils du noeud courant.

<xsl:value-of select="pattern" [disable-output-escaping="yes"]/>
permet d'insérer le contenu de la balise sélectionnée ou de l'attribut sélectionné par le pattern. Génère intégralement la valeur du prochain noeud (1 seulement !) correspondant au pattern spécifié sur "ouput"; Le pattern définit une chaine où un élément (la valeur générée sera le texte contenu dans l'élément) ou un attribut (la valeur est celle de l'attribut); éventuellement, remplace les séquences d'échapement &...; par leurs caractères équivalents.

Exercice :

A partir de famille_atome.xml, donnez un seul atome par famille

$ java Transform feuille6exo.xsl famille_atome.xml
<html>
<body>
<p>h&eacute;lium</p>
<p>lithium</p>
<p>b&eacute;rillium</p>
<p>bore</p>
.....

 index  suivant