Only select elements which have the 'data-item-id' attribute, this way
we avoid picking up the image gallery at the top of hashtag pages which
does not have an RSS item structure.
JFTR the gallery is inside an element like this:
<li class="AdaptiveStreamImageGallery AdaptiveSearchTimeline-separationModule js-stream-item"
data-item-type="tweet">
with no 'data-item-id'.
<xsl:variable name="screen-name" select="//div[@class='user-actions btn-group not-following ']/@data-screen-name"/>
<xsl:variable name="screen-name" select="//div[@class='user-actions btn-group not-following ']/@data-screen-name"/>
- <xsl:template match="//li[@data-item-type='tweet']">
+ <xsl:template match="//li[@data-item-id and @data-item-type='tweet']">
<xsl:variable name="user-name" select=".//div[contains(@class, 'js-stream-tweet')]/@data-screen-name"/>
<xsl:variable name="item-content" select=".//p[contains(@class, 'js-tweet-text')]"/>
<xsl:variable name="item-permalink" select="concat($BaseURL, .//div[@data-permalink-path]/@data-permalink-path)"/>
<xsl:variable name="user-name" select=".//div[contains(@class, 'js-stream-tweet')]/@data-screen-name"/>
<xsl:variable name="item-content" select=".//p[contains(@class, 'js-tweet-text')]"/>
<xsl:variable name="item-permalink" select="concat($BaseURL, .//div[@data-permalink-path]/@data-permalink-path)"/>
<xsl:value-of select="//a[contains(@class, 'profile-picture media-thumbnail')]/@href"/>
</url>
</image>
<xsl:value-of select="//a[contains(@class, 'profile-picture media-thumbnail')]/@href"/>
</url>
</image>
- <xsl:apply-templates select="//ol[@id='stream-items-id']/li[@data-item-type='tweet']"/>
+ <xsl:apply-templates select="//ol[@id='stream-items-id']/li[@data-item-id and @data-item-type='tweet']"/>
</channel>
</rss>
</xsl:template>
</channel>
</rss>
</xsl:template>