dey: / XSL: Knoten in Variable + neues Feld

Beitrag lesen

Hallo,

Wo kommt eigentlich die Information "zusätzliches Feld" her? Die musst Du ja auch irgendwie dynamisch bekommen, oder?

Denn bei <xsl:sort /> kannst Du beim select-Attribut nämlich einen beliebigen XPath-Ausdruck angeben, d.h. sowas funktioniert durchaus:

<xsl:for-each select="...">

<xsl:sort select="translate (elem/@attrib, 'ABC', 'DEF')" />
  ...
</xsl:for-each>


>   
> (Jetzt mal beispielhaft)  
>   
> Funktioniert in XSLT 1.0 natürlich nur, wenn Du die Information bezüglich des zusätzlichen Feldes auch in einem geschlossenen XPath-Ausdruck unterbringen kannst und keine Bedingungen / Templates benötigst. Da ist XSLT 2.0 auch wieder besser, weil man sich da eigene XPath-Funktionen definieren kann und außerdem stehen in XPath 2.0 auch if/then/else und for u.ä. zur Verfügung.  
  
Das sieht als Ansatz gut aus. Die Sortierung soll nach Häufigkeit sein:  
~~~xml
  
<xsl:sort select="count(//FeederReportUnit/Unit[fsPartNum = $tmp_fsPartNum])" />  

Würde das so funktionieren?
Auch wenn ich vorher Gruppiere?

  
<xsl:for-each select="FeederReportUnit/Unit[count(. | key('partnumbers', fsPartNum)[1]) = 1 and fsPartNum!='']">  

Als weitere Alternative bestünde natürlich die Möglichkeit, das Dokument zweimal durch XSLT zu jagen: Das erste Mal werden nur Zusatzinformationen hinzugefügt, das zweite Mal erfolgt die Anzeigelogik.

Das war ja mein Ansatz, aber wie/ wo lege ich das Zwischenergebnis ab?

bydey

--
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --
-- Navigate all your PHP web projects with  PHP Project Browser--