我想从我的XML定义中生成一个AST,以便稍后用于代码生成。
XML模式是用Relax NG编写的,因为它看起来比XSD和DTD(松散假设)更整洁,更现代。我特别喜欢紧凑的语法,使用起来感觉更自然,并且比XML更具可读性。
有没有人使用Relaxer,或任何其他与RelaxNG模式(最好是紧凑模式)一起使用的代码生成器?它们和JAXB和Castor一样好,还是我牺牲了以后需要的一些功能?
经过进一步的研究后发现,JAXB内置了对RelaxNG的支持,包括XML和紧凑型。那么这必须是正确的方法吗?
答案 0 :(得分:1)
我发现使用JAXB从RelaxNG模式直接创建类并没有提供非常易读的类,但如果我使用http://www.thaiopensource.com/relaxng/trang.html将RelaxNG转换为XSD,然后使用JAXB从XSD生成类,结果非常好。< / p>