Wie definiere ich in XSLT Variablen, die außerhalb und innerhalb von xsl:choose verwendet werden können?

Antwort

In XSLT kannst du Variablen mit dem `<xsl:variable>`-Element definieren. Um Variablen zu erstellen, die sowohl außerhalb als auch innerhalb von `<xsl:choose>` verwendet werden können, solltest du die Variablen außerhalb des `<xsl:choose>`-Blocks definieren. Hier ist ein Beispiel, wie du das machen kannst: ```xml <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <xsl:variable name="globalVar" select="'Ich bin eine globale Variable'"/> <xsl:choose> <xsl:when test="true()"> <xsl:variable name="localVar" select="'Ich bin eine lokale Variable'"/> <result> <xsl:value-of select="$globalVar"/> <xsl:text> - </xsl:text> <xsl:value-of select="$localVar"/> </result> </xsl:when> <xsl:otherwise> <result> <xsl:value-of select="$globalVar"/> </result> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> ``` In diesem Beispiel wird die Variable `$globalVar` außerhalb des `<xsl:choose>`-Blocks definiert, sodass sie in allen Zweigen des `<xsl:choose>` verwendet werden kann. Die Variable `$localVar` wird innerhalb des `<xsl:when>`-Blocks definiert und ist nur dort verfügbar.

Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Wie gebe ich in XSLT den Inhalt einer Variablen mit codepoints-to-string aus?

In XSLT kannst du die Funktion `codepoints-to-string` verwenden, um eine Zeichenkette aus einer Liste von Codepunkten zu erstellen. Wenn du den Inhalt einer Variablen ausgeben möchtest, kannst du... [mehr]

Wie ermittelt man in XSLT von einem Kind-Knoten die position() des Elternknotens 'doc'?

In XSLT kannst du die Position eines Elternknotens ermitteln, indem du die Funktion `position()` in Kombination mit der Achse `parent::` verwendest. Hier ist ein Beispiel, wie du dies umsetzen kannst:... [mehr]

Wie ermittele ich in XSLT die Position() des Elternknotens 'doc'?

In XSLT kannst du die Position des Elternknotens "doc" ermitteln, indem du die Funktion `position()` in Kombination mit der Achse `parent::` verwendest. Hier ist ein Beispiel, wie du dies um... [mehr]

Wie kann ich in XSLT den Inhalt von Kindern eines Knotens ausgeben?

Um in XSLT den Inhalt von Kindern eines Knotens auszugeben, kannst du die `xsl:for-each`-Anweisung verwenden, um über die Kinderknoten zu iterieren. Hier ist ein einfaches Beispiel, das zeigt, wi... [mehr]

Wie rechne ich mit XSLT Pixel in EMU um?

Um einen Wert von Pixel in EMU (English Metric Units) mit XSLT umzurechnen, kannst du die folgende Formel verwenden: 1 Pixel entspricht 9525 EMU. Hier ist ein einfaches Beispiel, wie du dies in XSLT... [mehr]

Wie verhindere ich in XSLT, dass ein leerer Namespace xmlns="" ausgegeben wird?

Um in XSLT zu verhindern, dass ein leerer Namespace (`xmlns=""`) in der Ausgabe erscheint, kannst du sicherstellen, dass du den Namespace nicht explizit deklarierst oder dass du die Elemente... [mehr]

Wie verhindert man in XSLT, dass bestimmte Namespace-Deklarationen ausgegeben werden?

Um in XSLT zu verhindern, dass bestimmte Namespace-Deklarationen ausgegeben werden, kannst du die `exclude-result-prefixes`-Anweisung verwenden. Diese Anweisung gibt an, welche Namespace-Präfixe... [mehr]

Wie legt man in XSLT mit xsl:namespace einen Namespace ohne Präfix an?

In XSLT kannst du einen Namespace ohne Präfix anlegen, indem du den Namespace in der `xsl:element`-Anweisung direkt angibst. Hier ist ein Beispiel, wie du dies umsetzen kannst: ```xml <xsl:st... [mehr]

Wie definiere ich in XSLT einen Namespace ohne Präfix?

In XSLT kannst du einen Namespace ohne Präfix definieren, indem du den Namespace in der `xsl:stylesheet`- oder `xsl:transform`-Deklaration angibst. Hier ist ein Beispiel, wie du das machen kannst... [mehr]

Wie erstelle ich mit XSLT einen Default Namespace?

Um einen "default namespace" in XSLT zu erstellen, kannst du das Attribut `xmlns` im Wurzelelement deiner XSLT-Datei verwenden. Hier ist ein einfaches Beispiel, wie du dies umsetzen kannst:... [mehr]