gpt4 book ai didi

xsd - 如何正确使用 GenerateDS 进行 DDEX XML 绑定(bind)

转载 作者:太空宇宙 更新时间:2023-11-03 11:55:09 27 4
gpt4 key购买 nike

我对用于读取符合此模式的输入文件的 Python XML 绑定(bind)很感兴趣: 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-notification.xsd 生成绑定(bind):

./generateDS.py --no-process-includes -o release-notification.py release-notification.xsd

但是,这给我留下了一个几乎无用的 Python 对象,因为大多数 ComplexTypes 都是在 ddexC.xsd 中定义的。 .

如果我在不使用 --no-process-includes 的情况下尝试,我会得到:

RuntimeError: Extension/restriction recursion detected.
Suggest you check definitions of types ArtistRole and ArtistRole.

引用的定义是这个:

<xs:element name="ArtistRole" maxOccurs="unbounded" type="ddexC:ArtistRole">
....
<xs:complexType name="ArtistRole">
<xs:simpleContent>
<xs:extension base="ddex:ArtistRole">
....

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

这里有什么建议吗?

最佳答案

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

(linter 也在底层使用了 ddexC 命名空间)。

关于xsd - 如何正确使用 GenerateDS 进行 DDEX XML 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13257384/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com