OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Notations in XSD - a bug???



[Anderson, John]
>
> There appears to be a conflict in the XSD spec for notation declarations.
> 3.12.1 gives the following as properties of the notation schema component:
>
> {system identifier} Optional if {public identifier} is present. A URI
> reference.
> {public identifier} Optional if {system identifier} is present. A public
> identifier, as defined in [XML 1.0 (Second Edition)].
>
> However, 3.12.2 (XML Representation) indicates that a public identifier is
> mandatory. This would be a seemingly unnecessary divergence from XML1.0
> which doesn't require public id (so long as system id is present). The IBM
> SQC complains about it if a public id is missing, XMLSpy doesn't and I
> haven't tested any others.
>
> Anyone care to clarify this? In any case, this is a bug in the spec, but I
> presume 3.12.1 is correct unless someone can definitively tell me
otherwise.
>

I can't clarify it authoritatively, but I have noticed a few things.  First
of all, I take it that you are referring to thie missing expression in
section 3.12.2 "if present, otherwise absent" - this phrase is used for the
"system identifier" property but not for the "public identifier" property.
Since it is present in the one but not in the other, one would normally
assume the difference is significant, but this view would be contradicted by
section 3.12.1, which clearly says the public identifier is optional.

What I noticed is that the "target namespace" property is in the same
position - optional in 3.12.1, not explictly stated in 3.12.2.  However, the
xml example given in 3.12.2 does not include a "targetNamespace" attribute.
So here we have an example that acts as if the property is optional in
agreement with 3.12.1.

I infer that 1) the example represents what was intended for the
targetNamespace, and 2) the public identifier is similarly optional.

Not exactly authoritative, but convincing to me.

Cheers,

Tom P