nance: mathematische OP und Vergleiche

Hallo Forum!

ich möchte in xsl ein Konstrukt basteln, das etwa folgendes machen soll:
<xsl:for-each select="Language[(position()-1) '>' (6 '*' $quotient)]">
Problem ist aber, dass weder das "größer als" noch die Multiplikation mittels "*" funktionieren.
Meine Frage daher: Ist das syntaktisch falsch oder funktioniert das grundsätzlich nicht so und ich muss mir was anderes einfallen lassen?

Gruß
nance

  1. Hallo,

    <xsl:for-each select="Language[(position()-1) '>' (6 '*' $quotient)]">
    Problem ist aber, dass weder das "größer als" noch die Multiplikation mittels "*" funktionieren.

    Das >-Zeichen wird nicht als Zeichenkette aufgefasst und ist hier auch unkritisch (muss nicht einmal als &gt; maskiert werden). Nur in der Zeichenkette "]]>" ist das Zeichen von besonderer Bedeutung (CDATA-Abschnitt im XML, INCLUDE- oder IGNORE-Bereich in DTDs).

    Auch das *-Zeichen unterliegt keinen Zwaengen, also:

      
    <xsl:for-each select="Language[(position() - 1) > (6 * $quotient)]">
    

    oder

      
    <xsl:for-each select="Language[(position() - 1) &gt; (6 * $quotient)]">
    

    MfG, Thomas

    1. Hallo Thomas

      <xsl:for-each select="Language[(position() - 1) &gt; (6 * $quotient)]">

        
      Das ist genau das, was ich gesucht habe. Jetzt funktionierts genau wie erwünscht. Mit ">" bekomme ich aber einen Fehler ausgespuckt. Irgendwie wird es als Tag-Abschluss interpretiert.  
        
        
      Bis demnächst mal wieder  
      nance