Package uk.ac.starlink.ttools.votlint
Class FudgeNamespaceContentHandler
- java.lang.Object
-
- uk.ac.starlink.ttools.votlint.FudgeNamespaceContentHandler
-
- All Implemented Interfaces:
org.xml.sax.ContentHandler
public class FudgeNamespaceContentHandler extends java.lang.Object implements org.xml.sax.ContentHandlerThis 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
-
-
Constructor Summary
Constructors Constructor Description FudgeNamespaceContentHandler(org.xml.sax.ContentHandler base, java.lang.String tagName, java.lang.String ns)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcharacters(char[] ch, int start, int length)voidendDocument()voidendElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)voidendPrefixMapping(java.lang.String prefix)voidignorableWhitespace(char[] ch, int start, int length)voidprocessingInstruction(java.lang.String target, java.lang.String data)voidsetDocumentLocator(org.xml.sax.Locator locator)voidskippedEntity(java.lang.String name)voidstartDocument()voidstartElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)voidstartPrefixMapping(java.lang.String prefix, java.lang.String uri)
-
-
-
Constructor Detail
-
FudgeNamespaceContentHandler
public FudgeNamespaceContentHandler(org.xml.sax.ContentHandler base, java.lang.String tagName, java.lang.String ns)Constructor.- Parameters:
base- downstream SAX event sinktagName- name of element within which namespace hacking should take placens- namespace to insert
-
-
Method Detail
-
setDocumentLocator
public void setDocumentLocator(org.xml.sax.Locator locator)
- Specified by:
setDocumentLocatorin interfaceorg.xml.sax.ContentHandler
-
startDocument
public void startDocument() throws org.xml.sax.SAXException- Specified by:
startDocumentin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
endDocument
public void endDocument() throws org.xml.sax.SAXException- Specified by:
endDocumentin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
startPrefixMapping
public void startPrefixMapping(java.lang.String prefix, java.lang.String uri) throws org.xml.sax.SAXException- Specified by:
startPrefixMappingin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
endPrefixMapping
public void endPrefixMapping(java.lang.String prefix) throws org.xml.sax.SAXException- Specified by:
endPrefixMappingin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
startElement
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts) throws org.xml.sax.SAXException- Specified by:
startElementin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
endElement
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException- Specified by:
endElementin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
characters
public void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException- Specified by:
charactersin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
ignorableWhitespace
public void ignorableWhitespace(char[] ch, int start, int length) throws org.xml.sax.SAXException- Specified by:
ignorableWhitespacein interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
processingInstruction
public void processingInstruction(java.lang.String target, java.lang.String data) throws org.xml.sax.SAXException- Specified by:
processingInstructionin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
skippedEntity
public void skippedEntity(java.lang.String name) throws org.xml.sax.SAXException- Specified by:
skippedEntityin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
-