Paul: automatisch eingefügter NS

Moin,
ich hab eine xml-Datei und eine dazu passende xslt-Datei.

In der xslt steht z.B.:

      <img alt="thumbnail">  
        <xsl:attribute name="src">  
            <xsl:value-of select="."/>  
        </xsl:attribute>  
      </img>

Als Ausgabe kommt dann:
<img xmlns="" alt="thumbnail" src="meineSRC" />

Durch das automatisch eingefügte 'xmlns=""' wird das Dokument invalide. Wie kann ich das unterbinden oder valide machen?

Paul

  1. Hi!

    Durch das automatisch eingefügte 'xmlns=""' wird das Dokument invalide. Wie kann ich das unterbinden oder valide machen?

    Ich schätze, dass das dieses eine XSL-Element ist, mit dem man angeben kann, ob XHTML oder XML erzeugt werden soll. Muss irgendwas mit output im Namen haben. Es ist jedenfalls in der SELFHTML-Doku zu XSLT enthalten.

    Lo!

  2. Hallo Paul,

    Als Ausgabe kommt dann:
    <img xmlns="" alt="thumbnail" src="meineSRC" />

    »»

    Durch das automatisch eingefügte 'xmlns=""' wird das Dokument invalide. Wie kann ich das unterbinden oder valide machen?

    Schreibe den Default-NS ins öffnende xsl:stylesheet-Tag, vermutlich hilft:

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

    BTW: Dein Code lässt sich wesentlich kompakter, damit les- und wartbarer schreiben:

    <img alt="thumbnail"> src="{.}" />

    Verwende xsl:attribute nur dann, wenn sich entweder der Attributname und/oder der Attributinhalt dynamisch ergeben (analog gültig für xsl:element).

    Grüße,
    Thomas

    1. Nachtrag:

      Das muss natürlich so ausehen:

      <img alt="thumbnail" src="{.}" />

      Grüße,
      Thomas

      1. <img alt="thumbnail" src="{.}" />

        Vielen Dank.