dポイントプレゼントキャンペーン実施中!

xmlを勉強しています。
しかし、ブラウザでxslファイルを
開いてもhtmlに変換されないまま表示されます。
何が問題なのでしょうか?
両方ともデスクトップに作った同じフォルダの中に
格納しています。
ブラウザは、ie7です。
------------------------------------------------------
xmlファイル zen.xml

<?xml version="1.0" encoding="SHIFT_JIS"?>
<?xml-stylesheet type="text/xsl"href="zen.xsl"?>
<全体>
<情報>
<名前>ニコルソン</名前>
<住所>アメリカ</住所>
</情報>
<情報>
<名前>フランク</名前>
<住所>イタリア</住所>
</情報>
</全体>
--------------------------------------------------
xslファイル zen.xsl
<?xml version="1.0" encoding="SHIFT_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html lang="ja">
<head>
<title>顧客情報</title>
</head>
<body>
<div>
<xsl:apply-templates select="全体"/>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="全体">
<xsl:for-each select="情報">
<ul>
<li><xsl:value-of select="名前"/></li>
<li><xsl:value-of select="住所"/></li>
</ul>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

A 回答 (3件)

>xslはスタイルシートなので通常はxmlを開くで正解なんでしょうか?


正解。
    • good
    • 1
この回答へのお礼

大変助かりました。
本当にありがとうございます。
これからも励みます!

お礼日時:2009/01/24 12:46

気づかなかったけど、


<?xml-stylesheet type="text/xsl"href="zen.xsl"?> <!-- 何故かhrefの前に空白がない-->

<xsl:stylesheetxmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- xmlnsの前に空白がない -->

#俺の環境ではうまく行ってる
    • good
    • 0
この回答へのお礼

出来ました!!
<!-- 何故かhrefの前に空白がない-->
とのことで空白を入れれば出来ました。
ありがとうございました。
ただxmlを開いた場合、うまくhtmlで表示されたのですが、
相変らずxslを開いても構造しか表示されませんでした。
xslはスタイルシートなので通常はxmlを開くで正解なんでしょうか?
可能であればご回答お願いします。

お礼日時:2009/01/21 21:54

<xsl:stylesheet xmlns:xsl="

http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<!--
1.version属性は必須らしい。
2.掲示されたXSLTの名前空間はWorking Draftのもの。もうRecommendationなのだから適切なものを使おう。
3.掲示されたhtml要素は名前空間なし。XHTMLとして扱うならXHTMLの名前空間を宣言しないと駄目。
4.HTML 4.01にしたい場合とかはxsl:output要素を使う。
(この時はXHTMLの名前空間宣言なくても大丈夫。多分。
読んでないけど,XSLT 1.0のサンプルがそうなっているので
http://www.w3.org/TR/xslt#section-HTML-Output-Me …
)

ちなみにlibxmlにはこういう話があったりするorz…
http://pastaseca.blog119.fc2.com/blog-entry-42.h …

#一応、このソース、gooが勝手にZERO WIDTH SPACE足すので,直接コピペしてもうごかないのでそのつもりで
-->
(略)
</xsl:stylesheet>
    • good
    • 0
この回答へのお礼

ありがとうございます。
資料が2001年のもので古いものでした。
下記に直しましたが、やはり表示されないです。

xslファイル
<?xml version="1.0" encoding="SHIFT_JIS"?>
<xsl:stylesheetxmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>顧客情報</title>
</head>
<body>
<div>
<xsl:apply-templates select="全体"/>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="全体">
<xsl:for-each select="情報">
<ul>
<li><xsl:value-of select="名前"/></li>
<li><xsl:value-of select="住所"/></li>
</ul>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

お礼日時:2009/01/20 19:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!