我有一个相当大的XSD文件here。
我想从文件中生成以下内容:
生成DDL(对于PostgreSQL),DDL应包含适当的初始值,由XSD中的“允许”值指定
生成一个ORM,允许我对步骤1中创建的数据库中的记录执行CRUD操作
有人可以建议使用工具或一系列工具/技术来实现这一目标吗?
如果我必须推出自己的解决方案,有人可以建议一个很好的XSLT教程(最好是一本食谱 - 因为我已经知道了一些XML / XPath)。
顺便说一下,我在Windows上尝试了xsd.exe - 它失败并打印了一条错误消息,提示XSD文件中有一个循环引用。然后我在单声道上尝试了xsd.exe,这有效 - 但创建的文件有一些无效的语句。我猜(也许是错误的)xsd.exe不是实现这些双重目标的方法 - 如果我错了,请告诉我。
另外,我在Ann Lewkowicz's XSLT transform file处从XSD文件生成DDL - 但似乎已陷入无限循环 - 并且还抱怨'无限递归'
所以我需要以下方面的帮助:
答案 0 :(得分:0)
就个人而言,我自己也会编写发电机。那里可能有很好的发电机,但我没见过。我尝试过的所有(尽管我从未使用过XSD作为起点)会产生可怕的代码,更糟糕的是,无法自定义处理每个不可避免的错误。
这样做的工作量远远低于人们想象的范围,并且提供了许多好处,尤其是您实际上可以完全控制生成的内容。你甚至可以(并且很容易)将它提升到一个新的水平并在运行时生成这些东西。如果模式是最终的,后者几乎没有意义,但如果它不断发展,可以节省大量时间。
我很确定这不是你所希望的答案,如果有人知道这项工作的好工具,我也会感兴趣。