From 509bbfaf201e9b87bcc8168785fb72ab2717cd88 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Sun, 4 Jan 2009 00:15:47 +0000 Subject: [PATCH] Update documentation. --- www/docfiles/reference.html | 3174 ++++++++++++++++++----------------- www/documentation.php | 4 +- www/style.css | 93 +- 3 files changed, 1703 insertions(+), 1568 deletions(-) diff --git a/www/docfiles/reference.html b/www/docfiles/reference.html index 9155702..73a1b81 100644 --- a/www/docfiles/reference.html +++ b/www/docfiles/reference.html @@ -1,1561 +1,1615 @@ - - -Mini-XML Programmers Manual, Version 2.5 - - - - - - - - - - -Contents -Previous -Next -
-
-

CLibrary Reference

-

Contents

- -

Functions

-

mxmlAdd

-

Add a node to a tree.

-

void mxmlAdd ( -
    mxml_node_t *parent, -
    int where, -
    mxml_node_t *child, -
    mxml_node_t *node -
);

-

Parameters

-
-
parent
-
Parent node
-
where
-
Where to add, MXML_ADD_BEFORE or MXML_ADD_AFTER
-
child
-
Child node for where or MXML_ADD_TO_PARENT
-
node
-
Node to add
-
-

Discussion

-

Adds the specified node to the parent. If the - child argument is not NULL, puts the new node before or after the - specified child depending on the value of the where argument. If the - child argument is NULL, puts the new node at the beginning of the child - list (MXML_ADD_BEFORE) or at the end of the child list - (MXML_ADD_AFTER). The constant MXML_ADD_TO_PARENT can be used to - specify a NULL child pointer.

-

mxmlDelete

-

Delete a node and all of its children.

-

void mxmlDelete ( -
    mxml_node_t *node -
);

-

Parameters

-
-
node
-
Node to delete
-
-

Discussion

-

If the specified node has a parent, this function - first removes the node from its parent using the mxmlRemove() function.

-

- - Mini-XML 2.4 mxmlElementDeleteAttr -

-

Delete an attribute.

-

void mxmlElementDeleteAttr ( -
    mxml_node_t *node, -
    const char *name -
);

-

Parameters

-
-
node
-
Element
-
name
-
Attribute name
-
-

mxmlElementGetAttr

-

Get an attribute.

-

const char *mxmlElementGetAttr ( -
    mxml_node_t *node, -
    const char *name -
);

-

Parameters

-
-
node
-
Element node
-
name
-
Name of attribute
-
-

Return Value

-

Attribute value or NULL

-

Discussion

-

This function returns NULL if the node is not an - element or the named attribute does not exist.

-

mxmlElementSetAttr

-

Set an attribute.

-

void mxmlElementSetAttr ( -
    mxml_node_t *node, -
    const char *name, -
    const char *value -
);

-

Parameters

-
-
node
-
Element node
-
name
-
Name of attribute
-
value
-
Attribute value
-
-

Discussion

-

If the named attribute already exists, the value - of the attribute is replaced by the new string value. The string value - is copied into the element node. This function does nothing if the node - is not an element.

-

- - Mini-XML 2.3 mxmlElementSetAttrf

-

Set an attribute with a formatted value.

-

void mxmlElementSetAttrf ( -
    mxml_node_t *node, -
    const char *name, -
    const char *format, -
    ... -
);

-

Parameters

-
-
node
-
Element node
-
name
-
Name of attribute
-
format
-
Printf-style attribute value
-
...
-
Additional arguments as needed
-
-

Discussion

-

If the named attribute already exists, the value - of the attribute is replaced by the new formatted string. The formatted - string value is copied into the element node. This function does - nothing if the node is not an element.

-

-mxmlEntityAddCallback

-

Add a callback to convert entities to Unicode.

-

int mxmlEntityAddCallback (void);

-

Return Value

-

0 on success, -1 on failure

-

mxmlEntityGetName

-

Get the name that corresponds to the character - value.

-

const char *mxmlEntityGetName ( -
    int val -
);

-

Parameters

-
-
val
-
Character value
-
-

Return Value

-

Entity name or NULL

-

Discussion

-

If val does not need to be represented by a named - entity, NULL is returned.

-

mxmlEntityGetValue

-

Get the character corresponding to a named - entity.

-

int mxmlEntityGetValue ( -
    const char *name -
);

-

Parameters

-
-
name
-
Entity name
-
-

Return Value

-

Character value or -1 on error

-

Discussion

-

The entity name can also be a numeric constant. -1 - is returned if the name is not known.

-

-mxmlEntityRemoveCallback

-

Remove a callback.

-

void mxmlEntityRemoveCallback (void);

-

mxmlFindElement

-

Find the named element.

-

mxml_node_t *mxmlFindElement - ( -
    mxml_node_t *node, -
    mxml_node_t *top, -
    const char *name, -
    const char *attr, -
    const char *value, -
    int descend -
);

-

Parameters

-
-
node
-
Current node
-
top
-
Top node
-
name
-
Element name or NULL for any
-
attr
-
Attribute name, or NULL for none
-
value
-
Attribute value, or NULL for any
-
descend
-
Descend into tree - MXML_DESCEND, - MXML_NO_DESCEND, or MXML_DESCEND_FIRST
-
-

Return Value

-

Element node or NULL

-

Discussion

-

The search is constrained by the name, attribute - name, and value; any NULL names or values are treated as wildcards, so - different kinds of searches can be implemented by looking for all - elements of a given name or all elements with a specific attribute. The - descend argument determines whether the search descends into child - nodes; normally you will use MXML_DESCEND_FIRST for the initial search - and MXML_NO_DESCEND to find additional direct descendents of the node. - The top node argument constrains the search to a particular node's - children.

-

mxmlIndexDelete

-

Delete an index.

-

void mxmlIndexDelete ( -
    mxml_index_t *ind -
);

-

Parameters

-
-
ind
-
Index to delete
-
-

mxmlIndexEnum

-

Return the next node in the index.

-

mxml_node_t *mxmlIndexEnum ( -
    mxml_index_t *ind -
);

-

Parameters

-
-
ind
-
Index to enumerate
-
-

Return Value

-

Next node or NULL if there is none

-

Discussion

-

Nodes are returned in the sorted order of the - index.

-

mxmlIndexFind

-

Find the next matching node.

-

mxml_node_t *mxmlIndexFind ( -
    mxml_index_t *ind, -
    const char *element, -
    const char *value -
);

-

Parameters

-
-
ind
-
Index to search
-
element
-
Element name to find, if any
-
value
-
Attribute value, if any
-
-

Return Value

-

Node or NULL if none found

-

Discussion

-

You should call mxmlIndexReset() prior to using - this function for the first time with a particular set of "element" and - "value" strings. Passing NULL for both "element" and "value" is - equivalent to calling mxmlIndexEnum().

-

mxmlIndexNew

-

Create a new index.

-

mxml_index_t *mxmlIndexNew - ( -
    mxml_node_t *node, -
    const char *element, -
    const char *attr -
);

-

Parameters

-
-
node
-
XML node tree
-
element
-
Element to index or NULL for all
-
attr
-
Attribute to index or NULL for none
-
-

Return Value

-

New index

-

Discussion

-

The index will contain all nodes that contain the - named element and/or attribute. If both "element" and "attr" are NULL, - then the index will contain a sorted list of the elements in the node - tree. Nodes are sorted by element name and optionally by attribute - value if the "attr" argument is not NULL.

-

mxmlIndexReset

-

Reset the enumeration/find pointer in the index - and return the first node in the index.

-

mxml_node_t *mxmlIndexReset - ( -
    mxml_index_t *ind -
);

-

Parameters

-
-
ind
-
Index to reset
-
-

Return Value

-

First node or NULL if there is none

-

Discussion

-

This function should be called prior to using - mxmlIndexEnum() or mxmlIndexFind() for the first time.

-

mxmlLoadFd

-

Load a file descriptor into an XML node tree.

-

mxml_node_t *mxmlLoadFd ( -
    mxml_node_t *top, -
    int fd, -
    mxml_load_cb_t cb -
);

-

Parameters

-
-
top
-
Top node
-
fd
-
File descriptor to read from
-
cb
-
Callback function or MXML_NO_CALLBACK
-
-

Return Value

-

First node or NULL if the file could not be read.

-

Discussion

-

The nodes in the specified file are added to the - specified top node. If no top node is provided, the XML file MUST be - well-formed with a single parent node like <?xml> for the entire file. - The callback function returns the value type that should be used for - child nodes. If MXML_NO_CALLBACK is specified then all child nodes will - be either MXML_ELEMENT or MXML_TEXT nodes. -
-
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, - MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading - child nodes of the specified type.

-

mxmlLoadFile

-

Load a file into an XML node tree.

-

mxml_node_t *mxmlLoadFile ( -
    mxml_node_t *top, -
    FILE *fp, -
    mxml_load_cb_t cb -
);

-

Parameters

-
-
top
-
Top node
-
fp
-
File to read from
-
cb
-
Callback function or MXML_NO_CALLBACK
-
-

Return Value

-

First node or NULL if the file could not be read.

-

Discussion

-

The nodes in the specified file are added to the - specified top node. If no top node is provided, the XML file MUST be - well-formed with a single parent node like <?xml> for the entire file. - The callback function returns the value type that should be used for - child nodes. If MXML_NO_CALLBACK is specified then all child nodes will - be either MXML_ELEMENT or MXML_TEXT nodes. -
-
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, - MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading - child nodes of the specified type.

-

mxmlLoadString

-

Load a string into an XML node tree.

-

mxml_node_t *mxmlLoadString - ( -
    mxml_node_t *top, -
    const char *s, -
    mxml_load_cb_t cb -
);

-

Parameters

-
-
top
-
Top node
-
s
-
String to load
-
cb
-
Callback function or MXML_NO_CALLBACK
-
-

Return Value

-

First node or NULL if the string has errors.

-

Discussion

-

The nodes in the specified string are added to the - specified top node. If no top node is provided, the XML string MUST be - well-formed with a single parent node like <?xml> for the entire - string. The callback function returns the value type that should be - used for child nodes. If MXML_NO_CALLBACK is specified then all child - nodes will be either MXML_ELEMENT or MXML_TEXT nodes. -
-
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, - MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading - child nodes of the specified type.

-

- - Mini-XML 2.3 mxmlNewCDATA

-

Create a new CDATA node.

-

mxml_node_t *mxmlNewCDATA ( -
    mxml_node_t *parent, -
    const char *data -
);

-

Parameters

-
-
parent
-
Parent node or MXML_NO_PARENT
-
data
-
Data string
-
-

Return Value

-

New node

-

Discussion

-

The new CDATA node is added to the end of the - specified parent's child list. The constant MXML_NO_PARENT can be used - to specify that the new CDATA node has no parent. The data string must - be nul-terminated and is copied into the new node. CDATA nodes use the - MXML_ELEMENT type.

-

- - Mini-XML 2.1 mxmlNewCustom

-

Create a new custom data node.

-

mxml_node_t *mxmlNewCustom ( -
    mxml_node_t *parent, -
    void *data, -
    mxml_custom_destroy_cb_t - destroy -
);

-

Parameters

-
-
parent
-
Parent node or MXML_NO_PARENT
-
data
-
Pointer to data
-
destroy
-
Function to destroy data
-
-

Return Value

-

New node

-

Discussion

-

The new custom node is added to the end of the - specified parent's child list. The constant MXML_NO_PARENT can be used - to specify that the new element node has no parent. NULL can be passed - when the data in the node is not dynamically allocated or is separately - managed.

-

mxmlNewElement

-

Create a new element node.

-

mxml_node_t *mxmlNewElement - ( -
    mxml_node_t *parent, -
    const char *name -
);

-

Parameters

-
-
parent
-
Parent node or MXML_NO_PARENT
-
name
-
Name of element
-
-

Return Value

-

New node

-

Discussion

-

The new element node is added to the end of the - specified parent's child list. The constant MXML_NO_PARENT can be used - to specify that the new element node has no parent.

-

mxmlNewInteger

-

Create a new integer node.

-

mxml_node_t *mxmlNewInteger - ( -
    mxml_node_t *parent, -
    int integer -
);

-

Parameters

-
-
parent
-
Parent node or MXML_NO_PARENT
-
integer
-
Integer value
-
-

Return Value

-

New node

-

Discussion

-

The new integer node is added to the end of the - specified parent's child list. The constant MXML_NO_PARENT can be used - to specify that the new integer node has no parent.

-

mxmlNewOpaque

-

Create a new opaque string.

-

mxml_node_t *mxmlNewOpaque ( -
    mxml_node_t *parent, -
    const char *opaque -
);

-

Parameters

-
-
parent
-
Parent node or MXML_NO_PARENT
-
opaque
-
Opaque string
-
-

Return Value

-

New node

-

Discussion

-

The new opaque node is added to the end of the - specified parent's child list. The constant MXML_NO_PARENT can be used - to specify that the new opaque node has no parent. The opaque string - must be nul-terminated and is copied into the new node.

-

mxmlNewReal

-

Create a new real number node.

-

mxml_node_t *mxmlNewReal ( -
    mxml_node_t *parent, -
    double real -
);

-

Parameters

-
-
parent
-
Parent node or MXML_NO_PARENT
-
real
-
Real number value
-
-

Return Value

-

New node

-

Discussion

-

The new real number node is added to the end of - the specified parent's child list. The constant MXML_NO_PARENT can be - used to specify that the new real number node has no parent.

-

mxmlNewText

-

Create a new text fragment node.

-

mxml_node_t *mxmlNewText ( -
    mxml_node_t *parent, -
    int whitespace, -
    const char *string -
);

-

Parameters

-
-
parent
-
Parent node or MXML_NO_PARENT
-
whitespace
-
1 = leading whitespace, 0 = no whitespace
-
string
-
String
-
-

Return Value

-

New node

-

Discussion

-

The new text node is added to the end of the - specified parent's child list. The constant MXML_NO_PARENT can be used - to specify that the new text node has no parent. The whitespace - parameter is used to specify whether leading whitespace is present - before the node. The text string must be nul-terminated and is copied - into the new node.

-

mxmlNewTextf

-

Create a new formatted text fragment node.

-

mxml_node_t *mxmlNewTextf ( -
    mxml_node_t *parent, -
    int whitespace, -
    const char *format, -
    ... -
);

-

Parameters

-
-
parent
-
Parent node or MXML_NO_PARENT
-
whitespace
-
1 = leading whitespace, 0 = no whitespace
-
format
-
Printf-style frmat string
-
...
-
Additional args as needed
-
-

Return Value

-

New node

-

Discussion

-

The new text node is added to the end of the - specified parent's child list. The constant MXML_NO_PARENT can be used - to specify that the new text node has no parent. The whitespace - parameter is used to specify whether leading whitespace is present - before the node. The format string must be nul-terminated and is - formatted into the new node.

-

- - Mini-XML 2.3 mxmlNewXML

-

Create a new XML document tree.

-

mxml_node_t *mxmlNewXML ( -
    const char *version -
);

-

Parameters

-
-
version
-
Version number to use
-
-

Return Value

-

New ?xml node

-

Discussion

-

The "version" argument specifies the version - number to put in the ?xml element node. If NULL, version 1.0 is - assumed.

-

- - Mini-XML 2.3 mxmlRelease

-

Release a node.

-

int mxmlRelease ( -
    mxml_node_t *node -
);

-

Parameters

-
-
node
-
Node
-
-

Return Value

-

New reference count

-

Discussion

-

When the reference count reaches zero, the node - (and any children) is deleted via mxmlDelete().

-

mxmlRemove

-

Remove a node from its parent.

-

void mxmlRemove ( -
    mxml_node_t *node -
);

-

Parameters

-
-
node
-
Node to remove
-
-

Discussion

-

Does not free memory used by the node - use - mxmlDelete() for that. This function does nothing if the node has no - parent.

-

- - Mini-XML 2.3 mxmlRetain

-

Retain a node.

-

int mxmlRetain ( -
    mxml_node_t *node -
);

-

Parameters

-
-
node
-
Node
-
-

Return Value

-

New reference count

-

- - Mini-XML 2.3 mxmlSAXLoadFd

-

Load a file descriptor into an XML node tree - using a SAX callback.

-

mxml_node_t *mxmlSAXLoadFd ( -
    mxml_node_t *top, -
    int fd, -
    mxml_load_cb_t cb, -
    mxml_sax_cb_t sax_cb, -
    void *sax_data -
);

-

Parameters

-
-
top
-
Top node
-
fd
-
File descriptor to read from
-
cb
-
Callback function or MXML_NO_CALLBACK
-
sax_cb
-
SAX callback or MXML_NO_CALLBACK
-
sax_data
-
SAX user data
-
-

Return Value

-

First node or NULL if the file could not be read.

-

Discussion

-

The nodes in the specified file are added to the - specified top node. If no top node is provided, the XML file MUST be - well-formed with a single parent node like <?xml> for the entire file. - The callback function returns the value type that should be used for - child nodes. If MXML_NO_CALLBACK is specified then all child nodes will - be either MXML_ELEMENT or MXML_TEXT nodes. -
-
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, - MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading - child nodes of the specified type. -
-
The SAX callback must call mxmlRetain() for any nodes that need to - be kept for later use. Otherwise, nodes are deleted when the parent - node is closed or after each data, comment, CDATA, or directive node.

-

- - Mini-XML 2.3 mxmlSAXLoadFile

-

Load a file into an XML node tree using a SAX - callback.

-

mxml_node_t *mxmlSAXLoadFile - ( -
    mxml_node_t *top, -
    FILE *fp, -
    mxml_load_cb_t cb, -
    mxml_sax_cb_t sax_cb, -
    void *sax_data -
);

-

Parameters

-
-
top
-
Top node
-
fp
-
File to read from
-
cb
-
Callback function or MXML_NO_CALLBACK
-
sax_cb
-
SAX callback or MXML_NO_CALLBACK
-
sax_data
-
SAX user data
-
-

Return Value

-

First node or NULL if the file could not be read.

-

Discussion

-

The nodes in the specified file are added to the - specified top node. If no top node is provided, the XML file MUST be - well-formed with a single parent node like <?xml> for the entire file. - The callback function returns the value type that should be used for - child nodes. If MXML_NO_CALLBACK is specified then all child nodes will - be either MXML_ELEMENT or MXML_TEXT nodes. -
-
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, - MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading - child nodes of the specified type. -
-
The SAX callback must call mxmlRetain() for any nodes that need to - be kept for later use. Otherwise, nodes are deleted when the parent - node is closed or after each data, comment, CDATA, or directive node.

-

- - Mini-XML 2.3 mxmlSAXLoadString

-

Load a string into an XML node tree using a SAX - callback.

-

mxml_node_t - *mxmlSAXLoadString ( -
    mxml_node_t *top, -
    const char *s, -
    mxml_load_cb_t cb, -
    mxml_sax_cb_t sax_cb, -
    void *sax_data -
);

-

Parameters

-
-
top
-
Top node
-
s
-
String to load
-
cb
-
Callback function or MXML_NO_CALLBACK
-
sax_cb
-
SAX callback or MXML_NO_CALLBACK
-
sax_data
-
SAX user data
-
-

Return Value

-

First node or NULL if the string has errors.

-

Discussion

-

The nodes in the specified string are added to the - specified top node. If no top node is provided, the XML string MUST be - well-formed with a single parent node like <?xml> for the entire - string. The callback function returns the value type that should be - used for child nodes. If MXML_NO_CALLBACK is specified then all child - nodes will be either MXML_ELEMENT or MXML_TEXT nodes. -
-
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK, - MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading - child nodes of the specified type. -
-
The SAX callback must call mxmlRetain() for any nodes that need to - be kept for later use. Otherwise, nodes are deleted when the parent - node is closed or after each data, comment, CDATA, or directive node.

-

mxmlSaveAllocString -

-

Save an XML node tree to an allocated string.

-

char *mxmlSaveAllocString ( -
    mxml_node_t *node, -
    mxml_save_cb_t cb -
);

-

Parameters

-
-
node
-
Node to write
-
cb
-
Whitespace callback or MXML_NO_CALLBACK
-
-

Return Value

-

Allocated string or NULL

-

Discussion

-

This function returns a pointer to a string - containing the textual representation of the XML node tree. The string - should be freed using the free() function when you are done with it. - NULL is returned if the node would produce an empty string or if the - string cannot be allocated. -
-
The callback argument specifies a function that returns a - whitespace string or NULL before and after each element. If - MXML_NO_CALLBACK is specified, whitespace will only be added before - MXML_TEXT nodes with leading whitespace and before attribute names - inside opening element tags.

-

mxmlSaveFd

-

Save an XML tree to a file descriptor.

-

int mxmlSaveFd ( -
    mxml_node_t *node, -
    int fd, -
    mxml_save_cb_t cb -
);

-

Parameters

-
-
node
-
Node to write
-
fd
-
File descriptor to write to
-
cb
-
Whitespace callback or MXML_NO_CALLBACK
-
-

Return Value

-

0 on success, -1 on error.

-

Discussion

-

The callback argument specifies a function that - returns a whitespace string or NULL before and after each element. If - MXML_NO_CALLBACK is specified, whitespace will only be added before - MXML_TEXT nodes with leading whitespace and before attribute names - inside opening element tags.

-

mxmlSaveFile

-

Save an XML tree to a file.

-

int mxmlSaveFile ( -
    mxml_node_t *node, -
    FILE *fp, -
    mxml_save_cb_t cb -
);

-

Parameters

-
-
node
-
Node to write
-
fp
-
File to write to
-
cb
-
Whitespace callback or MXML_NO_CALLBACK
-
-

Return Value

-

0 on success, -1 on error.

-

Discussion

-

The callback argument specifies a function that - returns a whitespace string or NULL before and after each element. If - MXML_NO_CALLBACK is specified, whitespace will only be added before - MXML_TEXT nodes with leading whitespace and before attribute names - inside opening element tags.

-

mxmlSaveString

-

Save an XML node tree to a string.

-

int mxmlSaveString ( -
    mxml_node_t *node, -
    char *buffer, -
    int bufsize, -
    mxml_save_cb_t cb -
);

-

Parameters

-
-
node
-
Node to write
-
buffer
-
String buffer
-
bufsize
-
Size of string buffer
-
cb
-
Whitespace callback or MXML_NO_CALLBACK
-
-

Return Value

-

Size of string

-

Discussion

-

This function returns the total number of bytes - that would be required for the string but only copies (bufsize - 1) - characters into the specified buffer. -
-
The callback argument specifies a function that returns a - whitespace string or NULL before and after each element. If - MXML_NO_CALLBACK is specified, whitespace will only be added before - MXML_TEXT nodes with leading whitespace and before attribute names - inside opening element tags.

-

- - Mini-XML 2.3 mxmlSetCDATA

-

Set the element name of a CDATA node.

-

int mxmlSetCDATA ( -
    mxml_node_t *node, -
    const char *data -
);

-

Parameters

-
-
node
-
Node to set
-
data
-
New data string
-
-

Return Value

-

0 on success, -1 on failure

-

Discussion

-

The node is not changed if it is not a CDATA - element node.

-

- - Mini-XML 2.1 mxmlSetCustom

-

Set the data and destructor of a custom data - node.

-

int mxmlSetCustom ( -
    mxml_node_t *node, -
    void *data, -
    mxml_custom_destroy_cb_t - destroy -
);

-

Parameters

-
-
node
-
Node to set
-
data
-
New data pointer
-
destroy
-
New destructor function
-
-

Return Value

-

0 on success, -1 on failure

-

Discussion

-

The node is not changed if it is not a custom - node.

-

-mxmlSetCustomHandlers

-

Set the handling functions for custom data.

-

void mxmlSetCustomHandlers ( -
    mxml_custom_load_cb_t - load, -
    mxml_custom_save_cb_t save -
);

-

Parameters

-
-
load
-
Load function
-
save
-
Save function
-
-

Discussion

-

The load function accepts a node pointer and a - data string and must return 0 on success and non-zero on error. -
-
The save function accepts a node pointer and must return a malloc'd - string on success and NULL on error.

-

mxmlSetElement

-

Set the name of an element node.

-

int mxmlSetElement ( -
    mxml_node_t *node, -
    const char *name -
);

-

Parameters

-
-
node
-
Node to set
-
name
-
New name string
-
-

Return Value

-

0 on success, -1 on failure

-

Discussion

-

The node is not changed if it is not an element - node.

-

mxmlSetErrorCallback -

-

Set the error message callback.

-

void mxmlSetErrorCallback ( -
    mxml_error_cb_t cb -
);

-

Parameters

-
-
cb
-
Error callback function
-
-

mxmlSetInteger

-

Set the value of an integer node.

-

int mxmlSetInteger ( -
    mxml_node_t *node, -
    int integer -
);

-

Parameters

-
-
node
-
Node to set
-
integer
-
Integer value
-
-

Return Value

-

0 on success, -1 on failure

-

Discussion

-

The node is not changed if it is not an integer - node.

-

mxmlSetOpaque

-

Set the value of an opaque node.

-

int mxmlSetOpaque ( -
    mxml_node_t *node, -
    const char *opaque -
);

-

Parameters

-
-
node
-
Node to set
-
opaque
-
Opaque string
-
-

Return Value

-

0 on success, -1 on failure

-

Discussion

-

The node is not changed if it is not an opaque - node.

-

mxmlSetReal

-

Set the value of a real number node.

-

int mxmlSetReal ( -
    mxml_node_t *node, -
    double real -
);

-

Parameters

-
-
node
-
Node to set
-
real
-
Real number value
-
-

Return Value

-

0 on success, -1 on failure

-

Discussion

-

The node is not changed if it is not a real number - node.

-

mxmlSetText

-

Set the value of a text node.

-

int mxmlSetText ( -
    mxml_node_t *node, -
    int whitespace, -
    const char *string -
);

-

Parameters

-
-
node
-
Node to set
-
whitespace
-
1 = leading whitespace, 0 = no whitespace
-
string
-
String
-
-

Return Value

-

0 on success, -1 on failure

-

Discussion

-

The node is not changed if it is not a text node.

-

mxmlSetTextf

-

Set the value of a text node to a formatted - string.

-

int mxmlSetTextf ( -
    mxml_node_t *node, -
    int whitespace, -
    const char *format, -
    ... -
);

-

Parameters

-
-
node
-
Node to set
-
whitespace
-
1 = leading whitespace, 0 = no whitespace
-
format
-
Printf-style format string
-
...
-
Additional arguments as needed
-
-

Return Value

-

0 on success, -1 on failure

-

Discussion

-

The node is not changed if it is not a text node.

-

- - Mini-XML 2.3 mxmlSetWrapMargin

-

Set the the wrap margin when saving XML data.

-

void mxmlSetWrapMargin ( -
    int column -
);

-

Parameters

-
-
column
-
Column for wrapping
-
-

Discussion

-

Wrapping is disabled when "column" is <= 0.

-

mxmlWalkNext

-

Walk to the next logical node in the tree.

-

mxml_node_t *mxmlWalkNext ( -
    mxml_node_t *node, -
    mxml_node_t *top, -
    int descend -
);

-

Parameters

-
-
node
-
Current node
-
top
-
Top node
-
descend
-
Descend into tree - MXML_DESCEND, - MXML_NO_DESCEND, or MXML_DESCEND_FIRST
-
-

Return Value

-

Next node or NULL

-

Discussion

-

The descend argument controls whether the first - child is considered to be the next node. The top node argument - constrains the walk to the node's children.

-

mxmlWalkPrev

-

Walk to the previous logical node in the tree.

-

mxml_node_t *mxmlWalkPrev ( -
    mxml_node_t *node, -
    mxml_node_t *top, -
    int descend -
);

-

Parameters

-
-
node
-
Current node
-
top
-
Top node
-
descend
-
Descend into tree - MXML_DESCEND, - MXML_NO_DESCEND, or MXML_DESCEND_FIRST
-
-

Return Value

-

Previous node or NULL

-

Discussion

-

The descend argument controls whether the previous - node's last child is considered to be the previous node. The top node - argument constrains the walk to the node's children.

-

Data Types

-

mxml_attr_t

-

An XML element attribute value.

-

typedef struct mxml_attr_s - mxml_attr_t;

-

-mxml_custom_destroy_cb_t

-

Custom data destructor

-

typedef void (*mxml_custom_destroy_cb_t)(void *);

-

-mxml_custom_load_cb_t

-

Custom data load callback function

-

typedef int (*mxml_custom_load_cb_t)( -mxml_node_t *, const char *);

-

-mxml_custom_save_cb_t

-

Custom data save callback function

-

typedef char *(*mxml_custom_save_cb_t)( -mxml_node_t *);

-

- - Mini-XML 2.1 mxml_custom_t

-

An XML custom value.

-

typedef struct mxml_custom_s - mxml_custom_t;

-

mxml_element_t

-

An XML element value.

-

typedef struct mxml_element_s - mxml_element_t;

-

mxml_error_cb_t

-

Error callback function

-

typedef void (*mxml_error_cb_t)(const char *);

-

mxml_index_t

-

An XML node index.

-

typedef struct mxml_index_s - mxml_index_t;

-

mxml_load_cb_t

-

Load callback function

-

typedef mxml_type_t (*mxml_load_cb_t)( -mxml_node_t *);

-

mxml_node_t

-

An XML node.

-

typedef struct mxml_node_s - mxml_node_t;

-

mxml_save_cb_t

-

Save callback function

-

typedef const char *(*mxml_save_cb_t)( -mxml_node_t *, int);

-

mxml_sax_cb_t

-

SAX callback function

-

typedef void (*mxml_sax_cb_t)( -mxml_node_t *, mxml_sax_event_t, void *);

-

mxml_sax_event_t

-

SAX event type.

-

typedef enum -mxml_sax_event_e mxml_sax_event_t;

-

mxml_text_t

-

An XML text value.

-

typedef struct mxml_text_s - mxml_text_t;

-

mxml_value_t

-

An XML node value.

-

typedef union mxml_value_u - mxml_value_t;

-

Structures

-

mxml_attr_s

-

An XML element attribute value.

-

struct mxml_attr_s { -
    char *name; -
    char *value; -
};

-

Members

-
-
name
-
Attribute name
-
value
-
Attribute value
-
-

- - Mini-XML 2.1 mxml_custom_s

-

An XML custom value.

-

struct mxml_custom_s { -
    void *data; -
    mxml_custom_destroy_cb_t - destroy; -
};

-

Members

-
-
data
-
Pointer to (allocated) custom data
-
destroy
-
Pointer to destructor function
-
-

mxml_element_s

-

An XML element value.

-

struct mxml_element_s { -
    mxml_attr_t *attrs; -
    char *name; -
    int num_attrs; -
};

-

Members

-
-
attrs
-
Attributes
-
name
-
Name of element
-
num_attrs
-
Number of attributes
-
-

mxml_index_s

-

An XML node index.

-

struct mxml_index_s { -
    int alloc_nodes; -
    char *attr; -
    int cur_node; -
    mxml_node_t **nodes; -
    int num_nodes; -
};

-

Members

-
-
alloc_nodes
-
Allocated nodes in index
-
attr
-
Attribute used for indexing or NULL
-
cur_node
-
Current node
-
nodes
-
Node array
-
num_nodes
-
Number of nodes in index
-
-

mxml_node_s

-

An XML node.

-

struct mxml_node_s { -
    struct mxml_node_s *child; -
    struct mxml_node_s *last_child; -
    struct mxml_node_s *next; -
    struct mxml_node_s *parent; -
    struct mxml_node_s *prev; -
    int ref_count; -
    mxml_type_t type; -
    void *user_data; -
    mxml_value_t value; -
};

-

Members

-
-
child
-
First child node
-
last_child
-
Last child node
-
next
-
Next node under same parent
-
parent
-
Parent node
-
prev
-
Previous node under same parent
-
ref_count
-
Use count
-
type
-
Node type
-
user_data
-
User data
-
value
-
Node value
-
-

mxml_text_s

-

An XML text value.

-

struct mxml_text_s { -
    char *string; -
    int whitespace; -
};

-

Members

-
-
string
-
Fragment string
-
whitespace
-
Leading whitespace?
-
-

Unions

-

mxml_value_u

-

An XML node value.

-

union mxml_value_u { -
    mxml_custom_t custom; -
    mxml_element_t element; -
    int integer; -
    char *opaque; -
    double real; -
    mxml_text_t text; -
};

-

Members

-
-
custom - -  Mini-XML 2.1 
-
Custom data
-
element
-
Element
-
integer
-
Integer number
-
opaque
-
Opaque string
-
real
-
Real number
-
text
-
Text fragment
-
-

Constants

-

mxml_sax_event_e

-

SAX event type.

-

Constants

-
-
MXML_SAX_CDATA
-
CDATA node
-
MXML_SAX_COMMENT
-
Comment node
-
MXML_SAX_DATA
-
Data node
-
MXML_SAX_DIRECTIVE
-
Processing directive node
-
MXML_SAX_ELEMENT_CLOSE
-
Element closed
-
MXML_SAX_ELEMENT_OPEN
-
Element opened
-
-

mxml_type_e

-

The XML node type.

-

Constants

-
-
MXML_CUSTOM - -  Mini-XML 2.1 
-
Custom data
-
MXML_ELEMENT
-
XML element with attributes
-
MXML_IGNORE - -  Mini-XML 2.3 
-
Ignore/throw away node
-
MXML_INTEGER
-
Integer value
-
MXML_OPAQUE
-
Opaque string
-
MXML_REAL
-
Real value
-
MXML_TEXT
-
Text fragment
-
-

-Contents -Previous -Next - - + + +Documentation + + + + +
+

CLibrary +Reference

+ +

Contents

+
+ + diff --git a/www/documentation.php b/www/documentation.php index b7586da..2c483f4 100644 --- a/www/documentation.php +++ b/www/documentation.php @@ -66,11 +66,11 @@ if (array_key_exists("PATH_INFO", $_SERVER) && while ($line = fgets($fp, 1024)) { - if (strstr($line, "")) + else if (strstr($line, "") || strstr($line, "")) { break; } diff --git a/www/style.css b/www/style.css index f5516ad..e614fd9 100644 --- a/www/style.css +++ b/www/style.css @@ -150,11 +150,92 @@ TR.data1 TD, TR.data1 TH { font-weight: bold; padding: 2px; } - -.info { - background: black; - color: white; - float: right; +/* Styles for documentation */ +.class { + border-bottom: solid 2px gray; +} +.constants { +} +.description { + margin-top: 0.5em; +} +.discussion { +} +.enumeration { + border-bottom: solid 2px gray; +} +.function { + border-bottom: solid 2px gray; + margin-bottom: 0; +} +.members { +} +.method { +} +.parameters { +} +.returnvalue { +} +.struct { + border-bottom: solid 2px gray; +} +.typedef { + border-bottom: solid 2px gray; +} +.union { + border-bottom: solid 2px gray; +} +.variable { +} +code, p.code, pre, ul.code li { + font-family: monaco, courier, monospace; font-size: 90%; } - +a:link, a:visited { + text-decoration: none; +} +span.info { + background: black; + border: solid thin black; + color: white; + font-size: 80%; + font-style: italic; + font-weight: bold; + white-space: nowrap; +} +h3 span.info, h4 span.info { + float: right; + font-size: 100%; +} +ul.code, ul.contents, ul.subcontents { + list-style-type: none; + margin: 0; + padding-left: 0; +} +ul.code li { + margin: 0; +} +ul.contents > li { + margin-top: 1em; +} +ul.contents li ul.code, ul.contents li ul.subcontents { + padding-left: 2em; +} +div.body dl { + margin-top: 0; +} +div.body dt { + font-style: italic; + margin-top: 0; +} +div.body dd { + margin-bottom: 0.5em; +} +h1.title { +} +h2.title { + border-bottom: solid 2px black; +} +h3.title { + border-bottom: solid 2px black; +}