On Thu, Nov 20, 2008 at 12:10 PM, John Cowan <[EMAIL PROTECTED]> wrote: > James Clark scripsit: > >> If we look at RELAX NG to XSD conversion, then there are two use cases. > > There are indeed, but Kohsuke's RNG converter (which is free only as > in beer, I think) handles the first use case (deep conversion) well.
It's free as in speech, too, but it only handles conversion into RNG. It's key feature is deep conversion of XSD to RNG (which is a side-effect of MSV implementing XSD validation by converting XSD to RNG). Deep conversion of RNG to XSD is a rather different problem, because you have to find approximations to the things in RNG that XSD can't handle. For example, one major thing that trang doesn't handle is dealing with ambiguous content models: ideally, if your RNG content model violates XSD's UPA restriction, you would want to find the minimum relaxation of the content model that does not violate the UPA restriction (and for extra brownie points, generate some schematron assertions that detect the things allowed by the relaxation that are not allowed by the original). I don't know an algorithm to do that. And then there's XSD 1.1, which adds a whole lot of things that would enable one to capture more of what's in the RNG schema... James
