Hallo,
würde gerne mal wissen, ob der XSLT Parser in der Lage ist, XSLT Code nach dem durchführen eines Knotentests, wieder aus dem Stylesheet zu extrahieren.
Hintergrund:
Dieser Codeauszug generiert eine "Kasten" in dem verschiedene Artikel vorkommen (oder auch nicht):
<fieldset style="border: 1px solid #999999; width: 100%">
<legend style= "-10px"><h2>Hot Topics</h2></legend>
<xsl:apply-templates select="Datei" mode="HT" />
</fieldset>
Hier werden alle XML Eingangsdokumente aufgerufen:
<xsl:template match="Datei" mode="HT">
<xsl:apply-templates select="document(@Name)/Article" mode="ht"/>
</xsl:template>
Und an dieser Stelle wird geprüft, ob das Element <testelement> einen Inhalt mit dem Wert "HT" besitzt. Wenn ja, wird ein weiteres Template ausgeführt, wenn nicht, passiert noch nichts.
<xsl:template match="Article" mode="ht" >
xsl:choose
<xsl:when test="testelement[. = 'HT']">
<xsl:call-template name="ht"/>
</xsl:when>
</xsl:choose>
</xsl:template>
Frage: Gibt es eine Möglichkeit, durch das xsl:otherwise Element, bei einer negativen Abfrage des Elementes <testelement>, den Parser anzuweisen, den Code
<fieldset style="border: 1px solid #999999; width: 100%">
<legend style= "-10px"><h2>Hot Topics</h2></legend>
<xsl:apply-templates select="Datei" mode="HT" />
</fieldset>
wieder aus dem Template zu löschen, oder auch einfach nur zu ignorieren, damit kein leerer Container mit der Überschrift Hot Topics generiert wird?
Danke und Gruß,
Michael