diff --git a/doc/efun/xml_parse b/doc/efun/xml_parse
new file mode 100644
index 0000000..4649c9a
--- /dev/null
+++ b/doc/efun/xml_parse
@@ -0,0 +1,78 @@
+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)
