как правильно сформировать XSL

xml xsl

имеется XML файл следующего содержания:
<contact>
<content>link 1</content>
<link>http://example.com/</link>
</contact>
<contact>
<content>link 2</content>
</contact>
<contact>
<content>link 3</content>
<link>http://2example2.com/</link>
</contact>

необходимо создать XLS, что бы вывести список элементов следующим образом
<a href="http://example.com/">link 1</a> | link2 | <a href="http://2example2.com/">link 3</a>

т.е. если элемент link присутствует, то вывести ссылкой, если нет - вывести текстом.
в конце каждой итерации в конец добавить символ |, за исключением последнего элемента

помогите правильно сформировать XSL
Ответы:
Набросал шаблон (xsl:stylesheet и др. сами допишите) на скорую руку (не проверял). Разумеется, это не единственный вариант.
<xsl:template match="contact">
<xsl:choose>
<xsl:when test="link">
<a><xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute>
<xsl:value-of select="content"/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="content"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="position()!=last()"> | </xsl:if>
</xsl:template>


17 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.