Package uk.ac.starlink.votable
Class Namespacing
- java.lang.Object
-
- uk.ac.starlink.votable.Namespacing
-
public abstract class Namespacing extends java.lang.ObjectDetermines how namespaces are handled in VOTable documents. The staticgetInstance()method provides an object which encapsulates the default namespacing policy.- Since:
- 1 Sep 2009
- Author:
- Mark Taylor
-
-
Field Summary
Fields Modifier and Type Field Description static NamespacingLAXInterpret likely-looking elements in any namespace as VOTable ones.static NamespacingNONENo namespace awareness; any namespacing will probably confuse parser.static java.lang.StringPOLICY_PROPName of system property which determines namespacing policy used.static NamespacingSTRICTOnly elements in namespaces with VOTable URIs are significant.
-
Constructor Summary
Constructors Constructor Description Namespacing(java.lang.String name)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidconfigureSAXParserFactory(javax.xml.parsers.SAXParserFactory spfact)Performs any necessary configuration of the namespacing capabilities of a given parser factory for use with this namespacing policy.static NamespacinggetInstance()Returns the default Namespacing instance.abstract java.lang.StringgetVOTagName(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)Returns the VOTable tagname for an XML element as encountered by a SAX parser.java.lang.StringgetVOTagName(org.w3c.dom.Element el)Returns the VOTable tagname for an XML element as present in a DOM.voidsetInstance(Namespacing instance)Sets the default instance.java.lang.StringtoString()Returns the name of this namespacing policy.
-
-
-
Field Detail
-
POLICY_PROP
public static final java.lang.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 aNamespacingimplementation which has a no-arg constructor.- See Also:
- Constant Field Values
-
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.
-
-
Method Detail
-
configureSAXParserFactory
public abstract void configureSAXParserFactory(javax.xml.parsers.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 java.lang.String getVOTagName(java.lang.String namespaceURI, java.lang.String localName, java.lang.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 URIlocalName- local nameqName- qualified name- Returns:
- element name in VOTable namespace
-
getVOTagName
public java.lang.String getVOTagName(org.w3c.dom.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 java.lang.String toString()
Returns the name of this namespacing policy.- Overrides:
toStringin classjava.lang.Object- Returns:
- name
-
getInstance
public static Namespacing getInstance()
Returns the default Namespacing instance. The default value is determined by examining thePOLICY_PROPsystem property. If not otherwise set the default is currentlyLAX.- Returns:
- namespacing instance
-
setInstance
public void setInstance(Namespacing instance)
Sets the default instance.- Parameters:
instance- new default instance
-
-