Generazione di oggetti valore ActionScript da uno schema xsd
-
10-07-2019 - |
Domanda
Sono disponibili strumenti per trasformare i tipi definiti in uno schema xsd (possono o meno includere altri file xsd) in oggetti valore ActionScript? Ho cercato su Google questo per un po 'ma non riesco a trovare alcuno strumento e sto meditando se scrivere un tale strumento ci farebbe risparmiare più tempo adesso che semplicemente codificare i nostri oggetti valore a mano.
Un'altra possibilità che ho preso in considerazione è l'utilizzo di uno strumento come XMLBeans per trasformare i tipi definiti dallo schema in classi Java e quindi la conversione di tali classi in ActionScript. Tuttavia, mi sono reso conto che ci sono circa un gazillion java - > as3 si converte là fuori e il consesus generale sembra essere che in qualche modo funzionano, cioè non ho idea di quale strumento sia adatto.
Qualche idea?
Soluzione
Per Java - > Come generazione AS, controlla GAS3 dal progetto Granite Data Services:
http://www.graniteds.org/ confluenza / display / DOC / 2. + GAS3 + Codice + generatore
Questo è il tipo di cose che puoi scrivere anche tu, specialmente se utilizzi uno strumento come Ant e scrivi un'attività personalizzata per gestirlo. In effetti, ho lavorato su quest'ultimo anno e l'ho ottenuto da fonti aperte:
Altri suggerimenti
Neanche io ho nessun tipo di traduttore. Quello che faccio è avere un oggetto XML avvolto da un oggetto ActionScript. Quindi hai un getter / setter per ogni valore che converte xml- > qualunque e qualunque- > XML. Devi comunque scrivere il getter / setter, ma puoi avere un handle macro / snippit adatto a te.
Quindi per XML come:
<person>
<name>Bob</name>
...
</person>
Quindi abbiamo una classe XML Object Wrapper e la estendiamo. Normalmente
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;
}
}