ENH: Added cmXMLParser::FindAttribute method
This method will help subclasses look for element attributes in their StartElement methods.
This commit is contained in:
parent
d033f0d2d1
commit
b5db18e723
@ -180,6 +180,23 @@ int cmXMLParser::IsSpace(char c)
|
|||||||
return isspace(c);
|
return isspace(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
const char* cmXMLParser::FindAttribute(const char** atts,
|
||||||
|
const char* attribute)
|
||||||
|
{
|
||||||
|
if(atts && attribute)
|
||||||
|
{
|
||||||
|
for(const char** a = atts; *a && *(a+1); a += 2)
|
||||||
|
{
|
||||||
|
if(strcmp(*a, attribute) == 0)
|
||||||
|
{
|
||||||
|
return *(a+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void cmXMLParserStartElement(void* parser, const char *name,
|
void cmXMLParserStartElement(void* parser, const char *name,
|
||||||
const char **atts)
|
const char **atts)
|
||||||
|
@ -105,6 +105,9 @@ protected:
|
|||||||
//! Send the given c-style string to the XML parser.
|
//! Send the given c-style string to the XML parser.
|
||||||
int ParseBuffer(const char* buffer);
|
int ParseBuffer(const char* buffer);
|
||||||
|
|
||||||
|
/** Helps subclasses search for attributes on elements. */
|
||||||
|
static const char* FindAttribute(const char** atts, const char* attribute);
|
||||||
|
|
||||||
//! Callbacks for the expat
|
//! Callbacks for the expat
|
||||||
friend void cmXMLParserStartElement(void*, const char*, const char**);
|
friend void cmXMLParserStartElement(void*, const char*, const char**);
|
||||||
friend void cmXMLParserEndElement(void*, const char*);
|
friend void cmXMLParserEndElement(void*, const char*);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user