emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: online conversion support from xsd to rng?


From: joakim
Subject: Re: online conversion support from xsd to rng?
Date: Wed, 01 Dec 2010 10:57:37 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

address@hidden writes:

> It occurred to me that the Nxml mode in Emacs isn't as useful as it could
> be. Nxml supports rng schema descriptors(relax ng). Xml files are usually
> described by xsd files such as this one:
> http://maven.apache.org/xsd/maven-4.0.0.xsd.
>
> So, if I could convert a xsd to a rng on the fly, I could immediately
> have function completion and validation on a number of xml documents. 
>
> James Clark(the original author of the nxml mode) wrote a utility called
> Trang: http://www.relaxng.org/#conversion
>
> This could presumably be run online somewhere and provide the needed
> service for Emacs, more conveniently than having to install the program
> locally. (Trang is a free software Java program compilable with GCJ)
>
> This raises a number of questions:
>
> - do we want Emacs to have this type of facility at all? (I would say
> yes, provided we solve a number of problems)
>
> - how do we ensure this backend(and future other backends) are free
> software?
>
> - what would the backend interface look like? Maybe we could generate
> ELPA packages on the fly?

I noticed trang doesnt do xsd->rng conversion. That can instead be handled
by a xslt script:
http://xsdtorngconverter.googlecode.com/svn/trunk/xsdtorngconverter/XSDtoRNG.xsl

That seems to strengthen the argument that Emacs usage could be made
easier by providing interfaces to server-side services. Setting up all
this conversion machinery client-side is not trivial. OTOH we must then
solve how to ensure backends are free software, perhaps like specifying
a REST api that provides a GPL compliance symbol, similar to how dynamic
library FFI was solved. 

-- 
Joakim Verona



reply via email to

[Prev in Thread] Current Thread [Next in Thread]