Slayer8 Geschrieben 21. November 2004 Teilen Geschrieben 21. November 2004 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 22. November 2004 Teilen Geschrieben 22. November 2004 Wie sieht denn der resultierende HTML-Quelltext aus? Vielleicht fehlt einfach eine Endung wie .jpg, oder .png. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dorti Geschrieben 22. November 2004 Teilen Geschrieben 22. November 2004 Wenn der Pfad und Name für das Bild stimmen, bindest Du es so ein: <img src="{@Bild}"/> Damit müsste es funktionieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Slayer8 Geschrieben 22. November 2004 Autor Teilen Geschrieben 22. November 2004 Letzteres hat geklappt, super! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Slayer8 Geschrieben 22. November 2004 Autor Teilen Geschrieben 22. November 2004 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'. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dorti Geschrieben 23. November 2004 Teilen Geschrieben 23. November 2004 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Slayer8 Geschrieben 23. November 2004 Autor Teilen Geschrieben 23. November 2004 Das klappt, besten dank! Ich muss Zeile für Zeile begründen und beschreiben..... Von daher, wofür ist das "test" ? Sobald ich das änder, kommt eine Fehlermeldung.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dorti Geschrieben 24. November 2004 Teilen Geschrieben 24. November 2004 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.