4 #ifndef RUDIMENTS_XMLDOMNODE_H
5 #define RUDIMENTS_XMLDOMNODE_H
7 #include <rudiments/private/xmldomnodeincludes.h>
9 #ifdef RUDIMENTS_NAMESPACE
14 NULL_XMLDOMNODETYPE=0,
17 ATTRIBUTE_XMLDOMNODETYPE,
19 COMMENT_XMLDOMNODETYPE,
24 class xmldomnodeprivate;
145 const char *name,
const char *value);
164 void cascadeOnDelete();
169 void dontCascadeOnDelete();
173 xmldomnodetype getType()
const;
176 const char *getName()
const;
179 const char *getValue()
const;
188 uint64_t getPosition()
const;
202 xmldomnode *getPreviousTagSibling(
const char *name)
const;
213 xmldomnode *getPreviousTagSibling(
const char *name,
214 const char *attributename,
215 const char *attributevalue)
const;
229 xmldomnode *getNextTagSibling(
const char *name)
const;
240 xmldomnode *getNextTagSibling(
const char *name,
241 const char *attributename,
242 const char *attributevalue)
const;
246 uint64_t getChildCount()
const;
254 xmldomnode *getChild(uint64_t position)
const;
265 const char *attributename,
266 const char *attributevalue)
277 xmldomnode *getFirstTagChild(
const char *name)
const;
288 xmldomnode *getFirstTagChild(
const char *name,
289 const char *attributename,
290 const char *attributevalue)
295 uint64_t getAttributeCount()
const;
299 xmldomnode *getAttribute(
const char *name)
const;
303 xmldomnode *getAttribute(uint64_t position)
const;
307 const char *getAttributeValue(
const char *name)
const;
312 const char *getAttributeValue(uint64_t position)
const;
326 void setAttributeValue(
const char *name,
332 void setAttributeValue(
const char *name,
338 void setAttributeValue(
const char *name,
346 bool isNullNode()
const;
350 void setType(xmldomnodetype type);
353 void setName(
const char *name);
356 void setValue(
const char *value);
362 void setPreviousSibling(
xmldomnode *previous);
370 bool insertChild(
xmldomnode *child, uint64_t position);
383 bool deleteChild(uint64_t position);
394 bool insertText(
const char *value, uint64_t position);
398 bool appendText(
const char *value);
413 bool insertAttribute(
const char *name,
const char *value,
418 bool appendAttribute(
const char *name,
const char *value);
423 bool deleteAttribute(uint64_t position);
429 bool deleteAttribute(
const char *name);
461 xmldomnode *getChildByPath(
const char *path)
const;
471 xmldomnode *getAttributeByPath(
const char *path,
472 uint64_t position)
const;
481 xmldomnode *getAttributeByPath(
const char *path,
482 const char *name)
const;
492 const char *getAttributeValueByPath(
const char *path,
493 uint64_t position)
const;
503 const char *getAttributeValueByPath(
const char *path,
504 const char *name)
const;
506 #include <rudiments/private/xmldomnode.h>
509 #ifdef RUDIMENTS_NAMESPACE