Skip to content

Commit 8bb46de

Browse files
committed
Adding text for the json xtype
1 parent eb46b32 commit 8bb46de

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

DALI.tex

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,12 @@ \section{Data Types and Literal Values}
588588
\emph{point}, \emph{circle}, \emph{range}, \emph{polygon}, \emph{moc},
589589
\emph{multipolygon}, \emph{shape}, \emph{uri}, and \emph{uuid} (see below).
590590

591+
A special case is the \emph{json} xtype: It allows publishers to, in
592+
effect, embed complex, structured data in VOTables. Publishers
593+
intending to use it are encouraged to carefully review whether
594+
interoperable and metadata-rich VOTable constructs can be employed
595+
instead.
596+
591597
Services may use non-standard \xmlel{xtype} values for non-standard datatypes, but if they
592598
do so they should include a simple prefix (a string followed by a colon
593599
followed by the non-standard xtype) so client software can easily determine
@@ -962,6 +968,20 @@ \subsection{UUID}
962968
UUID values \citep{std:RFC4122} are serialised using the canonical ascii (hex)
963969
representation, for example: e0b895ca-2ee4-4f0f-b595-cbd83be40b04.
964970

971+
\subsection{JSON}
972+
973+
For complex data blobs that are not intended to be queriable, publishers
974+
may choose to store them as serialised JSON \citep{std:JSON} strings in
975+
VOTables. Note that in general, an appropriate VOTable serialisation
976+
(e.g., as a \xmlel{GROUP} for a \xmlel{PARAM} or as unrolled
977+
\xmlel{FIELD}\/s or a separate table for table cells) is preferred.
978+
979+
\xmlel{PARAM}\/s and \xmlel{FIELD}\/s containing JSON values should be
980+
marked up with a \xmlel{datatype} of \verb|char| or \verb|unicodeChar|,
981+
with variable or fixed \xmlel{arraysize} and an \xmlel{xtype} of
982+
\verb|json|.
983+
984+
965985
\subsection{Unsupported Types}
966986

967987
Support for any specific \xmlel{xtype} in implementations (client or service) is specified in
@@ -1517,7 +1537,8 @@ \subsection{PR-DALI-1.2}
15171537
\begin{itemize}
15181538
\item Clarified that truncation indicated by OVERFLOW can occur independent of
15191539
MAXREC
1520-
\item added new xtypes: hms, dms, moc, multipolygon, range, shape, uri, uuid
1540+
\item added new xtypes: hms, dms, moc, multipolygon, range, shape, uri,
1541+
uuid, json
15211542
\item changed VOSI-availability to optional
15221543
\item changed VOSI-capability so it is only required for registered services
15231544
\end{itemize}

0 commit comments

Comments
 (0)