|
@@ -35,6 +35,7 @@ extern "C" {
|
35
|
35
|
|
36
|
36
|
typedef struct cmXmlNode_str
|
37
|
37
|
{
|
|
38
|
+ unsigned line; // line number
|
38
|
39
|
unsigned flags; // See k???XmlFl
|
39
|
40
|
|
40
|
41
|
const cmChar_t* label; // node label
|
|
@@ -62,26 +63,30 @@ extern "C" {
|
62
|
63
|
const cmXmlNode_t* cmXmlRoot( cmXmlH_t h );
|
63
|
64
|
void cmXmlPrint( cmXmlH_t h, cmRpt_t* rpt );
|
64
|
65
|
|
65
|
|
- const cmXmlNode_t* cmXmlSearch( const cmXmlNode_t* np, const cmChar_t* label, const cmXmlAttr_t* attrV, unsigned attrN );
|
|
66
|
+ const cmXmlNode_t* cmXmlSearch( const cmXmlNode_t* np, const cmChar_t* label, const cmXmlAttr_t* attrV, unsigned attrN );
|
66
|
67
|
const cmXmlAttr_t* cmXmlFindAttrib( const cmXmlNode_t* np, const cmChar_t* label );
|
67
|
68
|
|
68
|
69
|
cmXmlRC_t cmXmlAttrInt( const cmXmlNode_t* np, const cmChar_t* attrLabel, int* retRef );
|
69
|
70
|
cmXmlRC_t cmXmlAttrUInt( const cmXmlNode_t* np, const cmChar_t* attrLabel, unsigned* retRef );
|
70
|
71
|
|
71
|
72
|
// Return the data value for a node or attributes.
|
72
|
|
- // List Syntax: node-label-0, node-label-1, NULL, attr-label-0 attr-label-1
|
|
73
|
+ // Terminate node label list with NULL.
|
73
|
74
|
const cmChar_t* cmXmlNodeValueV( const cmXmlNode_t* np, va_list vl );
|
74
|
75
|
const cmChar_t* cmXmlNodeValue( const cmXmlNode_t* np, ... );
|
75
|
76
|
|
76
|
|
- cmXmlRC_t cmXmlNodeIntV( const cmXmlNode_t* np, int* retRef, va_list vl );
|
|
77
|
+ // Terminate node label list with NULL.
|
|
78
|
+ cmXmlRC_t cmXmlNodeIntV( const cmXmlNode_t* np, int* retRef, va_list vl );
|
77
|
79
|
cmXmlRC_t cmXmlNodeUIntV( const cmXmlNode_t* np, unsigned* retRef, va_list vl );
|
78
|
80
|
cmXmlRC_t cmXmlNodeDoubleV( const cmXmlNode_t* np, double* retRef, va_list vl );
|
79
|
81
|
|
80
|
|
- cmXmlRC_t cmXmlNodeInt( const cmXmlNode_t* np, int* retRef, ... );
|
|
82
|
+ // Terminate node label list with NULL.
|
|
83
|
+ cmXmlRC_t cmXmlNodeInt( const cmXmlNode_t* np, int* retRef, ... );
|
81
|
84
|
cmXmlRC_t cmXmlNodeUInt( const cmXmlNode_t* np, unsigned* retRef, ... );
|
82
|
|
- cmXmlRC_t cmXmlNodeDouble(const cmXmlNode_t* np, double* retRef, ...);
|
83
|
|
-
|
84
|
|
- bool cmXmlNodeHasChild( const cmXmlNode_t* np, const cmChar_t* label );
|
|
85
|
+ cmXmlRC_t cmXmlNodeDouble(const cmXmlNode_t* np, double* retRef, ... );
|
|
86
|
+
|
|
87
|
+ // Terminate node label list with NULL.
|
|
88
|
+ bool cmXmlNodeHasChildV(const cmXmlNode_t* np, const cmChar_t* label, va_list vl );
|
|
89
|
+ bool cmXmlNodeHasChild( const cmXmlNode_t* np, const cmChar_t* label, ... );
|
85
|
90
|
|
86
|
91
|
|
87
|
92
|
cmXmlRC_t cmXmlTest( cmCtx_t* ctx, const cmChar_t* fn );
|