Loading...
Searching...
No Matches
???_WOSD functions.
The XML parser » Create or Update the XMLNode structure

The strings given as parameters for the "add" and "update" methods that have a name with the postfix "_WOSD" (that means "WithOut String Duplication")(for example "addText_WOSD") will be free'd by the XMLNode class. More...

## Functions

static XMLNode | XMLNode::createXMLTopNode_WOSD (XMLSTR lpszName, char isDeclaration=FALSE)
| Create the top node of an XMLNode structure.
XMLNode | XMLNode::addChild_WOSD (XMLSTR lpszName, char isDeclaration=FALSE, XMLElementPosition pos=-1)
| Add a new child node.
XMLAttribute * | XMLNode::addAttribute_WOSD (XMLSTR lpszName, XMLSTR lpszValue)
| Add a new attribute.
XMLCSTR | XMLNode::addText_WOSD (XMLSTR lpszValue, XMLElementPosition pos=-1)
| Add a new text content.
XMLClear * | XMLNode::addClear_WOSD (XMLSTR lpszValue, XMLCSTR lpszOpen=NULL, XMLCSTR lpszClose=NULL, XMLElementPosition pos=-1)
| Add a new clear Tag.
XMLCSTR | XMLNode::updateName_WOSD (XMLSTR lpszName)
| change node's name
XMLAttribute * | XMLNode::updateAttribute_WOSD (XMLAttribute *newAttribute, XMLAttribute *oldAttribute)
| if the attribute to update is missing, a new one will be added
XMLAttribute * | XMLNode::updateAttribute_WOSD (XMLSTR lpszNewValue, XMLSTR lpszNewName=NULL, int i=0)
| if the attribute to update is missing, a new one will be added
XMLAttribute * | XMLNode::updateAttribute_WOSD (XMLSTR lpszNewValue, XMLSTR lpszNewName, XMLCSTR lpszOldName)
| set lpszNewName=NULL if you don't want to change the name of the attribute if the attribute to update is missing, a new one will be added
XMLCSTR | XMLNode::updateText_WOSD (XMLSTR lpszNewValue, int i=0)
| if the text to update is missing, a new one will be added
XMLCSTR | XMLNode::updateText_WOSD (XMLSTR lpszNewValue, XMLCSTR lpszOldValue)
| if the text to update is missing, a new one will be added
XMLClear * | XMLNode::updateClear_WOSD (XMLSTR lpszNewContent, int i=0)
| if the clearTag to update is missing, a new one will be added
XMLClear * | XMLNode::updateClear_WOSD (XMLClear *newP, XMLClear *oldP)
| if the clearTag to update is missing, a new one will be added
XMLClear * | XMLNode::updateClear_WOSD (XMLSTR lpszNewValue, XMLCSTR lpszOldValue)
| if the clearTag to update is missing, a new one will be added

## Detailed Description

The strings given as parameters for the "add" and "update" methods that have a name with the postfix "_WOSD" (that means "WithOut String Duplication")(for example "addText_WOSD") will be free'd by the XMLNode class.

For example, it means that this is incorrect:

xNode.addText_WOSD("foo");
xNode.updateAttribute_WOSD("#newcolor" ,NULL,"color");

In opposition, this is correct:

xNode.addText("foo");
xNode.addText_WOSD(stringDup("foo"));
xNode.updateAttribute("#newcolor" ,NULL,"color");
xNode.updateAttribute_WOSD(stringDup("#newcolor"),NULL,"color");
stringDup
XMLDLLENTRY XMLSTR stringDup(XMLCSTR source, int cbData=-1)
Duplicate (copy in a new allocated buffer) the source string.

Typically, you will never do:

char *b=(char*)malloc(...);
xNode.addText(b);
free(b);

... but rather:

char *b=(char*)malloc(...);
xNode.addText_WOSD(b);

('free(b)' is performed by the XMLNode class)

Generated on for DCMTK Version 3.7.0 by Doxygen 1.15.0