[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PROPOSAL] Re: RELAX NG schema for svn log --xml [was: Re: --xml on all svn commands]

From: Peter N. Lundblad <peter_at_famlundblad.se>
Date: 2005-09-28 22:03:48 CEST

[Note to other committers: I'm going to replace the existing DTDs with RNC
schemas if no one objects.]

On Wed, 28 Sep 2005, Lieven Govaerts wrote:

> Quoting "Peter N. Lundblad" <peter@famlundblad.se>:
>
> > To get the .xsd file, I just had to convert it with trang - no manual
> > work. I'm no XSD expert, but it looks like the results are satisfying.
> >
> > My point is that we could store .rnc in the repository (or .rng if we
> > like, but that's less human-friendly) and get both DTDs and XML Schema
> > automatically. RELAX NG is appropriate because:
> > - It is simple and easy to read and write (part because it to some extent
> > uses similar syntax to the DTD)
> > - It is the most expressive of the languages.
> > - You can map to all the other languages from a common source, with some
> > approximations where the target language is less expressive.
> >
> Looks very good indeed.
>
Nice to hear!

> The xsd file is perfect for me, everything that I have in my version is in yours
> too. On top of that yours is already uptodate with the trunk/1.3 branch ( and
> has annotations ).
>
Yeah, the annotations come from the ## comments, which are treated
somewhat like docstirngs in our header files (they are a shorthand for a
general annotation syntax.)

> The original .rnc file seems to be a mixture between dtd & xsd, maybe I should
> take some time to study RelaxNG, looks interesting.
>
They are mostly like extended DTDs, but the datatypes are borrowed from
SML Schema. (You can plug in whatever "datatype library" you like, but in
practice this is what's used).

This is the big benefit of using RELAX NG, namely the learning curveffor
people just wanting to add a filed to the output, without wanting to learn
a schema language. Basically, RNC is just regular expressions, which most
programmers know.

> If you only store the .rnc file in the repository, how do you propose
> users get the XSD/DTD files? Can the trang tool you mention be added to
> the official build procedure?
>
It could, but only if trang is available. Adding that as a required
dependency isn't an option, of course. But then it is pretty easy to run
trang yourself. Would it be enough if we documented (in the FAQ?) how to
get other chema languages from the .rnc files?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Sep 28 22:05:37 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.