0

作成した RSS フィードを操作しようとしています。2 つのリンクされた css および xls ドキュメントがあり、1 つの css は xsl が機能しない場合のフェイル セーフとして、もう 1 つの css は xls がフィードをフォーマットする場合に使用します。URL は次のとおりです。

http://rockthepatch.com/rss/current-events.xml

RSS フィードは次のようになります。

<?xml version="1.0" encoding="iso-8859-1"?>

<?xml-stylesheet type="text/css" href="http://www.rockthepatch.com/css/rss.css"?>
<?xml-stylesheet type="text/xsl" href="http://www.rockthepatch.com/rss/current-events.xsl"?>

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <language>en-us</language>
    <title>Upcoming Rock the Patch! Events</title>
    <link>http://www.rockthepatch.com/rss/current-events.xml</link>
    <description>See what's coming up below:</description>
    <atom:link href="http://www.rockThePatch.com/rss/current-events.xml" rel="self"     type="application/rss+xml" />

    <item>
      <title>Thursday's Open Mic at Ole Simms</title>
      <link>https://www.facebook.com/olesimrells</link>
      <description>Join Patches at open mic night at Terre Haute's Ole Simmerls Bar around 9 P.M. every Thursday.</description>
      <guid>http://www.indstate.edu/mpa/sarah/rockThePatch/rss/item0001</guid>
      <pubDate>Mon, 10 Oct 2011 09:15:00 EST</pubDate>
      <author>sklinefelter89@gmail.com (Patches)</author>
    </item>
    <item>
      <title>Fall Break is Here!</title>
      <link>http://www.indstate.edu/academicaffairs/calendar.htm</link>
      <description>School and work will not happen on Friday due to FALL BREAK!!!    </description>
      <guid>http://www.indstate.edu/mpa/sarah/rockThePatch/rss/item0002</guid>
      <pubDate>Fri, 07 Oct 2011 02:23:00 EST</pubDate>
      <author>sklinefelter89@gmail.com (Patches)</author>
    </item>
  </channel>
</rss>

xsl は次のようになります。

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
      <head>
          <link rel="stylesheet" href="http://www.rockthepatch.com/css/xsl.css"     type="text/css"/>
      </head>
      <body>
        <h2>Upcoming Rock the Patch! Events</h2>
        <table border="1px">
          <tr>
            <th>Name of Event</th>
            <th>Description</th>
            <th>Date Posted</th>
            <th>Author</th>
         </tr>
      <xsl:for-each select="rss/channel/item">
        <tr>
              <td>
            <xsl:value-of select="title"/>
          </td>
          <!-- <td>
            <a href="&lt;xsl:value-of select='link'/&gt;" title="Link">
              <xsl:value-of select="link"/>
            </a>
          </td> -->
          <td>
            <xsl:value-of select="description"/>
          </td>
          <td>
            <xsl:value-of select="pubDate"/>
          </td>
          <td>
                <a href="mailto:sklinefelter89@gmail.com" title="sklinefelter89@gmail.com">
                  <xsl:value-of select="author"/>
                </a>
              </td>
            </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>

</xsl:stylesheet>

ファイルをダウンロードしたくないのですが、リンクをクリックするたびに、どのブラウザーにも表示されずにダウンロードされます...誰かが私が間違っていることを指摘できますか?

4

1 に答える 1

0

あなたの URL から HTTP ヘッダーを調べました。のコンテンツ タイプを送信していますapplication/xhtml+xml。これを に変更する必要がありますapplication/rss+xml。これでうまくいくはずです。

問題を再現するために、xml ファイルを coldfusion サーバーに置きました。次に、拡張子を cfm に変更し、 を追加する<cfcontent type = "application/rss+xml">と、希望どおりに機能しました (ダウンロードなし)。

于 2012-08-31T16:10:56.903 に答える