我正在使用 IBM Rational Software Architect (RSA) 从 UML 模型为 SOAP 服务生成 WSDL/XSD。RSA 允许您使用丰富的格式记录模型中的类和属性。
例如,我在Trailer类上有以下文档:
设计用于由另一辆车牵引 的轮式车辆。已知的亚型包括:
- 大篷车
- 箱拖车
- 船拖车
当 UML 模型转换为 WSDL/XSD(使用开箱即用的 UML 到 WSDL 转换)时,格式将作为 HTML 标记保留在 xsd:documentation 元素中:
<xsd:complexType name="Trailer">
<xsd:annotation>
<xsd:documentation><p>
A&nbsp;wheeled <strong>Vehicle</strong> that is designed for&nbsp;towing by another <strong>Vehicle.</strong> Known
subtypes include:&nbsp;
</p>
<ul>
<li>
<strong>Caravan</strong>
</li>
<li>
<strong>BoxTrailer</strong>
</li>
<li>
<strong>BoatTrailer</strong>
</li>
</ul></xsd:documentation>
</xsd:annotation>
</xsd:complexType>
不幸的是,这真的很难阅读,我一直在搜索(没有运气)可以查看带有 HTML 标记文档的 WSDL/XSD 的程序。
XmlSpy 2008 做不到,RSA 做不到(这有点令人惊讶,因为它首先生成了 XSD),我尝试过的任何 Web 浏览器也做不到。
我确实编写了一个 JET 模板,它从模型中提取文档并输出到 HTML,我可能会编写一些 XSLT 来从 XSD 中做类似的事情,但我希望那里有一个程序(最好是免费的)可以查看HTML 格式的文档。
本质上,我希望能够告诉我们 Web 服务的消费者,如果他们想阅读文档,他们可以在 X 程序中查看 WSDL——有人知道最好的解决方案吗?
编辑: 感谢您的建议,但我想我有一个解决方案!我没有意识到 RSA 可以将 WSDL 导出为 HTML(右键单击 WSDL、导出、HTML)。生成的 HTML 具有每个模式元素的图形视图、每个元素的文档以及原始源,并且所有内容都超链接在一起。
最重要的是,文档的格式再次丰富!一个小警告是;nbsp
' 出现在 HTML 输出中。这似乎是因为&符号在 HTML 中被转义:
&nbsp;
相反,它应该是
我将更新我的模型到模型转换以确保将;nbsp
's 替换为真实空格(我认为我不需要文档中的不间断空格),因此生成的 WSDL/XSD 永远不会拥有他们。