我们有一个使用 PyXB 生成 XML 文件以提交给我们的上游支付处理器的库,简化代码如下所示
import pyxb.binding.datatypes as pyxbd
from . import schema
record = schema.Record(
Arg1='xxx',
Arg2='xxx',
)
record.Foo = pyxbd.string('bar')
print record.toDOM()
生成的 XML 文档将如下所示
<?xml version="1.0" encoding="utf-8"?>
<Record Arg1="xxx" Arg2="xxx"
xmlns:ns1="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
<Foo xsi:type="ns1:string">Bar</Foo>
<Record>
不知道为什么,但是我们的上游处理器不喜欢xsi:type="ns1:string"
任何元素的属性,所以它拒绝了我们的请求。我的问题是为什么 pyxb 模式会生成这个xsi:type
东西?我可以阻止它生成吗?