- PR -

このXSLTどうやって書けばよいのでしょう

1
投稿者投稿内容
itsu
会議室デビュー日: 2002/04/24
投稿数: 5
投稿日時: 2002-10-29 15:44
文章中心のXMLファイルをXSLTでHTMLに変換して使っています。

<PARA>
<TEXT>明日の午後は<FONT type="bold">晴れる</FONT>でしょう。明後日は<FONT color="blue">雨</FONT>でしょう。</TEXT>
<TEXT>明日の午後は<FONT color="red">晴れる</FONT>でしょう</TEXT>
</PARA>
といった文章があったときに、HTMLで表現すると

明日の午後は<B>晴れる</B>でしょう
明日の午後は<FONT color="red">晴れる</FONT>でしょう

というようになるXSLTを書こうとしています。

このようになっている場合どんなXSLTの書き方をすれば実現できるでしょうか?
いろいろ悩んだのですが自力では解決出来ませんでした。

ちなみに赤字の部分や太字の部分は文中に何箇所も出てきます。
XMLの構造の変更も理由があり出来ません。

もしお分かりの方いらっしゃいましたらアドバイスをお願いします。

小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2002-10-29 16:36
こんなんでどうでしょうか。最低限HTMLで表示できるようにPARAタグは変換してますよ。


<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS"/>

<xsl:template match="PARA">
<html>
<head>
</head>
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>

<xsl:template match="FONT[@type='bold']">
<B><xsl:value-of select="."/></B>
</xsl:template>

<xsl:template match="FONT">
<xsl:copy-of select="."/>
</xsl:template>


</xsl:stylesheet>


itsu
会議室デビュー日: 2002/04/24
投稿数: 5
投稿日時: 2002-10-29 17:18
小僧さんありがとうございました。

こういう書き方をすればよいのですので一つ勉強になりました。
頭が固くて恥ずかしい...。

XMLの形式が以下のような形で英語日本語とXSLファイルが分かれていたので
<PARA>
<TEXT>明日の午後は<FONT type="bold">晴れる</FONT>でしょう。明後日は<FONT color="blue">雨</FONT>でしょう。</TEXT>
<TEXT_E>明日の午後は<FONT color="red">晴れる</FONT>でしょう</TEXT_E>
</PARA>

結局以下のような形で使わせていただきました。

<xsl:template match="para">
<TR>
 <TD class="table">
  <xsl:apply-templates select="text" />
 </TD>
</TR>
</xsl:template>

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

<xsl:template match="font[@type='bold']">
<B><xsl:value-of select="."/></B>
</xsl:template>

<xsl:template match="font">
<xsl:copy-of select="."/>
</xsl:template>

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

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