XSL Substring-before с символами HTML
Я добавляю RSS-ленту, которая содержит шутку, за которой следует несколько ссылок, чтобы поделиться этой шуткой с различными сервисами. Как показано ниже:
Возможно, стоит отметить, что когда я пытался скопировать и вставить текст из этого вывода, ссылки не копировались в блокнот, а вставлялись как рисунки в MS Word.
В моем XSL я использую
substring-before
в попытке исключить эти ссылки из моего вывода, но единственный непротиворечивый символ, который я могу использовать, это<a href
от гиперссылок, которые всегда будут в конце. Это возможно? Мой первый проход на этом не удался, есть ли какой-нибудь экранирующий символ, который я должен включить?
Возможно, я просто постараюсь исключить последнее X
символы для удаления ссылок
К сожалению, я не смог найти и версию XML-канала, мой источник здесь: http://feeds.feedburner.com/DailyJokes-ACleanJokeEveryday?format=xml
Вот XSL, с которым я работаю, который в настоящее время жестко запрограммирован, чтобы его можно было разбить в конце последней шутки (мое следующее препятствие - перебрать этот список)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:apply-templates select="//item[position() < 2]"/>
</xsl:template>
<xsl:template match="item">
<content-item>
<h1><xsl:value-of select="title"/></h1>
<p><xsl:value-of select="substring-before(description, 'mower')" disable-output-escaping="yes"/></p>
<br/><br/>
<p>"The following is here for testing purposes and will be removed"<br/><br/><xsl:value-of select="substring-after(description, 'lawn')" disable-output-escaping="yes"/></p>
<br/><br/>
</content-item>
</xsl:template>
</xsl:stylesheet>
Я отображаю вывод через веб-часть RSS-канала SharePoint 2013
1 ответ
Пытаясь просмотреть правильный XML, я нашел решение. Я просмотрел исходный URL страницы для моего исходного URL и увидел, что последние символы отображаются следующим образом:
<title>Hunting with a wife #Joke #Humor</title><description>A hunter visited another hunter and was given a tour of his home. In the den was a stuffed lion.<br /><br />The visiting hunter asked, "when did you bag him?"<br /><br />The host said, "that was three years ago, when I went hunting with my wife."<br /><br />"What's he stuffed with," asked the visiting hunter. "My wife."<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/DailyJokes-ACleanJokeEveryday?a=RT1LsKVBV3Y:0LcrJjJq2X4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DailyJokes-ACleanJokeEveryday?d=yIl2AUoC8zA" border="0"></img></a> <a href....
Дело в том, что HREF не имеет
<
он использует разметку HTML<
,
substring-before(description, '<a href')
работает.