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: [email protected] [mailto:[email protected]] On Behalf Of Sorin Ristache Sent: 08 January 2009 10:50 To: [email protected] 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 [email protected] http://www.oxygenxml.com/mailman/listinfo/oxygen-user _______________________________________________ oXygen-user mailing list [email protected] http://www.oxygenxml.com/mailman/listinfo/oxygen-user
