| OPTIONAL |
| EXPERIMENTAL |
| SYNOPSIS |
| #include <xml.h> |
| |
| mixed* xml_parse(string xml) |
| |
| BESCHREIBUNG |
| Parst den angegebenen String <xml> als XML. Der String darf nur ein |
| einziges Root-Tag enthalten, weitere Root-Tags werden ignoriert. |
| |
| Falls der String XML-konform war, so wird ein Array mit drei Elementen |
| zurueckgegeben, dessen Elemente folgendermassen definiert sind: |
| |
| string XML_TAG_NAME |
| Der Name des XML-Tags. |
| |
| mapping XML_TAG_ATTRIBUTES |
| Alle Attribute dieses XML-Tags als ein Mapping mit dem |
| jeweiligen Attributnamen als Schluessel und den Attributwert |
| als der dazugehoerige String. |
| |
| Falls ein XML-Tag keine Attribute enthaelt, so ist dieses |
| Element 0. |
| |
| mixed * XML_TAG_CONTENTS |
| Der Inhalt des XML-Tags als ein Array. Dieses Array kann |
| entweder Strings (reine Zeichendaten) oder Arrays |
| als weitere Tags enthalten, welche wiederum diese |
| drei Elemente besitzen. |
| |
| Falls das XML-Tag nichts enthaelt, so ist dieses Element 0. |
| |
| Falls der XML-String nicht wohlgeformt ist oder falls nicht genug Speicher |
| zur Verfuegung steht, wird eine Fehlermeldung ausgegeben. |
| |
| Diese Funktion ist nur verfuegbar, wenn der Driver mit Iksemel- |
| Unterstuetzung compiliert wurde. In diesem Fall ist das Makro |
| __XML_DOM__ definiert. |
| |
| BEISPIEL |
| xml_parse("<abc/>") -> ({ "abc", 0, 0 }) |
| xml_parse("<abc xyz="cde"/>") -> ({ "abc", ([ "xyz" : "cde" ]), 0 }) |
| |
| xml_parse("<buch sprache="deutsch">" + |
| " <titel>Dies ist der Titel</titel>" + |
| " <kapitel>Dies ist ein Kapitel</kapitel>" + |
| " <kapitel>Das soll <b>fettgedruckt</b> sein.</kapitel>" + |
| "</buch>") |
| |
| -> ({ "buch" |
| , ([ "sprache" : "deutsch" ]) |
| , ({ ({ "titel" |
| , 0 |
| , ({ "Dies ist der Titel" }) |
| }) |
| , ({ "kapitel" |
| , 0 |
| , ({ "Dies ist ein Kapitel" }) |
| }) |
| , ({ "kapitel" |
| , 0 |
| , ({ "Dies soll " |
| , ({ "b" |
| , 0 |
| , ({ "fettgedruckt" }) |
| }) |
| , "sein." |
| }) |
| }) |
| }) |
| }) |
| |
| GESCHICHTE |
| Eingefuehrt in LDMud 3.3.718. |
| |
| SIEHE AUCH |
| xml_generate(E) |