我注意到pyxb decimal数据类型在呈现为 XML 时不会保留尾随零。罪魁祸首是normalize()对函数以下行中的调用,即XsdLiteral第 159 行binding/datatypes.py:
(sign, digits, exponent) = value.normalize().as_tuple()
(其中value是 Python 的一个实例decimal)。这对我来说有点问题,因为我尝试与之交互的 Web 服务需要表单的版本号,X.000而 pyxb 将其截断为X.0.
这是预期的行为吗?或某些标准要求?其他 XML 模式生成库是否也这样做?我现在的解决方案是string改用,但如果它不破坏任何东西,代码将很容易更改。