Я разрабатываю публичный API с данными в формате XML. В XML-объекте, который возвращает API, есть поля с произвольными типами. Как организовать хранение данных так, чтобы у интегратора было как можно меньше проблем при реализации API? Больше всего я боюсь, что добавление нового произвольного типа нарушит контракт данных, и я хочу сохранить обратную совместимость.
Example_1:
<Data>
<Value xsi:type="A">
<Desc>description<Desc/>
<Value/>
<Value xsi:type="B">
<Index>1</Index>
<Count>2</Count>
</Value>
</Data>
Example_2:
<Data>
<Value xsi:type="A">
<Desc>description<Desc/>
<Value/>
<Value xsi:type="B">
<Index>1</Index>
<Count>2</Count>
</Value>
<Value xsi:type="C">
<Name>Alex</Name>
</Value>
</Data>
Это нормальная практика, когда я продлеваю контракт таким образом? (Пример_1 -> Пример_2)