VOTable multi-dimensional arrays too restrictive

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Thu Feb 18 15:55:41 CET 2021


Hi Mark,

On Thu, Feb 18, 2021 at 11:26:32AM +0000, Mark Taylor wrote:
> On Thu, 18 Feb 2021, Markus Demleitner wrote:
> 
> > For our "list of strings" use case, a solution I could easily learn
> > to like would use ASCII shift-in and shift-out, \x0e and \x0f.  For
> > python
> > 
> >   [["ab", "c"], ["de", "fgh"]]
> > 
> > you'd be writing SI SI ab SO SI c SO SO SI de SO SI fgh SO SO
> > -- so you could even represent arbitrarily deep nesting.  This, by
> > the way, works in TABLEDATA, too; just write &#0e;, etc.  Since we
> > and utf-8 don't allow control characters in char material, we might
> > not even need escaping.  However, as we enter hard-core ASCII, we
> > could define ESC (\x1b) as an escape character if we wanted and then
> > even have SI and SO in our strings if, in some future, we want to
> > make char binary-proof.
> 
> 1. weird
> 2. neat
> 3. impossible, at least in TABLEDATA
> 
> Most of the ASCII control characters are not permitted in XML,
> even as character entity references.  Just try to xmllint a document
> containing an .  See https://www.w3.org/TR/REC-xml/#charsets.

Dang.  I had forgotten about that.  Well, then we'd have to go for [
as SI, ] as SO, and \ as ESC, which would still work, albeit a little
less nerdily.

         -- Markus


More information about the apps mailing list