Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich will eine kleine Onlinegalerie machen.

Dazu hab ich eine XML und DTD Datei mit den Inhalten eine XSL Datei für die Formatierung und in HTML wird mit Java umgewandelt.

Funktioniert soweit auch alles. Nur die Bilder werden nicht angezeigt.

So siehts im DTD aus:

<!ELEMENT bilddatei (EMPTY)>
Und hier die XML:
  <bilddatei bild="Pfadangabe" />

Ist wahrscheinlich eine kleine Sache, aber ich bin leider nicht so fit in XML.

Danke schon mal und viele Grüße!

Geschrieben

die xsl Datei sieht wie folgend aus:

<?xml version="1.0"?>

 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

 <xsl:template match="/">


 <html>

 <head><title>Bildergalerie</title></head>

 <body>


     <table border="1">

     <tr>

         <th>Name</th>

         <th>Bezeichnung</th>

     </tr>


     <xsl:for-each select="bildergalerie/bild">

         <tr>

             <td><xsl:value-of select="name"/></td>

             <td><xsl:value-of select="bezeichnung"/></td>

             <td><xsl:value-of select="bilddatei"/></td>

         </tr>

     </xsl:for-each>


     </table>


 </body></html>

 </xsl:template>

 </xsl:stylesheet>

Geschrieben

Ich hab jetzt noch etwas daran gearbeitet und jetzt habe ich anscheinend noch ein Pfadproblem. Ich habe die Bilder in den selben Ordner kopiert in dem auch die xml und xls Datei liegt.

Hier mal alle meine Dateien:

XML:

<?xml version="1.0" encoding="ISO-8859-1"?>

<?xml-stylesheet type='text/xsl' href='bildergalerie.xsl'?>

<!DOCTYPE bildergalerie SYSTEM 'bildergalerie.dtd'>

<bildergalerie>

  <ueberschrift>Bildergalerie</ueberschrift>

  <bild>

  <name>Sarah im Park 1</name>

  <bezeichnung>Sarah im Gögginger Park im Frühjahr 2009</bezeichnung>

  <bilddatei bild="oeli1_klein.jpgsmall_oeli1_klein.jpg" />

  </bild>

  <bild>

  <name>Sarah im Park 2</name>

  <bezeichnung>Sarah im Gögginger Park im Frühjahr 2009</bezeichnung>

   <bilddatei bild="oeli2_klein.jpgsmall_oeli2_klein.jpg" />

  </bild>

  <bild>

  <name>Sarah im Park 3</name>

  <bezeichnung>Sarah im Gögginger Park im Frühjahr 2009</bezeichnung>

   <bilddatei bild="oeli2_klein.jpgsmall_oeli2_klein.jpg" />

  </bild>

</bildergalerie>
DTD:
<!ELEMENT bildergalerie (ueberschrift, bild)>

<!ELEMENT ueberschrift (#PCDATA)>

<!ELEMENT bild (name, bezeichnung, bilddatei?)>

<!ELEMENT name (#PCDATA)>

<!ELEMENT bezeichnung (#PCDATA)>

<!ELEMENT bilddatei (EMPTY)>

XSL:
<?xml version="1.0"?>

 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

 <xsl:template match="/">

 <html>

 <head><title>Bildergalerie</title></head>

 <body>

 	<table border="1">

     <tr>

         <th>Name</th>

         <th>Bezeichnung</th>

         <th>Foto</th>

     </tr>

    <xsl:for-each select="bildergalerie/bild">

      <tr>

        <td><xsl:value-of select="name"/></td>

        <td><xsl:value-of select="bezeichnung"/></td>

        <IMG BORDER="1">

        <xsl:attribute name="src">

        <xsl:value-of select="bilddatei/bild"/>

        </xsl:attribute>

      </IMG>

      </tr>

     </xsl:for-each>

     </table>

 </body>

 </html>

 </xsl:template>

 </xsl:stylesheet>

Ich bin mir auch nicht ganz klar ob EMPTY bei der DTD richtig ist.

Geschrieben

XSL is des DTD eigentlich recht egal.

aber dein XPATH für die bilder ist falsch. du suchst nach einem kind-knoten namens "bild" aber bild ist ein attribute von bilddatei. das müsste dann so aussehen:

<xsl:value-of select="bilddatei/attribute::bild"/>

die namen der bilddateien sehen auch eigenartig aus, fast als wären das 2 bilddateien

Geschrieben

hast du diesmal das img tag vergessen?

ich hab mal deine beispiele bei XSLT Tryit Editor v1.0 getestet, nur folgendes geändert


        <IMG BORDER="1">

        <xsl:attribute name="src">

        <xsl:value-of select="bilddatei/[COLOR="Red"]attribute::[/COLOR]bild" />

        </xsl:attribute>

      </IMG>

und der gibt das korrekt mit img tag wieder, die bilder hat er natürlich nicht ;)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...