- PR -

XMLをXSLTでHTMLに変換し、2つのテーブルを密接に表示。

1
投稿者投稿内容
first-try
会議室デビュー日: 2008/01/22
投稿数: 14
投稿日時: 2008-01-28 16:13
お世話になります。
とても初歩的なことだと思うのですが、解決策が見つからない&どこが悪いのかわからないので、投稿した次第です。

XMLをXSLTを使ってHTML変換しています。
HTMLでは表に縦スクロールをつけて表示します。
その縦スクロール、タイトル部分はスクロールせず、データ部分のみスクロールさせたいと思い以下のようにしました。
<HTML>版(参考URL:http://www.geocities.co.jp/Playtown-Domino/4598/HTML_11.html)
-------------------------------------------------------------------------------
<TABLE BORDER="0" cellpadding="0" cellspacing="0">
<tr>
<TD>

<!-- タイトルテーブル -->
<TABLE BORDER="1" cellpadding="4" cellspacing="0"
style="border-bottom-width:0px">
<tr>
<TH width="150" align="center">項目1</TH>
<TH width="100" align="center">項目2</TH>
</tr>
</TABLE>
<!-- スクロール部 -->
<DIV style="width:293px;height:158px;overflow-x:hidden;overflow-y:scroll;">
<!-- データテーブル -->
<TABLE BORDER="1" cellpadding="4" cellspacing="0">
<TR>
<TD width="150">アーヴァンク</TD>
<TD width="100">Afanc</TD>
</TR>
<TR>
<TD>アータル</TD>
<TD>Atar</TD>
</TR>

 データ部
</TABLE>
</DIV>
</TD></TR>
</TABLE>
-------------------------------------------------------------------------------
これだと2つのテーブルは密接して表示されるのですが、これをXSLTに組み込むと、
タイトルテーブルとデータテーブルの間に1pxほどの隙間が空いてしまうのです。

XSLT版
-------------------------------------------------------------------------------
<?xml version="1.0" encoding="EUC-JP" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="EUC-JP"/>

<!-- 結果テーブル -->
<xsl:template match="/">
<html>
<body>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td>
<table border="1" cellpadding="4" cellspacing="0">
<tr><th width="150px">項目1</th>   <th width="150px">項目2</th>
    </table>
<!-- スクロール部 -->
<DIV style="width:970px;height:300px;overflow-x:hidden;overflow-y:scroll;">

<table border="1" cellpadding="4" cellspacing="0">
<xsl:apply-templates select = "xxx"/>
</table>
</DIV>
</td></tr>
</table>
</body>
</html>
</xsl:template>

<!-- データ抽出 -->
<xsl:template match="xxx">
<tr>
<td width="150px"><xsl:value-of select="@xxx"/></td>
<td width="150px"><xsl:value-of select="."/></td>
</tr>
</xsl:template>

</xsl:stylesheet>
-------------------------------------------------------------------------------

XML⇒XSLTでHTML変換は問題ないです。
ただ、テーブルとテーブルの間が空いてしまうのです。
HTML版もXSLT版で作ったHTMLもIE6で表示してみました。

このような説明で言葉が足りているか不安ですが、
どなたかお分かりになる方、お教え願います。

宜しくお願いします。
1

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