VO data types
A review of data types defined in the VO specifications.
VODataService
The
VODataService specification defines an XML schema for describing data collections and the services that access them.
This review refers to
version 1.1 (20101202) of the specification.
The data types defined in
VODataService are intended to be used to describe the data in VO data sets and the services and protocols used to access them.
DataType
DataType is a XML element defined in the
VODataService specification that is used as a common base class for defining data types.
DataType defines the following attributes:
TableDataType
TableDataType is a XML element defined in the
VODataService specification that is used as a common base class for defining data types for table columns.
TableDataType extends
DataType.
VOTableType
VOTableType is a XML element defined in the
VODataService specification that describes data types defined in the
VOTable specification.
VOTableType inherits the following attributes from
DataType:
VOTableType defines the following set of allowed values:
-
boolean
-
bit
-
unsignedByte
-
short
-
int
-
long
-
char
-
unicodeChar
-
float
-
double
-
floatComplex
-
doubleComplex
Notes:
VOTableType is described in
section 3.5.3 of the specification.
In the
VODataService specification,
VOTableType is described as
"data types that correspond to the parameter and column types defined in the VOTable schema"
In the
VODataService XML schema,
VOTableType is described as
"a data type supported explicitly by the VOTable format".
The definition of
VOTableType does not provide any further details about the sizes, ranges or content of the data types. It is left to the reader to refer to the
VOTable specification for details about the data types.
In the bibliography the reference to the
VOTable specification explicitly refers to
version 1.2 (20091130) of the specification, this has since been superceded by
version 1.3 (20130920).
The definition of
VOTableType states that string values of arbitrary length are represented by a data type of
char
with
arraysize="*"
. This excludes the option of using
unicodeChar
as the data type with
arraysize="*"
. An alternative would be to explicitly state
ASCII strings are represented by
char
with
arraysize="*"
and
unicode strings are represented by
unicodeChar
and
arraysize="*"
.
TAPDataType
TAPDataType is a XML element defined in the
VODataService specification that describes a base class for data types defined in the
TAP ADQL specification.
TAPDataType defines the following attributes:
Notes:
The XML element name reflects the historical situation where the data types were originally defined in the
TAP specification. The data type definitions have since been moved to the
ADQL specification, but for compatibility reasons, the XML element name has not been changed.
TAPType
#TAPType
TAPType is a XML element defined in the
VODataService specification that describes data types defined in the
TAP ADQL specification.
TAPType inherits the following attributes from
DataType:
TAPType inherits the following attributes from
TAPDataType:
TAPType defines the following set of allowed values:
-
BOOLEAN
-
SMALLINT
-
INTEGER
-
BIGINT
-
REAL
-
DOUBLE
-
TIMESTAMP
-
CHAR
-
VARCHAR
-
BINARY
-
VARBINARY
-
POINT
-
REGION
-
CLOB
-
BLOB
Notes:
TAPType is described in
section 3.5.3 of the specification.
The XML element name reflects the historical situation where the data types were originally defined in the
TAP specification. The data type definitions have since been moved to the
ADQL specification, but for compatibility reasons, the XML element name has not been changed.
The definition of
TAPType does not provide any further details about the sizes, ranges or content of the data types. It is left to the reader to refer to the
TAP ADQL specification for details about the data types.
The definition of
TAPType states that string values should be represented by a data type of
VARCHAR
, the definition does not say whether this should be accompanied by an
arraysize
attribute.
VOTable
#VOTable
DALI
#DALI
TAP
#TAP
ADQL
#ADQL
xtype
#xtype
arraysize
#arraysize
TAP_SCHEMA
#TAP_SCHEMA
size
#size
delim
#delim
extendedType
#extendedType
extendedSchema
#extendedSchema