Cannot locate a schema for namespace ...

Hi, I have a project to implement RFC4930 (EPP). The RFC provides two schemas that define the XML formats for the messages passed in the emplementation: http://www.faqs.org/rfcs/rfc4930.html The schemas are in section 4 (Formal Syntax), paras 1 and 2. I've created an oXygen project for this, and added two files: one for the "Base Schema", and one for the "Shared Structure" schema. I've called these, respectively: * Rfc4930.xsd * Rfc4930Types.xsd However, the former (Rfc4930.xsd) will not validate in oXygen. Saxon gives a warning: SystemID: C:\Projects\RFC4930\Rfc4930.xsd Location: 8:60 Description: [SaxonSA] Cannot locate a schema for namespace urn:ietf:params:xml:ns:eppcom-1.0 This is followed by two errors: SystemID: C:\Projects\RFC4930\Rfc4930.xsd Location: 181:0 Description: [SaxonSA] The type {clIDType} is referenced, but has not been declared SystemID: C:\Projects\RFC4930\Rfc4930.xsd Location: 300:0 Description: [SaxonSA] The type {minTokenType} is referenced, but has not been declared I guess that the errors are occurring because the schema cannot be found. Can anyone explain to me what I have to do to get the types declared? I tried including the types document in the base schema, but that didn't help things. I guess the problem is fairly straightforward, but it appears nevertheless to be beyond me. Thanks in advance Peter

Hello, The XML parser cannot know where to get the XML Schema for the namespace "urn:ietf:params:xml:ns:eppcom-1.0" if the resolver set to the parser does not map the namespace URI to the XML Schema file that defines the namespace: <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/> The resolver set to the XML parser by Oxygen cannot find the location of a schema file when only the target namespace is specified: You have to specify the location of the schema file too: <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="Rfc4930Types.xsd"/> Here I assumed that the file Rfc4930Types.xsd is located in the same directory as Rfc4930.xsd. We plan to enhance the XML Catalog resolver of Oxygen in a future version so that it can map a namespace URI to a schema location when the schemaLocation attribute is not specified, that is based on an XML catalog entry like: <uri name="urn:ietf:params:xml:ns:eppcom-1.0" uri="/path/to/file/Rfc4930Types.xsd"/> The XML catalog with such an entry would be set in Oxygen from menu Options -> Preferences -> XML -> XML Catalog. Regards, Sorin Bradley, Peter wrote:
Hi,
I have a project to implement RFC4930 (EPP).
The RFC provides two schemas that define the XML formats for the messages passed in the emplementation:
http://www.faqs.org/rfcs/rfc4930.html
The schemas are in section 4 (Formal Syntax), paras 1 and 2.
I've created an oXygen project for this, and added two files: one for the "Base Schema", and one for the "Shared Structure" schema. I've called these, respectively:
* Rfc4930.xsd * Rfc4930Types.xsd
However, the former (Rfc4930.xsd) will not validate in oXygen. Saxon gives a warning:
SystemID: C:\Projects\RFC4930\Rfc4930.xsd Location: 8:60 Description: [SaxonSA] Cannot locate a schema for namespace urn:ietf:params:xml:ns:eppcom-1.0
This is followed by two errors:
SystemID: C:\Projects\RFC4930\Rfc4930.xsd Location: 181:0 Description: [SaxonSA] The type {clIDType} is referenced, but has not been declared
SystemID: C:\Projects\RFC4930\Rfc4930.xsd Location: 300:0 Description: [SaxonSA] The type {minTokenType} is referenced, but has not been declared
I guess that the errors are occurring because the schema cannot be found.
Can anyone explain to me what I have to do to get the types declared? I tried including the types document in the base schema, but that didn't help things.
I guess the problem is fairly straightforward, but it appears nevertheless to be beyond me.
Thanks in advance
Peter

Hi Sorin, Many thanks for that. I'd never met this situation before and had no idea how to proceed: but when you explain it as you do, it all becomes clear. Apologies for my lack of Google-sense. When I Google for "xml schema import" I get the answer - by inference - in the first item returned. So Googling the error message as I did turns out not to have been a good idea! Isn't hindsight wonderful? So, another problem solved: another item learnt. That's what I love about this job. Thanks again Peter -----Original Message----- From: oxygen-user-bounces@oxygenxml.com [mailto:oxygen-user-bounces@oxygenxml.com] On Behalf Of Sorin Ristache Sent: 08 January 2009 10:50 To: oxygen-user@oxygenxml.com Subject: Re: [oXygen-user] Cannot locate a schema for namespace ... Hello, The XML parser cannot know where to get the XML Schema for the namespace "urn:ietf:params:xml:ns:eppcom-1.0" if the resolver set to the parser does not map the namespace URI to the XML Schema file that defines the namespace: <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/> The resolver set to the XML parser by Oxygen cannot find the location of a schema file when only the target namespace is specified: You have to specify the location of the schema file too: <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="Rfc4930Types.xsd"/> Here I assumed that the file Rfc4930Types.xsd is located in the same directory as Rfc4930.xsd. We plan to enhance the XML Catalog resolver of Oxygen in a future version so that it can map a namespace URI to a schema location when the schemaLocation attribute is not specified, that is based on an XML catalog entry like: <uri name="urn:ietf:params:xml:ns:eppcom-1.0" uri="/path/to/file/Rfc4930Types.xsd"/> The XML catalog with such an entry would be set in Oxygen from menu Options -> Preferences -> XML -> XML Catalog. Regards, Sorin Bradley, Peter wrote:
Hi,
I have a project to implement RFC4930 (EPP).
The RFC provides two schemas that define the XML formats for the messages passed in the emplementation:
http://www.faqs.org/rfcs/rfc4930.html
The schemas are in section 4 (Formal Syntax), paras 1 and 2.
I've created an oXygen project for this, and added two files: one for the "Base Schema", and one for the "Shared Structure" schema. I've called these, respectively:
* Rfc4930.xsd * Rfc4930Types.xsd
However, the former (Rfc4930.xsd) will not validate in oXygen. Saxon gives a warning:
SystemID: C:\Projects\RFC4930\Rfc4930.xsd Location: 8:60 Description: [SaxonSA] Cannot locate a schema for namespace urn:ietf:params:xml:ns:eppcom-1.0
This is followed by two errors:
SystemID: C:\Projects\RFC4930\Rfc4930.xsd Location: 181:0 Description: [SaxonSA] The type {clIDType} is referenced, but has not been declared
SystemID: C:\Projects\RFC4930\Rfc4930.xsd Location: 300:0 Description: [SaxonSA] The type {minTokenType} is referenced, but has not been declared
I guess that the errors are occurring because the schema cannot be found.
Can anyone explain to me what I have to do to get the types declared? I tried including the types document in the base schema, but that didn't help things.
I guess the problem is fairly straightforward, but it appears nevertheless to be beyond me.
Thanks in advance
Peter
oXygen-user mailing list oXygen-user@oxygenxml.com http://www.oxygenxml.com/mailman/listinfo/oxygen-user
participants (2)
-
Bradley, Peter
-
Sorin Ristache