summaryrefslogtreecommitdiff
path: root/src/raptor_rdfxml.c
diff options
context:
space:
mode:
authorDave Beckett <dave@dajobe.org>2003-09-03 09:24:15 +0000
committerDave Beckett <dave@dajobe.org>2003-09-03 09:24:15 +0000
commit046ce8defec63d778f50b86a060cfce1264e2edc (patch)
tree69440c84bb946c449dbc27450b3a192c60a0fec1 /src/raptor_rdfxml.c
parent127fe26b85e2c797664683c60791af7a5d9a0f2d (diff)
downloadraptor-046ce8defec63d778f50b86a060cfce1264e2edc.tar.gz
(raptor_xml_start_element_handler): Normalize language to lowercase.
After http://www.w3.org/TR/rdf-concepts/#dfn-language-identifier Controlled by a new parser feature 'normalize_language'.
Diffstat (limited to 'src/raptor_rdfxml.c')
-rw-r--r--src/raptor_rdfxml.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/raptor_rdfxml.c b/src/raptor_rdfxml.c
index dba6f7ba..9189c02b 100644
--- a/src/raptor_rdfxml.c
+++ b/src/raptor_rdfxml.c
@@ -732,7 +732,24 @@ raptor_xml_start_element_handler(void *user_data,
raptor_parser_fatal_error(rdf_parser, "Out of memory");
return;
}
- strcpy((char*)xml_language, (char*)atts[i+1]);
+
+ if(rdf_parser->feature_normalize_language) {
+ char *from=(char*)atts[i+1];
+ char *to=xml_language;
+
+ /* Normalize language to lowercase
+ * http://www.w3.org/TR/rdf-concepts/#dfn-language-identifier
+ */
+ while(*from) {
+ if(isupper(*from))
+ *to++ =tolower(*from++);
+ else
+ *to++ =*from++;
+ }
+ *to='\0';
+ } else
+ strcpy((char*)xml_language, (char*)atts[i+1]);
+
atts[i]=NULL;
continue;
}