【问题标题】:How to generate XSLT from XML samples [closed]如何从 XML 样本生成 XSLT [关闭]
【发布时间】:2009-01-27 09:24:01
【问题描述】:

我正在寻找用于半自动 XSLT 生成的工具。

给定 2 个 XML 文件,来源:

<elm>XXX</elm>

和目标:

<exx>XXX</exx>

该工具应生成 XSLT 文件,该文件从源生成目标。 查看内容,它应该识别级别、位置、元素名称等方面的变化。 没有通用的解决方案,但我只需要简单的转换。

可能的实现:

1. scan the source, map XML data "XXX" to element path "elm"
2. scan the target, map XML data "XXX" to element path "exx"
3. output target XML structure, output XSLT mapping of "XXX", "elm" -> "exx"

如果发生冲突,则需要手动干预。冲突的来源可能不止是“XXX”。

如果该工具也支持 XSD/DTD,那就太好了,例如进行手动“字段”映射。

编辑:澄清。

【问题讨论】:

  • 您需要澄清您希望它处理的差异程度以及数据的独特性,以便推断从一个文件到另一个文件的映射 - 我认为这对某些人来说是可行的限制。

标签: xml xslt xsd


【解决方案1】:

我怀疑即使是简单的转换规则也可以自动生成。

以 XML 为例

<family>
  <father>Paul</father>
  <mother>Maria</mother>
  <child>Paul</child>
</family>

和目标

<person>Paul</person>

这应该是一个很常见的组合。我什至无法手动决定(没有想要转换的人的帮助)从哪个标签创建目标&lt;person>,从&lt;father> 或&lt;child> 所以我怀疑应用程序会在这里产生一些理智的东西.

更新: 如果某种拖放-XSLT 生成对您来说是可以的,那么有一些商业产品可用,但它们不能从目标文件生成 XSLT。但是拖放至少应该是比完全手写更好的解决方案:

【讨论】:

  • 问题澄清:如果发生冲突,需要手动干预。
  • 我最终按照您的建议使用 Stylos Studio 自己编写了 XSLT,谢谢。 Stylus Studio 有一个 XSLT 映射器,但在我的情况下它没有用,因为它只是元素到元素的映射,我还需要选择属性。但它有一个很好的界面,包括调试。但是你仍然需要了解 XSLT 和 XPath 才能真正使用它。
  • 在 2016 年 2 月撰写此评论时,指向 Tiger XSLT Mapper 的链接现已失效
猜你喜欢
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 2014-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多