std.svg.xml

Interner XML-Schreiber der SVG-Bibliothek: Puffer-Management, Zahlenformatierung (f64 → kompakter SVG-String), Attribut-Escaping und Dokumentstruktur (XML-Deklaration, SVG-Namespace). Wird von allen anderen SVG-Units intern verwendet — direkte Nutzung ist nur für benutzerdefinierte SVG-Elemente nötig.

std.svg · std.svg.builder


Verwendung (benutzerdefinierte Elemente)

import std.svg.xml;

// Rohe SVG-Elemente einfügen
SvgRawAppend(svg, "<foreignObject x=\"10\" y=\"10\" width=\"200\" height=\"100\">");
SvgRawAppend(svg, "<body xmlns=\"http://www.w3.org/1999/xhtml\"><p>HTML</p></body>");
SvgRawAppend(svg, "</foreignObject>");

// Zahl als SVG-String formatieren (z.B. 3.14159 → "3.14159", ohne unnötige Nullen)
var s: pchar := SvgFormatNum(3.14159);   // "3.14159"
var s2: pchar := SvgFormatNum(100.0);    // "100"

// XML-Attributwert escapen
var escaped: pchar := SvgEscapeAttr("Titel & \"Autor\"");


Funktionen

Signatur Sichtbarkeit Beschreibung
SvgRawAppend(svg: Svg, raw: pchar): void pub Fügt rohen XML-String direkt in den Ausgabepuffer ein
SvgFormatNum(v: f64): pchar pub Formatiert f64 als kompakten SVG-String (keine unnötigen Dezimalstellen)
SvgEscapeAttr(s: pchar): pchar pub Maskiert XML-Sonderzeichen für Attributwerte (&, <, >, „, ')
SvgEscapeText(s: pchar): pchar pub Maskiert XML-Sonderzeichen für Textknoten

Letzte Aktualisierung: 2026-05-23