Всем привет!
Возможно не совсем точно выражаюсь в заголовке, вот что я имею в виду и для чего:
Начну «от печки». Делаю игрушку на Unity для мобилок (iOS/Android) на C#, соответственно. Использовать стандарные библиотеки для сериализации/десериализации не хочется из за их давольно большого футпринта (порядка 1.5 mb). Это я про System.XML.
Поэтому решил делать маппинг данных на классы и обратную запись в XML руками (кстати, если кто знает проверенные на боевых приложениях либы тоже прошу в студию).
Из всей этой ситуации появилось пару проблем:
1. Сложность редактирования длинных XML со списком, скажем, предметов игровых — их 642 в данный момент, они все в самой игре унаследованы от одного класса, но имеют свои особенности.
2. Сложность модификации базовой структуры одного элемента.
Следовательно, мой вопрос:
Есть ли какой-то редактор, технология, даже или методология, которая позволяет сделать некие «шаблоны» для блоков xml, чтобы потом их просто наполнять данными, и чтобы, скажем, при добавлении нового поля в шаблон — просто добавлялось пустое поле во все элементы в общем дереве.
Я сейчас поставил oXygen XML Editor (http://www.oxygenxml.com/), но не нашел пока что в нем таких функций. Я почти уверен, что все это как то называется, просто я не владею терминологией.
В результате должно выглядеть как то так:
/*Template ItemBase */
<item>
<id type="int"></id>
<name type="string"></name>
<description type="string"></description>
<data type="object">
<lvl id="1">
<damage>50</damage>
</lvl>
<lvl id="2">
<damage>60</damage>
</lvl>
<lvl id="3">
<damage>70</damage>
</lvl>
</data>
</item>
а потом в общем шаблоне чтобы было как то так:
<items template="item">
+ добавить новый item
</items>