XSLT Anfänger Fragen

Hallo zusammen,

ich muss eine XML-Datei einlesen und konvertieren. Ausgabe ist ebenfalls XML.
XSLT scheint hier das passende zu sein (hab ich bisher noch nie mit gearbeitet).
Jetzt meine Frage: Die Quelldatei enthält Elemente, deren Sinn sich erst über Attribute ergibt, z.B.:
„“.
Das ganze soll nachher so aussehen:
„“.

Von gibt es also etliche Vorkommen.

Kann man das mit XSLT lösen?

Ist es möglich, in das XSLT Manipulationsfunktionen einzuhängen? Könnte man z.B. sagen, wenn das Feld „PLZ“ gefunden wird, ersetze den Wert mittels einer selbstgeschriebenen Funktion durch das Bundesland?

Besten Dank und Gruß,
Thomas

Hallo,

XSLT scheint hier das passende zu sein (hab ich bisher noch
nie mit gearbeitet).

eine Einführung zu dem Thema findest in einem Beispielkapitel der XML Bible

„“.

Das ganze soll nachher so aussehen:

„“.

Kann man das mit XSLT lösen?

ja, wenn du z.B. folgende XML Datei hast

<?xml version="1.0" encoding="UTF-8"?>WertTest-Wert

Kannst du diese mit folgendem XSL Code

<?xml version="1.0"?>

In diese XML Datei überführen:

<?xml version="1.0" encoding="UTF-8"?>WertTest-Wert

Ist es möglich, in das XSLT Manipulationsfunktionen
einzuhängen? Könnte man z.B. sagen, wenn das Feld „PLZ“
gefunden wird, ersetze den Wert mittels einer
selbstgeschriebenen Funktion durch das Bundesland?

XSL alleine könnte das nur über das xsl:choose Element (ist im verlinkten Dokument erklärt). Dazu müsste man aber für jede PLZ eine entsprechende xsl:if Regel definieren, was das XSL Fragment sehr groß und vermutlich inperformant machen würde.

Man kann aber XSL Parser i.d.R. durch eigene Funktionen erweitern. Meine bevorzugte Programmiersprache ist Java, daher kenne ich mich nur da aus. Für den Apache Xalan XSLT Processor ist das hier beschrieben: http://xml.apache.org/xalan-j/extensions.html

HTH
Heavy

Vielen Dank für die Antwort! Hat mir sehr geholfen.

Gruß,
Thomas