Class Namespacing

java.lang.Object
uk.ac.starlink.votable.Namespacing

public abstract class Namespacing extends Object
Determines how namespaces are handled in VOTable documents. The static getInstance() method provides an object which encapsulates the default namespacing policy.
Since:
1 Sep 2009
Author:
Mark Taylor
  • Field Details

    • POLICY_PROP

      public static final String POLICY_PROP
      Name of system property which determines namespacing policy used. Property name is "votable.namespacing". Possible values are "none", "lax", "strict" or the classname of a Namespacing implementation which has a no-arg constructor.
      See Also:
    • NONE

      public static final Namespacing NONE
      No namespace awareness; any namespacing will probably confuse parser.
    • LAX

      public static final Namespacing LAX
      Interpret likely-looking elements in any namespace as VOTable ones.
    • STRICT

      public static final Namespacing STRICT
      Only elements in namespaces with VOTable URIs are significant.
  • Constructor Details

    • Namespacing

      public Namespacing(String name)
      Constructor.
      Parameters:
      name - concise human-readable name describing this policy
  • Method Details

    • configureSAXParserFactory

      public abstract void configureSAXParserFactory(SAXParserFactory spfact)
      Performs any necessary configuration of the namespacing capabilities of a given parser factory for use with this namespacing policy.
      Parameters:
      spfact - factory to configure
    • getVOTagName

      public abstract String getVOTagName(String namespaceURI, String localName, String qName)
      Returns the VOTable tagname for an XML element as encountered by a SAX parser. The return value is a bare string which may be compared to one of the VOTable element names ignoring namespaces; for instance a return value of "TABLE" indicates that this is a VOTable TABLE element.

      The parameters have the same meanings, and may or may not be present as for, those in ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes).

      Parameters:
      namespaceURI - namespace URI
      localName - local name
      qName - qualified name
      Returns:
      element name in VOTable namespace
    • getVOTagName

      public String getVOTagName(Element el)
      Returns the VOTable tagname for an XML element as present in a DOM. The return value is a bare string which may be compared to one of the VOTable element names ignoring namespaces; for instance a return value of "TABLE" indicates that this is a VOTable TABLE element.
      Parameters:
      el - element
      Returns:
      element name in VOTable namespace
    • toString

      public String toString()
      Returns the name of this namespacing policy.
      Overrides:
      toString in class Object
      Returns:
      name
    • getInstance

      public static Namespacing getInstance()
      Returns the default Namespacing instance. The default value is determined by examining the POLICY_PROP system property. If not otherwise set the default is currently LAX.
      Returns:
      namespacing instance
    • setInstance

      public void setInstance(Namespacing instance)
      Sets the default instance.
      Parameters:
      instance - new default instance