aspose file tools*
The moose likes XML and Related Technologies and the fly likes Parse/Validate with DSIG schema issue Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » XML and Related Technologies
Bookmark "Parse/Validate with DSIG schema issue" Watch "Parse/Validate with DSIG schema issue" New topic
Author

Parse/Validate with DSIG schema issue

Jim Janssens
Ranch Hand

Joined: Sep 24, 2004
Posts: 210
I'm trying to validate a digital XML signature (which corresponds to the XML dsig xsd). In order to do this, I downloaded the schema from: http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd

When validating, I get an error like 'element Signature not found', which smells like the parser being unable to find the schema. But, it works perfectly with other schema's, just not with this one.

After some time fiddling around, I found that there is a DOCTYPE in the schema (any one knows why they put a doctype in an xml schema ? I don't understand this) . After removing the doctype, everything works. So the parser is trying to validate against the DTD and the XML schema, but it could not find the DTD and that gave the error.

Now, I'm not happy with this solution (removing the doctype). I feel that it is bad to change the original schema, even if it is a very small modification. So I want to tell the parser that it should totally ignore the Doctypes in the XSD and only perform the schema validation.




That should do it accordinhg to the xerces FAQ on http://xerces.apache.org/xerces2-j/faq-pcfp.html ("How can I tell the parser to validate against XML Schema and not to report DTD validation")

It does indeed work, the parser does not uses the DTD anymore, BUT it still expects to FIND the DTD. So I still get an error:

Error: URI=null Line=2: schema_reference.4: Failed to read schema document 'null', 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>.
Error: URI=null Line=2: cvc-elt.1: Cannot find the declaration of element 'Signature'. class org.apache.xerces.jaxp.DocumentBuilderImpl

When I add an EntityResolver that returns an empty 'DTD', it works:



Is there any other, more clean, solution for this ?
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Parse/Validate with DSIG schema issue