Thomas J.S.: Xpath-problem(zu dumm?)

Beitrag lesen

Hallo,

<website>
  <chapter>
    <image imageid="1" alt="Screenshot" position="left" />
  </chapter>

<images>
    <image id="1" file="localhost/mhuhn.de/0403/fotos/38.jpg" width="254" height="300" />
  </images>
</website>

Schlechte Struktur.

Ich nehme an du möchtest im Chapter das image mit dem entsprechenden ID referenzieren und aufrufen.

und folgendes XSL:

<xsl:template match="chapter">
   <p><xsl:apply-templates /></p>
</xsl:template>

<xsl:template match="image">
     <img>
       <xsl:attribute name="src">http://<xsl:value-of select="/images/image[@id=1]/@file" /></xsl:attribute>
</img>
</xsl:template>


Also was ich will ist ja fast offensichtlich. Ich will die Url vom image-Node auslesen, und als attribut einfügen.
Was mache ich falsch?

Du hast eine schlechte XML-Struktur, du hat zwei mal <image> Element mit zwei vollkommen unterschiedlicher Bedeutung aber eben nur einen Template für das <image> Element.
Also was soll deiner Meinung nach dein Template tun? Welches <image> soll er denn nehmen?

Eine Lösung ist möglich, aber besser wäre du würdest deine XML-Struktur anders überlegen, da das so wesentlich sauberer wäre.

Grüße
Thomas