Mehrfaches suchen und ersetzen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mehrfaches suchen und ersetzen

    Hi,

    ich lasse wie schon in einem anderen Thread geschrieben eine größere XML-Datei als einzelne HTML-Seiten ausgeben.
    Nun habe ich das Problem, dass meine Dateinamen dann Leerzeichen oder Sonderzeichen enthalten.
    So zum Beispiel:
    Produktnäme "Sonderbezeichnung"/Attribut


    In dem Fall müssten die Hochkommas weg, die Leezeichen, das ä und das /.
    Ich kann das ja mit replace ersetzen, aber nur ein Element oder?
    So mache ich das mit einem zu ersetzenden Element:

    Quellcode

    1. <xsl:result-document href="web/{../../../@name}/{replace(@name, '/', '-')}.html" omit-xml-declaration="yes">


    Und wie mache ich das dann mit mehreren? Oder muss ich das Replace ineinander verschalchteln?
  • Hi,
    ist das Problem, dass innerhalb des Nodes nur der erste Treffer ersetzt wird, oder dass du nur einen Node adressierst, bei dem die Ersetzung durchgeführt wird?

    Von wegen "ineinander verschachteln" findest du hier einen guten Thread: dpawson.co.uk/xsl/sect2/replace.html
    Innerhalb des Templates wird das selbe Template mit call-template aufgerufen.