Skip to content
Commit b5c8a0f4 authored by Zapfenkiller's avatar Zapfenkiller
Browse files

passt xmlns-namespace an.

parent 585f0be5
Loading
Loading
Loading
Loading
  • Richard Kunze @richard.kunze ·
    Developer

    Lass das besser auf http://www.w3.org/2000/svg - ohne ist das kein gültiges SVG, und wenn ein Browser das trotzdem richtig anzeigt ist das eher Zufall...

  • Zapfenkiller @zapfenkiller ·
    Author Contributor

    Wenn ich meine Links wiederfinde, begründe ich das "Warum". Sinngemäß stand da: Für das svg ist das xmlns ein URI (Unified Ressource Idfentifier). Der muss nicht auf eine gültige Website zeigen! Er dient dazu xml-Elemente gegeneinader abzugrenzen wenn sie in verschiedenen Ecken (namespaces) den gleichen Namen verwenden. Für Webseiten gibt es URL (Unified Ressource Locator).

    Gefunden habe ich diese Auskunft bei meiner Such nach einer Antwort auf: "Erzeugt dieses http://www.w3.org/2000/svg zusätzlichen Traffic?" "Ist das ein CDN?"

    Ah ja, da habe ich es versteckt: #2 (comment 227816155)

    Versuch 1 - Zeile 5 - [1] sowie [2] [1] = https://stackoverflow.com/questions/1181888/what-does-xmlns-in-xml-mean [2] = https://en.wikipedia.org/wiki/XML_namespace

    Bitte klär mich auf, wenn ich etwas falsch verstanden oder übersehen habe. Zurückgeändert ist das schnell, klar. Beim Experimentieren habe ich lediglich festgestellt, dass ganz ohne "xmlns" gar kein SVG gerendert wird. Nach der Erklärung da oben leuchtet mir das auch ein.

    Edited by Zapfenkiller
  • Richard Kunze @richard.kunze ·
    Developer

    Generell stimmt das was Du sagst - der Namespace ist ein (hoffentlich) eindeutiger Identifier, der den XML-"Dialekt" kennzeichnet. Abgerufen wird da normalerweise nichts.

    Und für SVG ist der offizielle Namespace http://www.w3.org/2000/svg, und wenn da was anderes steht, dann ist es eben nicht SVG, sondern nur irgendein XML-Dialekt der zufällig so aussieht wie SVG.

    Edited by Richard Kunze
  • Zapfenkiller @zapfenkiller ·
    Author Contributor

    Und warum gibt es dann den xml-Dialekt in diesen expliziten HTML-Tags <svg> </svg>? Ich dachte der Browser erkennt daran um was es geht. Mit dem xmlns kann ich den Kontext unterscheiden wenn ich mehrere svg Elemente benutze. Aber ich kann das gerne wieder auf http://www.w3.org/2000/svg zurück ändern.

  • Richard Kunze @richard.kunze ·
    Developer

    Weil <svg> eben kein HTML ist sondern SVG. Und ganz streng genommen erkennt der Browser das daran, dass das Element im SVG-Namespace liegt (d.h. am xmlns=http://www.w3.org/2000/svg). Dass das Element dann auch noch <svg> heißen muss wird erst durch die SVG-Spezifikation festgelegt.

    Deshalb funktioniert das auch ohne Angabe des Namespace nicht (dann wird das als HTML interpretiert, und unbekannte HTML-Elemente werden vom Browser ignoriert). Und wenn es mit dem falschen Namespace funktioniert ist das strenggenommen ein Browser-Bug...

    Edited by Richard Kunze
  • Zapfenkiller @zapfenkiller ·
    Author Contributor

    https://www.w3.org/TR/SVG2/struct.html#Namespace:

    When using the HTML syntax, the namespace is provided automatically by the HTML parser.
    
    <html>
    <svg viewBox="0 0 100 100">
      <circle cx="50" cy="50" r="50" fill="green">
    </svg>
    </html>
    
    As the example shows there's no need to have an ‘xmlns’ attribute declaring that the element is in the SVG namespace when using the HTML parser. The HTML parser will automatically create the SVG elements in the proper namespace.

    Ach nee. Im Browser muss das gemäß der Doku sogar ganz ohne xmlns abgehen. Liegt das am hugo?

  • Richard Kunze @richard.kunze ·
    Developer

    Hmm, das hatte ich anders in Erinnerung, sorry für die Verwirrung.

    Was Hugo produziert ist gültiges HTML5, d.h. daran kann es eigentlich nicht liegen.

    Auf jeden Fall schadet eine explizite Namespace-Deklaration nicht, zumindest wenn es auch der richtige Namespace ist.

  • Zapfenkiller @zapfenkiller ·
    Author Contributor

    Okay, dann kommt gleich die Änderung im namespace. Hm, erst muss ich mal nachschauen auf welchem Pfad ich das jetzt vorbereitet hatte ...

    Edited by Zapfenkiller
  • Zapfenkiller @zapfenkiller

    mentioned in commit db286659

    ·

    mentioned in commit db286659

    Toggle commit list
  • Zapfenkiller @zapfenkiller

    mentioned in merge request !8 (merged)

    ·

    mentioned in merge request !8 (merged)

    Toggle commit list
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment