xsl样式表基于xsd架构和数据创建xml文档

时间:2012-11-03 12:44:21

标签: design-patterns xslt xsd code-generation

以下问题的建议方法是什么,这对我来说似乎很常见。

我们需要生成一个xml文档,我们有一个架构xsd文件。我们的应用程序生成要放入文档的数据。应该使用哪种xsl文件?我相信所有这些任务都必须有一些片段,因为xsd格式是不变的。

例如,我想首先对xsd进行预处理以生成数据模板。然后,应用程序可以使用该数据模板来生成实际数据。最后有主要处理产生输出文件。主处理xsl样式表也可以从xsd自动生成。当然,在完成所有自动处理之后,手动调整样式表就完成了。

我看到了这些具体的共同任务:

  • minOccurs=0元素的治疗。仅当数据包含给定元素时才会生成它们。
  • 默认值,如果没有给出数据,但该元素是强制性的。
  • 使用参数或数据节点控制备用元素。

2 个答案:

答案 0 :(得分:0)

通常,有无限数量的文档符合任何给定的xml架构。有些工具可以生成“典型”实例,但它们的输出永远不可预测。在给定源和目标模式的情况下,还有一些工具可以指导您定义从一个到另一个的转换(最着名的可能来自Altova)。同样,这只适用于简单/特殊情况。但它可能就是你在寻找的东西。

答案 1 :(得分:0)

Jarekczek,即使你的想法看起来很普遍,也许它仍然以过于狭隘的方式陈述?如何从你的问题中删除单词“xsl stylesheets to”?在不使用xslt处理器的情况下使用编写应用程序的语言X不是更好吗?

其他人已经提出要求,这些问题似乎涵盖了特定语言的主题:

我还在调查这个问题。如果问题被正确标记,那么搜索[xsd] [code-generation]应该是一个很好的起点。

另请注意,您尝试实现的目标可能是调用基于xsd的编组,它是 XML数据绑定wiki)的一部分。