从xsd架构生成ActionScript值对象

时间:2009-03-11 17:40:45

标签: java flex actionscript xsd value-objects

是否有任何工具可用于将xsd架构中定义的类型(可能包含或不包含其他xsd文件)转换为ActionScript值对象?我已经谷歌搜索了一段时间,但似乎找不到任何工具,我正在思考是否正在编写这样的工具,现在可以节省我们更多的时间,而不是简单地手工编写我们的值对象。

我一直在考虑的另一种可能性是使用XMLBeans等工具将模式定义的类型转换为Java类,然后在ActionScript中转换这些类。但是,我已经意识到有大量的java - > as3转换器在那里和一般consesus似乎是他们的工作,即,我不知道哪个工具是合适的。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

For Java - > AS生成,请查看Granite Data Services项目中的GAS3:

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

这也是你自己也可以写的东西,特别是如果你利用像Ant这样的工具并编写一个自定义任务来处理它。事实上,我去年开展了这项工作并开源:

https://github.com/cliffmeyers/Java2As

答案 1 :(得分:1)

我也没有任何翻译。我所做的是有一个由ActionScript对象包装的XML对象。然后,每个值都有一个getter / setter,用于转换xml-> whatever和whatever-> XML。你仍然需要编写getter / setter,但你可以使用一个适合你的宏/ snippit句柄。

因此对于XML:

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

然后我们有一个XML 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;
    }

}