是否有任何用于将xml架构转换为Linux数据库架构的开源工具?

时间:2012-02-16 14:24:36

标签: linux postgresql xsd database-schema

是否有任何开源工具可以将xml架构转换为linux的数据库架构。我需要的是它应该读取xml架构,生成相应的数据库架构并使用它创建表。我试着谷歌,我能找到的只是xsd2db,用c#编写,但对我没用。我正在使用centos,我的数据库是postgresql。任何帮助表示赞赏。提前致谢。

1 个答案:

答案 0 :(得分:4)

原生支持显示为on the way,但我无法找到原生内容。也没有找到任何好的工具来完成这项工作。

所以,我认为这将是一个整洁的周末项目,以了解更多关于XSD。我创建了xsd2pgsql来处理这个问题。它的边缘仍然非常粗糙,所以我希望你试一试,让我知道你遇到的任何问题。如果您愿意帮助,请分叉。

XML并不是表示数据库的最佳格式,因为它的3d和DB几乎是2d。所以这个脚本做了一些假设,就像root的所有元素子元素都是主表格一样,之后的任何complexType都是一个表格。也就是说,这应该适用于大多数XML Schema(或者至少是我测试过的少数几种)。

您可以使用-h选项获取所有选项。但基本上,您可以使用XSD文件作为参数提供它,您可以使用这些选项稍微更改行为或让它直接在您的数据库上运行SQL。如果它是一个生产系统,我建议不要直接连接到数据库并确保SQL输出是否合适,并进行任何调整。

以下是存储库中示例文件的示例用法:python xsd2pgsql.py -f sample-2.xsd sample.xsd

注意:目前,这并不处理表/ XML复杂类型之间的任何关系/引用。您必须在事后添加所需的索引和任何索引。自定义命名空间也不受支持。

希望这有帮助。