Frederik Elwert: Namespace im Root-Tag definieren

Hallo!

Gerade versuche ich, die XSLT-Files in ChartSVG ( http://sourceforge.net/projects/chartsvg/ ) so zu modifizieren, dass die ausgegebenen SVG-Dateien von JackSVG ( http://titanium.dstc.edu.au/xml/jacksvg/ ) verarbeitet werden können. Dabei kommt aber folgende Fehlermeldung:

No namespace defined for root level element

Wenn ich aber in der xsl-Datei für das oberste svg-Element den Namespace mit xmlns="http://www.w3.org/2000/svg" definiere, tauchen plötzlich bei vielen, aber nicht allen Kindelementen in der Ausgabe leere namespaces auf, die die Anzeige der SVG-Datei verhindern.

Kann mir jemand sagen, wie ich in xsl für das oberste svg-Element einen Namespace definieren kann, ohne dass sich das auf Kindelemente auswirkt?

Für jede Hilfe in diesem Fall bin ich ausgesprochen dankbar!

  1. Hallo,

    Wenn ich aber in der xsl-Datei für das oberste svg-Element den Namespace mit xmlns="http://www.w3.org/2000/svg" definiere, tauchen plötzlich bei vielen, aber nicht allen Kindelementen in der Ausgabe leere namespaces auf, die die Anzeige der SVG-Datei verhindern.

    Wenn du eine SVG-Datei mittels einer XSL-Sheet modifizierst, solltest du folgednes versuchen:

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns="http://www.w3.org/2000/svg"
    exclude-result-prefixes="#default">
    ...
    </xsl:stylesheet>

    Sollte dies nicht das gewünsche Ergebnis brignen, muss du schon etwas von deinem XSL zeigen.

    Grüße
    Thomas

    1. Sollte dies nicht das gewünsche Ergebnis brignen, muss du schon etwas von deinem XSL zeigen.

      Hat das gewünschte Ergebnis gebracht! Vielen Dank, das hat mir _sehr_ weitergeholfen!