MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | OPTIONAL |
| 2 | EXPERIMENTAL |
| 3 | SYNOPSIS |
| 4 | #include <xml.h> |
| 5 | |
| 6 | string xml_generate(mixed *xml) |
| 7 | |
| 8 | BESCHREIBUNG |
| 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 | |
| 41 | BEISPIEL |
| 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 | |
| 73 | GESCHICHTE |
| 74 | Eingefuehrt in LDMud 3.3.718. |
| 75 | |
| 76 | SIEHE AUCH |
| 77 | xml_parse(E) |