1
私は、私たちのウェブサイトの1つの場所に公開されるXMLフィードを入手しました。これをRSSフィード用に再利用したいと考えています。XMLをRSSに変換する
ウェブサイト上のいくつかの異なるページも同じxmlを参照します。これらの変換はすべてセットアップされ、動作しています。
ベースのXMLファイル(XMLTEST.xml)この構造を使用している:
<POST>
<item>
<POST_ID>80000852</POST_ID>
<POST_TITLE>title</POST_TITLE>
<POST_CHANNEL>I</POST_CHANNEL>
<POST_DESC>description</POST_DESC>
<LINK>http://www...</LINK>
<STOC>N</STOC>
</item>
</POST>
私は次のセットアップ(feed.xml + rss.xsl)を使用して、RSSフィードにXMLを変換しようとしています
feed.xml:
<?xml-stylesheet href="rss.xsl" type="text/xsl"?>
<RSSChannels>
<RSSChannel src="XMLTEST.xml"/>
</RSSChannels>
rss.xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" />
<xsl:template match="RSSChannels">
<rss version="2.0">
<channel>
<title>site title</title>
<link></link>
<description>Site description...</description>
<xsl:apply-templates />
</channel>
</rss>
</xsl:template>
<xsl:template match="RSSChannel">
<xsl:apply-templates select="document(@src)" />
</xsl:template>
<xsl:template match="item">
<xsl:choose>
<xsl:when test="STOC = 'Y'"></xsl:when>
<xsl:when test="POST_CHANNEL = 'I'"></xsl:when>
<xsl:otherwise>
<item>
<title>
<xsl:value-of select="*[local-name()='POST_TITLE']" />
</title>
<link>
<xsl:value-of select="*[local-name()='LINK']" />
</link>
<description>
<xsl:value-of select="*[local-name()='POST_DESC']" />
</description>
</item>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Firefoxでfeed.xmlの出力を表示しようとすると、すべてのフィルタリングが正しく適用されます(そのチャネルでは公開しない項目を並べ替える)が、ページは通常のテキストではなくプレーンテキストとして出力されますフィード検出はFirefoxで行われます。私は何が欠けているかについての任意のアイデア?
ご協力いただきありがとうございます。