私は現在、基本的に IM 会話のような人々の間のいくつかの会話で構成される XML ドキュメントを持っています。
読みやすさのために各名前を一意の色にしたいことを除いて、これまでのところどのようにしたいのかを示す各会話があります。
XML は CSS を使用して HTML に変換されます。これには XPath と XSL 1.0 を使用したいと思います。
XML
<wtfwhispers xmlns="http://wtfwhispers.kicks-ass.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://wtfwhispers.kicks-ass.org wtfwhispers.xsd">
<conversation uuid="Diedrick">
<datePosted>2010-05-30</datePosted>
<description>What a great description</description>
<dialog>
<dialogDate>2009-12-22</dialogDate>
<whisper>
<whisperTime>03:55:00</whisperTime>
<speaker>Stubbymush</speaker>
<babble>i said something here</babble>
</whisper>
<whisper>
<whisperTime>03:56:00</whisperTime>
<speaker>Jaymes</speaker>
<babble>what did you say?</babble>
</whisper>
<whisper>
<whisperTime>03:56:00</whisperTime>
<speaker>Stubbymush</speaker>
<babble>i said something here!</babble>
</whisper>
...
<whisper>
<whisperTime>03:57:00</whisperTime>
<speaker>Stubbymush</speaker>
<babble>gawd ur dumb</babble>
</whisper>
</dialog>
</conversation>
</wtfwhispers>
<p class="speaker one">
理想的には、最初のスピーカー、 2 番目のスピーカーなどの出力を得ることです<p class="speaker two">
。
Meunchian Method を使用して、所有しているユニークなスピーカーの数を見つけようとしましたが、機能していませんでした。
...
<xsl:key name="speakerList" match="wtf:whisper" use="wtf:speaker" />
<xsl:template match="/">
<html lang="en">
<body>
<p>
<xsl:value-of select="count( key( 'speakerList', wtf:speaker ) )" />
</p>
</body>
</html>
</xsl:template>
...
'Jaymes' または 'Stubbymush' と入力すると、話者が話した回数は正しく表示されますが、会話の合計に含まれる話者の数はわかりません。
事前に感謝します。複雑すぎるため、より簡単な方法について提案がある場合は、アドバイスしてください。