• 締切済み

IE以外のブラウザでテーブルが崩れる

IEのみで閲覧していたxml文書を、FireFox, Safari, Google ChromeのIE以外のブラウザでも閲覧可能になるように修正しています。 xml文書で名前空間定義を使用してHTMLタグを拡張して使用し、テーブル表示させている箇所が IE以外のブラウザだと列の幅指定が効いておらず、文字長に合わせて各行のセルの長さが可変になり、期待通りにうまく表示されません。 下記がxml文書のソースです。 entryタグとrowタグをコメント化すると、セル長が揃うことがわかったのですが、 その因果関係も不明です。 ---------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet href="test.css" type="text/css"?> <!-- DC Version =\\\\\\\\ "(unknown).0.0.1" --> <!-- Character entity set. Typical invocation: <!ENTITY % ISOnum PUBLIC "ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN"> %ISOnum; --> <techdoc lang="english" type="svc" xmlns:html="http://www.w3.org/1999/xhtml"> <html:body> <html:table frame="none" colsep="1" rowsep="1" column="1"><html:table frame="border" rules="all"> <html:tgroup cols="4" colsep="1" rowsep="1"> <colspec colnum="1" colname="1" colwidth="0.709in"/> <colspec colnum="2" colname="2" colwidth="3.937in"/> <colspec colnum="3" colname="3" colwidth="1.614in"/> <colspec colnum="4" colname="4" colwidth="0.906in"/> <html:thead> <row> <html:tr> <entry> <html:td valign="top" align="center" colspan="1" rowspan="1"> <p>Ref. No</p> </html:td> </entry> <entry namest="2" nameend="3"> <html:td valign="top" align="center" colspan="2" rowspan="1"> <p>Service Tools</p> </html:td> </entry> <entry> <html:td valign="top" align="center" colspan="1" rowspan="1"> <p>Remarks</p> </html:td> </entry> </html:tr> </row> </html:thead> <html:tbody> <row> <html:tr> <entry> <html:td valign="middle" align="center" colspan="1" rowspan="1"> <p>aaaaaa</p> </html:td> </entry> <entry> <html:td valign="middle" align="justify" colspan="1" rowspan="1"> <p>bbbbbb</p> </html:td> </entry> <entry> <html:td valign="middle" align="justify" colspan="1" rowspan="1"> <p>cccccc</p> </html:td> </entry> <entry> <html:td valign="middle" align="justify" colspan="1" rowspan="1"> <p></p> </html:td> </entry> </html:tr> </row> </html:tbody> </html:tgroup> </html:table></html:table> </html:body> </techdoc> ---------------------------------------------- <colspec >タブを有効にする方法か、もしくは代替の案がありますでしょうか? 皆様のお知恵をお貸しくださいませm(_ _)m

みんなの回答

回答No.2

> tgroup, colspec, row, entryタグはSGML用語のようです。 SGMLはXMLと同じく(正確には,XMLがSGMLを元にしたのですが),要素などの語彙について定めはありません。 例えばHTML (2.0から4.01までとISO規格) はSGMLアプリケーションとして定義されています。 なので,なんらかの文書型にあるものなのだとは思いますが,確認した方がよいと思いますよ。 あと,ブラウザでXMLを表示するのであれば,CSSよりもXSLTによる変換を行った方がよい気がしますが……。

回答No.1

tableの直下にtableが来るのはXHTMLとしてあり得ませんが,それよりも……。 ・tgroupという要素は何ですか。 XHTML 1.0/1.1や,XHTML5を含めても存在しない要素ですが。 ・colspecという要素は何ですか。 XHTMLにない,独自の要素の部分について質問されても誰も答えられないと思いますよ。 html:colあたりにstyle属性くっつけて幅を指定すればよさそうですが, XMLにcssを直接適用したことがないので確実な回答はできません。 colspecという独自の要素や,html:tgroupという謎の要素についてまずは説明してみてはどうでしょうか。

mnakajima
質問者

お礼

tgroup, colspec, row, entryタグはSGML用語のようです。 row, entryタグを削除する対応をすることにしました。ありがとうございました。

関連するQ&A