Looky
Erfahrenes Mitglied
Hallo,
ich bin ein absoluter Newbie im, Thema XSLT. Nun habe ich die Aufgabe bekommen, ein XSLT zu schreiben, dass eine XML Datei, in eine andere Sprache übersetzt.
Beispiel:
Die Ursprungs-XML Datei sieht so aus:
und rauskommen muss quasi gültiger HTML Code, sodass das Bild angezeigt wird.
Hier der Inhalt meiner XSL Datie:
Das habe ich auch soweit hinbekommen. Hier nun einige Fragen dazu, auf die ich mir keinen Reim machen kann:
1) Ich kann ja nicht einfach in die urpsprungs-XML Datei das hier
mit reinkopieren. Ich teste das ganze zur Zeit mit dem Firefox (also die XML einfach im Firefox öffnen) Im Produktiven Leben, wie weiß dann die XML Datei, dass sie genau diese xsl Datei nehmen soll? Das sagt der XML Datei wahrscheinlich dann der Server oder?
2) Wie gehe ich denn generell eigentlich vor? Ich kann dass hier
ja nicht für alle möglichen auftretenen Fälle machen. Sprich für tabellen, für Farben usw. Oder gibt es da ein 'Mittel, mit dem ich das irgendwie vereinfachen kann?
3) Desweiteren verstehe ich nicht wie zum Kreuzgeier ich das gewollte Design hinbekommen. Angenommen es soll eine Tabelle mit 2 Zellen sein und diese Tabelle soll im linken Feld ein Bild haben, dass müsste ja ewig viele ifs im xsl geben?!
Ich weiß die meisten Fragen sind entweder dumm oder unvollständig aber ich versuche mir gerade ein Grundgerüst an Wissen darüber anzueignen, aber ich würde gern erstmal das Prinzip bzw. die Grundsätzliche herangehensweise verstehen
Danke und lieben Gruß
Christian
ich bin ein absoluter Newbie im, Thema XSLT. Nun habe ich die Aufgabe bekommen, ein XSLT zu schreiben, dass eine XML Datei, in eine andere Sprache übersetzt.
Beispiel:
Die Ursprungs-XML Datei sieht so aus:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<VZV-PARTNER xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.vodafonelivepartners.com/schema/VZV-PARTNER.xsd">
<PARTNER-PI>
<TRANSFORMER name="VZV-DEFAULT"/>
</PARTNER-PI>
<PARTNER-CHARGE>
<AUTHORIZE-USAGE serviceid="my service id"/>
</PARTNER-CHARGE>
<PARTNER-BODY page-template="wallpaper-download">
<VZV-DEFAULT>
<CONTAINER type="IMAGE">
<IMAGE href="iphone.jpg"/>
</CONTAINER>
</VZV-DEFAULT>
</PARTNER-BODY>
</VZV-PARTNER>
und rauskommen muss quasi gültiger HTML Code, sodass das Bild angezeigt wird.
Hier der Inhalt meiner XSL Datie:
Code:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>Fit-ML Image Test</title>
</head>
<body>
<xsl:apply-templates />
<img>
<xsl:attribute name="src">
<xsl:value-of select="VZV-PARTNER/PARTNER-BODY/VZV-DEFAULT/CONTAINER/IMAGE/@href"/>
</xsl:attribute>
</img>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Das habe ich auch soweit hinbekommen. Hier nun einige Fragen dazu, auf die ich mir keinen Reim machen kann:
1) Ich kann ja nicht einfach in die urpsprungs-XML Datei das hier
Code:
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
2) Wie gehe ich denn generell eigentlich vor? Ich kann dass hier
Code:
<img>
<xsl:attribute name="src">
<xsl:value-of select="VZV-PARTNER/PARTNER-BODY/VZV-DEFAULT/CONTAINER/IMAGE/@href"/>
</xsl:attribute>
</img>
3) Desweiteren verstehe ich nicht wie zum Kreuzgeier ich das gewollte Design hinbekommen. Angenommen es soll eine Tabelle mit 2 Zellen sein und diese Tabelle soll im linken Feld ein Bild haben, dass müsste ja ewig viele ifs im xsl geben?!
Ich weiß die meisten Fragen sind entweder dumm oder unvollständig aber ich versuche mir gerade ein Grundgerüst an Wissen darüber anzueignen, aber ich würde gern erstmal das Prinzip bzw. die Grundsätzliche herangehensweise verstehen

Danke und lieben Gruß
Christian