Wir haben das folgende XML, dass wir den Weg in src-Attribut ParameterXSLT-Transformation Halte nicht die Attribute
<?xml version="1.0"?>
<ul>
<font> test sample font test </font>
<img src="/assets/rep/myimage.png"> test</img>
<img src="/assets/rep/myimage.png" height="20px"> test</img>
</ul>
Mein XSLT ist finden und ersetzen müssen als
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- remove disallowed elements but keep its children -->
<xsl:template match="font">
<xsl:apply-templates></xsl:apply-templates>
</xsl:template>
<xsl:template match="@src">
<xsl:variable name="imagesrc" select="replace(.,'/assets/rep/','/images/')"/>
<img src="{$imagesrc}" />
</xsl:template>
</xsl:stylesheet>
Die XSLT-Wiedergabe funktioniert folgendermaßen für
<img src="/assets/rep/myimage.png"> test</img>
aber nicht für
<img src="/assets/rep/myimage.png" height="20px"> test</img>
Ich habe versucht, match = "@ src [parent :: img]" hinzuzufügen, aber das funktioniert auch nicht. Können Sie mir mitteilen, was ich in meinem XSLT vermisse, um die Attribute beizubehalten und nur "src" -Attribute zu modifizieren?
Ist Ihr XSLT vollständig? Sie haben keine Vorlage, die "img" entspricht, und als Konsequenz werden die integrierten Vorlagen für diesen Knoten verwendet, der die untergeordneten Knoten, aber keine Attribute auswählt (und so würde Ihre Vorlage mit "@ src" übereinstimmen) nicht benutzt werden). –
Erhalten Sie einen Fehler? Oder einfach nicht das erwartete Ergebnis? –