XSLT Elemente

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

 

 

xsl:apply-imports

ruft das Template auf, dessen Match-Attribut auf ein Kindknoten des aktuellen Kontextknoten passt. Gibt es zwei Templates, die auf einen Kindknoten passen, wird das Template mit der höheren Priorität aktiviert. Die Instruktion ist somit stark verwandt mit xsl:apply-templates. Im Gegensatz zu dieser ruft xsl:apply-imports explizit importierte Templates auf, die aufgrund der automatisch niedrigeren Priorität importierter Templates nicht aktiviert wurden.

Wenn also ein Template, dass mit den Instruktionen xsl:import oder xsl:include in ein Stylesheet importiert wurde, mit dem match-Attribut auf einen gleichen Knoten verweist wie ein nicht-importiertes Template, wird es zwar von der Instruktion xsl:apply-template ignoriert, kann aber mit der Instruktion xsl:apply-imports aktiviert werden.

Als Kindelement können xsl:with-param-Instruktionen beliebig viele Parameterwerte an das aktivierte Template übergeben.

Kindelemente

xsl:with-param

Beispiel

<?xml version="1.0"encoding="UTF-8"?>
<root>
  <section>
    <para style="bold">
      Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich 
      in seinem Bett zu einem ungeheueren Ungeziefer verwandelt.
    </para>
  </section>
</root>
 

import.xsl

<?xml version="1.0"encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
  <xsl:template match="*[@style='bold']">
    <b><xsl:apply-templates/></b>
  </xsl:template>
</xsl:stylesheet>
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
 
  <xsl:import href="import.xsl"/>
 
  <xsl:template match="/">
    <xsl:apply-templates/>
  </xsl:template>
  <xsl:template match="section">
    <xsl:copy>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>
 
  <xsl:template match="para">
    <p>
      <xsl:apply-imports/>
    </p>
  </xsl:template>
 
</xsl:stylesheet>

Ergebnis

<?xml version="1.0" encoding="UTF-8"?>
<section>
  <p>
    <b>Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich 
    in seinem Bett zu einem ungeheueren Ungeziefer verwandelt.</b>
  </p>
</section>
 

 

 

> nach oben
> zurück zur alphabetischen Liste der XSLT Elemente