[AstroPy] Empty char value for PARAM with vo.table
mdroe at stsci.edu
Mon May 14 10:27:36 EDT 2012
On 05/10/2012 12:59 PM, Rodney Barnett wrote:
> I'm working with some VOTable files that have tags like this:
> <PARAM name="XYZ" datatype="char" arraysize="*" ucd="meta.id;meta.file"
> vo.table.parse reports:
> vo.voexceptions.E14: file.xml:213:3: E14: value attribute is required
> for all PARAM elements
> The spec is clear that the value attribute is required, but isn't clear
> about whether the value must be non-empty. Is there a consensus on this?
I think you're right -- it should probably be acceptable to have the
value attribute provided but empty.
It turns out this is trickier than it sounds -- the expat XML parser
vo.table uses treats an attribute with an empty value as if the
attribute doesn't appear at all. So it's impossible to distinguish
between the two cases. I've changed this to a missing attribute will be
treated as an empty string, which is not strictly correct wrt the
VOTable spec, but it accepts a class of documents (such as yours) that
The fix is in SVN r2748.
More information about the AstroPy