Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[stellation-res] Schema progress

Since I've been quite both here and on the Wiki lately, I thought I'd
send a note to let you guys know what I've been up to.

I've been working on the new repository access API. The first draft in API form is checked in and posted.

Since then, I realized that while that's a good client API, it's actually
fairly awkward to efficiently map onto a communication protocol.
(It's true that WebDAV is very similar, and even more inefficient; but
that doesn't mean that it's right.)

So I decided that the way to go was to adopt one of Jonathan's
suggestions, and define the way that you access the repository
in terms of an XML command language. I've been working on
defining that language. It's actually coming out fairly similar to the
checked-in API, except that it allows groups of commands to be
wrapped in a single message, and have the results returned in a
single response.

I've ended up writing the schema in RelaxNG instead of XML Schema. Jim
originally proposed using RNG, and I gave him a long-winded argument
about why we shouldn't. Then after suffering with XSD for a while, I decided
to take a look.

It turns out that Jim was completely right. (Sorry for arguing with you
about this!) RNG is much easier to read and understand, it's more expressive, it's got both a standard XML syntax, and a great, easy to write, compact (non-XML) syntax, and terrific tool support, including free tools that translate RNG schemas into XSD, preserving as much of the RNG structure and naming as possible.

In particular, if you translate an RNG schema into XSD, and then feed that into JAXB, you get a java binding that's pretty much exactly what you would
expect by looking only at the RNG.

I've got the basic data types all schema'd out. I'll post them on the Wiki in RelaxNG compact syntax, along with a copy of this message. I'll also post
a copy of my notes about what commands we'll need. I hope to have a
first draft of converting my command notes into a schema by monday
or tuesday.

	-Mark


Mark Craig Chu-Carroll,  IBM T.J. Watson Research Center
*** The Stellation project: Advanced SCM Research
***      http://stellation.eclipse.org
*** Work: mcc@xxxxxxxxxxxxxx/Home: markcc@xxxxxxx



Mark Craig Chu-Carroll,  IBM T.J. Watson Research Center
*** The Stellation project: Advanced SCM Research
***      http://stellation.eclipse.org
*** Work: mcc@xxxxxxxxxxxxxx/Home: markcc@xxxxxxx



Mark Craig Chu-Carroll,  IBM T.J. Watson Research Center
*** The Stellation project: Advanced SCM Research
***      http://stellation.eclipse.org
*** Work: mcc@xxxxxxxxxxxxxx/Home: markcc@xxxxxxx



Mark Craig Chu-Carroll,  IBM T.J. Watson Research Center
*** The Stellation project: Advanced SCM Research
***      http://stellation.eclipse.org
*** Work: mcc@xxxxxxxxxxxxxx/Home: markcc@xxxxxxx



Back to the top