如何创建扩展simpleType的complexType

时间:2016-09-12 21:40:24

标签: python spyne

我必须使用spyne实现一个服务,该服务公开特定的wsdl

现在我无法复制这个定义:

<xs:complexType name="MyType">
    <xs:simpleContent>
        <xs:extension base="xs:string">
            <xs:attribute name="version" type="xs:string"/>
        </xs:extension>
    </xs:simpleContent>
</xs:complexType>

到目前为止,我能够取得的最好成绩是

class MyType(ComplexModel):
    __namespace__ = "uri:my-ns"
    __extends__ = primitive.Unicode
    version = XmlAttribute(primitive.Unicode)

提出AttributeError,但如果我“补丁”models/complex.py [1]我获得:

<xs:complexType name="MyType">
    <xs:complexContent>
         <xs:extension base="xs:string">
              <xs:attribute name="version " type="xs:string"/>
         </xs:extension>
    </xs:complexContent>
</xs:complexType>
几乎就到了!但我的complexType有一个complexContent而不是simpleContent

[1]我正在使用spyne的主分支(0f587b2d606b54e41fc5cc3d33b51cc3b324a2ca),如果我添加__extends__ = primitive.Unicode,我需要更改model/complex.py的第602行:

if eattr._subclasses is None

if getattr(eattr, "_subclasses", None) is None

0 个答案:

没有答案
相关问题