OPTIONAL
EXPERIMENTAL
SYNOPSIS
        #include <xml.h>

        string xml_generate(mixed *xml)

BESCHREIBUNG
        Wandelt das uebergebene <xml>-Array in einen XML-konformen String um,
        sofern moeglich. Der <xml>-Parameter muss folgende Struktur haben:

        Er muss Tag-Arrays mit folgenden drei Elementen enthalten:

            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 uebergebe Parameter nicht diese Struktur besitzt, so wird
        eine Fehlermeldung ausgegeben. Ansonsten ist ein gueltiger XML-String
        das Resultat.

        Diese Funktion ist nur verfuegbar, wenn der Driver mit Iksemel-
        Unterstuetzung compiliert wurde. In diesem Fall ist das Makro
        __XML_DOM__ definiert.


BEISPIELE
        xml_generate(({ "abc", 0, 0 })) -> "<abc/>"
        xml_generate(({ "abc", ([ "xyz" : "cde" ]), 0 })) -> "<abc xyz="cde"/>"

        mixed* xml = ({ "buch"
                      , ([ "sprache" : "deutsch" ])
                      , ({ ({ "titel"
                            , 0
                            , ({ "Dies ist der Titel" })
                           })
                         , ({ "kapitel"
                            , 0
                            , ({ "Dies ist ein Kapitel" })
                           })
                         , ({ "kapitel"
                            , 0
                            , ({ "Das soll "
                               , ({ "b"
                                  , 0 
                                  , ({ "fettgedruckt" })
                                 })
                               , " sein."
                              })
                           })
                        })
                     })

        xml_generate(xml)
            -> "<buch sprache="deutsch"><titel>Dies ist der Titel</titel>"
               "<kapitel>Dies ist ein Kapitel</kapitel><kapitel>Das soll "
               "<b>fettgedruckt</b> sein.</kapitel></buch>"

GESCHICHTE
        Eingefuehrt in LDMud 3.3.718.

SIEHE AUCH
        xml_parse(E)
