これで壁に頭をぶつけてきました。私は次のような一連のXMLを持っています:
<INTELLCONT id="33954082817" dmd:lastModified="2011-04-05T13:38:05" dmd:startDate="2010-12-30" dmd:endDate="2010-12-30">
<CONTYPE>Journal Article</CONTYPE>
<CONTYPEOTHER/>
<CLASSIFICATION>Learning and Pedagogical Research</CLASSIFICATION>
<STATUS>Not Accepted</STATUS>
<TITLE>The Use of Alternative Quiz Formats to Enhance Students’ Experiences in the Introductory Accounting Course</TITLE>
</INTELLCONT>
<INTELLCONT id="11473068032" dmd:lastModified="2012-08-30T14:12:05" dmd:startDate="2009-03-17" dmd:endDate="2010-11-30">
<CONTYPE>Journal Article</CONTYPE>
<CONTYPEOTHER/>
<CLASSIFICATION>Learning and Pedagogical Research</CLASSIFICATION>
<STATUS>Published</STATUS>
<TITLE>"Using Debate to Enhance Critical Thinking in the Accounting Classroom: Two Examples of Debates on the Sarbanes-Oxley Act and Tax Policy Issues</TITLE>
(簡潔にするために、他のタグのいくつかを削除しました)。誰のxmlファイルでも、これらの<INTELLCONT>
タグは10〜20個ある可能性があります。内のいくつかのフィールドの最初の5つの値を表示する必要がありますが、タグが「公開済み」に設定されて<INTELLCONT>
いるエントリのみです。<PUBLISH>
これまでのxslは次のとおりです。
<xsl:choose>
<xsl:when test="dm:Data/dm:Record/dm:INTELLCONT/dm:STATUS = 'Published'">
<xsl:for-each select="dm:Data/dm:Record/dm:INTELLCONT[1]">
<xsl:if test="dm:STATUS = 'Published'">
<p><xsl:value-of select="dm:TITLE" />,
<xsl:choose>
<xsl:when test="dm:JOURNAL/dm:JOURNAL_NAME !=''">
<i><xsl:value-of select="dm:JOURNAL/dm:JOURNAL_NAME"/></i>,
</xsl:when>
<xsl:otherwise>
<xsl:text> </xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="dm:DTM_PUB !=''">
<xsl:value-of select="dm:DTM_PUB"/>,
</xsl:when>
<xsl:otherwise>
<xsl:text> </xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="dm:DTY_PUB"/></p>
</xsl:if>
</xsl:for-each>
</xsl:when>
</xsl:choose>
これにより、最初のエントリが表示されますが、 <STATUS
>が「公開済み」に設定されている場合に限ります。これは問題ありませんが、上記のxmlのように、<STATUS>
は「公開済み」ではないため、何も表示されません。これも問題ありませんが、このコードを入力してこの行を列挙すると、<xsl:for-each select="dm:Data/dm:Record/dm:INTELLCONT[1]">
公開され<xsl:for-each select="dm:Data/dm:Record/dm:INTELLCONT[5]">
ているすべてのエントリが取得されますが<STATUS>
、公開されているエントリが5つ未満の場合は、取得されません。必要な5つのエントリのリスト。
これを行うにはもっと良い方法が必要だと私は知っていますが、私はまだそれを理解していません。どんな助けでも素晴らしいでしょう!