What XML validator does XMLspy uses? I am running into an issue that I can validate an XML file against the schema using Oxygen but yet it is not valid when I use XMLSpy! does anyone has any general thoughts regarding this?
Thanks a lot :)
XMLSpy uses its own validation engine. Usually the problem is the other way around, that XMLSpy accepts things which other schema processors reject. Notoriously, Altova chose not to enforce the Unique Particle Attribution constraint.
Oxygen can be configured to use either Xerces or Saxon. Both are highly conformant with the W3C specifications, though there are a few grey areas (such as complex sequences of xs:redefines) where you will rarely get two processors to agree. Some things are explicitly implementation-defined in the W3C specs, such as limits on the range of dates accepted.
If you want more specific help you'll have to tell us what the schema, the instance, and the error messages from both products look like.
It's more common to get differences between products as to whether or not a schema is valid, rather than differences as to whether an instance is valid.
You can tell Oxygen to use a different validation engine through the configuration settings. If I'm not mistaken the default one is Xalan and you could trade it for MSXML or Saxon or ...
From the looks of it you can't do that in Altova and you're stuck with Altova's own validation engine (which is very strict apparently). I've read one forum post that hints to the use of a macro in XMLSpy to make use of an external system / validation engine. If you're up to it you could get that to work.
Without going into a discussion of which one of these programs (or others in its niche) is the better one and avoiding a similar discussion about the different validation engines available, I'd recommend you (and your team) pick one, preferably based on some research of course, and stick to it. If at one point the schema is also to be used by external parties, it will be the challenge of getting them to use the same one as you do. Depending on the case the external party or you will have to adjust preferences.