0

PyXB を使用して、 TRIAS API v 1.0 および v 1.1のクライアントを実装しています。私が直面している問題は、両方の XSD コレクションが同じ名前空間を持ち、内容が異なる同じ要素を持つことです。pyxbgenそこで、バージョンごとに2 つのクラス バインディングを作成しました。ただし、PyXB は以下をスローするため、同じプログラム内で両方を使用することはできませんpyxb.exceptions_.NamespaceUniquenessError

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/dist-packages/trias/v1_1/trias.py", line 31, in <module>
    import trias.v1_1.siri as _ImportedBinding_trias_v1_1_siri
  File "/usr/local/lib/python3.7/dist-packages/trias/v1_1/siri.py", line 30, in <module>
    import trias.v1_1._nsgroup as _ImportedBinding_trias_v1_1__nsgroup
  File "/usr/local/lib/python3.7/dist-packages/trias/v1_1/_nsgroup.py", line 31, in <module>
    import trias.v1_1._D2LogicalModel as _ImportedBinding_trias_v1_1__D2LogicalModel
  File "/usr/local/lib/python3.7/dist-packages/trias/v1_1/_D2LogicalModel.py", line 93, in <module>
    Namespace.addCategoryObject('typeBinding', 'AbnormalTrafficTypeEnum', AbnormalTrafficTypeEnum)
  File "/usr/lib/python3/dist-packages/pyxb/namespace/__init__.py", line 346, in addCategoryObject
    raise pyxb.NamespaceUniquenessError(self, '%s: name %s used for multiple values in %s' % (self, local_name, category))
pyxb.exceptions_.NamespaceUniquenessError: http://datex2.eu/schema/1_0/1_0: name AbnormalTrafficTypeEnum used for multiple values in typeBinding

同じプログラム内で両方のクラス バインディングを使用するにはどうすればよいですか? ソース XSD ファイルは自分で管理していないため編集できず、大幅な違いが含まれているためマージできません。

4

1 に答える 1