【发布时间】:2010-03-26 12:03:42
【问题描述】:
我有一个定义我的数据模型的 XML 模式。我现在想要从 XML 模式生成 Objective C 源文件。有谁知道如何做到这一点?
【问题讨论】:
标签: iphone objective-c cocoa cocoa-touch iphone-sdk-3.0
我有一个定义我的数据模型的 XML 模式。我现在想要从 XML 模式生成 Objective C 源文件。有谁知道如何做到这一点?
【问题讨论】:
标签: iphone objective-c cocoa cocoa-touch iphone-sdk-3.0
查看XML serialization 上的 Stack Overflow 问题,其中提到了一个类似的项目。
【讨论】:
在不知道细节的情况下,我的直接想法可能是为此使用 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 很痛苦。
【讨论】: