https://cms.al-design.jp/phpbb/viewtopic.php?t=944
コード: 全て選択
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" indent="no" />
<xsl:template match="/entrylist">
<xsl:if test="count(entry)>=3">
<div class="test1">
<xsl:for-each select="entry">
<p>test</p>
</xsl:for-each>
</div>
</xsl:if>
<xsl:if test="count(entry)<3">
<div class="test2">
<xsl:for-each select="entry">
<p>test</p>
</xsl:for-each>
</div>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
いろいろ試したところ、"count(entry)<3"の部分の不等号を等号にすると表示されるようでした。
そのため、下記の通り繰り返し記述することで表示はされるようになったのですが、できればもっと簡潔に表示したいところです。
コード: 全て選択
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" indent="no" />
<xsl:template match="/entrylist">
<xsl:if test="count(entry)>=3">
<div class="test1">
<xsl:for-each select="entry">
<p>test</p>
</xsl:for-each>
</div>
</xsl:if>
<xsl:if test="count(entry)=2">
<div class="test2">
<xsl:for-each select="entry">
<p>test</p>
</xsl:for-each>
</div>
</xsl:if>
<xsl:if test="count(entry)=1">
<div class="test2">
<xsl:for-each select="entry">
<p>test</p>
</xsl:for-each>
</div>
</xsl:if>
<xsl:if test="count(entry)=0">
<div class="test2">
<xsl:for-each select="entry">
<p>test</p>
</xsl:for-each>
</div>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
参考ページの通り記述したつもりですが、何か間違いがありますでしょうか?
もしお分かりになりましたら、ご教示ください。