std.xml

XML-Parser und -Generator für wohlgeformte XML-Dokumente. Escape/Unescape von Sonderzeichen (EscapeText, EscapeAttribute), Tag-Parsing mit Attribut-Extraktion, XML-Deklaration (WriteDeclaration), Element- und Dokumentgenerierung (WriteElement, WriteDocument), XML-zu-Array-Konvertierung (XMLToArray), Validierung (IsValid), Element-Zählung und Pretty-Print mit konfigurierbarem Einzug.

Einsatzbereiche: Datenaustausch mit Drittsystemen, RSS/Atom-Feed-Generierung, SOAP-Schnittstellen, Konfigurationsdateien im XML-Format, sitemap.xml für SEO.

Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne


Konstanten

Name Typ Wert Sichtbarkeit
XML_NODE_ELEMENT int64 1 priv
XML_NODE_TEXT int64 2 priv
XML_NODE_CDATA int64 3 priv
XML_NODE_COMMENT int64 4 priv
XML_NODE_DECLARATION int64 5 priv
ERR_XML_OK int64 0 pub
ERR_XML_INVALID int64 1 pub
ERR_XML_EOF int64 2 pub
ERR_XML_TAG_MISMATCH int64 3 pub
ERR_XML_ATTR_ERROR int64 4 pub

Funktionen

Signatur Sichtbarkeit Beschreibung
isXmlSpace(c: int64): bool priv Prüft ob Zeichen XML-Leerzeichen ist
skipXmlSpace(s: pchar, pos: int64): int64 priv Leerzeichen im XML-String überspringen
findXmlLineEnd(s: pchar, pos: int64): int64 priv Ende der aktuellen Zeile finden
xmlStrLen(s: pchar): int64 priv Zeichenlänge eines pchar-Strings ermitteln
EscapeText(input: pchar, output: pchar): int64 pub XML-Sonderzeichen in Textinhalt escapen
EscapeAttribute(input: pchar, output: pchar): int64 pub XML-Sonderzeichen in Attributwert escapen
findTagNameEnd(s: pchar, pos: int64): int64 priv Ende eines Tag-Namens finden
findAttrNameEnd(s: pchar, pos: int64): int64 priv Ende eines Attribut-Namens finden
findAttrValueEnd(s: pchar, pos: int64): int64 priv Ende eines Attribut-Werts finden
parseXmlDecl(s: pchar, pos: int64, outVersion: pchar, outEncoding: pchar): int64 priv XML-Deklaration parsen
parseTag(s: pchar, pos: int64, outTagName: pchar, outText: pchar, indent: int64, output: pchar): int64 priv XML-Tag mit Attributen parsen
ParseString(input: pchar, output: pchar): int64 pub XML-String vollständig parsen
WriteDeclaration(output: pchar, version: pchar, encoding: pchar): int64 pub XML-Deklaration schreiben
WriteElement(output: pchar, tagName: pchar, attrs: pchar, attrCount: int64, text: pchar, indent: int64): int64 pub XML-Element mit Attributen schreiben
WriteDocument(output: pchar, rootName: pchar, rootText: pchar, version: pchar, encoding: pchar): int64 pub Vollständiges XML-Dokument erzeugen
XMLToArray(xml: pchar, output: pchar): int64 pub XML in Array-Struktur konvertieren
ArrayToXML(arr: pchar, output: pchar): int64 pub Array-Struktur in XML konvertieren
CreateArrayEntry(name: pchar, text: pchar, output: pchar): int64 pub Array-Eintrag mit Name und Text anlegen
GetArrayEntryName(arr: pchar, output: pchar): int64 pub Name eines Array-Eintrags lesen
GetArrayEntryText(arr: pchar, output: pchar): int64 pub Textinhalt eines Array-Eintrags lesen
IsValid(xml: pchar): bool pub XML auf Wohlgeformtheit prüfen
CountElements(xml: pchar): int64 pub Anzahl der XML-Elemente zählen
PrettyPrint(input: pchar, output: pchar, indentSize: int64): int64 pub XML eingerückt formatiert ausgeben