Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何将xsd转换为人类可读的文档?_Xml_Xsd - Fatal编程技术网

Xml 如何将xsd转换为人类可读的文档?

Xml 如何将xsd转换为人类可读的文档?,xml,xsd,Xml,Xsd,我们有一些基于XML的接口,在XSD模式中有很好的文档记录。这些接口现在将公开,我们希望为它们创建参考文档 是否有一种工具可以自动将XSD文件转换为更可读的格式?将其转换(或提前写入)为格式应该不难。XSLT脚本可以完成这项工作 具有非常好的功能,允许通过选项和附加CSS文件轻松定制 我以前没有使用过它,但它是一个XML文档工具,带有一个名为“看起来很有趣”的XSD文档组件 当然,正如其他答案中所指出的,XSD只是一个XML文件,因此可以编写自定义XSLT来生成您喜欢的任何文档输出。很可能您不想

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


是否有一种工具可以自动将XSD文件转换为更可读的格式?

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

XSLT脚本可以完成这项工作

具有非常好的功能,允许通过选项和附加CSS文件轻松定制

我以前没有使用过它,但它是一个XML文档工具,带有一个名为“看起来很有趣”的XSD文档组件


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

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


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

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


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

可能会执行您想要的操作(另请参见)。

将此插入XSD顶部

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

然后可以使用web浏览器直接查看XSD文件。web浏览器使用指定的XSLT将其转换为HTML

您不需要XSL处理器,但是像xs3p这样的样式表不会使用这种方法生成链接。我使用的是Firefox浏览器,IE8似乎对此毫无用处

我尝试了以下xsl样式表:


我想我更喜欢xs3p

如果您准备深入研究的复杂性,我强烈推荐这是一个优秀的插件


可能的输出与Sandcastle相同:一个网站、一个HTML帮助(CHM)文件、内容等等

如果我不是晚了两年,我会说“关闭”,因为这是一个复制品,需要澄清的是:现代web浏览器(如Firefox)有一个内置XSLT处理器,允许这些转换发生,因此,这种方法的可靠性取决于运行时环境。我不知道IE8-但IE11可以正常工作,但有一点需要注意,我似乎无法通过删除XSD文件使其工作。但是,如果文件是通过Web服务器提供的,那么它可以正常工作。。。当我在查看XSD时点击intellij IDEA中的IE按钮时,它会通过localhost发送它-因此它会正确呈现。省去了我安装firefox的麻烦。因为chrome不适合我。我的最终梦想是找到像x3sp这样的东西——但这不会把文档混在一起。。。相反,让它保持在XSD中的相同位置(在元素placedafter下)哇,对投票感到惊讶,可能是因为几乎没有其他选择,但x3sp的输出令人难以置信地难看,而且很难理解——仅仅读取简单的XSD就容易多了。“AusAddress”类型随机添加到末尾是什么意思?链接页面似乎不再存在,我无法找到任何名为x3sp的软件的痕迹,至少通过快速网络搜索。@O.R.Mapper-这是因为字母/数字顺序错误“AusAddress”是图例的一部分,您可以在设置中关闭它,请参阅xsl文件中的
printLegend
。不确定如何引用一本书来回答这个问题。Docbook不是一本书,而是一个可以帮助将XML转换为Html/word/pdf格式的工具。根据我的理解,这比仅仅提到XSLT转换要具体得多。