Не могу получить ценность контента: закодировано из Wordpress RSS - PullRequest
3 голосов
/ 19 марта 2012

У меня есть этот XSLT-файл, который я использую для перевода статей Wordpress из RSS-канала категории (а именно этот ). В основном все работает так, как должно, ожидаю, когда я пытаюсь получить значение элемента «content: encoded», используя xsl:value-of. Ничего не возвращается, когда я использую следующий код. Я что-то упускаю или двоеточие в "content: encoded" портит XSLT?

<?xml version="1.0"?>


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.0"
     exclude-result-prefixes="dc">
<xsl:output method = "html" omit-xml-declaration="yes" />
<xsl:param name="limit"></xsl:param>
<xsl:param name="hide">none</xsl:param>

<xsl:template match="/">
    <xsl:for-each select="rss/channel/item">
        <xsl:variable name="link" select="link"/>

        <xsl:element name="a">
            <xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute>
            <xsl:value-of select="title" disable-output-escaping="yes"/>
        </xsl:element>
        <br />
        <xsl:value-of select="content:encoded" />

    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

Большое спасибо.

1 Ответ

10 голосов
/ 19 марта 2012

Закончилось выяснением, что двоеточие делает что-то напуганное из пространства имен. Глупый Wordpress. В итоге я использовал *[name()='content:encoded'] вместо content:encoded.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...