2

次の RSS フィード XML から最初の 5 項目を選択しようとしています。

<rss xmlns:RTgame="http://www.rottentomatoes.com/xmlns/rtnews/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
   <channel>
     <item>
       <pubDate>2013-03-22 16:45:10</pubDate>
       <title>
          Weekly Ketchup: Will Tom Cruise Be The Man From U.N.C.L.E.?
       </title>
       <link>
         http://www.rottentomatoes.com/m/1927101/news/1927101/
       </link>
       <description>
          <![CDATA[
            This week's Ketchup includes movie development news for reboots of <em>Escape from New York</em>, <em>Hercules</em>, and <em>Pete's Dragon</em>, the next <em>X-Men</em> and <em>Captain America</em> movies, and new roles for Tom Cruise, Hugh Jackman, and Robert Redford.
          ]]>
       </description>
       <guid>
         http://www.rottentomatoes.com/m/1927101/news/1927101/
       </guid>
       <atom:link rel="thumbnail" type="image/*" href="http://content6.flixster.com/movie/11/14/23/11142332_tmb.jpg"/>
    </item>
    <item>...</item>
    <item>...</item>
    <item>...</item>
    <item>...</item>
    <item>...</item>
    <item>...</item>
    <item>...</item>
    etc.
  </channel>
</rss>

これは、Xpath 式を含む私の XSLT コードです。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" omit-xml-declaration="yes" indent="yes" media-type="text/html"/>

<xsl:template match="rss/channel">
    <xsl:for-each select="item[position() < 6]">
        <xsl:variable name="link" select="link" />
        <a href="{$link}"><xsl:value-of select="title" /></a><br/>
        <xsl:value-of select="description" disable-output-escaping="yes" /><br/>
    </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

結果が表示されない空白のページが表示されます。ただし、演​​算子を「<」から「>」または「=」に変更すると、結果がページに表示されます。

何らかの理由で「<」演算子では機能しません。その理由はわかりません。

4

1 に答える 1

4

置き換えるだけです:

<xsl:for-each select="item[position() < 6]">

:

<xsl:for-each select="item[position() &lt; 6]">

説明:

XSLT 変換は XML ドキュメントです。整形式の XML ドキュメントの定義により<、開始タグまたは終了タグを示すために使用されない文字はすべてエスケープする必要があります。

于 2013-03-24T03:16:47.890 に答える