私は xsl にかなり慣れていないので、wordpress の rss フィードの xml 内の 2 つを除くすべてのノードを次のように非表示またはミュートする方法を見つけようとしています。
?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
>
<channel>
<title>Title</title>
<atom:link href="http://www.alink.com" rel="self" type="application/rss+xml" />
<link>http://www.alink.com</link>
<description>Just another WordPress site</description>
<lastBuildDate>Sun, 21 Apr 2013 22:13:55 +0000</lastBuildDate>
<language>en-US</language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<generator>http://wordpress.org/?v=3.5.1</generator>
<item>
<title>A Title</title>
<link>http://www.alink.com</link>
<comments>comments</comments>
<pubDate>Sun, 21 Apr 2013 22:13:55 +0000</pubDate>
<dc:creator>aUser</dc:creator>
<category><![CDATA[Uncategorized]]></category>
<guid isPermaLink="false">http://www5.uifoundation.org/news/?p=112</guid>
<description><![CDATA[Post[...]]]></description>
<content:encoded> Posted October 10, 2013 </content:encoded>
<wfw:commentRss>http://www.alink.com</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
しかし、変換でチャンネル/タイトルとチャンネル/リンクのみを表示したいです。このように、すべてのノードで空のテンプレートを使用するという行に沿って何かを考えていました
<xsl:template match="channel/* EXCEPTION channel/item/title | channel/item/link" />
ただし、例外を宣言する方法がわかりません。これを行うためのより良い方法があれば、私もそれを受け入れます
私は本当に、出力が の順序付けられていないリストでありitem/title
、 の値がありitem/link
、他のすべてが隠されていることを望んでいます。出力の例は次のとおりです。
<ul>
<li>
<a href= "www.aLink.com">A Title</a>
</li>
</ul>