Я создаю WSDL / XSD для служб SOAP из модели UML с использованием IBM Rational Software Architect (RSA). RSA позволяет документировать классы и атрибуты в модели с использованием расширенного форматирования.
Например, у меня есть следующая документация по классу Трейлер :
Колесный Автомобиль , предназначенный для буксировки другим лицом.
Автомобиль . Известные подтипы включают в себя:
- Караван
- BoxTrailer
- BoatTrailer
Когда модель 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>
К сожалению, это действительно трудно читать, и я искал (без удачи) программу, которая может просматривать WSDL / XSD с документацией в разметке HTML.
XmlSpy 2008 не может этого сделать, RSA не может этого сделать (что немного удивительно, поскольку он сгенерировал XSD в первую очередь), как и любой веб-браузер, который я пробовал.
Я написал шаблон JET, который извлек документацию из модели и вывел ее в HTML, и я, вероятно, мог бы написать некоторый XSLT для выполнения чего-то похожего из XSD, но я надеялся, что есть программа (в идеале бесплатная), которая может просматривать документацию в формате HTML.
По сути, я бы хотел сказать пользователям нашего веб-сервиса, что они могут просматривать программу WSDL in X, если они хотят прочитать документацию - кто-нибудь знает лучшее решение для этого?
Edit:
Спасибо за предложения, но я думаю, что у меня есть решение! Я не осознавал, что RSA может экспортировать WSDL в HTML (щелкните правой кнопкой мыши на WSDL, экспорт, HTML). Сгенерированный HTML-код имеет графическое представление каждого элемента схемы, документацию для каждого элемента, а также исходный источник, и все они связаны друг с другом гиперссылками.
Самое главное, документация снова отформатирована! Небольшое предостережение заключается в том, что ;nbsp
появляются в выводе HTML. Похоже, это связано с тем, что амперсанд экранирован в HTML:
&nbsp;
Вместо этого должно быть
Я обновлю свое преобразование модель-модель, чтобы обеспечить замену ;nbsp
на реальные пробелы (я не верю, что в документации мне понадобятся неразрывные пробелы), поэтому сгенерированный WSDL / XSD никогда их не получит.