【发布时间】:2011-10-28 16:45:48
【问题描述】:
我有一个相当大的 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 - 但似乎陷入了无限循环 - 并且还抱怨“无限递归”
所以我需要以下帮助:
- 首先,任何人都可以测试/检查XSD file 是否确实搞砸了? - 如果是,如何解决?
- 如何从 XSD 文件生成 DDL 和 ORM?
【问题讨论】:
-
关于生成DDL/ORM,你看过T4吗?我个人认为 T4 比 XSLT (olegsych.com/2007/12/text-template-transformation-toolkit) 更适合这些任务。
-
XSD 搞砸了。当我尝试在 VS 中打开它时出现此错误:此架构是无效的 XSD 架构并有以下错误:未声明“w3.org/XML/1998/namespace:lang”属性。
-
@hugh jadick:感谢您的确认。我已经解决了这个问题(虽然还没有上传固定文件) - 所以唯一剩下的问题是如何从 XSD 生成 ORM 和 DDL。我已经设法在 Visual Studio 中打开了固定的 XSD 文件(看起来真的很好!)。肯定有办法从 Visual Studio 生成 DDL 和 ORM?
-
我不是 ORM 方面的专家,但您看过 Microsoft 提供的 ORM 实体框架吗?