Zum Inhalt springen

Bilder in XML


Slayer8

Empfohlene Beiträge

Hallo,

für eine Übungsaufgabe solle ein Beispiel für eine Videothek in XML realisiert werden. Nun möchte ich für jeden Artikel ein Bild einbinden, und der Bildname befindet sich in der XML Datei. Das sieht dann wie folgt aus:

<Sortiment>

<DVD>

<Titel Genre="Action" FSK="16" Laenge ="148 Min." Bild="cv_00012316" >Last Samurai</Titel>

Soweit so gut, aber wie bekomme ich nun den Namen des Bildes "cv_00012316" durch die XLS in die dafür vorgesehene Tabellenzelle?

Ich hatte mir das eigentlich so gedacht:

<xsl:for-each select="Titel">

<tr>

<td>

<span class="higlighted">Genre: </span><xsl:value-of select="@Genre"/> |

<span class="higlighted">FSK: </span><xsl:value-of select="@FSK"/> |

span class="higlighted">Laenge: </span><xsl:value-of select="@Laenge"/>

</td>

<td>

<img src="<xsl:value-of select="@Bild"/>" />

</td>

</tr>

</xsl:for-each>

Klappt aber leider nicht!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und noch etwas, das Bild soll optinoal angezeigt werden, bzw. wenn der Artikel verfügbar ist.

DTD:

<!ELEMENT Infos (#PCDATA)>

<!ATTLIST Infos

verfuegbar (0|1) #REQUIRED

XSL

<xsl:choose>

<xsl:when Infos="verfuegbar()= 1">

Dies ist ein Test

</xsl:when>

</xsl:choose>

Die Fehlermeldung: ERROR: Description: Attribute 'Infos' is invalid on 'xsl:when'.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und noch etwas, das Bild soll optinoal angezeigt werden, bzw. wenn der Artikel verfügbar ist.

DTD:

<!ELEMENT Infos (#PCDATA)>

<!ATTLIST Infos

verfuegbar (0|1) #REQUIRED

XSL

<xsl:choose>

<xsl:when Infos="verfuegbar()= 1">

Dies ist ein Test

</xsl:when>

</xsl:choose>

Die Fehlermeldung: ERROR: Description: Attribute 'Infos' is invalid on 'xsl:when'.

Probiers mal so:

<xsl:for-each select="Infos">

<xsl:if test="number(@Infos)=1">

Bild einfügen

</xsl:if>

</xsl:for-each>

Da Du ja keine andere Bedingung hast, würde ein IF schon reichen, ansonsten halt so:

<xsl:for-each select="Infos">

<xsl:choose>

<xsl:when test="number(@Infos)=1">Bild einfügen</xsl:when>

<xsl:otherwise>Kein Bild einfügen</xsl:otherwise>

</xsl:choose>

</xsl:for-each>

Jetzt musst Du halt nur aufpassen, in welcher Schleife Du bist. Wenn es nicht klappt, poste mal Dein XML.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das steht immer in xsl:when und xsl:if. Innerhalb dieses Attributes wird die Bedingung festgelegt.

Beispiele:

<xsl:if test="INFO"> => Wenn es innerhalb dieses Knotens ein Element INFO gibt

<xsl:if test="INFO = 'DVD'"> => Wenn es innerhalb dieses Knotens ein Element INFO mit dem Value 'DVD' gibt

Man kann Abfragen kombinieren mit and, or und not().

<xsl:if test="INFO = 'DVD' or INFO = 'CD'"> => Wenn es innerhalb dieses Knotens ein Element INFO mit dem Value 'DVD' oder 'CD' gibt

<xsl:if test="not(INFO)"> => Wenn es innerhalb dieses Knotens KEIN Element INFO gibt

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...