Мне нужна помощь по возврату ссылок в формате XML для отображения на веб-сайте. В настоящее время я используюПоиск текстовых элементов в XSL и создание гиперссылки
<xsl:for-each select="Summary/text">
<p>
<xsl:value-of select="self::*"/>
</p>
Это захватывает каждый абзац и отступает от него должным образом. Это отлично работает, за исключением ссылок, которые мы получаем. Я немного смущен тем, что делать. Текст мне нужно отображаться в виде гиперссылки показывает, как отдельный пункт так:
<a href=http://www.google.com</a>
Так я думал, что я назвал бы шаблон, чтобы сделать это.
<xsl:template name="hyperlink">
<xsl:param name="text"/>
<xsl:choose>
<xsl:when test="contains($text,'href=http://')">
<a>
<xsl:attribute name="href">
<xsl:value-of select="substring($text, 8, 500)"/>
</xsl:attribute>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="self::*"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Я не знаю, если $ текст или 'href=http://'
прав. Когда я пытаюсь использовать contains('<a href')
для тестирования, я получаю ошибки. Я был бы признателен за толкание в правильном направлении. Я не думаю, что я использую правильные утверждения, чтобы сделать эту работу.
Так что, если я понять ваш вопрос правильно, то проблема появляется, когда вы получите ссылки, которые не совсем действительный (например, тот, который вы указали в своем сообщении)? – Lukasz
Не могли бы вы показать нам образец вашего ввода xml вместе с ожидаемым выходом? Также, какую версию XSLT вы используете и какой движок? –