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