【问题标题】:Converting legacy SGM to XML将旧版 SGM 转换为 XML
【发布时间】:2009-09-24 04:36:06
【问题描述】:

我的工作任务涉及将旧的 SGM 文件转换为 XML。 SGM 文件是使用 5 个单独的高级标签创建的,新的 DTD 有大约 8-12 个旧标签需要映射到的顶级标签。 2 个 DTD 之间有一些共同的标签,但存在足够的差异,因此仅在 2 个 DTD 之间手动复制和粘贴数据是没有意义的。

此外,还有一些链接信息需要在旧格式与新格式之间进行转换。我目前倾向于以下高级方法。

  1. 将 SGM 转换为格式良好的 XML
  2. 读入 XML 文件并为现有文件类型创建映射模板到新文件类型。元数据字段将用于每个文件,大多数值使用默认值。该文件将用于驱动最终转换为目标 XML。我想在这里有一个工具,它可以很好地用于数据输入,并使用下拉列表来选择元数据,因此我正在研究如何创建桌面应用程序。
  3. 使用 XSLT 转换 XML

我很好奇是否有其他人对这种类型的转换有经验,这种高级方法是否可行,是否有其他方法可以查看此问题。由于我自己的时间限制,我正在考虑聘请另一位开发人员为这个项目进行编码。我使用过 XSLT,但最近没有桌面应用程序开发方面的经验,以及哪些语言可以为 XSLT 提供良好的界面,并且可以为最终用户提供良好的前端体验。

感谢人们可以提供的任何帮助和帮助。将很高兴就我正在寻找的内容提供进一步的说明。

【问题讨论】:

  • 您的意思是 SGML 而不是 SGM?
  • 是的,SGML,我习惯使用文件的简写扩展名。
  • 如果您对 Peter 的回答感到满意,您应该“接受”它。

标签: xml xslt sgml


【解决方案1】:

这正是我会做的。您实际上是在做三件不同的事情:从 SGML 转换为 XML,从 XML 转换为不同的模式,以及混合新数据。所以分三步做才是正确的做法。

【讨论】:

  • 很高兴确认我的方法并没有完全偏离基础。我的下一个挑战是决定使用哪种实现语言进行映射和驱动 XML 转换。如果我在做这项工作,我会以某种方式在命令行中使用 PHP,但我需要一些更强大的东西供其他人使用。必须对可用于解决此类问题的语言和技能集进行更多研究。
  • 一种可以进行转换的工具,例如 sx(有时称为 osx 或 sgml2xml),但它会弄乱文件的格式,因此您以后无法合理地手动编辑它们。但是既然您打算在之后将它们转换为不同的 XML 模式(XSLT?),那么这应该没关系。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-28
  • 2018-05-18
  • 2015-09-10
  • 2013-03-08
  • 2018-07-31
  • 1970-01-01
相关资源
最近更新 更多