- 締切済み
うまく表示されない
XMLを最近覚えたのですが、表示がうまく出来ないので間違ってる箇所を教えて頂けないでしょうか? よろしければどうしたら表示されるのかも教えて頂けると助かります。 元のソース <?xml version="1.0" encoding="SHIFT_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>***</title> <link rel="stylesheet" type="text/css" href="**.css" /> <link rel="shortcut icon" href="favicon.ico" /> </head> <body> <br /> <h2>***</h2> <h4>***</h4> <table><tr><td width="600"> <div><br /><font size="4" color="blue">***</font> <br />*** </div></td></tr></table> <br /> <a href="../***.html"><img src="back.png" border="0" alt="" /></a> <br /> <br /> </body> </html> ↓変更後 XML <?xml version="1.0" encoding="Shift_JIS"?> <?xml-stylesheet type="text/xsl" href="taimu1.xsl"?> <taimu> <tai>***</tai> <sab>***</sab> <bunn> <br /><font size="4" color="blue">***</font> <br />*** <br /> </bunn> <gazou> <a href="***.html"><img src="***.png" border="0" alt="" /></a> </gazou> </taimu> ↓変更後 XSL <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>***</title> <link rel="stylesheet" type="text/css" href="***.css" /> <link rel="shortcut icon" href="favicon.ico" /> </head> <body> <xsl:apply-templates select="tai" /> <xsl:apply-templates select="sabu" /> <xsl:apply-templates select="bun" /> <xsl:apply-templates select="gazou" /> </body> </html> </xsl:template> <xsl:template match="tai"> <h2>***</h2> </xsl:template> <xsl:template match="sabu"> <h4>***</h4> </xsl:template> <xsl:template match="bun"> <table><tr><td width="600"><div> </div></td></tr></table> </xsl:template> <xsl:template match="gazou"> <a href="***.html"><img src="***.png" border="0" alt="" /></a> </xsl:template> </xsl:stylesheet> 大体このように書きました
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nadera
- ベストアンサー率83% (5/6)
最初は単純な構造のものを表示させるところから始めたらどうでしょうか。 たとえば, <tai>ここはtaiです</tai> の「ここはtaiです」を表示するには, <xsl:template match="tai"> <h2><xsl:value-of select="."/></h2> </xsl:template> としますが,まずは,この一つを表示できるようにし,それができたら,次に進むようにすると,エラーの原因も分かりやすくなります。 基本的に,XMLには,表示するデータを置き,表示形式はXSLで設定しますから,XMLにHTMLのタグは書きません。 たとえば,XMLは,このようにデータだけとし <bun>これは文です</bun> <bun>これもぶんです</bun> などとし,XSLでは, <xsl:template match="bun"> <table><tr><td width="600"> <font size="4" color="blue"> <xsl:value-of select="."/><br/> </font> </td></tr></table> </xsl:template> というようにするなどします(ただ,これではtableを使う意味がありませんが)。これなども,この部分だけの表示を試してみると,どんな風にXSLを書くと良いか分かると思います。 要領が分かるまで大変でしょうが,いろいろ試す内に分かってくると思います。
補足
わかりました 簡単なことからはじめて見ます。 ありがとうございました。