Ich habe ein Problem mit XSL-Variablen. Ich weiß, dass einmal der Wert der Variablen nicht geändert werden kann.Wert der Variablen in xsl ändern
Aber ich bin mit einem ziemlich seltsamen Problem konfrontiert und ich kann möglicherweise nicht die XML-Ausgabe ändern, stattdessen herausfinden, ob es mit XSL selbst möglich ist.
Ich benutze xsl: for-each, um einige Daten im XML zu durchlaufen.
Die Daten können von drei Arten durchgeschleift werden, sagen Typ1, Typ2 und Typ3
Wenn es von Typ1 ist, ich bin eine Vorlage ruft diese Daten zu verarbeiten. In der Vorlage zeige ich eine Kopfzeile an. Ich muss diesen Header zum allerersten Mal drucken, wenn ich nur auf diese Type1-Daten stoße. Danach muss ich das nicht mehr anzeigen.
Ich könnte einen Parameter mit der Call-Vorlage übergeben und setzen/deaktivieren, um festzustellen, ob ich den Header-Text drucken muss. Aber wie ich es verstehe, ist der Variablenstatus als Formatierungssprache nicht erhalten.
Können Sie bitte Ihre wertvollen Vorschläge zur Implementierung (möglicherweise ohne XML-Änderungen) zur Verfügung stellen?
Edit:
Der Test wird für die XML-Ausgabe von Patrice erwähnt arbeiten. Aber mein XML ist anders.
<doc>
<item>foobar</item>
<item>foo</item>
<item>bar</item>
<item>baz</item>
<item>foo</item>
<item>bar</item>
</doc>
Aus diesem XML muss ich eine Kopfzeile anzeigen, wenn sie das erste Mal auf "foo" stößt. Die Reihenfolge der Artikel könnte auch alles sein. Ich kann nicht genau vorhersagen, wann 'foo' im XML erscheinen wird.
Können Sie bitte Vorschläge machen?
Für das erste Element, dessen Inhalt „foo“, ersetzen Bitte senden Sie einige Ihrer Code, so können wir helfen. –