libUPnP 1.14.19
Functions
ixml.c File Reference
#include "ixmldebug.h"
#include "ixmlmembuf.h"
#include "ixmlparser.h"
#include <stdlib.h>
#include <string.h>
#include "posix_overwrites.h"
Include dependency graph for ixml.c:

Functions

static void copy_with_escape (ixml_membuf *buf, const char *p)
 Appends a string to a buffer, substituting some characters by escape sequences.
 
static void ixmlPrintDomTreeRecursive (IXML_Node *nodeptr, ixml_membuf *buf)
 Recursive function to print all the node in a tree. Internal to parser only.
 
static void ixmlPrintDomTree (IXML_Node *nodeptr, ixml_membuf *buf)
 Print a DOM tree.
 
static void ixmlDomTreetoString (IXML_Node *nodeptr, ixml_membuf *buf)
 Converts a DOM tree into a text string.
 
int ixmlLoadDocumentEx (const char *xmlFile, IXML_Document **doc)
 Parses an XML text file converting it into an IXML DOM representation.
 
IXML_DocumentixmlLoadDocument (const char *xmlFile)
 Parses an XML text file converting it into an IXML DOM representation.
 
DOMString ixmlPrintDocument (IXML_Document *doc)
 Renders a Node and all sub-elements into an XML document representation.
 
DOMString ixmlPrintNode (IXML_Node *node)
 Renders a Node and all sub-elements into an XML text representation.
 
DOMString ixmlDocumenttoString (IXML_Document *doc)
 Renders a Node and all sub-elements into an XML document representation.
 
DOMString ixmlNodetoString (IXML_Node *node)
 Renders a Node and all sub-elements into an XML text representation. The caller is required to free the DOMString returned from this function using ixmlFreeDOMString when it is no longer required.
 
void ixmlRelaxParser (char errorChar)
 Makes the XML parser more tolerant to malformed text.
 
int ixmlParseBufferEx (const char *buffer, IXML_Document **retDoc)
 Parses an XML text buffer converting it into an IXML DOM representation.
 
IXML_DocumentixmlParseBuffer (const char *buffer)
 Parses an XML text buffer converting it into an IXML DOM representation.
 
DOMString ixmlCloneDOMString (const DOMString src)
 
void ixmlFreeDOMString (DOMString buf)
 

Function Documentation

◆ copy_with_escape()

static void copy_with_escape ( ixml_membuf buf,
const char *  p 
)
static

Appends a string to a buffer, substituting some characters by escape sequences.

Parameters
[in,out]bufThe input/output buffer.
[in]pThe string to copy from.

References ixml_membuf_append(), and ixml_membuf_append_str().

Referenced by ixmlDomTreetoString(), ixmlPrintDomTree(), and ixmlPrintDomTreeRecursive().

◆ ixmlDomTreetoString()

static void ixmlDomTreetoString ( IXML_Node nodeptr,
ixml_membuf buf 
)
static

Converts a DOM tree into a text string.

Element, and Attribute nodes are handled differently. We don't want to print the Element and Attribute nodes' sibling.

Parameters
[in]nodeptr
Todo:
documentation.
Parameters
[in]buf
Todo:
documentation.

References copy_with_escape(), ixml_membuf_append_str(), ixmlNode_getFirstChild(), ixmlNode_getNodeName(), ixmlNode_getNodeType(), ixmlNode_getNodeValue(), ixmlPrintDomTreeRecursive(), and IxmlPrintf().

Referenced by ixmlDocumenttoString(), and ixmlNodetoString().

◆ ixmlPrintDomTree()

static void ixmlPrintDomTree ( IXML_Node nodeptr,
ixml_membuf buf 
)
static

Print a DOM tree.

Element, and Attribute nodes are handled differently. We don't want to print the Element and Attribute nodes' sibling.

Parameters
[in]nodeptr
Todo:
documentation.
Parameters
[in]buf
Todo:
documentation.

References copy_with_escape(), ixml_membuf_append_str(), ixmlNode_getFirstChild(), ixmlNode_getNodeName(), ixmlNode_getNodeType(), ixmlNode_getNodeValue(), ixmlPrintDomTreeRecursive(), and IxmlPrintf().

Referenced by ixmlPrintDocument(), and ixmlPrintNode().

◆ ixmlPrintDomTreeRecursive()

static void ixmlPrintDomTreeRecursive ( IXML_Node nodeptr,
ixml_membuf buf 
)
static

Recursive function to print all the node in a tree. Internal to parser only.

Parameters
[in]nodeptr
Todo:
documentation.
Parameters
[in]buf
Todo:
documentation.

References copy_with_escape(), ixml_membuf_append_str(), ixmlNode_getFirstChild(), ixmlNode_getNextSibling(), ixmlNode_getNodeName(), ixmlNode_getNodeType(), ixmlNode_getNodeValue(), ixmlPrintDomTreeRecursive(), and IxmlPrintf().

Referenced by ixmlDomTreetoString(), ixmlPrintDomTree(), and ixmlPrintDomTreeRecursive().