- 締切済み
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
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Yune-Kichi
- ベストアンサー率74% (465/626)
> tgroup, colspec, row, entryタグはSGML用語のようです。 SGMLはXMLと同じく(正確には,XMLがSGMLを元にしたのですが),要素などの語彙について定めはありません。 例えばHTML (2.0から4.01までとISO規格) はSGMLアプリケーションとして定義されています。 なので,なんらかの文書型にあるものなのだとは思いますが,確認した方がよいと思いますよ。 あと,ブラウザでXMLを表示するのであれば,CSSよりもXSLTによる変換を行った方がよい気がしますが……。
- Yune-Kichi
- ベストアンサー率74% (465/626)
tableの直下にtableが来るのはXHTMLとしてあり得ませんが,それよりも……。 ・tgroupという要素は何ですか。 XHTML 1.0/1.1や,XHTML5を含めても存在しない要素ですが。 ・colspecという要素は何ですか。 XHTMLにない,独自の要素の部分について質問されても誰も答えられないと思いますよ。 html:colあたりにstyle属性くっつけて幅を指定すればよさそうですが, XMLにcssを直接適用したことがないので確実な回答はできません。 colspecという独自の要素や,html:tgroupという謎の要素についてまずは説明してみてはどうでしょうか。
お礼
tgroup, colspec, row, entryタグはSGML用語のようです。 row, entryタグを削除する対応をすることにしました。ありがとうございました。