[oXygen-user] XSD, catalog and PUBLIC IDs
Theun Fleer
Fri Feb 1 04:57:04 CST 2008
hi Sorin and Eliot
thank for your respones!
> As Sorin said, you can only use a DOCTYPE declaration to point to a
DTD.
>
> However, you can point to an XSD schema through a catalog but you
can't use an SGML-style PUBLIC ID
> to do it, you must use an absolute URI (e.g.,
> "http://www.example.com/doctypes/schemas/myschema/myschema.xsd").
> This is the because the schemaLocation attributes are defined as
mapping URIs to URIs and a PUBLIC ID
> is not a URI syntactically.
So, I changed my @xsi:schemaLocation to an URI
<?xml version="1.0" encoding="US-ASCII"?>
<be
xsi:noNamespaceSchemaLocation="http://www.daidalos/nl/puma/be-jur-off.xs
d"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
</be>
> If you are using the Xerxes parser (which is what Oxygen uses by
default), in your catalog, use
> system entries to map the absolute URI to a local version of it. This
is because Xerces implements
> the schemaLocation= and noNamespaceSchemaLocation= attributes as
though they were system identifiers
> and so uses system lookups against your catalog.
and I changed my catalog to
<system systemId="http://wwww.daidalos.nl/puma/be-jur-off.xsd"
uri="be-jur-off/be-jur-off.xsd"/>
<system systemId="http://wwww.daidalos.nl/puma/be-jur-com.xsd"
uri="be-jur-com/be-jur-com.xsd"/>
for Xerces and
<uri name="http://wwww.kluwer.nl/puma/be-jur-off.xsd"
uri="be-jur-off/be-jur-off.xsd"/>
<uri name="http://wwww.kluwer.nl/puma/be-jur-com.xsd"
uri="be-jur-com/be-jur-com.xsd"/>
for other parsers
and in oXygen / Xerxes it works like a charm; catalog is resolved and
validation is OK.
I will have to do some testing for others parsers we use in the project.
Thanks again!
groet
Theun
Drs. T. Fleer
Consultant
GSM: +31 (0)6 40 58 50 27
Daidalos BV
Source of Innovation
Hoekeindsehof 1-4
2665 JZ Bleiswijk
Tel.: +31 (0) 10 850 1200
Fax: +31 (0) 10 850 1199
www.daidalos.nl
KvK 27164984
De informatie - verzonden in of met dit emailbericht - is afkomstig van Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit bericht kunnen geen rechten worden ontleend.
More information about the oXygen-user
mailing list