【问题标题】:How to generate Objective C class files from XML schema?如何从 XML 模式生成 Objective C 类文件?
【发布时间】:2010-03-26 12:03:42
【问题描述】:

我有一个定义我的数据模型的 XML 模式。我现在想要从 XML 模式生成 Objective C 源文件。有谁知道如何做到这一点?

【问题讨论】:

    标签: iphone objective-c cocoa cocoa-touch iphone-sdk-3.0


    【解决方案1】:

    查看XML serialization 上的 Stack Overflow 问题,其中提到了一个类似的项目。

    【讨论】:

    • 我认为这更适合创建对象的实例,而不是首先创建类。
    • 是的,但它可能比从头开始编写代码更容易扩展。
    【解决方案2】:

    在不知道细节的情况下,我的直接想法可能是为此使用 xslt。例如如果你有类似的东西(我很感激

    <element name="SomeEntity">
      <attribute name="someAttr" type="integer" />
      <complexType>
        <sequence>
          <element name="someOtherAttr" type="string" />
        </sequence>
      </complexType>
    </entity>
    

    创建一堆模板来翻译这个,例如

    <xsl:template match="element">
      <xsl:apply-template select="." mode="header"/>
      <xsl:apply-template select="." mode="impl"/>
    </xsl:template>
    
    <xsl:template match="element" mode="header">
    class <xsl:value-of select="@name"/> {
     public:
      <xsl:apply-template select="attribute" mode="header"/>
    
      <xsl:apply-template select="complexType/element" mode="header"/>
    </xsl:template>
    
    ...
    

    虽然如果生成的逻辑更复杂,我可能会沿着将 xml 导入对象模型并以编程方式处理它的方式,可能使用 Velocity 等模板引擎,因为它可能是复杂的逻辑xslt 很痛苦。

    【讨论】:

      猜你喜欢
      • 2011-08-19
      • 2017-05-27
      • 2011-10-28
      • 2010-12-15
      • 2011-08-28
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      相关资源
      最近更新 更多