Как создать файлы классов Objective C из XML-схемы? - PullRequest
4 голосов
/ 26 марта 2010

У меня есть схема XML, которая определяет мою модель данных. Теперь я хотел бы, чтобы исходные файлы Objective C были сгенерированы из схемы XML. Кто-нибудь знает, как этого добиться?

Ответы [ 2 ]

1 голос
/ 26 марта 2010

Посмотрите на этот вопрос переполнения стека по XML-сериализации , в котором упоминается проект по этим направлениям.

0 голосов
/ 26 марта 2010

Не зная подробностей, моей непосредственной мыслью было бы, вероятно, использовать 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 - это боль.

...