[jdom-interest] Parsing a MODS-document with validation fails
Thomas Scheffler
thomas.scheffler at uni-jena.de
Mon Jul 25 00:05:00 PDT 2011
Am 24.07.2011 23:46, schrieb Bradley S. Huffman:
> And if the prefix "ns1" is already mapped to another URI because the
> user decided to use "ns1" as a prefix, what kind of havoc will this
> cause?
I got your point! We have to check if "ns"+nsPrefixCount is already
defined, if we create it. I do not know though if that is enough. We can
do this for the current element and be sure of that. But if for
instance we have three tag: "a","b","c", where "a" is parent of "b" an
that is parent of "c". There could be an issue if "a" defines a
namespace with prefix "ns?" that is in use by "c" and not by "b".
When it comes to "b" we see the namespace prefix is currently undefined.
And bound it to the new uri. This way the namespace in c changes.
So we have to drag every usage of a prefix throughout the document with
the "endPrefixMapping" event, that is currently missing an
implementation in SAXHandler.
Do you agree?
regards,
Thomas
>
> On Fri, Jul 22, 2011 at 4:08 PM, Thomas Scheffler
> <thomas.scheffler at uni-jena.de> wrote:
>> Am 22.07.2011 22:53, schrieb Bradley S. Huffman:
>>>
>>> I'm not sure about a patch that makes up a namespace prefix. From the
>>> patch
>>>
>>> nsPrefixCount++;
>>> ns = Namespace.getNamespace("ns" + nsPrefixCount, attUri);
>>>
>>>
>>> Seems like a kludge. My gut says it's something else.
>>
>> This is how it is done by the Oracle JAVA DocumentBuilder. JDOM won't accept
>> a namespace without a prefix so you have to build some as the SAXParser
>> delivers an attribute with QName=LocalName. Before that I take a look in
>> predeclared namespaces, so that any prefix that is bound to an URI is used
>> before building a new one. For the testing case I submitted in my original
>> mail, "xlink" is found correctly which makes it more beautiful than the
>> DocumentBuilder solution that creates "ns0" on every element with xlink:type
>> set fixed to "simple". Hope you can follow my arguments.
>>
>> regards,
>>
>> Thomas
More information about the jdom-interest
mailing list