blob: 86506e0fcbcfaea05a94e3a553e49fde0184784d [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001OPTIONAL
2EXPERIMENTAL
3SYNOPSIS
4 #include <xml.h>
5
6 string xml_generate(mixed *xml)
7
8BESCHREIBUNG
9 Wandelt das uebergebene <xml>-Array in einen XML-konformen String um,
10 sofern moeglich. Der <xml>-Parameter muss folgende Struktur haben:
11
12 Er muss Tag-Arrays mit folgenden drei Elementen enthalten:
13
14 string XML_TAG_NAME
15 Der Name des XML-Tags.
16
17 mapping XML_TAG_ATTRIBUTES
18 Alle Attribute dieses XML-Tags als ein Mapping mit dem
19 jeweiligen Attributnamen als Schluessel und den Attributwert
20 als der dazugehoerige String.
21
22 Falls ein XML-Tag keine Attribute enthaelt, so ist dieses
23 Element 0.
24
25 mixed * XML_TAG_CONTENTS
26 Der Inhalt des XML-Tags als ein Array. Dieses Array kann
27 entweder Strings (reine Zeichendaten) oder Arrays
28 als weitere Tags enthalten, welche wiederum diese
29 drei Elemente besitzen.
30
31 Falls das XML-Tag nichts enthaelt, so ist dieses Element 0.
32
33 Falls der uebergebe Parameter nicht diese Struktur besitzt, so wird
34 eine Fehlermeldung ausgegeben. Ansonsten ist ein gueltiger XML-String
35 das Resultat.
36
37 Diese Funktion ist nur verfuegbar, wenn der Driver mit Iksemel-
38 Unterstuetzung compiliert wurde. In diesem Fall ist das Makro
39 __XML_DOM__ definiert.
40
41BEISPIEL
42 xml_generate(({ "abc", 0, 0 })) -> "<abc/>"
43 xml_generate(({ "abc", ([ "xyz" : "cde" ]), 0 })) -> "<abc xyz="cde"/>"
44
45 mixed* xml = ({ "buch"
46 , ([ "sprache" : "deutsch" ])
47 , ({ ({ "titel"
48 , 0
49 , ({ "Dies ist der Titel" })
50 })
51 , ({ "kapitel"
52 , 0
53 , ({ "Dies ist ein Kapitel" })
54 })
55 , ({ "kapitel"
56 , 0
57 , ({ "Das soll "
58 , ({ "b"
59 , 0
60 , ({ "fettgedruckt" })
61 })
62 , " sein."
63 })
64 })
65 })
66 })
67
68 xml_generate(xml)
69 -> "<buch sprache="deutsch"><titel>Dies ist der Titel</titel>"
70 "<kapitel>Dies ist ein Kapitel</kapitel><kapitel>Das soll "
71 "<b>fettgedruckt</b> sein.</kapitel></buch>"
72
73GESCHICHTE
74 Eingefuehrt in LDMud 3.3.718.
75
76SIEHE AUCH
77 xml_parse(E)