Hi Kevin,
First, your verifier should still detect errors in the VOResource part regardless of the no-name namespace on the Resource element. The reason is that you say 'xsi:type="vr:..."'. The vr prefix ties the contents of the element to the vr namespace.
I have code that checks the validity of OAI records, including the VOResource contents that uses the Xalan verifying parser, and it works fine, detecting errors and everything. I'll give some details below
In the meantime, I was looking into how to define the Resource element in the no-name namespace, and it gets tricky. Right now in the WSDLs, Resource is defined in RegistryInterface.xsd as a local element quite cleanly. In order to define it as part of targetnamespace="" and share it between RegistrySearch.wsdl, RegistryHarvest.wsdl *and* the OAI instance records (which is what started this discussion), we would need to define another schema in a separate file.
I see our alternatives as the following:
...
<metadata>
<ri:Resource xsi:type="vg:Registry"
created="2006-07-01T09:00:00" updated="2006-07-10T10:43:43"
xmlns:ri="http://www.ivoa.net/xml/ResourceInterface/v1.0"
xmlns:vr="http://www.ivoa.net/xml/VOResource/v1.0"
xmlns:vg="http://www.ivoa.net/xml/VORegistry/v1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=""
xsi:schemaLocation="http://www.ivoa.net/xml/VOResource/v1.0
http://www.ivoa.net/xml/VOResource/v1.0
http://www.ivoa.net/xml/VORegistry/v1.0
http://www.ivoa.net/xml/VORegistry/v1.0
http://www.ivoa.net/xml/RegistryInterface/v1.0
http://www.ivoa.net/xml/RegistryInterface/v1.0">
<title>...</title>
Note the use of xmlns="" above.
3. Add a global Resource element to the VOResource schema. The OAI
record would look just like above except
o Resource would be qualified with vr instead of ri
o the xmlns:ri definition would be unnecessary
I'm not crazy about this one for the reasons outlined in the
VOResource spec regarding global elements; however, it does make
the OAI record slightly simpler. Note that doing so, though,
does not disable any functionality.
4. We define a separate schema file with the no-name namespace that
defines Resource as a global element. The OAI record could
remain as it is now (e.g.
http://nvo.ncsa.uiuc.edu/cgi-bin/rofr/oai.pl?verb=GetRecord&identifier=ivo://ivoa.net/rofr&metadataPrefix=ivo_vor);
the SOAP messages would get a bit clunkier. I think this is the
least attractive option to me.
Options 1 and 2 are most attractive to me.
cheers,
Ray
PS: about using Xalan to validate...
Note that with this parser, you must explicitly turn on XML schema support...
parser.setFeature(NAMESPACES_FEATURE_ID, true);
parser.setFeature(VALIDATION_FEATURE_ID, true);
parser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
parser.setFeature(SCHEMA_FULL_CHECKING_FEATURE_ID, true);
parser.setProperty(EXTERNAL_SCHEMA_LOCATION,
schemaloc.getSchemaLocation());
where,
protected static final String NAMESPACES_FEATURE_ID =
"http://xml.org/sax/features/namespaces"; protected static final String VALIDATION_FEATURE_ID =
"http://xml.org/sax/features/validation"; protected static final String SCHEMA_VALIDATION_FEATURE_ID =
"http://apache.org/xml/features/validation/schema"; protected static final String SCHEMA_FULL_CHECKING_FEATURE_ID =
"http://apache.org/xml/features/validation/schema-full-checking"; protected static final String EXTERNAL_SCHEMA_LOCATION =
"http://apache.org/xml/properties/schema/external-schemaLocation";
If desired, I can send you the whole code.
Note that there is very little that is special about the way the no-name namespace is handled during validation. It is simply a namespace equal to the empty string. It does not mean that it is un-validate-able.
> Or if you say the OAI individual Resource elements (with nonamespace)
> can be validated with not much problem and you know of a way to
> represent a nonamespace Resource element in the wsdl like we said we
> would do in Moscow. Then I am quite happy for that.
For the wsdl
>
> Many Thanks for any help and answers.
>
> cheers,
> Kevin
>
> p.s. resending this my mail system seems to be stopping for some reason.
>
Received on 2006-09-27Z18:27:14