Wie Tim Robinson darauf hinweist, wird translate
den Trick machen. (Ich würde es nicht als "Hack" bezeichnen, aber ich bin schon lange in der Phase der Identifizierung mit meinen Folterknechten in meiner Beziehung zu XSLT.) Ihr Code wird viel lesbarer, wenn Sie so etwas verwenden:
...was ein Teil der Datei globals.xslt
ist, die ich am Anfang der meisten von mir geschriebenen Transformationen einfüge. Dann das:
übersetzt jeden Großbuchstaben in sein entsprechendes Kleinbuchstaben und jedes Leerzeichen in nichts.
Gewöhnlich nutzen Sie xsl:variable
, um den Code lesbarer zu machen (wie im obigen Beispiel) oder um Zwischenergebnisse zu speichern, die anderweitig nicht effektiv berechnet werden können. Eine vierte Möglichkeit, Daten in die Ausgabe zu übergeben, ist eine, die Sie nicht erwähnt haben und die ziemlich nützlich ist: das Attributwerttemplate. Alle diese Möglichkeiten machen dasselbe:
In diesem speziellen Fall lässt sich argumentieren, welches der beiden letzten Beispiele einfacher und klarer ist. Die meiste Zeit ist es jedoch nicht so: Die Trennung der Berechnung von Werten von der Art und Weise, wie sie in die Ausgabe eingefügt werden, macht beide einfacher zu verstehen, ebenso wie die Verwendung eines AVT anstelle von ausführlicheren XSLT-Konstruktionen, die dasselbe tun.