首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确使用GenerateDS进行DDEX XML绑定

如何正确使用GenerateDS进行DDEX XML绑定
EN

Stack Overflow用户
提问于 2012-11-07 02:48:48
回答 2查看 1.4K关注 0票数 4

我对用于读取符合以下模式的输入文件的Python XML绑定很感兴趣:http://ddex.net/xml/ern/341/release-notification.xsd

不过,这个XSD依赖于许多其他的东西,最重要的是:http://ddex.net/xml/20120404/ddexC.xsdhttp://ddex.net/xml/20120404/ddex.xsd

我的第一个尝试是使用generateDS。如果我将--no-process-includes与一起使用,我可以成功地为release-no fication.xsd生成绑定:

代码语言:javascript
复制
./generateDS.py --no-process-includes -o release-notification.py release-notification.xsd

但是,由于大多数ComplexTypes都是在ddexC.xsd中定义的,所以剩下的Python对象几乎毫无用处。

如果我尝试不使用--no-process-includes,我会得到:

代码语言:javascript
复制
RuntimeError: Extension/restriction recursion detected.
Suggest you check definitions of types ArtistRole and ArtistRole.

这里的定义是这样的:

代码语言:javascript
复制
<xs:element name="ArtistRole" maxOccurs="unbounded" type="ddexC:ArtistRole">
....
<xs:complexType name="ArtistRole">
      <xs:simpleContent>
         <xs:extension base="ddex:ArtistRole">
....

因此,似乎ddex和ddexC名称空间以某种方式混淆在一起,并创建了一个循环引用。

这里有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2013-09-20 14:22:23

您可能想看看https://github.com/ddexnet,它有一个ddex lint脚本,您可以使用该脚本生成完整的python对象,这些对象根据位于http://ddex.net/xml/2010/ern-main/32的完整的ERN模式进行验证。

( linter还在幕后使用了ddexC名称空间)。

票数 1
EN

Stack Overflow用户

发布于 2014-01-20 08:45:15

我已经为新发布消息创建了一个对象模型,作为我正在开发的DDEXUI的一部分,它可能会对你有所帮助,该模块应该会给你提供一些你可以使用的东西。我计划在某个时候把它分成一个单独的模块。有关如何使用它的示例,请参阅test目录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13257384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档