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