Hi Michael, The problem seems to be this initial declaration in the xmldsig-core-schema.xsd:
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" [ <!ATTLIST schema xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#"> <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'> <!ENTITY % p ''> <!ENTITY % s ''> ]> If I remove that section from the xsd file, then there's no problem using the catalog with the SchemaFactory. If the declaration is there I get the error message mentioned previously. XMLSchema.dtd is referenced in that declaration. I've tried to solve the problem by writing this in the xml catalog: <public publicId = "-//W3C//DTD XMLSchema 200102//EN" uri="/path/to/XMLSchema.dtd"/> , keeping a local copy of XMLSchema.dtd. I've also tried putting: <public publicId="http://www.w3.org/2000/09/xmldsig#" uri="/path/to/xmldsig-core-schema.xsd"/> No luck with any of those. So status is that cutting out the DOCTYPE declaration from the xmldsig-core-schema makes it possible to validate all schemas locally with the catalog, otherwise not. Regarding your question if I tried opening an InputStream with java.net.URL I'm not sure what you want me to accomplish? In short, a schema I have makes use of elements from xmldsig-core-schema, and I would simply like to be able to do my schema validation with a local copy of this schema rather than having Xerces SchemaValidator be dependant on establishing a connection to: http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd (I think I gave an incorrect address to this schema in my previous mail) Thanks, Simon On Dec 3, 2007 2:19 AM, Michael Glavassevich <[EMAIL PROTECTED]> wrote: > Hi Simon, > > "file:/path/to/xmldsig-core/xmldsig-core-schema.xsd" seems like the correct > result for the "rewriteSystem" you wrote. What are you expecting to get as > the resolved URI from the catalog resolver? Have you tried opening an > InputStream for this URI yourself with java.net.URL? > > Thanks. > > Michael Glavassevich > XML Parser Development > IBM Toronto Lab > E-mail: [EMAIL PROTECTED] > E-mail: [EMAIL PROTECTED] > > "Simon Bøggild" <[EMAIL PROTECTED]> wrote on 12/02/2007 02:06:23 PM: > > > > Hi, > > > > I'm trying to use XMLCatalogResolver as the ResourceResolver for a > > SchemaFactory when validating schemas. I've created a catalog file > > following the > http://www.oasis-open.org/committees/entity/spec-2001-08-06.html > > . > > In the schemas that I check I have references to external schemas on > > the Internet, which is why I'm interested in keeping a local copy of > > those, and use a xml catalog to make the re-references when parsing > > schemas with SchemaFactory. It goes well for most of the referenced > > schemas, except when it comes to a particular schema: > > > http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd > . > > For some reason the local copy I'm re-referencing to is not enough to > > make the schema validate. I'm getting the following error when > > SchemaFactory tries to parse it: > > > > org.xml.sax.SAXParseException: schema_reference.4: Failed to read > > schema document 'file:/path/to/xmldsig-core/xmldsig-core-schema.xsd', > > because 1) could not find the document; 2) the document could not be > > read; 3) the root element of the document is not <xsd:schema>. > > > > The schema is imported the following way from one of the schemas I use: > > > > <import namespace="http://www.w3.org/2000/09/xmldsig#" > > schemaLocation="http://www.w3.org/TR/xmldsig- > > core/xmldsig-core-schema.xsd"/> > > > > I'm suspecting the problem might have something to do with the > > namespace, which contains the '#' symbol? The xmldsig-core-schema does > > not import any schemas itself. > > > > I've tried using a rewrite like this: > > <rewriteSystem systemIdStartString="http://www.w3.org/TR/xmldsig-core/" > > rewritePrefix="file:///path/to/xmldsig-core/"/> > > > > and I've also tried a systemId: > > <system systemId=" > http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" > > uri="/path/to/xmldsig-core/xmldsig-core-schema.xsd"/> > > > > No matter how I seem to make the catalog I get the SAXParseException > > when SchemaFactory tries to parse the local xmldsig-core.schema file. > > All schemas are validated without any problems without the catalog. > > > > How is it possible to correct the catalog to solve the problem? > > > > Thanks, > > Simon > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]