[oXygen-user] XML Catalog puzzle

Gary Gapinski
Tue Dec 22 10:58:19 CST 2015


Hello, Adrian:

On 12/22/2015 08:41 AM, Oxygen XML Editor Support (Adrian Buza) wrote:

> When relying on the namespace instead of an explicit schema 
> association (xsi:schemaLocation), Oxygen only associates one schema 
> for the root element namespace of the XML instance. Any other 
> namespaces from the XML instance are ignored.

I have since confirmed this.

Were it feasible, a promiscuous, sub-root, implicit namespace to schema 
mapping would be beneficial. That would provide a comprehensive implicit 
association based solely on namespace (of course requiring appropriate 
XML Catalog mappings to be supplied).

> Why do you consider using xsi:schemaLocation is a problem?
> As long as you have an XML catalog that resolves the schema location, 
> it doesn't really matter what location is being used.

I was unsure of this, but will consider it (particularly for unlinked 
sub-schemas, such as in OVAL). Now that you have pointed that out, I 
will use it where necessary (I have found yet another example here 
<http://scap.nist.gov/schema/scap/1.2/scap-source-data-stream_1.2.xsd>, 
which falls prey to the same disjointed nature of the OVAL schemata). 
I'd prefer to rely solely on namespace whenever possible.

I continue to find a non-trivial amount of inferior xsi:schemaLocation 
usage in many documents from various sources. These typically result in 
failed validations due to non-existent relative references, failed 
absolute references to external sources, and the like.

> Instead of using a canonical location, you could use the actual 
> namespace as the schema location in xsi:schemaLocation and it would 
> work in Oxygen.
> e.g.
> <oval_definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     
> xsi:schemaLocation="http://oval.mitre.org/XMLSchema/oval-definitions-5 
> http://oval.mitre.org/XMLSchema/oval-definitions-5 
> http://oval.mitre.org/XMLSchema/oval-definitions-5#independent 
> http://oval.mitre.org/XMLSchema/oval-definitions-5#independent" ...
>
> The alternative is to modify the main XML schema (or create another 
> main XML schema) to import all namespaces that are used in the XML 
> instance.

I have tried the latter, which worked well, and will likely additionally 
adopt the former method.

Thanks much for the explanations.

Regards,

Gary


More information about the oXygen-user mailing list