/*====================================================================* * * char const * xmlselect (struct node const * node, char const * element, char const * attribute); * * node.h * * search node for the named element and attribute and return the * attribute value; * * if the attribute argument is null or nil then return the element * content string; * * if the element does not exist or the attribute does not exist * for that element or the attribute has no value then an empty * string is returned; * * Motley Tools by Charles Maier; * Copyright (c) 2001-2006 by Charles Maier Associates; * Licensed under the Internet Software Consortium License; * *--------------------------------------------------------------------*/ #ifndef XMLSELECT_SOURCE #define XMLSELECT_SOURCE #include #include "../nodes/node.h" char const * xmlselect (struct node const * node, char const * element, char const * attribute) { node = xmlelement (node, element); if ((attribute) && (* attribute)) { node = xmlattribute (node, attribute); node = xmlvalue (node); } else { node = xmldata (node); } return (node? node->text: ""); } #endif