André: Frage zu substring-after

Grüßt Euch,

folgendes Problem:
Ich möchte mit "substring-after" auf ein Attribut zugreifen und aus diesem ein Zeichen entfernen, funktioniert aber nicht und ich weiß nicht warum.

Beispiel-Element:
<NET:element xlink:href="#DE.DS.PILLNITZ.X00VG6V"/>

Meine XSL-Transformation:

  
<xsl:template name="Ausgabe_test">  
<xsl:variable name="LinkRef" select=".//*:featureMember//*:link/@*:href"/>  
 <xsl:variable name="StringRef" select="substring-after($LinkRef,'#')"/>  
  
<xsl:value-of select="$StringRef"/>  
</xsl:template>

Als Fehlermeldung erhalte ich: "Zu viele Elemente".

Gebe ich nur die Variable $LinkRef aus (also ohne substring-after) funktioniert es.

Ich habe versucht, die Variable mit
<xsl:variable name="StringRef" select="string($LinkRef)"/>

in einen String zu wandeln. Funktioniert auch nicht, ich bekomme die selbe Fehlermeldung.

Weiß jemand, woran das liegt und evtl. Abhilfe?

Vielen Dank
Viele Grüße

André

  1. Grüßt Euch,

    habe es hinbekommen, über eine xsl:for-each-Schleife lässt es sich lösen.

      
    <xsl:for-each select="[zu selektierender Pfad]">  
    		<xsl:variable name="TEST" select="./@*:href"/>  
    		<xsl:value-of select="substring-after($TEST, '#')"/>  
    		<xsl:text>  LUECKE  </xsl:text>  
    </xsl:for-each>
    

    Und Ausgabe funktioniert.

    Danke.

    Gruß,
    André