a recipe for crumpets

Martin Hill mchill at dial.pipex.com
Thu Jan 29 10:34:48 PST 2004


Ed Shaya wrote:

> Martin Hill wrote:
>>
>> I believe we've already covered at least in principle how to map 
>> between XML and existing databases on the votable list (see 
>> http://ivoa.net/forum/votable/0549.htm).  Automating the mapping 
>> process based on structure would be tricky - we want (well I want) 
>> common XML exchange formats for our data, but it is likely everyone's 
>> RDBMS datasets are in their own wierd, er *individual* style.
> 
> To transform from the generic schema to VOTable will require the 
> schemata extensions that Norman Gray mentioned or we will lose 
> information.  

It depends what you're trying to do. Certainly there is less 'structure 
information' in VOTable than there would be in a specific schema - that's rather 
the point of VOTable, it is generic.  So when you do your transformation (eg 
using XSLT) you might flatten the structure, or you might have a particular task 
in mind so you would only transform certain elements.  Either way you can still 
generate a VOTable v1 from it.

 > Perhaps you want to drop the table view entirely?

I don't want to lose the ability to pass generic tables of data about, or lose 
the current toolsets that work with VOTable - which is why I'm happy to see 
VOTable stay as it is - but I do want to drop it (entirely) for the *default* 
service data exchange format.

>> I will have a mull over how to map between pointers in databases and 
>> pointers in XML, but I suspect those of you (eg Ed?) with good archive 
>> experience can think of an elegant answer.
>>
> In XML one can either use an ID/IDREF mechanism (if it is all in one 
> logical document) or XPointer (if not).

Yes, it's how you take a reference between two records in an RDBMS and translate 
it into the correct XPointer/ID pair (say) in the XML that I wasn't sure about. 
  Now however I think it's just a case of recording the primary key for any 
record that has one into the "ID" attribute of a suitable mapped-to element, in 
the form ID="TableName.PrimaryKey".  Then we can use IDREF/XPointer.

Cheers,

Martin

-- 
Martin Hill
Software Engineer
AstroGrid @ ROE
Tel: +44 7901 55 24 66
www.astrogrid.org




More information about the dm mailing list