ich brauche mal wieder eure Hilfe. Ich bastel gerade an einer xslt für mein XML Dokument. Um ein Inhaltsverzeichnis zu erstellen, verwende ich xsl:key udn xsl:count. Das klappt auch wenn ich einen Text übergebe. Nehme ich stattdessen einen Parameter (selber Inhalt) funktioniert es nicht mehr.
mit $aktuelles_System = ‚System1‘ funktioniert nicht
Hat einer eine Idee woran das liegt. Hab schon im Internet danach gesucht, aber alles was ich gefunden habe bestätigt meine Lösung (welche aber ja leider nicht funktioniert).
eine Lösung habe ich nicht. Ich bin mir auch nicht sicher, was Du mit „funktioniert es nicht mehr“ meinst. Schmeisst der Prozessor einen Fehler, kommt count=0, passiert gar nichts?
Aber Du könntest das Folgende überprüfen:
Mach’ typesafe, vielleicht kommt dann ein Fehler der Dir weiterhilft.
Lass’ Dir bei der Trafo eine xsl:message über den Inhalt des Parameters an die Kommandozeile schreiben.
Probier eine default-Zuweisung des param-Inhalts auf Dein ‚System1‘
d.h. wenn Du Deinen xsl:stuck_out_tongue:aram mit einem type=„xs:string“ versiehst bekommst Du eine Type-Fehlermeldung?
anstatt $aktuelles_System könntest Du es mit sring($aktuelles_System) versuchen.
Und überprüfe mal, ob Du das mit dem multilevel benötigst; ich kenne das nicht und ich schmeisse erst mal alles was ich nicht kenne raus
Arbeitest Du an der Kommandozeile oder mit XMLSpy, StylusStudio? Welchen Paresr nimmst Du?
ich habs gelöst. Es liegt irgendwie daran, dass ich in einem xsl:number objekt für das count keine Variable übergeben darf. Der Ausdruck an sich hat nämlich gestimmt, wenn ich das Ganze nicht über das xsl:number Objekt gemacht habe.
Ich habe nun einen anderen Weg gefunden. Und zwar übergebe ich jetzt ein XPath der das Gleiche macht wie xsl:key.