uk.ac.starlink.vo
Class TableSetSaxHandler

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by uk.ac.starlink.vo.TableSetSaxHandler
All Implemented Interfaces:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler

public class TableSetSaxHandler
extends DefaultHandler

Parses an XML document which describes Tabular Data as prescribed by the VODataService standard. It will pick up <table> elements (of type vs:Table), or elements that look like them, to build a picture of the tables and their columns and foreign keys. XML documents of this type are exposed by VOSI and TAP services.

The easiest way to make use of this class is via the static method readTableSet(java.net.URL) or the convenience main(java.lang.String[]) method.

See Also:
IVOA VODataService Recommendation

Constructor Summary
TableSetSaxHandler()
          Constructor.
 
Method Summary
 void characters(char[] ch, int start, int length)
           
 void endDocument()
           
 void endElement(String uri, String localName, String qName)
           
 void endPrefixMapping(String prefix)
           
 SchemaMeta[] getSchemas()
          Returns the array of schema metadata objects which have been read by this parser.
 void ignorableWhitespace(char[] ch, int start, int length)
           
static void main(String[] args)
          Main method to parse a tableset from the command line.
 void processingInstruction(String target, String data)
           
static SchemaMeta[] readTableSet(URL url)
          Uses an instance of this class to read an XML document from a given URL and extract the TableMeta objects from it.
 void setDocumentLocator(Locator locator)
           
 void skippedEntity(String name)
           
 void startDocument()
           
 void startElement(String uri, String localName, String qName, Attributes atts)
           
 void startPrefixMapping(String prefix, String uri)
           
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
error, fatalError, notationDecl, resolveEntity, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TableSetSaxHandler

public TableSetSaxHandler()
Constructor.

Method Detail

getSchemas

public SchemaMeta[] getSchemas()
Returns the array of schema metadata objects which have been read by this parser. Only non-empty following a parse.

Returns:
schema descriptions

startDocument

public void startDocument()
Specified by:
startDocument in interface ContentHandler
Overrides:
startDocument in class DefaultHandler

endDocument

public void endDocument()
Specified by:
endDocument in interface ContentHandler
Overrides:
endDocument in class DefaultHandler

startElement

public void startElement(String uri,
                         String localName,
                         String qName,
                         Attributes atts)
Specified by:
startElement in interface ContentHandler
Overrides:
startElement in class DefaultHandler

endElement

public void endElement(String uri,
                       String localName,
                       String qName)
Specified by:
endElement in interface ContentHandler
Overrides:
endElement in class DefaultHandler

characters

public void characters(char[] ch,
                       int start,
                       int length)
Specified by:
characters in interface ContentHandler
Overrides:
characters in class DefaultHandler

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
Specified by:
ignorableWhitespace in interface ContentHandler
Overrides:
ignorableWhitespace in class DefaultHandler

startPrefixMapping

public void startPrefixMapping(String prefix,
                               String uri)
Specified by:
startPrefixMapping in interface ContentHandler
Overrides:
startPrefixMapping in class DefaultHandler

endPrefixMapping

public void endPrefixMapping(String prefix)
Specified by:
endPrefixMapping in interface ContentHandler
Overrides:
endPrefixMapping in class DefaultHandler

processingInstruction

public void processingInstruction(String target,
                                  String data)
Specified by:
processingInstruction in interface ContentHandler
Overrides:
processingInstruction in class DefaultHandler

skippedEntity

public void skippedEntity(String name)
Specified by:
skippedEntity in interface ContentHandler
Overrides:
skippedEntity in class DefaultHandler

setDocumentLocator

public void setDocumentLocator(Locator locator)
Specified by:
setDocumentLocator in interface ContentHandler
Overrides:
setDocumentLocator in class DefaultHandler

readTableSet

public static SchemaMeta[] readTableSet(URL url)
                                 throws IOException,
                                        SAXException
Uses an instance of this class to read an XML document from a given URL and extract the TableMeta objects from it.

Parameters:
url - containing a TableSet document or similar
Throws:
IOException
SAXException

main

public static void main(String[] args)
                 throws IOException,
                        SAXException
Main method to parse a tableset from the command line.

Parameters:
args - first element is a URL to read from
Throws:
IOException
SAXException


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.