[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