Lines Matching defs:attributes
41 * Allows setting up for handling the tag content and processing attributes.
44 void (*start)(FamilyData* data, const char* tag, const char** attributes);
58 const TagHandler* (*tag)(FamilyData* data, const char* tag, const char** attributes);
140 /*start*/[](FamilyData* self, const char* tag, const char** attributes) {
146 for (size_t i = 0; ATTS_NON_NULL(attributes, i); i += 2) {
147 const char* name = attributes[i];
148 const char* value = attributes[i + 1];
188 /*start*/[](FamilyData* self, const char* tag, const char** attributes) {
196 for (size_t i = 0; ATTS_NON_NULL(attributes, i); i += 2) {
197 const char* name = attributes[i];
198 const char* value = attributes[i + 1];
240 /*tag*/[](FamilyData* self, const char* tag, const char** attributes) -> const TagHandler* {
254 /*start*/[](FamilyData* self, const char* tag, const char** attributes) {
261 for (size_t i = 0; ATTS_NON_NULL(attributes, i); i += 2) {
262 const char* name = attributes[i];
263 const char* value = attributes[i + 1];
297 /*tag*/[](FamilyData* self, const char* tag, const char** attributes) -> const TagHandler* {
321 /*start*/[](FamilyData* self, const char* tag, const char** attributes) {
332 for (size_t i = 0; ATTS_NON_NULL(attributes, i); i += 2) {
333 const char* name = attributes[i];
334 const char* value = attributes[i + 1];
375 /*start*/[](FamilyData* self, const char* tag, const char** attributes) { },
377 /*tag*/[](FamilyData* self, const char* tag, const char** attributes) -> const TagHandler* {
394 /*tag*/[](FamilyData* self, const char* tag, const char** attributes) -> const TagHandler* {
398 for (size_t i = 0; ATTS_NON_NULL(attributes, i); i += 2) {
399 const char* name = attributes[i];
402 const char* value = attributes[i + 1];
416 static void XMLCALL start_element_handler(void *data, const char *tag, const char **attributes)
422 const TagHandler* child = parent->tag ? parent->tag(self, tag, attributes) : nullptr;
425 child->start(self, tag, attributes);