4 votes

partage de la feuille de style maître en XSLT

Je voudrais créer un modèle maître en XSLT, qui pourrait être stocké dans un fichier séparé. Toutes les autres feuilles de style de la page le partagent, avec xsl:import.

master.xslt

 <xsl:template match="Page">
  <html>
   <head>
   </head>
   <body>

     <call-template name="Content"/>

   </body>
  </html> 
 </xsl:template>
<xsl:stylesheet>

page.xslt

<xsl:stylesheet>
<xsl:import href="master.xslt"/>

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

<xsl:template name="Content">
  ... apply something page-specific
</xsl:template>

</xsl:stylesheet>

page.xml

<Page>
 ... something page-specific
</Page>

Puis-je améliorer cette solution ?

  • Je ne peux pas commencer à partir de la feuille de style principale, car j'aurais besoin de xsl:import tout.
  • Je ne veux pas que master.xslt contienne des références sur chaque page particulière.

Une autre décision (qui est contre l'esprit xslt) peut-être telle :

master.xslt

<xsl:template name="masterHead">
 <html>
  <head>
  </head>
  <body>
</xsl:template>

<xsl:template name=masterEnd>
 </body>
 </html> 
</xsl:template>

</xsl:stylesheet>

page.xslt

<xsl:stylesheet>
<xsl:import href="master.xslt"/>

<xsl:template match="/">
  <call-template name=masterHead>
   ... apply something page-specific
  <call-template name=masterEnd/>
</xsl:template>

</xsl:stylesheet>

nous n'avons pas besoin d'une racine générale <Page> élément.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X