The value-setting macros such as CONFD_SET_TAG_STR() etc set the namespace to 0, which basically means “same as parent” - i.e. they “inherit” the namespace from e.g. CONFD_SET_TAG_XMLBEGIN(). This is not correct for your augmented leaf, and thus you need to set the namespace explicitly for that leaf - i.e. instead of
(It would probably be preferable to use the x733_equipment_alarm#define from the header file instead of the 5, though.)
Aside: It is also possible to do the whole thing without the generated header files, using confd_str2hash() on the string forms for namespaces and tags instead of the #defines. This requires that schema information has been loaded into the library, though - the code in the netconf_notifications example doesn’t do that, but it can of course be added. With the schema loaded, you can also use the string form of the data values via confd_str2val() , and thus e.g. use "equipment-alarm" instead of 5 - or the x733_equipment_alarm#define - for the event-type leaf above.