Генерация объектов значений ActionScript из схемы xsd
-
10-07-2019 - |
Вопрос
Существуют ли какие-либо инструменты для преобразования типов, определенных в схеме xsd (могут включать или не включать другие файлы xsd) в объекты значений ActionScript? Я уже некоторое время гуглю это, но, похоже, не могу найти никаких инструментов, и я размышляю над тем, пишу ли такой инструмент, что сэкономило бы нам больше времени прямо сейчас, чем простое кодирование наших объектов-значений вручную.
Еще одна возможность, которую я рассматривал, - это использование инструмента, такого как XMLBeans, для преобразования типов, определенных схемой, в классы Java, а затем преобразование этих классов в ActionScript. Тем не менее, я понял, что существует около миллиарда java - > Конвертеры as3 существуют, и общее мнение кажется, что они работают, то есть я понятия не имею, какой инструмент лучше всего подойдет.
Есть мысли?
Решение
Для Java - > Генерация AS, проверьте GAS3 из проекта Granite Data Services:
http://www.graniteds.org/ стечение / дисплей / DOC / 2 + GAS3 + код + генератор
Это то, что вы тоже можете написать сами, особенно если вы используете такой инструмент, как Ant, и пишете пользовательское задание для его обработки. На самом деле, я работал над этим в прошлом году и с открытым исходным кодом:
Другие советы
У меня тоже нет переводчика. У меня есть объект XML, обернутый объектом ActionScript. Затем у вас есть метод получения / установки для каждого значения, которое конвертирует xml-> gt; независимо от > XML. Вы все еще должны написать getter / setter, но у вас может быть ручка макроса / сниппита, которая подойдет вам.
Так для XML, как:
<person>
<name>Bob</name>
...
</person>
Затем у нас есть класс Object Object Wrapper и мы расширяем его. Обычно
class XMLObjectWrapper
{
var _XMLObject:XML;
function set XMLObject(xml:XML):void
{
_XMLObject = xml;
}
function get XMLObject():XML
{
return _XMLObject;
}
}
class person extends XMLObjectWrapper
{
function set name(value:String):void
{
_XMLObject.name = value;
}
function get name():String
{
return _XMLObject.name;
}
}