Class FudgeNamespaceContentHandler

java.lang.Object
uk.ac.starlink.ttools.votlint.FudgeNamespaceContentHandler
All Implemented Interfaces:
ContentHandler

public class FudgeNamespaceContentHandler extends Object implements ContentHandler
This class provides a hack so that XSD validation can work even when the wrong namespace is declared in the source document. The point of this is that if the document has made a small namespacing error, schema validation by default will simply refuse to recognise any of the elements and provide no further validation reporting. This class hacks the SAX event stream to its downstream client so that if no namespace declaration has been received in the expected namespace, the default namespace is declared as the expected one. If the expected namespace is declared explicitly, this class makes no change to downstream SAX events.

This is not very respectable, but will have the desired effect for most VOTable documents (which do not in any case make much use of namespacing).

Since:
22 Nov 2012
Author:
Mark Taylor