[bt-devel] Case sensitivity in xml tags
Eeli Kaikkonen
eekaikko at mail.student.oulu.fi
Sat Feb 28 02:23:48 MST 2009
Greg Hellings wrote:
>
> I was speaking in IRC with Troy and others, and since all of those
> comparisons were for XML tags or module names, they actually don't
> have to be case insensitive, since XML is case sensitive for its tag
> names, etc. On the other hand, the module name shouldn't be done
> with stricmp/strcasecmp anyway, since it needs to be properly UTF-8
> aware (and, theoretically, so should the XML comparison). He
> suggested to use something like toUpper(SWBuf(str)) == "MYUTF8STRING"
> which would get rid of the entire reliance on the system-specific
> case-insensitive comparison function and could be used for either the
> XML tags or the Module names. But yes, using stricmp from the SWORD
> headers would be a replacement that does exactly the same as what we
> do at the moment.
Is it guaranteed that the XML in the modules is always lower (upper)
case, or does e.g.sword::XMLTag::getName() always return a lower (upper)
case string ? If not, we need to have case sensitive comparison. Unless
I have misunderstood something.
For example, we use "strcasecmp(tag.getName(), "foreign")". It works
with case sensitive comparison only if the tag name "foreign" is always
lower case in all modules.
--Eeli Kaikkonen
More information about the bt-devel
mailing list