Wie kann ich mit XSLT eine URL-Kodierung dekodieren?

Antwort

Um eine URL-Kodierung mit XSLT zu dekodieren, kannst du die Funktion `translate()` verwenden, um die kodierten Zeichen zu ersetzen. Allerdings ist XSLT nicht direkt für URL-Dekodierung ausgelegt, da es keine eingebaute Funktion dafür gibt. Du musst die kodierten Zeichen manuell ersetzen. Hier ist ein einfaches Beispiel, wie du dies tun kannst: ```xml <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="/"> <xsl:variable name="encoded-url" select="'Hello%20World%21%20This%20is%20a%20test%20%26%20example%2E'"/> <xsl:value-of select="decode-url($encoded-url)"/> </xsl:template> <xsl:function name="decode-url"> <xsl:param name="url"/> <xsl:variable name="decoded" select="translate($url, '%20%21%26%2E', ' !&.')"/> <xsl:value-of select="$decoded"/> </xsl:function> </xsl:stylesheet> ``` In diesem Beispiel wird die URL-kodierte Zeichenkette `Hello%20World%21%20This%20is%20a%20test%20%26%20example%2E` dekodiert. Du musst die kodierten Zeichen, die du erwartest, in der `translate()`-Funktion angeben. Beachte, dass dies eine vereinfachte Lösung ist und nicht alle möglichen kodierten Zeichen abdeckt. Für eine vollständige Lösung müsstest du alle möglichen kodierten Zeichen und deren Entsprechungen berücksichtigen.

KI fragen