2009-03-11 8 views
2

Existe-t-il des outils disponibles pour transformer les types définis dans un schéma xsd (peut ou non inclure d'autres fichiers xsd) dans les objets de valeur ActionScript? Je fais des recherches sur Google depuis un moment, mais je n'arrive pas à trouver d'outils et je me demande si écrire un tel outil nous permettrait de gagner plus de temps maintenant que de simplement coder nos objets de valeur à la main.Génération d'objets de valeur ActionScript à partir d'un schéma xsd

Une autre possibilité que j'ai envisagée est l'utilisation d'un outil tel que XMLBeans pour transformer les types définis par le schéma en classes Java, puis convertir ces classes en ActionScript. Cependant, je me suis rendu compte qu'il y a environ un gazillion java -> as3 convertisseurs là-bas et le consesus général semble être qu'ils travaillent en quelque sorte, à savoir, je n'ai aucune idée de quel outil est un bon ajustement.

Des pensées?

Répondre

4

Pour Java -> AS génération, consultez GAS3 du projet de données Granite Services:

http://www.graniteds.org/confluence/display/DOC/2.+Gas3+Code+Generator

C'est le genre de chose que vous pouvez écrire vous-même aussi, surtout si vous levier un outil comme Ant et écrire une tâche personnalisée pour le gérer. En fait, je travaillais sur cette dernière année et open source il:

https://github.com/cliffmeyers/Java2As

+0

Oui, j'ai remarqué GAS3 juste l'autre jour mais je n'ai pas encore pu l'essayer. Merci, je vais accepter cela comme la réponse! –

+0

N'hésitez pas à voter moi aussi. LOL :) –

1

Je n'ai pas non plus de traducteur. Ce que je fais est d'avoir un objet XML enveloppé par un objet ActionScript. Ensuite, vous avez un getter/setter pour chaque valeur qui convertit xml-> any et quel-> XML. Vous devez cependant écrire le getter/setter, mais vous pouvez avoir un handle de macro/snippit qui fonctionne pour vous.

Donc, pour XML comme:

<person> 
    <name>Bob</name> 
    ... 
</person> 

Ensuite, nous avons un objet XML classe wrapper et l'étendre. Normalement

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; 
    } 

} 
+0

Pas vraiment ce que je demandais à mon avis, mais une approche très intéressante cependant pas le moins! Merci d'avoir partagé! –

Questions connexes