[
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