Markus Ströbel: HTML Validator, <br /> und <img />

Liebe Community,

ich hoffe, die Frage ist nicht allzu banal.

Ich habe eine Website, deren Inhalt mittels XML angeliefert wird. Durch XSL wird der HTML Code generiert.

Nun bemängelt der CSE HTML Validator zu Recht solche Tags:

<br>

bzw.

<img border="0" height="20" width="20" alt="PDF Download" src="/home/images/ico_pdf.gif">

Es müßte in beiden Fällen /> am Ende lauten.

Nur wird dieser Code ja nicht händisch generiert, sondern durch XSL.

Der Zeilenumbruch steht als <br /> drinnen, der img tag wird durch solchen Code erzeugt:

<xsl:element name="img"><xsl:attribute name="src">@@http-docroot@@/images/ico_pdf.gif</xsl:attribute>
<xsl:attribute name="alt"><xsl:value-of select="$mailalt"/></xsl:attribute>
</xsl:element>

Im Header des XSL's steht natürlich

<xsl:output method="html" encoding="iso-8859-1" />

was ja auch nicht falsch ist.

Meine Frage: Kann ich den Transformer trotzdem dazu bringen, die korrekte Variante zu generieren?

Danke, Markus

  1. Hallo Markus,

    <xsl:output method="html" encoding="iso-8859-1" />

    was ja auch nicht falsch ist.

    Meine Frage: Kann ich den Transformer trotzdem dazu bringen, die korrekte Variante zu generieren?

    Wenn XHTML erzeugt werden soll, dann verwende method="xml" bzw. method="xhtml" unter XSLT 2.0.

    Grüße,
    Thomas

  2. Hallo,

    ich hatte letztens ein ähnliches Problem mit <meta> Tags - obwohl sie richtig geschrieben waren in allen drei Varianten
    1. <meta></meta>
    2.<meta .../>
    3.<xsl:element name="meta">...</xsl..>
    funktionierte es nicht.

    Habs dann als xsl 2.0 gespeichert - aber den gesamten Quellcode kopiert und neues XSL 2.0 geöffnet und reinkopiert (also nicht nur Versionsnummer geändert) und es hat funktioniert.

    Vielleicht hilfts.