【问题标题】:How to generate documentation from XML documents? [closed]如何从 XML 文档生成文档? [关闭]
【发布时间】:2013-01-30 00:56:14
【问题描述】:

我从一家公司获得了一组 XML 文档,该文档旨在包含 XML 架构的“文档”。没有提供XSDs

如何从这些包含如下所示文档的 XML 文档生成文档(例如,HTMLCHM)?

以下是 XML 内容的示例:

<ELEMENT1>

  <!--
  documentation text ....
  -->
  <ELEMENT2>
    <ELEMENT3>ABC</ELEMENT3>
  </ELEMENT3>

  <!--
  documentation text ....
  -->
  <ELEMENT4>
    <ELEMENT5>0534564117</ELEMENT5>
    <ELEMENT6>123456</ELEMENT6>
    <ELEMENT7>090314b4-fc7d-42c5-b382-a5b745671ee32b</ELEMENT7>
  </ELEMENT4>

</ELEMENT1>

【问题讨论】:

  • 如果文档的架构未知,您希望文档生成器如何理解必须如何解析文档?
  • 我认为以上可能是记录 XML 文档的标准方式,因此会有一个生成器来创建文档。
  • 您认为,在给定的示例中,HTML 文档应该是什么样子?
  • 这是 XSD 的文档。可以生成它,因为 XML Schema 有一个用于文档的特定元素 xs:annotation。此外,XSD 文件是规范化文件,XSD 文档生成器使用它们的规则来生成它们的输出。

标签: xml documentation xsd documentation-generation


【解决方案1】:

要解决您的问题,可能会有解决方案。但这需要一些工作:

  1. 从 XML 文件生成 XSD(例如 trang -> tutorial
  2. 将文档添加到生成的 XSD 文件中(使用 &lt;xs:annotation/&gt; 元素)
  3. 从 XSD 生成文档(使用 xs3p

这里的所有工具都是免费的。但是如果可以付费的话,oXygen 似乎有很强大的功能。

【讨论】:

  • 如果我可以自动将所有&lt;!-- 更改为&lt;xs:annotation 会有效吗?他们是否在正确的地方让它发挥作用?
  • 不,cmets 在您的实例文档中,而不是在模式中。我将使用工具(例如 oXygen)生成模式,然后使用自定义 XSLT 转换从实例文档中提取 cmets 并在模式中创建注释元素。它必须是自定义练习,因为您拥有的“文档”格式是非标准的。
  • 如果我从实例文档中提取 cmets,如何自动将它们插入到生成的 XSD 中的正确位置?
  • @CJ7 我敢肯定,手工是最简单的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-02
  • 1970-01-01
  • 2011-03-12
  • 2012-10-10
  • 2010-09-16
  • 1970-01-01
相关资源
最近更新 更多