@@ -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+
591597Services may use non-standard \xmlel {xtype} values for non-standard datatypes, but if they
592598do so they should include a simple prefix (a string followed by a colon
593599followed by the non-standard xtype) so client software can easily determine
@@ -962,6 +968,20 @@ \subsection{UUID}
962968UUID values \citep {std:RFC4122 } are serialised using the canonical ascii (hex)
963969representation, 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
967987Support 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
15191539MAXREC
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