patch-doc_reference_html 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638
  1. --- mxml-2.6.orig/doc/reference.html 2009-03-19 06:38:52.000000000 +0100
  2. +++ mxml-2.6/doc/reference.html 2011-05-10 12:57:21.000000000 +0200
  3. @@ -1,1635 +0,0 @@
  4. -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. -<html>
  6. -<head>
  7. -<title>Documentation</title>
  8. -<meta name="creator" content="Mini-XML v2.6">
  9. -<style type="text/css"><!--
  10. -body, p, h1, h2, h3, h4 {
  11. - font-family: lucida grande, geneva, helvetica, arial, sans-serif;
  12. -}
  13. -div.body h1 {
  14. - font-size: 250%;
  15. - font-weight: bold;
  16. - margin: 0;
  17. -}
  18. -div.body h2 {
  19. - font-size: 250%;
  20. - margin-top: 1.5em;
  21. -}
  22. -div.body h3 {
  23. - font-size: 150%;
  24. - margin-bottom: 0.5em;
  25. - margin-top: 1.5em;
  26. -}
  27. -div.body h4 {
  28. - font-size: 110%;
  29. - margin-bottom: 0.5em;
  30. - margin-top: 1.5em;
  31. -}
  32. -div.body h5 {
  33. - font-size: 100%;
  34. - margin-bottom: 0.5em;
  35. - margin-top: 1.5em;
  36. -}
  37. -div.contents {
  38. - background: #e8e8e8;
  39. - border: solid thin black;
  40. - padding: 10px;
  41. -}
  42. -div.contents h1 {
  43. - font-size: 110%;
  44. -}
  45. -div.contents h2 {
  46. - font-size: 100%;
  47. -}
  48. -div.contents ul.contents {
  49. - font-size: 80%;
  50. -}
  51. -.class {
  52. - border-bottom: solid 2px gray;
  53. -}
  54. -.constants {
  55. -}
  56. -.description {
  57. - margin-top: 0.5em;
  58. -}
  59. -.discussion {
  60. -}
  61. -.enumeration {
  62. - border-bottom: solid 2px gray;
  63. -}
  64. -.function {
  65. - border-bottom: solid 2px gray;
  66. - margin-bottom: 0;
  67. -}
  68. -.members {
  69. -}
  70. -.method {
  71. -}
  72. -.parameters {
  73. -}
  74. -.returnvalue {
  75. -}
  76. -.struct {
  77. - border-bottom: solid 2px gray;
  78. -}
  79. -.typedef {
  80. - border-bottom: solid 2px gray;
  81. -}
  82. -.union {
  83. - border-bottom: solid 2px gray;
  84. -}
  85. -.variable {
  86. -}
  87. -code, p.code, pre, ul.code li {
  88. - font-family: monaco, courier, monospace;
  89. - font-size: 90%;
  90. -}
  91. -a:link, a:visited {
  92. - text-decoration: none;
  93. -}
  94. -span.info {
  95. - background: black;
  96. - border: solid thin black;
  97. - color: white;
  98. - font-size: 80%;
  99. - font-style: italic;
  100. - font-weight: bold;
  101. - white-space: nowrap;
  102. -}
  103. -h3 span.info, h4 span.info {
  104. - float: right;
  105. - font-size: 100%;
  106. -}
  107. -ul.code, ul.contents, ul.subcontents {
  108. - list-style-type: none;
  109. - margin: 0;
  110. - padding-left: 0;
  111. -}
  112. -ul.code li {
  113. - margin: 0;
  114. -}
  115. -ul.contents > li {
  116. - margin-top: 1em;
  117. -}
  118. -ul.contents li ul.code, ul.contents li ul.subcontents {
  119. - padding-left: 2em;
  120. -}
  121. -div.body dl {
  122. - margin-top: 0;
  123. -}
  124. -div.body dt {
  125. - font-style: italic;
  126. - margin-top: 0;
  127. -}
  128. -div.body dd {
  129. - margin-bottom: 0.5em;
  130. -}
  131. -h1.title {
  132. -}
  133. -h2.title {
  134. - border-bottom: solid 2px black;
  135. -}
  136. -h3.title {
  137. - border-bottom: solid 2px black;
  138. -}
  139. ---></style>
  140. -</head>
  141. -<body>
  142. -<div class='body'>
  143. -<h1 align='right'><a name='REFERENCE'><img src="C.gif" align="right"
  144. -hspace="10" width="100" height="100" alt="C"></a>Library
  145. -Reference</h1>
  146. -
  147. -<h2 class="title">Contents</h2>
  148. -<ul class="contents">
  149. -<li><a href="#FUNCTIONS">Functions</a><ul class="code">
  150. -<li><a href="#mxmlAdd" title="Add a node to a tree.">mxmlAdd</a></li>
  151. -<li><a href="#mxmlDelete" title="Delete a node and all of its children.">mxmlDelete</a></li>
  152. -<li><a href="#mxmlElementDeleteAttr" title="Delete an attribute.">mxmlElementDeleteAttr</a></li>
  153. -<li><a href="#mxmlElementGetAttr" title="Get an attribute.">mxmlElementGetAttr</a></li>
  154. -<li><a href="#mxmlElementSetAttr" title="Set an attribute.">mxmlElementSetAttr</a></li>
  155. -<li><a href="#mxmlElementSetAttrf" title="Set an attribute with a formatted value.">mxmlElementSetAttrf</a></li>
  156. -<li><a href="#mxmlEntityAddCallback" title="Add a callback to convert entities to Unicode.">mxmlEntityAddCallback</a></li>
  157. -<li><a href="#mxmlEntityGetName" title="Get the name that corresponds to the character value.">mxmlEntityGetName</a></li>
  158. -<li><a href="#mxmlEntityGetValue" title="Get the character corresponding to a named entity.">mxmlEntityGetValue</a></li>
  159. -<li><a href="#mxmlEntityRemoveCallback" title="Remove a callback.">mxmlEntityRemoveCallback</a></li>
  160. -<li><a href="#mxmlFindElement" title="Find the named element.">mxmlFindElement</a></li>
  161. -<li><a href="#mxmlIndexDelete" title="Delete an index.">mxmlIndexDelete</a></li>
  162. -<li><a href="#mxmlIndexEnum" title="Return the next node in the index.">mxmlIndexEnum</a></li>
  163. -<li><a href="#mxmlIndexFind" title="Find the next matching node.">mxmlIndexFind</a></li>
  164. -<li><a href="#mxmlIndexNew" title="Create a new index.">mxmlIndexNew</a></li>
  165. -<li><a href="#mxmlIndexReset" title="Reset the enumeration/find pointer in the index and
  166. -return the first node in the index.">mxmlIndexReset</a></li>
  167. -<li><a href="#mxmlLoadFd" title="Load a file descriptor into an XML node tree.">mxmlLoadFd</a></li>
  168. -<li><a href="#mxmlLoadFile" title="Load a file into an XML node tree.">mxmlLoadFile</a></li>
  169. -<li><a href="#mxmlLoadString" title="Load a string into an XML node tree.">mxmlLoadString</a></li>
  170. -<li><a href="#mxmlNewCDATA" title="Create a new CDATA node.">mxmlNewCDATA</a></li>
  171. -<li><a href="#mxmlNewCustom" title="Create a new custom data node.">mxmlNewCustom</a></li>
  172. -<li><a href="#mxmlNewElement" title="Create a new element node.">mxmlNewElement</a></li>
  173. -<li><a href="#mxmlNewInteger" title="Create a new integer node.">mxmlNewInteger</a></li>
  174. -<li><a href="#mxmlNewOpaque" title="Create a new opaque string.">mxmlNewOpaque</a></li>
  175. -<li><a href="#mxmlNewReal" title="Create a new real number node.">mxmlNewReal</a></li>
  176. -<li><a href="#mxmlNewText" title="Create a new text fragment node.">mxmlNewText</a></li>
  177. -<li><a href="#mxmlNewTextf" title="Create a new formatted text fragment node.">mxmlNewTextf</a></li>
  178. -<li><a href="#mxmlNewXML" title="Create a new XML document tree.">mxmlNewXML</a></li>
  179. -<li><a href="#mxmlRelease" title="Release a node.">mxmlRelease</a></li>
  180. -<li><a href="#mxmlRemove" title="Remove a node from its parent.">mxmlRemove</a></li>
  181. -<li><a href="#mxmlRetain" title="Retain a node.">mxmlRetain</a></li>
  182. -<li><a href="#mxmlSAXLoadFd" title="Load a file descriptor into an XML node tree
  183. -using a SAX callback.">mxmlSAXLoadFd</a></li>
  184. -<li><a href="#mxmlSAXLoadFile" title="Load a file into an XML node tree
  185. -using a SAX callback.">mxmlSAXLoadFile</a></li>
  186. -<li><a href="#mxmlSAXLoadString" title="Load a string into an XML node tree
  187. -using a SAX callback.">mxmlSAXLoadString</a></li>
  188. -<li><a href="#mxmlSaveAllocString" title="Save an XML node tree to an allocated string.">mxmlSaveAllocString</a></li>
  189. -<li><a href="#mxmlSaveFd" title="Save an XML tree to a file descriptor.">mxmlSaveFd</a></li>
  190. -<li><a href="#mxmlSaveFile" title="Save an XML tree to a file.">mxmlSaveFile</a></li>
  191. -<li><a href="#mxmlSaveString" title="Save an XML node tree to a string.">mxmlSaveString</a></li>
  192. -<li><a href="#mxmlSetCDATA" title="Set the element name of a CDATA node.">mxmlSetCDATA</a></li>
  193. -<li><a href="#mxmlSetCustom" title="Set the data and destructor of a custom data node.">mxmlSetCustom</a></li>
  194. -<li><a href="#mxmlSetCustomHandlers" title="Set the handling functions for custom data.">mxmlSetCustomHandlers</a></li>
  195. -<li><a href="#mxmlSetElement" title="Set the name of an element node.">mxmlSetElement</a></li>
  196. -<li><a href="#mxmlSetErrorCallback" title="Set the error message callback.">mxmlSetErrorCallback</a></li>
  197. -<li><a href="#mxmlSetInteger" title="Set the value of an integer node.">mxmlSetInteger</a></li>
  198. -<li><a href="#mxmlSetOpaque" title="Set the value of an opaque node.">mxmlSetOpaque</a></li>
  199. -<li><a href="#mxmlSetReal" title="Set the value of a real number node.">mxmlSetReal</a></li>
  200. -<li><a href="#mxmlSetText" title="Set the value of a text node.">mxmlSetText</a></li>
  201. -<li><a href="#mxmlSetTextf" title="Set the value of a text node to a formatted string.">mxmlSetTextf</a></li>
  202. -<li><a href="#mxmlSetWrapMargin" title="Set the the wrap margin when saving XML data.">mxmlSetWrapMargin</a></li>
  203. -<li><a href="#mxmlWalkNext" title="Walk to the next logical node in the tree.">mxmlWalkNext</a></li>
  204. -<li><a href="#mxmlWalkPrev" title="Walk to the previous logical node in the tree.">mxmlWalkPrev</a></li>
  205. -</ul></li>
  206. -<li><a href="#TYPES">Data Types</a><ul class="code">
  207. - <li><a href="#mxml_attr_t" title="An XML element attribute value.">mxml_attr_t</a></li>
  208. - <li><a href="#mxml_custom_destroy_cb_t" title="Custom data destructor">mxml_custom_destroy_cb_t</a></li>
  209. - <li><a href="#mxml_custom_load_cb_t" title="Custom data load callback function">mxml_custom_load_cb_t</a></li>
  210. - <li><a href="#mxml_custom_save_cb_t" title="Custom data save callback function">mxml_custom_save_cb_t</a></li>
  211. - <li><a href="#mxml_custom_t" title="An XML custom value. ">mxml_custom_t</a></li>
  212. - <li><a href="#mxml_element_t" title="An XML element value.">mxml_element_t</a></li>
  213. - <li><a href="#mxml_entity_cb_t" title="Entity callback function">mxml_entity_cb_t</a></li>
  214. - <li><a href="#mxml_error_cb_t" title="Error callback function">mxml_error_cb_t</a></li>
  215. - <li><a href="#mxml_index_t" title="An XML node index.">mxml_index_t</a></li>
  216. - <li><a href="#mxml_load_cb_t" title="Load callback function">mxml_load_cb_t</a></li>
  217. - <li><a href="#mxml_node_t" title="An XML node.">mxml_node_t</a></li>
  218. - <li><a href="#mxml_save_cb_t" title="Save callback function">mxml_save_cb_t</a></li>
  219. - <li><a href="#mxml_sax_cb_t" title="SAX callback function">mxml_sax_cb_t</a></li>
  220. - <li><a href="#mxml_sax_event_t" title="SAX event type.">mxml_sax_event_t</a></li>
  221. - <li><a href="#mxml_text_t" title="An XML text value.">mxml_text_t</a></li>
  222. - <li><a href="#mxml_type_t" title="The XML node type.">mxml_type_t</a></li>
  223. - <li><a href="#mxml_value_t" title="An XML node value.">mxml_value_t</a></li>
  224. -</ul></li>
  225. -<li><a href="#STRUCTURES">Structures</a><ul class="code">
  226. - <li><a href="#mxml_attr_s" title="An XML element attribute value.">mxml_attr_s</a></li>
  227. - <li><a href="#mxml_custom_s" title="An XML custom value. ">mxml_custom_s</a></li>
  228. - <li><a href="#mxml_element_s" title="An XML element value.">mxml_element_s</a></li>
  229. - <li><a href="#mxml_index_s" title="An XML node index.">mxml_index_s</a></li>
  230. - <li><a href="#mxml_node_s" title="An XML node.">mxml_node_s</a></li>
  231. - <li><a href="#mxml_text_s" title="An XML text value.">mxml_text_s</a></li>
  232. -</ul></li>
  233. -<li><a href="#UNIONS">Unions</a><ul class="code">
  234. - <li><a href="#mxml_value_u" title="An XML node value.">mxml_value_u</a></li>
  235. -</ul></li>
  236. -<li><a href="#ENUMERATIONS">Constants</a><ul class="code">
  237. - <li><a href="#mxml_sax_event_e" title="SAX event type.">mxml_sax_event_e</a></li>
  238. - <li><a href="#mxml_type_e" title="The XML node type.">mxml_type_e</a></li>
  239. -</ul></li>
  240. -<h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
  241. -<h3 class="function"><a name="mxmlAdd">mxmlAdd</a></h3>
  242. -<p class="description">Add a node to a tree.</p>
  243. -<p class="code">
  244. -void mxmlAdd (<br>
  245. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
  246. -&nbsp;&nbsp;&nbsp;&nbsp;int where,<br>
  247. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *child,<br>
  248. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node<br>
  249. -);</p>
  250. -<h4 class="parameters">Parameters</h4>
  251. -<dl>
  252. -<dt>parent</dt>
  253. -<dd class="description">Parent node</dd>
  254. -<dt>where</dt>
  255. -<dd class="description">Where to add, MXML_ADD_BEFORE or MXML_ADD_AFTER</dd>
  256. -<dt>child</dt>
  257. -<dd class="description">Child node for where or MXML_ADD_TO_PARENT</dd>
  258. -<dt>node</dt>
  259. -<dd class="description">Node to add</dd>
  260. -</dl>
  261. -<h4 class="discussion">Discussion</h4>
  262. -<p class="discussion">Adds the specified node to the parent. If the child argument is not
  263. -NULL, puts the new node before or after the specified child depending
  264. -on the value of the where argument. If the child argument is NULL,
  265. -puts the new node at the beginning of the child list (MXML_ADD_BEFORE)
  266. -or at the end of the child list (MXML_ADD_AFTER). The constant
  267. -MXML_ADD_TO_PARENT can be used to specify a NULL child pointer.</p>
  268. -<h3 class="function"><a name="mxmlDelete">mxmlDelete</a></h3>
  269. -<p class="description">Delete a node and all of its children.</p>
  270. -<p class="code">
  271. -void mxmlDelete (<br>
  272. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node<br>
  273. -);</p>
  274. -<h4 class="parameters">Parameters</h4>
  275. -<dl>
  276. -<dt>node</dt>
  277. -<dd class="description">Node to delete</dd>
  278. -</dl>
  279. -<h4 class="discussion">Discussion</h4>
  280. -<p class="discussion">If the specified node has a parent, this function first removes the
  281. -node from its parent using the mxmlRemove() function.</p>
  282. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.4&nbsp;</span><a name="mxmlElementDeleteAttr">mxmlElementDeleteAttr</a></h3>
  283. -<p class="description">Delete an attribute.</p>
  284. -<p class="code">
  285. -void mxmlElementDeleteAttr (<br>
  286. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  287. -&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
  288. -);</p>
  289. -<h4 class="parameters">Parameters</h4>
  290. -<dl>
  291. -<dt>node</dt>
  292. -<dd class="description">Element</dd>
  293. -<dt>name</dt>
  294. -<dd class="description">Attribute name</dd>
  295. -</dl>
  296. -<h3 class="function"><a name="mxmlElementGetAttr">mxmlElementGetAttr</a></h3>
  297. -<p class="description">Get an attribute.</p>
  298. -<p class="code">
  299. -const char *mxmlElementGetAttr (<br>
  300. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  301. -&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
  302. -);</p>
  303. -<h4 class="parameters">Parameters</h4>
  304. -<dl>
  305. -<dt>node</dt>
  306. -<dd class="description">Element node</dd>
  307. -<dt>name</dt>
  308. -<dd class="description">Name of attribute</dd>
  309. -</dl>
  310. -<h4 class="returnvalue">Return Value</h4>
  311. -<p class="description">Attribute value or NULL</p>
  312. -<h4 class="discussion">Discussion</h4>
  313. -<p class="discussion">This function returns NULL if the node is not an element or the
  314. -named attribute does not exist.</p>
  315. -<h3 class="function"><a name="mxmlElementSetAttr">mxmlElementSetAttr</a></h3>
  316. -<p class="description">Set an attribute.</p>
  317. -<p class="code">
  318. -void mxmlElementSetAttr (<br>
  319. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  320. -&nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
  321. -&nbsp;&nbsp;&nbsp;&nbsp;const char *value<br>
  322. -);</p>
  323. -<h4 class="parameters">Parameters</h4>
  324. -<dl>
  325. -<dt>node</dt>
  326. -<dd class="description">Element node</dd>
  327. -<dt>name</dt>
  328. -<dd class="description">Name of attribute</dd>
  329. -<dt>value</dt>
  330. -<dd class="description">Attribute value</dd>
  331. -</dl>
  332. -<h4 class="discussion">Discussion</h4>
  333. -<p class="discussion">If the named attribute already exists, the value of the attribute
  334. -is replaced by the new string value. The string value is copied
  335. -into the element node. This function does nothing if the node is
  336. -not an element.</p>
  337. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlElementSetAttrf">mxmlElementSetAttrf</a></h3>
  338. -<p class="description">Set an attribute with a formatted value.</p>
  339. -<p class="code">
  340. -void mxmlElementSetAttrf (<br>
  341. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  342. -&nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
  343. -&nbsp;&nbsp;&nbsp;&nbsp;const char *format,<br>
  344. -&nbsp;&nbsp;&nbsp;&nbsp;...<br>
  345. -);</p>
  346. -<h4 class="parameters">Parameters</h4>
  347. -<dl>
  348. -<dt>node</dt>
  349. -<dd class="description">Element node</dd>
  350. -<dt>name</dt>
  351. -<dd class="description">Name of attribute</dd>
  352. -<dt>format</dt>
  353. -<dd class="description">Printf-style attribute value</dd>
  354. -<dt>...</dt>
  355. -<dd class="description">Additional arguments as needed</dd>
  356. -</dl>
  357. -<h4 class="discussion">Discussion</h4>
  358. -<p class="discussion">If the named attribute already exists, the value of the attribute
  359. -is replaced by the new formatted string. The formatted string value is
  360. -copied into the element node. This function does nothing if the node
  361. -is not an element.
  362. -
  363. -</p>
  364. -<h3 class="function"><a name="mxmlEntityAddCallback">mxmlEntityAddCallback</a></h3>
  365. -<p class="description">Add a callback to convert entities to Unicode.</p>
  366. -<p class="code">
  367. -int mxmlEntityAddCallback (<br>
  368. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_entity_cb_t">mxml_entity_cb_t</a> cb<br>
  369. -);</p>
  370. -<h4 class="parameters">Parameters</h4>
  371. -<dl>
  372. -<dt>cb</dt>
  373. -<dd class="description">Callback function to add</dd>
  374. -</dl>
  375. -<h4 class="returnvalue">Return Value</h4>
  376. -<p class="description">0 on success, -1 on failure</p>
  377. -<h3 class="function"><a name="mxmlEntityGetName">mxmlEntityGetName</a></h3>
  378. -<p class="description">Get the name that corresponds to the character value.</p>
  379. -<p class="code">
  380. -const char *mxmlEntityGetName (<br>
  381. -&nbsp;&nbsp;&nbsp;&nbsp;int val<br>
  382. -);</p>
  383. -<h4 class="parameters">Parameters</h4>
  384. -<dl>
  385. -<dt>val</dt>
  386. -<dd class="description">Character value</dd>
  387. -</dl>
  388. -<h4 class="returnvalue">Return Value</h4>
  389. -<p class="description">Entity name or NULL</p>
  390. -<h4 class="discussion">Discussion</h4>
  391. -<p class="discussion">If val does not need to be represented by a named entity, NULL is returned.</p>
  392. -<h3 class="function"><a name="mxmlEntityGetValue">mxmlEntityGetValue</a></h3>
  393. -<p class="description">Get the character corresponding to a named entity.</p>
  394. -<p class="code">
  395. -int mxmlEntityGetValue (<br>
  396. -&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
  397. -);</p>
  398. -<h4 class="parameters">Parameters</h4>
  399. -<dl>
  400. -<dt>name</dt>
  401. -<dd class="description">Entity name</dd>
  402. -</dl>
  403. -<h4 class="returnvalue">Return Value</h4>
  404. -<p class="description">Character value or -1 on error</p>
  405. -<h4 class="discussion">Discussion</h4>
  406. -<p class="discussion">The entity name can also be a numeric constant. -1 is returned if the
  407. -name is not known.</p>
  408. -<h3 class="function"><a name="mxmlEntityRemoveCallback">mxmlEntityRemoveCallback</a></h3>
  409. -<p class="description">Remove a callback.</p>
  410. -<p class="code">
  411. -void mxmlEntityRemoveCallback (<br>
  412. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_entity_cb_t">mxml_entity_cb_t</a> cb<br>
  413. -);</p>
  414. -<h4 class="parameters">Parameters</h4>
  415. -<dl>
  416. -<dt>cb</dt>
  417. -<dd class="description">Callback function to remove</dd>
  418. -</dl>
  419. -<h3 class="function"><a name="mxmlFindElement">mxmlFindElement</a></h3>
  420. -<p class="description">Find the named element.</p>
  421. -<p class="code">
  422. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlFindElement (<br>
  423. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  424. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
  425. -&nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
  426. -&nbsp;&nbsp;&nbsp;&nbsp;const char *attr,<br>
  427. -&nbsp;&nbsp;&nbsp;&nbsp;const char *value,<br>
  428. -&nbsp;&nbsp;&nbsp;&nbsp;int descend<br>
  429. -);</p>
  430. -<h4 class="parameters">Parameters</h4>
  431. -<dl>
  432. -<dt>node</dt>
  433. -<dd class="description">Current node</dd>
  434. -<dt>top</dt>
  435. -<dd class="description">Top node</dd>
  436. -<dt>name</dt>
  437. -<dd class="description">Element name or NULL for any</dd>
  438. -<dt>attr</dt>
  439. -<dd class="description">Attribute name, or NULL for none</dd>
  440. -<dt>value</dt>
  441. -<dd class="description">Attribute value, or NULL for any</dd>
  442. -<dt>descend</dt>
  443. -<dd class="description">Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</dd>
  444. -</dl>
  445. -<h4 class="returnvalue">Return Value</h4>
  446. -<p class="description">Element node or NULL</p>
  447. -<h4 class="discussion">Discussion</h4>
  448. -<p class="discussion">The search is constrained by the name, attribute name, and value; any
  449. -NULL names or values are treated as wildcards, so different kinds of
  450. -searches can be implemented by looking for all elements of a given name
  451. -or all elements with a specific attribute. The descend argument determines
  452. -whether the search descends into child nodes; normally you will use
  453. -MXML_DESCEND_FIRST for the initial search and MXML_NO_DESCEND to find
  454. -additional direct descendents of the node. The top node argument
  455. -constrains the search to a particular node's children.</p>
  456. -<h3 class="function"><a name="mxmlIndexDelete">mxmlIndexDelete</a></h3>
  457. -<p class="description">Delete an index.</p>
  458. -<p class="code">
  459. -void mxmlIndexDelete (<br>
  460. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_index_t">mxml_index_t</a> *ind<br>
  461. -);</p>
  462. -<h4 class="parameters">Parameters</h4>
  463. -<dl>
  464. -<dt>ind</dt>
  465. -<dd class="description">Index to delete</dd>
  466. -</dl>
  467. -<h3 class="function"><a name="mxmlIndexEnum">mxmlIndexEnum</a></h3>
  468. -<p class="description">Return the next node in the index.</p>
  469. -<p class="code">
  470. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlIndexEnum (<br>
  471. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_index_t">mxml_index_t</a> *ind<br>
  472. -);</p>
  473. -<h4 class="parameters">Parameters</h4>
  474. -<dl>
  475. -<dt>ind</dt>
  476. -<dd class="description">Index to enumerate</dd>
  477. -</dl>
  478. -<h4 class="returnvalue">Return Value</h4>
  479. -<p class="description">Next node or NULL if there is none</p>
  480. -<h4 class="discussion">Discussion</h4>
  481. -<p class="discussion">Nodes are returned in the sorted order of the index.</p>
  482. -<h3 class="function"><a name="mxmlIndexFind">mxmlIndexFind</a></h3>
  483. -<p class="description">Find the next matching node.</p>
  484. -<p class="code">
  485. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlIndexFind (<br>
  486. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_index_t">mxml_index_t</a> *ind,<br>
  487. -&nbsp;&nbsp;&nbsp;&nbsp;const char *element,<br>
  488. -&nbsp;&nbsp;&nbsp;&nbsp;const char *value<br>
  489. -);</p>
  490. -<h4 class="parameters">Parameters</h4>
  491. -<dl>
  492. -<dt>ind</dt>
  493. -<dd class="description">Index to search</dd>
  494. -<dt>element</dt>
  495. -<dd class="description">Element name to find, if any</dd>
  496. -<dt>value</dt>
  497. -<dd class="description">Attribute value, if any</dd>
  498. -</dl>
  499. -<h4 class="returnvalue">Return Value</h4>
  500. -<p class="description">Node or NULL if none found</p>
  501. -<h4 class="discussion">Discussion</h4>
  502. -<p class="discussion">You should call mxmlIndexReset() prior to using this function for
  503. -the first time with a particular set of &quot;element&quot; and &quot;value&quot;
  504. -strings. Passing NULL for both &quot;element&quot; and &quot;value&quot; is equivalent
  505. -to calling mxmlIndexEnum().</p>
  506. -<h3 class="function"><a name="mxmlIndexNew">mxmlIndexNew</a></h3>
  507. -<p class="description">Create a new index.</p>
  508. -<p class="code">
  509. -<a href="#mxml_index_t">mxml_index_t</a> *mxmlIndexNew (<br>
  510. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  511. -&nbsp;&nbsp;&nbsp;&nbsp;const char *element,<br>
  512. -&nbsp;&nbsp;&nbsp;&nbsp;const char *attr<br>
  513. -);</p>
  514. -<h4 class="parameters">Parameters</h4>
  515. -<dl>
  516. -<dt>node</dt>
  517. -<dd class="description">XML node tree</dd>
  518. -<dt>element</dt>
  519. -<dd class="description">Element to index or NULL for all</dd>
  520. -<dt>attr</dt>
  521. -<dd class="description">Attribute to index or NULL for none</dd>
  522. -</dl>
  523. -<h4 class="returnvalue">Return Value</h4>
  524. -<p class="description">New index</p>
  525. -<h4 class="discussion">Discussion</h4>
  526. -<p class="discussion">The index will contain all nodes that contain the named element and/or
  527. -attribute. If both &quot;element&quot; and &quot;attr&quot; are NULL, then the index will
  528. -contain a sorted list of the elements in the node tree. Nodes are
  529. -sorted by element name and optionally by attribute value if the &quot;attr&quot;
  530. -argument is not NULL.</p>
  531. -<h3 class="function"><a name="mxmlIndexReset">mxmlIndexReset</a></h3>
  532. -<p class="description">Reset the enumeration/find pointer in the index and
  533. -return the first node in the index.</p>
  534. -<p class="code">
  535. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlIndexReset (<br>
  536. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_index_t">mxml_index_t</a> *ind<br>
  537. -);</p>
  538. -<h4 class="parameters">Parameters</h4>
  539. -<dl>
  540. -<dt>ind</dt>
  541. -<dd class="description">Index to reset</dd>
  542. -</dl>
  543. -<h4 class="returnvalue">Return Value</h4>
  544. -<p class="description">First node or NULL if there is none</p>
  545. -<h4 class="discussion">Discussion</h4>
  546. -<p class="discussion">This function should be called prior to using mxmlIndexEnum() or
  547. -mxmlIndexFind() for the first time.</p>
  548. -<h3 class="function"><a name="mxmlLoadFd">mxmlLoadFd</a></h3>
  549. -<p class="description">Load a file descriptor into an XML node tree.</p>
  550. -<p class="code">
  551. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlLoadFd (<br>
  552. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
  553. -&nbsp;&nbsp;&nbsp;&nbsp;int fd,<br>
  554. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb<br>
  555. -);</p>
  556. -<h4 class="parameters">Parameters</h4>
  557. -<dl>
  558. -<dt>top</dt>
  559. -<dd class="description">Top node</dd>
  560. -<dt>fd</dt>
  561. -<dd class="description">File descriptor to read from</dd>
  562. -<dt>cb</dt>
  563. -<dd class="description">Callback function or MXML_NO_CALLBACK</dd>
  564. -</dl>
  565. -<h4 class="returnvalue">Return Value</h4>
  566. -<p class="description">First node or NULL if the file could not be read.</p>
  567. -<h4 class="discussion">Discussion</h4>
  568. -<p class="discussion">The nodes in the specified file are added to the specified top node.
  569. -If no top node is provided, the XML file MUST be well-formed with a
  570. -single parent node like &lt;?xml&gt; for the entire file. The callback
  571. -function returns the value type that should be used for child nodes.
  572. -If MXML_NO_CALLBACK is specified then all child nodes will be either
  573. -MXML_ELEMENT or MXML_TEXT nodes.<br>
  574. -<br>
  575. -The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
  576. -MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
  577. -child nodes of the specified type.</p>
  578. -<h3 class="function"><a name="mxmlLoadFile">mxmlLoadFile</a></h3>
  579. -<p class="description">Load a file into an XML node tree.</p>
  580. -<p class="code">
  581. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlLoadFile (<br>
  582. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
  583. -&nbsp;&nbsp;&nbsp;&nbsp;FILE *fp,<br>
  584. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb<br>
  585. -);</p>
  586. -<h4 class="parameters">Parameters</h4>
  587. -<dl>
  588. -<dt>top</dt>
  589. -<dd class="description">Top node</dd>
  590. -<dt>fp</dt>
  591. -<dd class="description">File to read from</dd>
  592. -<dt>cb</dt>
  593. -<dd class="description">Callback function or MXML_NO_CALLBACK</dd>
  594. -</dl>
  595. -<h4 class="returnvalue">Return Value</h4>
  596. -<p class="description">First node or NULL if the file could not be read.</p>
  597. -<h4 class="discussion">Discussion</h4>
  598. -<p class="discussion">The nodes in the specified file are added to the specified top node.
  599. -If no top node is provided, the XML file MUST be well-formed with a
  600. -single parent node like &lt;?xml&gt; for the entire file. The callback
  601. -function returns the value type that should be used for child nodes.
  602. -If MXML_NO_CALLBACK is specified then all child nodes will be either
  603. -MXML_ELEMENT or MXML_TEXT nodes.<br>
  604. -<br>
  605. -The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
  606. -MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
  607. -child nodes of the specified type.</p>
  608. -<h3 class="function"><a name="mxmlLoadString">mxmlLoadString</a></h3>
  609. -<p class="description">Load a string into an XML node tree.</p>
  610. -<p class="code">
  611. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlLoadString (<br>
  612. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
  613. -&nbsp;&nbsp;&nbsp;&nbsp;const char *s,<br>
  614. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb<br>
  615. -);</p>
  616. -<h4 class="parameters">Parameters</h4>
  617. -<dl>
  618. -<dt>top</dt>
  619. -<dd class="description">Top node</dd>
  620. -<dt>s</dt>
  621. -<dd class="description">String to load</dd>
  622. -<dt>cb</dt>
  623. -<dd class="description">Callback function or MXML_NO_CALLBACK</dd>
  624. -</dl>
  625. -<h4 class="returnvalue">Return Value</h4>
  626. -<p class="description">First node or NULL if the string has errors.</p>
  627. -<h4 class="discussion">Discussion</h4>
  628. -<p class="discussion">The nodes in the specified string are added to the specified top node.
  629. -If no top node is provided, the XML string MUST be well-formed with a
  630. -single parent node like &lt;?xml&gt; for the entire string. The callback
  631. -function returns the value type that should be used for child nodes.
  632. -If MXML_NO_CALLBACK is specified then all child nodes will be either
  633. -MXML_ELEMENT or MXML_TEXT nodes.<br>
  634. -<br>
  635. -The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
  636. -MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
  637. -child nodes of the specified type.</p>
  638. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlNewCDATA">mxmlNewCDATA</a></h3>
  639. -<p class="description">Create a new CDATA node.</p>
  640. -<p class="code">
  641. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewCDATA (<br>
  642. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
  643. -&nbsp;&nbsp;&nbsp;&nbsp;const char *data<br>
  644. -);</p>
  645. -<h4 class="parameters">Parameters</h4>
  646. -<dl>
  647. -<dt>parent</dt>
  648. -<dd class="description">Parent node or MXML_NO_PARENT</dd>
  649. -<dt>data</dt>
  650. -<dd class="description">Data string</dd>
  651. -</dl>
  652. -<h4 class="returnvalue">Return Value</h4>
  653. -<p class="description">New node</p>
  654. -<h4 class="discussion">Discussion</h4>
  655. -<p class="discussion">The new CDATA node is added to the end of the specified parent's child
  656. -list. The constant MXML_NO_PARENT can be used to specify that the new
  657. -CDATA node has no parent. The data string must be nul-terminated and
  658. -is copied into the new node. CDATA nodes use the MXML_ELEMENT type.
  659. -
  660. -</p>
  661. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.1&nbsp;</span><a name="mxmlNewCustom">mxmlNewCustom</a></h3>
  662. -<p class="description">Create a new custom data node.</p>
  663. -<p class="code">
  664. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewCustom (<br>
  665. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
  666. -&nbsp;&nbsp;&nbsp;&nbsp;void *data,<br>
  667. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_custom_destroy_cb_t">mxml_custom_destroy_cb_t</a> destroy<br>
  668. -);</p>
  669. -<h4 class="parameters">Parameters</h4>
  670. -<dl>
  671. -<dt>parent</dt>
  672. -<dd class="description">Parent node or MXML_NO_PARENT</dd>
  673. -<dt>data</dt>
  674. -<dd class="description">Pointer to data</dd>
  675. -<dt>destroy</dt>
  676. -<dd class="description">Function to destroy data</dd>
  677. -</dl>
  678. -<h4 class="returnvalue">Return Value</h4>
  679. -<p class="description">New node</p>
  680. -<h4 class="discussion">Discussion</h4>
  681. -<p class="discussion">The new custom node is added to the end of the specified parent's child
  682. -list. The constant MXML_NO_PARENT can be used to specify that the new
  683. -element node has no parent. NULL can be passed when the data in the
  684. -node is not dynamically allocated or is separately managed.
  685. -
  686. -</p>
  687. -<h3 class="function"><a name="mxmlNewElement">mxmlNewElement</a></h3>
  688. -<p class="description">Create a new element node.</p>
  689. -<p class="code">
  690. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewElement (<br>
  691. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
  692. -&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
  693. -);</p>
  694. -<h4 class="parameters">Parameters</h4>
  695. -<dl>
  696. -<dt>parent</dt>
  697. -<dd class="description">Parent node or MXML_NO_PARENT</dd>
  698. -<dt>name</dt>
  699. -<dd class="description">Name of element</dd>
  700. -</dl>
  701. -<h4 class="returnvalue">Return Value</h4>
  702. -<p class="description">New node</p>
  703. -<h4 class="discussion">Discussion</h4>
  704. -<p class="discussion">The new element node is added to the end of the specified parent's child
  705. -list. The constant MXML_NO_PARENT can be used to specify that the new
  706. -element node has no parent.</p>
  707. -<h3 class="function"><a name="mxmlNewInteger">mxmlNewInteger</a></h3>
  708. -<p class="description">Create a new integer node.</p>
  709. -<p class="code">
  710. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewInteger (<br>
  711. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
  712. -&nbsp;&nbsp;&nbsp;&nbsp;int integer<br>
  713. -);</p>
  714. -<h4 class="parameters">Parameters</h4>
  715. -<dl>
  716. -<dt>parent</dt>
  717. -<dd class="description">Parent node or MXML_NO_PARENT</dd>
  718. -<dt>integer</dt>
  719. -<dd class="description">Integer value</dd>
  720. -</dl>
  721. -<h4 class="returnvalue">Return Value</h4>
  722. -<p class="description">New node</p>
  723. -<h4 class="discussion">Discussion</h4>
  724. -<p class="discussion">The new integer node is added to the end of the specified parent's child
  725. -list. The constant MXML_NO_PARENT can be used to specify that the new
  726. -integer node has no parent.</p>
  727. -<h3 class="function"><a name="mxmlNewOpaque">mxmlNewOpaque</a></h3>
  728. -<p class="description">Create a new opaque string.</p>
  729. -<p class="code">
  730. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewOpaque (<br>
  731. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
  732. -&nbsp;&nbsp;&nbsp;&nbsp;const char *opaque<br>
  733. -);</p>
  734. -<h4 class="parameters">Parameters</h4>
  735. -<dl>
  736. -<dt>parent</dt>
  737. -<dd class="description">Parent node or MXML_NO_PARENT</dd>
  738. -<dt>opaque</dt>
  739. -<dd class="description">Opaque string</dd>
  740. -</dl>
  741. -<h4 class="returnvalue">Return Value</h4>
  742. -<p class="description">New node</p>
  743. -<h4 class="discussion">Discussion</h4>
  744. -<p class="discussion">The new opaque node is added to the end of the specified parent's child
  745. -list. The constant MXML_NO_PARENT can be used to specify that the new
  746. -opaque node has no parent. The opaque string must be nul-terminated and
  747. -is copied into the new node.</p>
  748. -<h3 class="function"><a name="mxmlNewReal">mxmlNewReal</a></h3>
  749. -<p class="description">Create a new real number node.</p>
  750. -<p class="code">
  751. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewReal (<br>
  752. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
  753. -&nbsp;&nbsp;&nbsp;&nbsp;double real<br>
  754. -);</p>
  755. -<h4 class="parameters">Parameters</h4>
  756. -<dl>
  757. -<dt>parent</dt>
  758. -<dd class="description">Parent node or MXML_NO_PARENT</dd>
  759. -<dt>real</dt>
  760. -<dd class="description">Real number value</dd>
  761. -</dl>
  762. -<h4 class="returnvalue">Return Value</h4>
  763. -<p class="description">New node</p>
  764. -<h4 class="discussion">Discussion</h4>
  765. -<p class="discussion">The new real number node is added to the end of the specified parent's
  766. -child list. The constant MXML_NO_PARENT can be used to specify that
  767. -the new real number node has no parent.</p>
  768. -<h3 class="function"><a name="mxmlNewText">mxmlNewText</a></h3>
  769. -<p class="description">Create a new text fragment node.</p>
  770. -<p class="code">
  771. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewText (<br>
  772. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
  773. -&nbsp;&nbsp;&nbsp;&nbsp;int whitespace,<br>
  774. -&nbsp;&nbsp;&nbsp;&nbsp;const char *string<br>
  775. -);</p>
  776. -<h4 class="parameters">Parameters</h4>
  777. -<dl>
  778. -<dt>parent</dt>
  779. -<dd class="description">Parent node or MXML_NO_PARENT</dd>
  780. -<dt>whitespace</dt>
  781. -<dd class="description">1 = leading whitespace, 0 = no whitespace</dd>
  782. -<dt>string</dt>
  783. -<dd class="description">String</dd>
  784. -</dl>
  785. -<h4 class="returnvalue">Return Value</h4>
  786. -<p class="description">New node</p>
  787. -<h4 class="discussion">Discussion</h4>
  788. -<p class="discussion">The new text node is added to the end of the specified parent's child
  789. -list. The constant MXML_NO_PARENT can be used to specify that the new
  790. -text node has no parent. The whitespace parameter is used to specify
  791. -whether leading whitespace is present before the node. The text
  792. -string must be nul-terminated and is copied into the new node.</p>
  793. -<h3 class="function"><a name="mxmlNewTextf">mxmlNewTextf</a></h3>
  794. -<p class="description">Create a new formatted text fragment node.</p>
  795. -<p class="code">
  796. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewTextf (<br>
  797. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
  798. -&nbsp;&nbsp;&nbsp;&nbsp;int whitespace,<br>
  799. -&nbsp;&nbsp;&nbsp;&nbsp;const char *format,<br>
  800. -&nbsp;&nbsp;&nbsp;&nbsp;...<br>
  801. -);</p>
  802. -<h4 class="parameters">Parameters</h4>
  803. -<dl>
  804. -<dt>parent</dt>
  805. -<dd class="description">Parent node or MXML_NO_PARENT</dd>
  806. -<dt>whitespace</dt>
  807. -<dd class="description">1 = leading whitespace, 0 = no whitespace</dd>
  808. -<dt>format</dt>
  809. -<dd class="description">Printf-style frmat string</dd>
  810. -<dt>...</dt>
  811. -<dd class="description">Additional args as needed</dd>
  812. -</dl>
  813. -<h4 class="returnvalue">Return Value</h4>
  814. -<p class="description">New node</p>
  815. -<h4 class="discussion">Discussion</h4>
  816. -<p class="discussion">The new text node is added to the end of the specified parent's child
  817. -list. The constant MXML_NO_PARENT can be used to specify that the new
  818. -text node has no parent. The whitespace parameter is used to specify
  819. -whether leading whitespace is present before the node. The format
  820. -string must be nul-terminated and is formatted into the new node.</p>
  821. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlNewXML">mxmlNewXML</a></h3>
  822. -<p class="description">Create a new XML document tree.</p>
  823. -<p class="code">
  824. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewXML (<br>
  825. -&nbsp;&nbsp;&nbsp;&nbsp;const char *version<br>
  826. -);</p>
  827. -<h4 class="parameters">Parameters</h4>
  828. -<dl>
  829. -<dt>version</dt>
  830. -<dd class="description">Version number to use</dd>
  831. -</dl>
  832. -<h4 class="returnvalue">Return Value</h4>
  833. -<p class="description">New ?xml node</p>
  834. -<h4 class="discussion">Discussion</h4>
  835. -<p class="discussion">The &quot;version&quot; argument specifies the version number to put in the
  836. -?xml element node. If NULL, version 1.0 is assumed.
  837. -
  838. -</p>
  839. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlRelease">mxmlRelease</a></h3>
  840. -<p class="description">Release a node.</p>
  841. -<p class="code">
  842. -int mxmlRelease (<br>
  843. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node<br>
  844. -);</p>
  845. -<h4 class="parameters">Parameters</h4>
  846. -<dl>
  847. -<dt>node</dt>
  848. -<dd class="description">Node</dd>
  849. -</dl>
  850. -<h4 class="returnvalue">Return Value</h4>
  851. -<p class="description">New reference count</p>
  852. -<h4 class="discussion">Discussion</h4>
  853. -<p class="discussion">When the reference count reaches zero, the node (and any children)
  854. -is deleted via mxmlDelete().
  855. -
  856. -</p>
  857. -<h3 class="function"><a name="mxmlRemove">mxmlRemove</a></h3>
  858. -<p class="description">Remove a node from its parent.</p>
  859. -<p class="code">
  860. -void mxmlRemove (<br>
  861. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node<br>
  862. -);</p>
  863. -<h4 class="parameters">Parameters</h4>
  864. -<dl>
  865. -<dt>node</dt>
  866. -<dd class="description">Node to remove</dd>
  867. -</dl>
  868. -<h4 class="discussion">Discussion</h4>
  869. -<p class="discussion">Does not free memory used by the node - use mxmlDelete() for that.
  870. -This function does nothing if the node has no parent.</p>
  871. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlRetain">mxmlRetain</a></h3>
  872. -<p class="description">Retain a node.</p>
  873. -<p class="code">
  874. -int mxmlRetain (<br>
  875. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node<br>
  876. -);</p>
  877. -<h4 class="parameters">Parameters</h4>
  878. -<dl>
  879. -<dt>node</dt>
  880. -<dd class="description">Node</dd>
  881. -</dl>
  882. -<h4 class="returnvalue">Return Value</h4>
  883. -<p class="description">New reference count</p>
  884. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlSAXLoadFd">mxmlSAXLoadFd</a></h3>
  885. -<p class="description">Load a file descriptor into an XML node tree
  886. -using a SAX callback.</p>
  887. -<p class="code">
  888. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlSAXLoadFd (<br>
  889. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
  890. -&nbsp;&nbsp;&nbsp;&nbsp;int fd,<br>
  891. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb,<br>
  892. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_sax_cb_t">mxml_sax_cb_t</a> sax_cb,<br>
  893. -&nbsp;&nbsp;&nbsp;&nbsp;void *sax_data<br>
  894. -);</p>
  895. -<h4 class="parameters">Parameters</h4>
  896. -<dl>
  897. -<dt>top</dt>
  898. -<dd class="description">Top node</dd>
  899. -<dt>fd</dt>
  900. -<dd class="description">File descriptor to read from</dd>
  901. -<dt>cb</dt>
  902. -<dd class="description">Callback function or MXML_NO_CALLBACK</dd>
  903. -<dt>sax_cb</dt>
  904. -<dd class="description">SAX callback or MXML_NO_CALLBACK</dd>
  905. -<dt>sax_data</dt>
  906. -<dd class="description">SAX user data</dd>
  907. -</dl>
  908. -<h4 class="returnvalue">Return Value</h4>
  909. -<p class="description">First node or NULL if the file could not be read.</p>
  910. -<h4 class="discussion">Discussion</h4>
  911. -<p class="discussion">The nodes in the specified file are added to the specified top node.
  912. -If no top node is provided, the XML file MUST be well-formed with a
  913. -single parent node like &lt;?xml&gt; for the entire file. The callback
  914. -function returns the value type that should be used for child nodes.
  915. -If MXML_NO_CALLBACK is specified then all child nodes will be either
  916. -MXML_ELEMENT or MXML_TEXT nodes.<br>
  917. -<br>
  918. -The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
  919. -MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
  920. -child nodes of the specified type.<br>
  921. -<br>
  922. -The SAX callback must call mxmlRetain() for any nodes that need to
  923. -be kept for later use. Otherwise, nodes are deleted when the parent
  924. -node is closed or after each data, comment, CDATA, or directive node.
  925. -
  926. -</p>
  927. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlSAXLoadFile">mxmlSAXLoadFile</a></h3>
  928. -<p class="description">Load a file into an XML node tree
  929. -using a SAX callback.</p>
  930. -<p class="code">
  931. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlSAXLoadFile (<br>
  932. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
  933. -&nbsp;&nbsp;&nbsp;&nbsp;FILE *fp,<br>
  934. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb,<br>
  935. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_sax_cb_t">mxml_sax_cb_t</a> sax_cb,<br>
  936. -&nbsp;&nbsp;&nbsp;&nbsp;void *sax_data<br>
  937. -);</p>
  938. -<h4 class="parameters">Parameters</h4>
  939. -<dl>
  940. -<dt>top</dt>
  941. -<dd class="description">Top node</dd>
  942. -<dt>fp</dt>
  943. -<dd class="description">File to read from</dd>
  944. -<dt>cb</dt>
  945. -<dd class="description">Callback function or MXML_NO_CALLBACK</dd>
  946. -<dt>sax_cb</dt>
  947. -<dd class="description">SAX callback or MXML_NO_CALLBACK</dd>
  948. -<dt>sax_data</dt>
  949. -<dd class="description">SAX user data</dd>
  950. -</dl>
  951. -<h4 class="returnvalue">Return Value</h4>
  952. -<p class="description">First node or NULL if the file could not be read.</p>
  953. -<h4 class="discussion">Discussion</h4>
  954. -<p class="discussion">The nodes in the specified file are added to the specified top node.
  955. -If no top node is provided, the XML file MUST be well-formed with a
  956. -single parent node like &lt;?xml&gt; for the entire file. The callback
  957. -function returns the value type that should be used for child nodes.
  958. -If MXML_NO_CALLBACK is specified then all child nodes will be either
  959. -MXML_ELEMENT or MXML_TEXT nodes.<br>
  960. -<br>
  961. -The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
  962. -MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
  963. -child nodes of the specified type.<br>
  964. -<br>
  965. -The SAX callback must call mxmlRetain() for any nodes that need to
  966. -be kept for later use. Otherwise, nodes are deleted when the parent
  967. -node is closed or after each data, comment, CDATA, or directive node.
  968. -
  969. -</p>
  970. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlSAXLoadString">mxmlSAXLoadString</a></h3>
  971. -<p class="description">Load a string into an XML node tree
  972. -using a SAX callback.</p>
  973. -<p class="code">
  974. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlSAXLoadString (<br>
  975. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
  976. -&nbsp;&nbsp;&nbsp;&nbsp;const char *s,<br>
  977. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb,<br>
  978. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_sax_cb_t">mxml_sax_cb_t</a> sax_cb,<br>
  979. -&nbsp;&nbsp;&nbsp;&nbsp;void *sax_data<br>
  980. -);</p>
  981. -<h4 class="parameters">Parameters</h4>
  982. -<dl>
  983. -<dt>top</dt>
  984. -<dd class="description">Top node</dd>
  985. -<dt>s</dt>
  986. -<dd class="description">String to load</dd>
  987. -<dt>cb</dt>
  988. -<dd class="description">Callback function or MXML_NO_CALLBACK</dd>
  989. -<dt>sax_cb</dt>
  990. -<dd class="description">SAX callback or MXML_NO_CALLBACK</dd>
  991. -<dt>sax_data</dt>
  992. -<dd class="description">SAX user data</dd>
  993. -</dl>
  994. -<h4 class="returnvalue">Return Value</h4>
  995. -<p class="description">First node or NULL if the string has errors.</p>
  996. -<h4 class="discussion">Discussion</h4>
  997. -<p class="discussion">The nodes in the specified string are added to the specified top node.
  998. -If no top node is provided, the XML string MUST be well-formed with a
  999. -single parent node like &lt;?xml&gt; for the entire string. The callback
  1000. -function returns the value type that should be used for child nodes.
  1001. -If MXML_NO_CALLBACK is specified then all child nodes will be either
  1002. -MXML_ELEMENT or MXML_TEXT nodes.<br>
  1003. -<br>
  1004. -The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
  1005. -MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
  1006. -child nodes of the specified type.<br>
  1007. -<br>
  1008. -The SAX callback must call mxmlRetain() for any nodes that need to
  1009. -be kept for later use. Otherwise, nodes are deleted when the parent
  1010. -node is closed or after each data, comment, CDATA, or directive node.
  1011. -
  1012. -</p>
  1013. -<h3 class="function"><a name="mxmlSaveAllocString">mxmlSaveAllocString</a></h3>
  1014. -<p class="description">Save an XML node tree to an allocated string.</p>
  1015. -<p class="code">
  1016. -char *mxmlSaveAllocString (<br>
  1017. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1018. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
  1019. -);</p>
  1020. -<h4 class="parameters">Parameters</h4>
  1021. -<dl>
  1022. -<dt>node</dt>
  1023. -<dd class="description">Node to write</dd>
  1024. -<dt>cb</dt>
  1025. -<dd class="description">Whitespace callback or MXML_NO_CALLBACK</dd>
  1026. -</dl>
  1027. -<h4 class="returnvalue">Return Value</h4>
  1028. -<p class="description">Allocated string or NULL</p>
  1029. -<h4 class="discussion">Discussion</h4>
  1030. -<p class="discussion">This function returns a pointer to a string containing the textual
  1031. -representation of the XML node tree. The string should be freed
  1032. -using the free() function when you are done with it. NULL is returned
  1033. -if the node would produce an empty string or if the string cannot be
  1034. -allocated.<br>
  1035. -<br>
  1036. -The callback argument specifies a function that returns a whitespace
  1037. -string or NULL before and after each element. If MXML_NO_CALLBACK
  1038. -is specified, whitespace will only be added before MXML_TEXT nodes
  1039. -with leading whitespace and before attribute names inside opening
  1040. -element tags.</p>
  1041. -<h3 class="function"><a name="mxmlSaveFd">mxmlSaveFd</a></h3>
  1042. -<p class="description">Save an XML tree to a file descriptor.</p>
  1043. -<p class="code">
  1044. -int mxmlSaveFd (<br>
  1045. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1046. -&nbsp;&nbsp;&nbsp;&nbsp;int fd,<br>
  1047. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
  1048. -);</p>
  1049. -<h4 class="parameters">Parameters</h4>
  1050. -<dl>
  1051. -<dt>node</dt>
  1052. -<dd class="description">Node to write</dd>
  1053. -<dt>fd</dt>
  1054. -<dd class="description">File descriptor to write to</dd>
  1055. -<dt>cb</dt>
  1056. -<dd class="description">Whitespace callback or MXML_NO_CALLBACK</dd>
  1057. -</dl>
  1058. -<h4 class="returnvalue">Return Value</h4>
  1059. -<p class="description">0 on success, -1 on error.</p>
  1060. -<h4 class="discussion">Discussion</h4>
  1061. -<p class="discussion">The callback argument specifies a function that returns a whitespace
  1062. -string or NULL before and after each element. If MXML_NO_CALLBACK
  1063. -is specified, whitespace will only be added before MXML_TEXT nodes
  1064. -with leading whitespace and before attribute names inside opening
  1065. -element tags.</p>
  1066. -<h3 class="function"><a name="mxmlSaveFile">mxmlSaveFile</a></h3>
  1067. -<p class="description">Save an XML tree to a file.</p>
  1068. -<p class="code">
  1069. -int mxmlSaveFile (<br>
  1070. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1071. -&nbsp;&nbsp;&nbsp;&nbsp;FILE *fp,<br>
  1072. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
  1073. -);</p>
  1074. -<h4 class="parameters">Parameters</h4>
  1075. -<dl>
  1076. -<dt>node</dt>
  1077. -<dd class="description">Node to write</dd>
  1078. -<dt>fp</dt>
  1079. -<dd class="description">File to write to</dd>
  1080. -<dt>cb</dt>
  1081. -<dd class="description">Whitespace callback or MXML_NO_CALLBACK</dd>
  1082. -</dl>
  1083. -<h4 class="returnvalue">Return Value</h4>
  1084. -<p class="description">0 on success, -1 on error.</p>
  1085. -<h4 class="discussion">Discussion</h4>
  1086. -<p class="discussion">The callback argument specifies a function that returns a whitespace
  1087. -string or NULL before and after each element. If MXML_NO_CALLBACK
  1088. -is specified, whitespace will only be added before MXML_TEXT nodes
  1089. -with leading whitespace and before attribute names inside opening
  1090. -element tags.</p>
  1091. -<h3 class="function"><a name="mxmlSaveString">mxmlSaveString</a></h3>
  1092. -<p class="description">Save an XML node tree to a string.</p>
  1093. -<p class="code">
  1094. -int mxmlSaveString (<br>
  1095. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1096. -&nbsp;&nbsp;&nbsp;&nbsp;char *buffer,<br>
  1097. -&nbsp;&nbsp;&nbsp;&nbsp;int bufsize,<br>
  1098. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
  1099. -);</p>
  1100. -<h4 class="parameters">Parameters</h4>
  1101. -<dl>
  1102. -<dt>node</dt>
  1103. -<dd class="description">Node to write</dd>
  1104. -<dt>buffer</dt>
  1105. -<dd class="description">String buffer</dd>
  1106. -<dt>bufsize</dt>
  1107. -<dd class="description">Size of string buffer</dd>
  1108. -<dt>cb</dt>
  1109. -<dd class="description">Whitespace callback or MXML_NO_CALLBACK</dd>
  1110. -</dl>
  1111. -<h4 class="returnvalue">Return Value</h4>
  1112. -<p class="description">Size of string</p>
  1113. -<h4 class="discussion">Discussion</h4>
  1114. -<p class="discussion">This function returns the total number of bytes that would be
  1115. -required for the string but only copies (bufsize - 1) characters
  1116. -into the specified buffer.<br>
  1117. -<br>
  1118. -The callback argument specifies a function that returns a whitespace
  1119. -string or NULL before and after each element. If MXML_NO_CALLBACK
  1120. -is specified, whitespace will only be added before MXML_TEXT nodes
  1121. -with leading whitespace and before attribute names inside opening
  1122. -element tags.</p>
  1123. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlSetCDATA">mxmlSetCDATA</a></h3>
  1124. -<p class="description">Set the element name of a CDATA node.</p>
  1125. -<p class="code">
  1126. -int mxmlSetCDATA (<br>
  1127. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1128. -&nbsp;&nbsp;&nbsp;&nbsp;const char *data<br>
  1129. -);</p>
  1130. -<h4 class="parameters">Parameters</h4>
  1131. -<dl>
  1132. -<dt>node</dt>
  1133. -<dd class="description">Node to set</dd>
  1134. -<dt>data</dt>
  1135. -<dd class="description">New data string</dd>
  1136. -</dl>
  1137. -<h4 class="returnvalue">Return Value</h4>
  1138. -<p class="description">0 on success, -1 on failure</p>
  1139. -<h4 class="discussion">Discussion</h4>
  1140. -<p class="discussion">The node is not changed if it is not a CDATA element node.
  1141. -
  1142. -</p>
  1143. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.1&nbsp;</span><a name="mxmlSetCustom">mxmlSetCustom</a></h3>
  1144. -<p class="description">Set the data and destructor of a custom data node.</p>
  1145. -<p class="code">
  1146. -int mxmlSetCustom (<br>
  1147. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1148. -&nbsp;&nbsp;&nbsp;&nbsp;void *data,<br>
  1149. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_custom_destroy_cb_t">mxml_custom_destroy_cb_t</a> destroy<br>
  1150. -);</p>
  1151. -<h4 class="parameters">Parameters</h4>
  1152. -<dl>
  1153. -<dt>node</dt>
  1154. -<dd class="description">Node to set</dd>
  1155. -<dt>data</dt>
  1156. -<dd class="description">New data pointer</dd>
  1157. -<dt>destroy</dt>
  1158. -<dd class="description">New destructor function</dd>
  1159. -</dl>
  1160. -<h4 class="returnvalue">Return Value</h4>
  1161. -<p class="description">0 on success, -1 on failure</p>
  1162. -<h4 class="discussion">Discussion</h4>
  1163. -<p class="discussion">The node is not changed if it is not a custom node.
  1164. -
  1165. -</p>
  1166. -<h3 class="function"><a name="mxmlSetCustomHandlers">mxmlSetCustomHandlers</a></h3>
  1167. -<p class="description">Set the handling functions for custom data.</p>
  1168. -<p class="code">
  1169. -void mxmlSetCustomHandlers (<br>
  1170. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_custom_load_cb_t">mxml_custom_load_cb_t</a> load,<br>
  1171. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_custom_save_cb_t">mxml_custom_save_cb_t</a> save<br>
  1172. -);</p>
  1173. -<h4 class="parameters">Parameters</h4>
  1174. -<dl>
  1175. -<dt>load</dt>
  1176. -<dd class="description">Load function</dd>
  1177. -<dt>save</dt>
  1178. -<dd class="description">Save function</dd>
  1179. -</dl>
  1180. -<h4 class="discussion">Discussion</h4>
  1181. -<p class="discussion">The load function accepts a node pointer and a data string and must
  1182. -return 0 on success and non-zero on error.<br>
  1183. -<br>
  1184. -The save function accepts a node pointer and must return a malloc'd
  1185. -string on success and NULL on error.</p>
  1186. -<h3 class="function"><a name="mxmlSetElement">mxmlSetElement</a></h3>
  1187. -<p class="description">Set the name of an element node.</p>
  1188. -<p class="code">
  1189. -int mxmlSetElement (<br>
  1190. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1191. -&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
  1192. -);</p>
  1193. -<h4 class="parameters">Parameters</h4>
  1194. -<dl>
  1195. -<dt>node</dt>
  1196. -<dd class="description">Node to set</dd>
  1197. -<dt>name</dt>
  1198. -<dd class="description">New name string</dd>
  1199. -</dl>
  1200. -<h4 class="returnvalue">Return Value</h4>
  1201. -<p class="description">0 on success, -1 on failure</p>
  1202. -<h4 class="discussion">Discussion</h4>
  1203. -<p class="discussion">The node is not changed if it is not an element node.</p>
  1204. -<h3 class="function"><a name="mxmlSetErrorCallback">mxmlSetErrorCallback</a></h3>
  1205. -<p class="description">Set the error message callback.</p>
  1206. -<p class="code">
  1207. -void mxmlSetErrorCallback (<br>
  1208. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_error_cb_t">mxml_error_cb_t</a> cb<br>
  1209. -);</p>
  1210. -<h4 class="parameters">Parameters</h4>
  1211. -<dl>
  1212. -<dt>cb</dt>
  1213. -<dd class="description">Error callback function</dd>
  1214. -</dl>
  1215. -<h3 class="function"><a name="mxmlSetInteger">mxmlSetInteger</a></h3>
  1216. -<p class="description">Set the value of an integer node.</p>
  1217. -<p class="code">
  1218. -int mxmlSetInteger (<br>
  1219. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1220. -&nbsp;&nbsp;&nbsp;&nbsp;int integer<br>
  1221. -);</p>
  1222. -<h4 class="parameters">Parameters</h4>
  1223. -<dl>
  1224. -<dt>node</dt>
  1225. -<dd class="description">Node to set</dd>
  1226. -<dt>integer</dt>
  1227. -<dd class="description">Integer value</dd>
  1228. -</dl>
  1229. -<h4 class="returnvalue">Return Value</h4>
  1230. -<p class="description">0 on success, -1 on failure</p>
  1231. -<h4 class="discussion">Discussion</h4>
  1232. -<p class="discussion">The node is not changed if it is not an integer node.</p>
  1233. -<h3 class="function"><a name="mxmlSetOpaque">mxmlSetOpaque</a></h3>
  1234. -<p class="description">Set the value of an opaque node.</p>
  1235. -<p class="code">
  1236. -int mxmlSetOpaque (<br>
  1237. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1238. -&nbsp;&nbsp;&nbsp;&nbsp;const char *opaque<br>
  1239. -);</p>
  1240. -<h4 class="parameters">Parameters</h4>
  1241. -<dl>
  1242. -<dt>node</dt>
  1243. -<dd class="description">Node to set</dd>
  1244. -<dt>opaque</dt>
  1245. -<dd class="description">Opaque string</dd>
  1246. -</dl>
  1247. -<h4 class="returnvalue">Return Value</h4>
  1248. -<p class="description">0 on success, -1 on failure</p>
  1249. -<h4 class="discussion">Discussion</h4>
  1250. -<p class="discussion">The node is not changed if it is not an opaque node.</p>
  1251. -<h3 class="function"><a name="mxmlSetReal">mxmlSetReal</a></h3>
  1252. -<p class="description">Set the value of a real number node.</p>
  1253. -<p class="code">
  1254. -int mxmlSetReal (<br>
  1255. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1256. -&nbsp;&nbsp;&nbsp;&nbsp;double real<br>
  1257. -);</p>
  1258. -<h4 class="parameters">Parameters</h4>
  1259. -<dl>
  1260. -<dt>node</dt>
  1261. -<dd class="description">Node to set</dd>
  1262. -<dt>real</dt>
  1263. -<dd class="description">Real number value</dd>
  1264. -</dl>
  1265. -<h4 class="returnvalue">Return Value</h4>
  1266. -<p class="description">0 on success, -1 on failure</p>
  1267. -<h4 class="discussion">Discussion</h4>
  1268. -<p class="discussion">The node is not changed if it is not a real number node.</p>
  1269. -<h3 class="function"><a name="mxmlSetText">mxmlSetText</a></h3>
  1270. -<p class="description">Set the value of a text node.</p>
  1271. -<p class="code">
  1272. -int mxmlSetText (<br>
  1273. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1274. -&nbsp;&nbsp;&nbsp;&nbsp;int whitespace,<br>
  1275. -&nbsp;&nbsp;&nbsp;&nbsp;const char *string<br>
  1276. -);</p>
  1277. -<h4 class="parameters">Parameters</h4>
  1278. -<dl>
  1279. -<dt>node</dt>
  1280. -<dd class="description">Node to set</dd>
  1281. -<dt>whitespace</dt>
  1282. -<dd class="description">1 = leading whitespace, 0 = no whitespace</dd>
  1283. -<dt>string</dt>
  1284. -<dd class="description">String</dd>
  1285. -</dl>
  1286. -<h4 class="returnvalue">Return Value</h4>
  1287. -<p class="description">0 on success, -1 on failure</p>
  1288. -<h4 class="discussion">Discussion</h4>
  1289. -<p class="discussion">The node is not changed if it is not a text node.</p>
  1290. -<h3 class="function"><a name="mxmlSetTextf">mxmlSetTextf</a></h3>
  1291. -<p class="description">Set the value of a text node to a formatted string.</p>
  1292. -<p class="code">
  1293. -int mxmlSetTextf (<br>
  1294. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1295. -&nbsp;&nbsp;&nbsp;&nbsp;int whitespace,<br>
  1296. -&nbsp;&nbsp;&nbsp;&nbsp;const char *format,<br>
  1297. -&nbsp;&nbsp;&nbsp;&nbsp;...<br>
  1298. -);</p>
  1299. -<h4 class="parameters">Parameters</h4>
  1300. -<dl>
  1301. -<dt>node</dt>
  1302. -<dd class="description">Node to set</dd>
  1303. -<dt>whitespace</dt>
  1304. -<dd class="description">1 = leading whitespace, 0 = no whitespace</dd>
  1305. -<dt>format</dt>
  1306. -<dd class="description">Printf-style format string</dd>
  1307. -<dt>...</dt>
  1308. -<dd class="description">Additional arguments as needed</dd>
  1309. -</dl>
  1310. -<h4 class="returnvalue">Return Value</h4>
  1311. -<p class="description">0 on success, -1 on failure</p>
  1312. -<h4 class="discussion">Discussion</h4>
  1313. -<p class="discussion">The node is not changed if it is not a text node.</p>
  1314. -<h3 class="function"><span class="info">&nbsp;Mini-XML 2.3&nbsp;</span><a name="mxmlSetWrapMargin">mxmlSetWrapMargin</a></h3>
  1315. -<p class="description">Set the the wrap margin when saving XML data.</p>
  1316. -<p class="code">
  1317. -void mxmlSetWrapMargin (<br>
  1318. -&nbsp;&nbsp;&nbsp;&nbsp;int column<br>
  1319. -);</p>
  1320. -<h4 class="parameters">Parameters</h4>
  1321. -<dl>
  1322. -<dt>column</dt>
  1323. -<dd class="description">Column for wrapping, 0 to disable wrapping</dd>
  1324. -</dl>
  1325. -<h4 class="discussion">Discussion</h4>
  1326. -<p class="discussion">Wrapping is disabled when &quot;column&quot; is 0.
  1327. -
  1328. -</p>
  1329. -<h3 class="function"><a name="mxmlWalkNext">mxmlWalkNext</a></h3>
  1330. -<p class="description">Walk to the next logical node in the tree.</p>
  1331. -<p class="code">
  1332. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlWalkNext (<br>
  1333. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1334. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
  1335. -&nbsp;&nbsp;&nbsp;&nbsp;int descend<br>
  1336. -);</p>
  1337. -<h4 class="parameters">Parameters</h4>
  1338. -<dl>
  1339. -<dt>node</dt>
  1340. -<dd class="description">Current node</dd>
  1341. -<dt>top</dt>
  1342. -<dd class="description">Top node</dd>
  1343. -<dt>descend</dt>
  1344. -<dd class="description">Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</dd>
  1345. -</dl>
  1346. -<h4 class="returnvalue">Return Value</h4>
  1347. -<p class="description">Next node or NULL</p>
  1348. -<h4 class="discussion">Discussion</h4>
  1349. -<p class="discussion">The descend argument controls whether the first child is considered
  1350. -to be the next node. The top node argument constrains the walk to
  1351. -the node's children.</p>
  1352. -<h3 class="function"><a name="mxmlWalkPrev">mxmlWalkPrev</a></h3>
  1353. -<p class="description">Walk to the previous logical node in the tree.</p>
  1354. -<p class="code">
  1355. -<a href="#mxml_node_t">mxml_node_t</a> *mxmlWalkPrev (<br>
  1356. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
  1357. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
  1358. -&nbsp;&nbsp;&nbsp;&nbsp;int descend<br>
  1359. -);</p>
  1360. -<h4 class="parameters">Parameters</h4>
  1361. -<dl>
  1362. -<dt>node</dt>
  1363. -<dd class="description">Current node</dd>
  1364. -<dt>top</dt>
  1365. -<dd class="description">Top node</dd>
  1366. -<dt>descend</dt>
  1367. -<dd class="description">Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</dd>
  1368. -</dl>
  1369. -<h4 class="returnvalue">Return Value</h4>
  1370. -<p class="description">Previous node or NULL</p>
  1371. -<h4 class="discussion">Discussion</h4>
  1372. -<p class="discussion">The descend argument controls whether the previous node's last child
  1373. -is considered to be the previous node. The top node argument constrains
  1374. -the walk to the node's children.</p>
  1375. -<h2 class="title"><a name="TYPES">Data Types</a></h2>
  1376. -<h3 class="typedef"><a name="mxml_attr_t">mxml_attr_t</a></h3>
  1377. -<p class="description">An XML element attribute value.</p>
  1378. -<p class="code">
  1379. -typedef struct <a href="#mxml_attr_s">mxml_attr_s</a> mxml_attr_t;
  1380. -</p>
  1381. -<h3 class="typedef"><a name="mxml_custom_destroy_cb_t">mxml_custom_destroy_cb_t</a></h3>
  1382. -<p class="description">Custom data destructor</p>
  1383. -<p class="code">
  1384. -typedef void (*mxml_custom_destroy_cb_t)(void *);
  1385. -</p>
  1386. -<h3 class="typedef"><a name="mxml_custom_load_cb_t">mxml_custom_load_cb_t</a></h3>
  1387. -<p class="description">Custom data load callback function</p>
  1388. -<p class="code">
  1389. -typedef int (*mxml_custom_load_cb_t)(<a href="#mxml_node_t">mxml_node_t</a> *, const char *);
  1390. -</p>
  1391. -<h3 class="typedef"><a name="mxml_custom_save_cb_t">mxml_custom_save_cb_t</a></h3>
  1392. -<p class="description">Custom data save callback function</p>
  1393. -<p class="code">
  1394. -typedef char *(*mxml_custom_save_cb_t)(<a href="#mxml_node_t">mxml_node_t</a> *);
  1395. -</p>
  1396. -<h3 class="typedef"><span class="info">&nbsp;Mini-XML 2.1&nbsp;</span><a name="mxml_custom_t">mxml_custom_t</a></h3>
  1397. -<p class="description">An XML custom value. </p>
  1398. -<p class="code">
  1399. -typedef struct <a href="#mxml_custom_s">mxml_custom_s</a> mxml_custom_t;
  1400. -</p>
  1401. -<h3 class="typedef"><a name="mxml_element_t">mxml_element_t</a></h3>
  1402. -<p class="description">An XML element value.</p>
  1403. -<p class="code">
  1404. -typedef struct <a href="#mxml_element_s">mxml_element_s</a> mxml_element_t;
  1405. -</p>
  1406. -<h3 class="typedef"><a name="mxml_entity_cb_t">mxml_entity_cb_t</a></h3>
  1407. -<p class="description">Entity callback function</p>
  1408. -<p class="code">
  1409. -typedef int (*mxml_entity_cb_t)(const char *);
  1410. -</p>
  1411. -<h3 class="typedef"><a name="mxml_error_cb_t">mxml_error_cb_t</a></h3>
  1412. -<p class="description">Error callback function</p>
  1413. -<p class="code">
  1414. -typedef void (*mxml_error_cb_t)(const char *);
  1415. -</p>
  1416. -<h3 class="typedef"><a name="mxml_index_t">mxml_index_t</a></h3>
  1417. -<p class="description">An XML node index.</p>
  1418. -<p class="code">
  1419. -typedef struct <a href="#mxml_index_s">mxml_index_s</a> mxml_index_t;
  1420. -</p>
  1421. -<h3 class="typedef"><a name="mxml_load_cb_t">mxml_load_cb_t</a></h3>
  1422. -<p class="description">Load callback function</p>
  1423. -<p class="code">
  1424. -typedef <a href="#mxml_type_t">mxml_type_t</a> (*mxml_load_cb_t)(<a href="#mxml_node_t">mxml_node_t</a> *);
  1425. -</p>
  1426. -<h3 class="typedef"><a name="mxml_node_t">mxml_node_t</a></h3>
  1427. -<p class="description">An XML node.</p>
  1428. -<p class="code">
  1429. -typedef struct <a href="#mxml_node_s">mxml_node_s</a> mxml_node_t;
  1430. -</p>
  1431. -<h3 class="typedef"><a name="mxml_save_cb_t">mxml_save_cb_t</a></h3>
  1432. -<p class="description">Save callback function</p>
  1433. -<p class="code">
  1434. -typedef const char *(*mxml_save_cb_t)(<a href="#mxml_node_t">mxml_node_t</a> *, int);
  1435. -</p>
  1436. -<h3 class="typedef"><a name="mxml_sax_cb_t">mxml_sax_cb_t</a></h3>
  1437. -<p class="description">SAX callback function</p>
  1438. -<p class="code">
  1439. -typedef void (*mxml_sax_cb_t)(<a href="#mxml_node_t">mxml_node_t</a> *, mxml_sax_event_t, void *);
  1440. -</p>
  1441. -<h3 class="typedef"><a name="mxml_sax_event_t">mxml_sax_event_t</a></h3>
  1442. -<p class="description">SAX event type.</p>
  1443. -<p class="code">
  1444. -typedef enum <a href="#mxml_sax_event_e">mxml_sax_event_e</a> mxml_sax_event_t;
  1445. -</p>
  1446. -<h3 class="typedef"><a name="mxml_text_t">mxml_text_t</a></h3>
  1447. -<p class="description">An XML text value.</p>
  1448. -<p class="code">
  1449. -typedef struct <a href="#mxml_text_s">mxml_text_s</a> mxml_text_t;
  1450. -</p>
  1451. -<h3 class="typedef"><a name="mxml_type_t">mxml_type_t</a></h3>
  1452. -<p class="description">The XML node type.</p>
  1453. -<p class="code">
  1454. -typedef enum <a href="#mxml_type_e">mxml_type_e</a> mxml_type_t;
  1455. -</p>
  1456. -<h3 class="typedef"><a name="mxml_value_t">mxml_value_t</a></h3>
  1457. -<p class="description">An XML node value.</p>
  1458. -<p class="code">
  1459. -typedef union <a href="#mxml_value_u">mxml_value_u</a> mxml_value_t;
  1460. -</p>
  1461. -<h2 class="title"><a name="STRUCTURES">Structures</a></h2>
  1462. -<h3 class="struct"><a name="mxml_attr_s">mxml_attr_s</a></h3>
  1463. -<p class="description">An XML element attribute value.</p>
  1464. -<p class="code">struct mxml_attr_s {<br>
  1465. -&nbsp;&nbsp;&nbsp;&nbsp;char *name;<br>
  1466. -&nbsp;&nbsp;&nbsp;&nbsp;char *value;<br>
  1467. -};</p>
  1468. -<h4 class="members">Members</h4>
  1469. -<dl>
  1470. -<dt>name </dt>
  1471. -<dd class="description">Attribute name</dd>
  1472. -<dt>value </dt>
  1473. -<dd class="description">Attribute value</dd>
  1474. -</dl>
  1475. -<h3 class="struct"><span class="info">&nbsp;Mini-XML 2.1&nbsp;</span><a name="mxml_custom_s">mxml_custom_s</a></h3>
  1476. -<p class="description">An XML custom value. </p>
  1477. -<p class="code">struct mxml_custom_s {<br>
  1478. -&nbsp;&nbsp;&nbsp;&nbsp;void *data;<br>
  1479. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_custom_destroy_cb_t">mxml_custom_destroy_cb_t</a> destroy;<br>
  1480. -};</p>
  1481. -<h4 class="members">Members</h4>
  1482. -<dl>
  1483. -<dt>data </dt>
  1484. -<dd class="description">Pointer to (allocated) custom data</dd>
  1485. -<dt>destroy </dt>
  1486. -<dd class="description">Pointer to destructor function</dd>
  1487. -</dl>
  1488. -<h3 class="struct"><a name="mxml_element_s">mxml_element_s</a></h3>
  1489. -<p class="description">An XML element value.</p>
  1490. -<p class="code">struct mxml_element_s {<br>
  1491. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_attr_t">mxml_attr_t</a> *attrs;<br>
  1492. -&nbsp;&nbsp;&nbsp;&nbsp;char *name;<br>
  1493. -&nbsp;&nbsp;&nbsp;&nbsp;int num_attrs;<br>
  1494. -};</p>
  1495. -<h4 class="members">Members</h4>
  1496. -<dl>
  1497. -<dt>attrs </dt>
  1498. -<dd class="description">Attributes</dd>
  1499. -<dt>name </dt>
  1500. -<dd class="description">Name of element</dd>
  1501. -<dt>num_attrs </dt>
  1502. -<dd class="description">Number of attributes</dd>
  1503. -</dl>
  1504. -<h3 class="struct"><a name="mxml_index_s">mxml_index_s</a></h3>
  1505. -<p class="description">An XML node index.</p>
  1506. -<p class="code">struct mxml_index_s {<br>
  1507. -&nbsp;&nbsp;&nbsp;&nbsp;int alloc_nodes;<br>
  1508. -&nbsp;&nbsp;&nbsp;&nbsp;char *attr;<br>
  1509. -&nbsp;&nbsp;&nbsp;&nbsp;int cur_node;<br>
  1510. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_node_t">mxml_node_t</a> **nodes;<br>
  1511. -&nbsp;&nbsp;&nbsp;&nbsp;int num_nodes;<br>
  1512. -};</p>
  1513. -<h4 class="members">Members</h4>
  1514. -<dl>
  1515. -<dt>alloc_nodes </dt>
  1516. -<dd class="description">Allocated nodes in index</dd>
  1517. -<dt>attr </dt>
  1518. -<dd class="description">Attribute used for indexing or NULL</dd>
  1519. -<dt>cur_node </dt>
  1520. -<dd class="description">Current node</dd>
  1521. -<dt>nodes </dt>
  1522. -<dd class="description">Node array</dd>
  1523. -<dt>num_nodes </dt>
  1524. -<dd class="description">Number of nodes in index</dd>
  1525. -</dl>
  1526. -<h3 class="struct"><a name="mxml_node_s">mxml_node_s</a></h3>
  1527. -<p class="description">An XML node.</p>
  1528. -<p class="code">struct mxml_node_s {<br>
  1529. -&nbsp;&nbsp;&nbsp;&nbsp;struct <a href="#mxml_node_s">mxml_node_s</a> *child;<br>
  1530. -&nbsp;&nbsp;&nbsp;&nbsp;struct <a href="#mxml_node_s">mxml_node_s</a> *last_child;<br>
  1531. -&nbsp;&nbsp;&nbsp;&nbsp;struct <a href="#mxml_node_s">mxml_node_s</a> *next;<br>
  1532. -&nbsp;&nbsp;&nbsp;&nbsp;struct <a href="#mxml_node_s">mxml_node_s</a> *parent;<br>
  1533. -&nbsp;&nbsp;&nbsp;&nbsp;struct <a href="#mxml_node_s">mxml_node_s</a> *prev;<br>
  1534. -&nbsp;&nbsp;&nbsp;&nbsp;int ref_count;<br>
  1535. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_type_t">mxml_type_t</a> type;<br>
  1536. -&nbsp;&nbsp;&nbsp;&nbsp;void *user_data;<br>
  1537. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_value_t">mxml_value_t</a> value;<br>
  1538. -};</p>
  1539. -<h4 class="members">Members</h4>
  1540. -<dl>
  1541. -<dt>child </dt>
  1542. -<dd class="description">First child node</dd>
  1543. -<dt>last_child </dt>
  1544. -<dd class="description">Last child node</dd>
  1545. -<dt>next </dt>
  1546. -<dd class="description">Next node under same parent</dd>
  1547. -<dt>parent </dt>
  1548. -<dd class="description">Parent node</dd>
  1549. -<dt>prev </dt>
  1550. -<dd class="description">Previous node under same parent</dd>
  1551. -<dt>ref_count </dt>
  1552. -<dd class="description">Use count</dd>
  1553. -<dt>type </dt>
  1554. -<dd class="description">Node type</dd>
  1555. -<dt>user_data </dt>
  1556. -<dd class="description">User data</dd>
  1557. -<dt>value </dt>
  1558. -<dd class="description">Node value</dd>
  1559. -</dl>
  1560. -<h3 class="struct"><a name="mxml_text_s">mxml_text_s</a></h3>
  1561. -<p class="description">An XML text value.</p>
  1562. -<p class="code">struct mxml_text_s {<br>
  1563. -&nbsp;&nbsp;&nbsp;&nbsp;char *string;<br>
  1564. -&nbsp;&nbsp;&nbsp;&nbsp;int whitespace;<br>
  1565. -};</p>
  1566. -<h4 class="members">Members</h4>
  1567. -<dl>
  1568. -<dt>string </dt>
  1569. -<dd class="description">Fragment string</dd>
  1570. -<dt>whitespace </dt>
  1571. -<dd class="description">Leading whitespace?</dd>
  1572. -</dl>
  1573. -<h2 class="title"><a name="UNIONS">Unions</a></h2>
  1574. -<h3 class="union"><a name="mxml_value_u">mxml_value_u</a></h3>
  1575. -<p class="description">An XML node value.</p>
  1576. -<p class="code">union mxml_value_u {<br>
  1577. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_custom_t">mxml_custom_t</a> custom;<br>
  1578. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_element_t">mxml_element_t</a> element;<br>
  1579. -&nbsp;&nbsp;&nbsp;&nbsp;int integer;<br>
  1580. -&nbsp;&nbsp;&nbsp;&nbsp;char *opaque;<br>
  1581. -&nbsp;&nbsp;&nbsp;&nbsp;double real;<br>
  1582. -&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mxml_text_t">mxml_text_t</a> text;<br>
  1583. -};</p>
  1584. -<h4 class="members">Members</h4>
  1585. -<dl>
  1586. -<dt>custom <span class="info">&nbsp;Mini-XML 2.1&nbsp;</span></dt>
  1587. -<dd class="description">Custom data </dd>
  1588. -<dt>element </dt>
  1589. -<dd class="description">Element</dd>
  1590. -<dt>integer </dt>
  1591. -<dd class="description">Integer number</dd>
  1592. -<dt>opaque </dt>
  1593. -<dd class="description">Opaque string</dd>
  1594. -<dt>real </dt>
  1595. -<dd class="description">Real number</dd>
  1596. -<dt>text </dt>
  1597. -<dd class="description">Text fragment</dd>
  1598. -</dl>
  1599. -<h2 class="title"><a name="ENUMERATIONS">Constants</a></h2>
  1600. -<h3 class="enumeration"><a name="mxml_sax_event_e">mxml_sax_event_e</a></h3>
  1601. -<p class="description">SAX event type.</p>
  1602. -<h4 class="constants">Constants</h4>
  1603. -<dl>
  1604. -<dt>MXML_SAX_CDATA </dt>
  1605. -<dd class="description">CDATA node</dd>
  1606. -<dt>MXML_SAX_COMMENT </dt>
  1607. -<dd class="description">Comment node</dd>
  1608. -<dt>MXML_SAX_DATA </dt>
  1609. -<dd class="description">Data node</dd>
  1610. -<dt>MXML_SAX_DIRECTIVE </dt>
  1611. -<dd class="description">Processing directive node</dd>
  1612. -<dt>MXML_SAX_ELEMENT_CLOSE </dt>
  1613. -<dd class="description">Element closed</dd>
  1614. -<dt>MXML_SAX_ELEMENT_OPEN </dt>
  1615. -<dd class="description">Element opened</dd>
  1616. -</dl>
  1617. -<h3 class="enumeration"><a name="mxml_type_e">mxml_type_e</a></h3>
  1618. -<p class="description">The XML node type.</p>
  1619. -<h4 class="constants">Constants</h4>
  1620. -<dl>
  1621. -<dt>MXML_CUSTOM <span class="info">&nbsp;Mini-XML 2.1&nbsp;</span></dt>
  1622. -<dd class="description">Custom data </dd>
  1623. -<dt>MXML_ELEMENT </dt>
  1624. -<dd class="description">XML element with attributes</dd>
  1625. -<dt>MXML_IGNORE <span class="info">&nbsp;Mini-XML 2.3&nbsp;</span></dt>
  1626. -<dd class="description">Ignore/throw away node </dd>
  1627. -<dt>MXML_INTEGER </dt>
  1628. -<dd class="description">Integer value</dd>
  1629. -<dt>MXML_OPAQUE </dt>
  1630. -<dd class="description">Opaque string</dd>
  1631. -<dt>MXML_REAL </dt>
  1632. -<dd class="description">Real value</dd>
  1633. -<dt>MXML_TEXT </dt>
  1634. -<dd class="description">Text fragment</dd>
  1635. -</dl>
  1636. -</div>
  1637. -</body>
  1638. -</html>