如何从XML模式生成Objective C类文件?

时间:2010-03-26 12:03:42

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

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

2 个答案:

答案 0 :(得分:1)

看一下XML serialization上的Stack Overflow问题,它提到了这些项目。

答案 1 :(得分:0)

在不知道细节的情况下,我立即想到可能会使用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是一种痛苦。