- PR -

XSLでXMLの内容が重複しないようにするには・・・

1
投稿者投稿内容
ケイ
会議室デビュー日: 2005/04/27
投稿数: 10
投稿日時: 2005-04-27 02:22
<example>
<list>例文1</list>
<list>例文2</list>
<list><italic>斜線</italic>例文3</list>
<list>例文4</list>
</例文>

----------------------------------------

上記のようなXMLがあり、XSLを使用し「<itali>斜線</itali>」この部分のみを斜線として表示させ、「例文3」の部分は通常の書式で表示する為にはどの様にすればよいのでしょうか?

表示させたい例/斜線例文3

自分でXSLを書いてみたのですが、「<list><italic>斜線</italic>例文3</list>」の部分が一度目は斜線文字で、その後続けて通常の書式で同じ内容が表示されてしまいます。
下記に自分で書いてみたXSLのサンプルを記述しておきます。

表示される例/斜線例文3斜線例文3

どの様に記述すれば「<italic>斜線</italic」の部分だけを斜線表示させ、残りの文章は通常の書式で表示させることが出来るのでしょうか?
ご教授の程を宜しくお願いします。

----------------------------------------

<xsl:template match="list">
<ul>
<li>
<xsl:if test="italic">
<em>
<xsl:value-of select="."/>
</em>
</xsl:if>
<xsl:apply-templates/>
</li>
</ul>
</xsl:template>
TAKABE
常連さん
会議室デビュー日: 2003/05/14
投稿数: 43
投稿日時: 2005-04-27 07:51
 ケイさま、こんにちは。

<xsl:template match="list">
<ul>
<li>
<xsl:apply-templates/>
</li>
</ul>
</xsl:template>

<xsl:template match="italic">
<em>
<xsl:apply-templates/>
</em>
</xsl:template>

 という書き方ではいかがでしょうか。
 XSLTでは「下請け、孫請けに仕事を任せる」的な考え方が大事になってきます
ケイ
会議室デビュー日: 2005/04/27
投稿数: 10
投稿日時: 2005-04-27 12:58
TAKABEさま、ありがとうございました。
期待した通りに表示されるようになりました。

<list>とは別に<italic>というtemplateを作成すればよかったんですね。
私は<list>の中に<italic>があるからと、ややこしく考えすぎていたようですね・・・

本当にありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)