Re: Parsing a MODS-document with validation fails

Thomas Scheffler <[email protected]>
Newsgroups gmane.comp.java.jdom.general
Organization Friedrich-Schiller-Universität Jena
Message-ID <[email protected]>
Am 21.07.2011 04:18, schrieb Bradley S. Huffman:
> Which version of JDOM?  My first guess is it is something in XMLOutputter.

This is the latest and greatest 1.1.1. I would not suspect XMLOutputter 
here as it usually does not have any problems with namespaces. This 
seems to be a parsing issue.

regards

Thomas Scheffler

>
> On Wed, Jul 20, 2011 at 8:23 AM, Thomas Scheffler
> <[email protected]>  wrote:
>> Hi,
>>
>> if I parse a valid MODS document with XML Schema validation, JDOM changes
>> attributes as it handles default values of schema not correctly (by ignoring
>> the namespace).
>>
>> Here is a short code to demonstrate this:
>>
>> SAXBuilder builder = new SAXBuilder(true);
>> builder.setFeature("http://xml.org/sax/features/namespaces", true);
>> builder.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
>> builder.setFeature("http://apache.org/xml/features/validation/schema",
>> true);
>>
>> Document document = builder.build(new
>> URL("http://academiccommons.columbia.edu/download/fedora_content/show_pretty/ac:111060/CONTENT/ac111060_description.xml"));
>> XMLOutputter xout = new XMLOutputter(Format.getPrettyFormat());
>> xout.output(document, System.out);
>>
>> Here is a result fragment:
>>
>> <name type="simple">
>> <namePart type="family">Edwards</namePart>
>> <namePart type="given">Stephen A.</namePart>
>> <role>
>> <roleTerm type="text">author</roleTerm>
>> </role>
>> <affiliation>Columbia University. Computer Science</affiliation>
>> </name>
>>
>> If you look at the original document you can see, that @type of name is
>> "personal". The "simple" comes from the xlink XML-Schema that was included
>> by the MODS-Schema. Therefor the result fragment should look like this:
>>
>> <name type="personal" xlink:type="simple">
>> <namePart type="family">Edwards</namePart>
>> <namePart type="given">Stephen A.</namePart>
>> <role>
>> <roleTerm type="text">author</roleTerm>
>> </role>
>> <affiliation>Columbia University. Computer Science</affiliation>
>> </name>
>>
>> If I use DOM from Java this is done correctly (but a bit ugly as it does not
>> use the namespace prefix already defined).
>>
>> Could someone just fix this, please?


-- 
Thomas Scheffler
Friedrich-Schiller-Universität Jena
Thüringer Universitäts- und Landesbibliothek
Bibliotheksplatz 2
07743 Jena
Phone: ++49 3641 940027
FAX:   ++49 3641 940022
_______________________________________________
To control your jdom-interest membership:
http://www.jdom.org/mailman/options/jdom-interest/[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.