【问题标题】:How to convert xsd to human readable documentation? [closed]如何将 xsd 转换为人类可读的文档? [关闭]
【发布时间】:2010-09-19 06:31:32
【问题描述】:

我们有一些基于 XML 的接口,这些接口在 XSD 模式中得到了很好的记录。这些接口现在将公开可用,我们希望为它们创建参考文档。

有没有工具可以自动将XSD文件转换成更易读的格式?

【问题讨论】:

标签: xml xsd


【解决方案1】:

xs3p 可能会做你想做的事(另见their SourceForce page)。

【讨论】:

  • 哇,对投票感到惊讶,也许是因为替代品太少了,但是 x3sp 的输出非常丑陋且难以理解 - 只需阅读普通的 xsd 就容易得多。随机附加到末尾的“AusAddress”类型是什么?
  • 链接的页面似乎已经不存在了,至少通过快速的网络搜索,我找不到任何名为 x3sp 的软件的踪迹。
  • @O.R.Mapper - 这是因为字母/数字的顺序错误
  • “AusAddress”是图例的一部分,可以在设置中关闭,见xsl文件中的printLegend
【解决方案2】:

将其插入 XSD 的顶部

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="xs3p.xsl"?>

然后您可以使用网络浏览器直接查看 XSD 文件。 Web 浏览器使用指定的 XSLT 转换为 HTML。

不需要需要 XSL 处理器,但是像 xs3p 这样的样式表不会使用这种方法生成链接。我用的是火狐浏览器,IE8好像没用。

我已经尝试过这些 xsl 样式表: https://sourceforge.net/projects/xs3p/files/xs3p-1.1.3.zip/download http://crism.maden.org/consulting/pub/xsl/xsd2html.xsl

我想我更喜欢 xs3p。

【讨论】:

  • 澄清一下:现代 Web 浏览器(例如 Firefox)具有内置的 XSLT 处理器,允许进行这些转换,因此这种方法的可靠性取决于运行时环境。
  • 不了解 IE8 - 但 IE11 工作正常但有一点需要注意,我似乎无法通过将 XSD 文件放在上面来使其工作。但是,如果文件是通过网络服务器提供的,它可以正常工作......当我在查看 XSD 时点击 intellij IDEA 中的 IE 按钮时,它会通过 localhost 发送它 - 因此它可以正确呈现。为我节省了安装 firefox 的麻烦。因为 chrome 对我不起作用。我的最终梦想是找到类似 x3sp 的东西——但这不会把文档混在一起......相反,把它留在 XSD 中的相同位置(在它被放置在之后的元素)
【解决方案3】:

oXygen 有很好的XSD schema documentation tool,可以通过选项和其他 CSS 文件轻松自定义。

我以前没用过,但是FlexDoc/XML 是一个 XML 文档工具,带有一个名为 XSDDoc 的 XSD 文档组件,看起来很有趣。

当然,正如其他答案中所指出的,XSD 只是一个 XML 文件,因此可以编写自定义 XSLT 来生成您喜欢的任何文档输出。

【讨论】:

    【解决方案4】:

    您很可能不想使用通用工具来记录您的架构。模式文档工具(我最熟悉 XML Spy 中的那个)旨在使模式可读。根据您的描述,这听起来并不是您真正想要的;您想要的是使用架构中的信息作为软件文档的基础。

    当我需要这样做时,我采用的方法是设计看起来与我需要文档一样的 HTML,然后找出我需要抓取架构中的哪些信息来填充它。使用它作为模板,使用 XSLT 从架构中提取相关信息非常简单。

    【讨论】:

      【解决方案5】:

      XSLT 脚本可以完成这项工作。

      【讨论】:

        【解决方案6】:

        我过去曾使用我在 Freshmeat.net 上找到的名为 xsddoc 的工具生成文档。刚才查看它(以获取直接链接),我发现它已被其开发人员用一个名为 xnsdoc 的工具取代。较新的版本可供开源项目免费使用,但如果您将其用于商业产品,您可能需要获得许可。如果在“xsddoc”横幅下发布的最后一个版本适合您的目的,那么您可以使用那个版本。

        它生成的文档具有 Javadoc 的外观和感觉,并允许对样式表等进行某种程度的控制。

        【讨论】:

          【解决方案7】:

          如果您准备好深入了解Sandcastle 的复杂性,我强烈推荐XML Schema Documenter,它是优秀Sandcastle Help File Builder 的插件。

          可能的输出与 Sandcastle 相同:网站、HTML 帮助 (CHM) 文件、MS Help 2 内容、MS Help Viewer 1...

          【讨论】:

            【解决方案8】:

            将其转换(或提前写入)为docbook格式应该不难。

            【讨论】:

            • 不确定参考一本书如何接近回答这个问题。
            • Docbook 不是一本书,而是一个可以帮助将 XML 转换为 Html/word/pdf 格式的工具。根据我的理解,它比仅仅提到 XSLT 转换要具体得多。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-02
            • 1970-01-01
            • 2017-09-06
            • 2011-12-22
            • 2011-10-04
            相关资源
            最近更新 更多