XML problems with percent encoding

Dear all,
we (especially Matthias Weidl @ KAIST)  are currently working on 
producing a Korean DBpedia.
We encountered a problem again that we are not really able to solve but 
can only produce a workaround. The property URIs in korean completely 
have special Characters. If we try to URL encode them, serialisation in 
RDF/XML is bound to fail.

For a property like:
http://dbpedia.org/property/l%E3%A4ngengrad
Jena produces the following:
<ns0:ngengrad xmlns:ns0="http://dbpedia.org/property/l%E3%A4">
because % is not a valid character in an XML tag.
But if the property only contains special characters, it can not work 
any more:
http://ko.dbpedia.org/property/%EA%B4%91%EC%9E%90

In DBpedia we created a work around for this, replacing % with _percent_
but it is clearly not a satisfactory solution.

How shall we resolve this matter?
Is XML conformity still necessary or is there a motion to only use 
turtle in the future?

Regards,
Sebastian Hellmann, AKSW
PS: please use reply all

Christopher Jona Sahnwaldt schrieb:
> Robert hat's gerade ausprobiert - Jena verwendet einen
> Hack und macht z.B. aus der Property URI
> http://dbpedia.org/property/l%E3%A4ngengrad
> folgendes XML:
> 
> <ns0:ngengrad xmlns:ns0="http://dbpedia.org/property/l%E3%A4">
> 
> Dieser Hack funktioniert nicht bei Property URIs, die mit
> einem URI-codierten Zeichen aufhören - bei denen wäre
> der Elementname leer...
> 
> 
> 2009/11/16 Christopher Jona Sahnwaldt <christopher@sahnwaldt.de>:
>> https://sourceforge.net/tracker/?func=detail&aid=2434538&group_id=190976&atid=935520
>>
>> Bug report von Sven Hartrumpf:
>>
>> Some URLs contain one ore more _percent_ parts where I would expect a
>> simple %
>>
>> ---
>>
>> Antwort von Richard:
>>
>> This is intentional. It is only for property URIs. Property URIs containing
>> the % sign in the local name cannot (cleanly) be serialized in RDF/XML,
>> therefore the % sign is encoded again.
>>
>> It's really ugly and probably not an optimal solution.
>>
>> ---
>>
>> Sprich: RDF/XML verwendet XML Elemente für Predicates. Die
>> Namen der Elemente werden aus den URIs der Predicates
>> generiert. In Namen von XML-Elementen sind Prozentzeichen
>> nicht erlaubt, also dürfen die URIs unserer Predicates keine
>> Prozentzeichen enthalten.
>>
>> Ich habe eine Weile im Web gesucht, aber keine Lösung
>> für dieses Problem gefunden. Anscheinend sind wir die
>> ersten, die darüber stolpern...
>>
>> Gruß,
>> Christopher
>>



-- 
Dipl. Inf. Sebastian Hellmann
Department of Computer Science, University of Leipzig
Homepage: http://bis.informatik.uni-leipzig.de/SebastianHellmann
Research Group: http://aksw.org

Received on Tuesday, 17 November 2009 09:16:58 UTC