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.
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
