[OAI-implementers] doubts about xmlschema in OAI

Hussein Suleman hussein@vt.edu
Sun, 18 Nov 2001 12:34:30 -0500


while it is true that namespace attributes can be used to disambiguate, 
the root tag of the metadata ("dc" or "oai_dc") has to belong to some 
namespace to be validifiable.

as it stands, that tag is defined in the schema for dc, and it is named 
"dc" so i believe that if you use "oai_dc" it is just simply not correct 
as far as schema validity goes.

and the problem doesnt end here, because with "lax" validation you can 
put any nonsense into your record and call it "dc" xml ...

i agree somewhat with Xiaoming and i have raised this issue before in 
the context of the repository explorer. the problem is that people with 
exotic data types may not have the know-how to write schemas. so its a 
dilemma: either we exclude people who cant write schemas or we allow 
people to ignore schemas altogether ... right now we are doing the 
latter and i dont know if that is reasonable.

we need to think this through more carefully ...


Tim Brody wrote:

> Hi,
> If I understand your query correctly, Chris (of e-prints) and I had a
> discussion about this some time ago.
> The conclusion we came to was that you should use the namespace attribute
> rather than the name of the metadata enclosure (be it "dc" or "oai_dc"), to
> identify the type of metadata.
> I believe you can perform XSLT based on attribute values?
> All the best,
> Tim Brody
> ----- Original Message -----
> From: "Xiaoming Liu" <liu_x@cs.odu.edu>
> To: <oai-implementers@oaisrv.nsdl.cornell.edu>
> Sent: Saturday, November 17, 2001 7:11 AM
> Subject: [OAI-implementers] doubts about xmlschema in OAI
>>In OAI_GetRecord.xsd, it specifies
>><complexType name="metadataType">
>> <sequence>
>>  <any namespace="##other" processContents="lax"/>
>> </sequence>
>>and in dc.xsd, it specifies like
>><element name="dc" type="dc:dublincoreType"/>
>><complexType name="dublincoreType">
>>The question is: If we use "processContents="lax" in OAI_GetRecord.xsd,
>>xmlschema validator will treat
>><GetRecord>....<xxx_dc><title>...</title></xxx_dc>..</GetRecord>  as
>>but <xxx_dc>...</xxx_dc> may not be the right format in our intention, it
>>passes schema validator only because processContents="lax" is used in
>>Get_Record.xsd. We probably want to always use <dc>....<dc>.
>>I have this doubt when I try to process OAI response with XSLT, the arXiv
>>uses <oai_dc>...</oai_dc>, it passed oaiexplorer test and other schema
>>validator (oracle and XMLSpy). But this really brings some troubles to
>>XSLT processing.
>>If I change Get_record.xsd to processContents="strict", this problem will
>>be reported by schema validator.
>>Do we have special reason of using processContents="lax"?
>>Xiaoming Liu
>>OAI-implementers mailing list
> _______________________________________________
> OAI-implementers mailing list
> OAI-implementers@oaisrv.nsdl.cornell.edu
> http://oaisrv.nsdl.cornell.edu/mailman/listinfo/oai-implementers

hussein suleman - hussein@vt.edu - vtcs - http://www.husseinsspace.com