Christian Seiler: xsl datei im zwei teilen

Beitrag lesen

Hallo,

gibt es eine möglichkeit eine xslt datei in zwei xslt dateien zu teilen?

Genau so, wie Du es willst, nicht.

Was aber möglich wäre, wäre folgendes:

<?xml version="1.0"?>  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
<xsl:output method="html" encoding="iso-8859-1" />  
<xsl:import href="anderes_template.xslt" />  
<xsl:template match="/">  
  .....  
<xsl:choose>  
  <xsl:when test .....>  
    <xsl:call-template name="AnderesTemplate" />  
  <xsl:when>  
  <xsl:otherwise>  
  ....  
  <xsl:oherwise>  
  
<xsl:choose>  
</xsl:template>  
</xsl:stylesheet>

anderes_template.xslt:

<?xml version="1.0"?>  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
<xsl:template name="AnderesTemplate">  
    <xsl:text> ist = </xsl:text><xsl:value-of select="..."/> <xsl:text>. </xsl:text>  
</xsl:template>  
</xsl:stylesheet>

Du kannst mit xsl:import andere Stylesheets importieren. Das ist aber mit SSI oder PHP Includes nicht wirklich zu vergleichen, weil das wirklich nur auf der oberen Ebene geht und die anderen Stylesheets auch wieder eine brauchbare Struktur haben müssen.

Was Du dann aber machen kannst, ist im eingebebundenen Stylesheet ein benanntes Template definieren, das Du im einbindenden Stylesheet per call-template aufrufst (siehe mein Beispiel).

Viele Grüße,
Christian