XSLT: Änderung bestimmter Attribut-Werte
Ich bin ein XSLT-Neuling und habe eine einfache Aufgabe:
Angenommen ich habe folgende XML:
<Element1> <Element2 attr1="1"/> </Element1> <Element1 attr1="2"/> <Element1> <Element2 attr1="2"/> </Element1>
Will ich zur Umwandlung von XML in der gleichen XML-mit einer änderung: Alle Attribute mit der Bezeichnung "attr1" egal, wo Sie sind, umgewandelt werden, so dass zum Beispiel "1" wird "A" und "2" wird "X", ich. e. zu
<Element1> <Element2 attr1="A"/> </Element1> <Element1 attr1="X"/> <Element1> <Element2 attr1="X"/> </Element1>
Wie kann ich das erreichen?
Vielen Dank im Voraus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie festlegen, Zeichen zu ersetzen und austauschen von chars, dann verwenden Sie
translate
.Sie können mit Hilfe dieser XSLT:
Einen anderen Weg:
<xsl:template match="@attr1">
passen alle Attributeattr1
, dann mitxsl:choose
Sie schafft entsprechenden Wert für dieses Attribut.xsl:variable
zuxsl:param
.Ihnen nicht sagen, was passiert, wenn @attr=3 zum Beispiel gibt es also eine sonst-Klausel, um einfach kopieren Sie den Wert, wenn es nicht eines der ausgewählten.
"1" -> "A" and "2" -> "X"
mapping?Einen anderen Weg, mit
document
Funktion:xslt-2-version folgenden arbeiten: