• ベストアンサー

XSLTがブラウザで表示されません。

勉強のために、下記のサンプルXMLファイル、XSLファイルを作成し、ブラウザで表示させようと思ったのですが、表示されません。 表示させる為になにか必要なソフト等をインストールしないといけないのでしょうか? ちなみにブラウザはIE5.5を使用しています。 もし、何か分かる方がいらっしゃいましたら、ご教授御願い致します。 ※sample.xml <?xml version="1.0" encoding="Shift_JIS"?> <?xml-stylesheet type="text/xsl" href="sample.xsl"?> <PAGE> <EMPLOYEES> <EMPLOYEE> <EMPNO>1</EMPNO> <ENAME>一郎</ENAME> <JOB>President</JOB> <HIREDATE>1990-04-01</HIREDATE> <SAL>10000</SAL> <DEPTNO>10</DEPTNO> </EMPLOYEE> <EMPLOYEE> <EMPNO>50</EMPNO> <ENAME>次郎</ENAME> <JOB>Director</JOB> <MGR>1</MGR> <HIREDATE>1991-04-01</HIREDATE> <SAL>6000</SAL> <DEPTNO>30</DEPTNO> </EMPLOYEE> </EMPLOYEES> </PAGE> ※sample.xsl <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/ 1999/XSL/Transform" version="1.0"> <xsl:output method="html" encoding="Shift_JIS"/> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="PAGE"> <HTML> <BODY> <xsl:apply-templates/> </BODY> </HTML> </xsl:template> <xsl:template match="EMPLOYEES"> <xsl:apply-templates/> </xsl:template> <xsl:template match="EMPLOYEE"> <xsl:value-of select="ENAME"/><BR/> </xsl:template> </xsl:stylesheet>

  • XML
  • 回答数3
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • jo-ji
  • ベストアンサー率72% (26/36)
回答No.3

一番楽なのは、Internet Explorerを6にバージョンアップすることです。 それ以外の方法として、代表的な方法を紹介しておきます。いずれも無料です。 (1) Microsoftのparserにこだわる場合 http://msdn.microsoft.com/xml/ のページの右上"MSXML 3.0 SP 2"というのがあるので、そこからたどってダウンロード・インストールして下さい。(これを書いている時点での話ですので、もしページ構成が変わっていたら、"MSXML Parser"などで検索してみて下さい。 (2) Javaの実行環境が整っている(もしくは整えるのが面倒でない)場合 http://xml.apache.org/xalan-j/index.html からたどって、Xalanを使いましょう。 代わりに、http://www.blnz.com/xt/index.html にあるXTを使ってもよいと思います。 IE6をインストールするか(1)の方法をとる場合、ブラウザで直接表示できるので、プログラマでなければ使いやすいと感じるかもしれません。ご質問の主旨に一番合いそうですし。しかし、IE6のインストールもMSXML 3.0のインストールも、トラブルが起こらない保証はないので、自己責任でお願いします。 XalanやXTを使う場合には、直接表示するのではなく、HTMLファイルに変換して、それをブラウザで表示します。したがって、ブラウザが今のままでも問題なく表示できますが、変換する手間があります。また、Javaの実行環境を整える必要があります。 あなたの好みや状況によって、選んで下さい。

takekun22
質問者

お礼

回答どうもありがとうございます。 いろいろな方法があることがよく分かりました。 IE6にしようと思います。 今回はどうもありがとうございました。 また何かありましら宜しく御願いします。

その他の回答 (2)

  • aika25
  • ベストアンサー率45% (5/11)
回答No.2

えっと、下記のサイトで無料で落とせたはずですよ~。 http://www.xmlsoftware.com/xslt.html あと、DreamweaverMXやXMLSpyなどを使うと簡単に作れちゃうっていう話を聞いた事があります。 http://www.macromedia.com/jp/software/dreamweaver/ http://www.toshiba-it.co.jp/xml/component/04_xmlspy/ 参考になれば幸いですσ(^^)

参考URL:
http://www.xmlsoftware.com/xslt.html
takekun22
質問者

お礼

回答どうもありがとうございます。 IE6にしようと思います。 今回はどうもありがとうございました。 また何かありましら宜しく御願いします。

  • aika25
  • ベストアンサー率45% (5/11)
回答No.1

こちらが参考になるかと思いますσ(^^) http://oshiete1.goo.ne.jp/kotaeru.php3?q=410765

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=410765
takekun22
質問者

補足

回答どうもありがとうございます。 ※参考URLより一部抜粋 >ただし、今ですと、IEの6以降は、パーサーとプロセッサー機能を組み込んでいる >ので、XML文にXSLを指定すれば、変換もしてくれます(IEの5くらいから一部サポ>ートがありましたが、チョット不安定です)。 ちなみに、IEもパーサーが必要 >で、XML Parser 3.0というのが一緒に配布されています。 自分の環境はIE5.5なので、サポートされていない為、うまくいかないのですね。 となると、IE5.5で動かすためにパーサーとプロセッサが必要というのは分かったのですが、これはフリーなのでしょうか?それとも有料なのでしょうか?

関連するQ&A

  • XSLTについて

    入力となるXMLの要素Aに属性が複数存在した場合に、ある属性以外のすべての属性を要素Bに付与して出力したいのですがどのようなXSLTで記述すればいいのでしょうか? 入力例) <sample> <要素 aa="1" bb="2" cc="3">AAAAAAA</要素> </sample> 出力例) <sample> <youso bb="2">AAAAA</youso> </sample> XSLT) <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/ 1999/XSL/Transform" version="1.0"> <xsl:template match="/">   <sample> <xsl:apply-templates/> </sample> </xsl:template> <xsl:template match="要素"> <xsl:copy> <!-- <xsl:copy-of select="@*"/> -->☆ </xsl:copy> </xsl:template> </xsl:stylesheet>

    • 締切済み
    • XML
  • エラー「単一グループのグループ関数ではありません」

    エラーをどうやれば修正できるかわかりません。 回答のほどよろしくお願いいたします。 SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP HAVING AVG(SAL) >ANY (SELECT SAL FROM EMP WHERE HIREDATE LIKE '82%') SQL> DESCRIBE EMP; 名前 NULL? 型 ----------------------------------------- -------- ---------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NOT NULL NUMBER(2)

  • XMLの実体参照とXSLT

    次のようなXMLファイルをXSLTで処理したいのですが、&baseの部分がうまく表示できません。 どのようにしたら表示できるでしょうか? ■a.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="a.xsl"?> <!DOCTYPE test [ <!ELEMENT name (#PCDATA)> <!ENTITY base SYSTEM "base.xml"> ]> <test> <name>abc</name> &base; </test> ■base.xml <?xml version="1.0" encoding="UTF-8"?> <base>base</base> ■a.xsl <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="UTF-8" /> <xsl:template match="/"> <xsl:apply-templates select="test" /> <xsl:apply-templates select="base" /> </xsl:template> <xsl:template match="test"> name:<xsl:value-of select="name" /> </xsl:template> <xsl:template match="base"> base:<xsl:value-of select="base" /> </xsl:template> </xsl:stylesheet> □結果 name:abc ※base.xmlの内容を表示できない

    • ベストアンサー
    • XML
  • updateについて

    下記、SQLコマンドを実行するとMERTINの歩合給がSMITHのSALに格納されません。実行後、NULLが入ってしまいます。 ちゃんとemp表のMERTINのCOMMには値が入っているのになぜ実行結果がうまくいかないのでしょうか? 回答のほどよろしくお願い致します。 update w_emp set sal = (select comm from emp where ename = 'MERTIN') where sal < 1000 SQL> select * from w_emp; DEPTNO EMPNO ENAME JOB SAL 20 7902 FORD ANALYST 3000 20 7369 SMITH CLERK 10行が選択されました。 SQL> desc w_emp; 名前 NULL? 型 DEPTNO NOT NULL NUMBER(2) EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) SAL NUMBER(7,2) SQL> desc emp; 名前 NULL? 型 EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NOT NULL NUMBER(2)

  • エラー「無効な識別子です」

    ORA-00904: "EMPNO": 無効な識別子です と表示されます。 解決方法知っている方、教えていただければ幸いです。 SELECT EMPNO, ENAME, D.DEPTNO, DNAME FROM DEPT D WHERE EMPNO = (SELECT EMPNO FROM EMP WHERE MGR IS NULL) SQL> DESCRIBE EMP; 名前 NULL? 型 ----------------------------------------- -------- ---------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NOT NULL NUMBER(2)

  • 10番目以降の処理を変える

    こんにちは <a>  <b>bb</b>  <c>cc</c>  <d>dd</d> </a> <a>  <c>cc</c>  <d>dd</d>  <c>cc</c>  <d>dd</d> </a> といった不規則な構造のxmlで、例えば10番目以降の<a>内の<d>は表示しないといった処理をしたいと思っています。 xslを <xsl:template match="a">  <xsl:number />  <xsl:apply-templates /> </xsl:template> <xsl:template match="b">  <xsl:apply-templates /> </xsl;template> <xsl:template match="c">  <xsl:apply-templates /> </xsl;template> <xsl:template match="d">  <xsl:if test="ナンバーの値 < 10">  <xsl:apply-templates />  </xsl:if> </xsl;template> と書き、aのテンプレート内で指定した<xsl:number />の値をdのテンプレート内の<xsl:if >に持ってくる方法はあるでしょうか?

    • ベストアンサー
    • XML
  • XSLTの処理について

    いつもお世話になっております。 XMLの動作についての質問です。以下のようなXMLファイルがあったとします。それに対して、その下のようなXSLファイルがあり、変換させると、結果XMLができます。 そこでわからないのは、test.xslの中ほどで、<xsl:template match="book/title/price">という風にXPath式でbook/title/priceと指定しているのに、結果には<title>の値も出力されます。なぜでしょうか。 自分のイメージとしては、<title>の値は出力されず<price>の値だけが出力されるのじゃないのかなっていう感じです。さらに<newTag>に<title>の値が挟まれていないのもなぜなのかわかりません。 お分かりになる方よろしくお願いします。もし参考文献に良いサイトや本がありましたらそちらも紹介をお願いします。 <<<test.xml>>> <?xml version="1.0" encoding="Shift_JIS"?> <books>  <book>   <title>    XMLとは    <price>2000</price>   </title>  </book>  <book>   <title>    XML概論    <price>1800</price>   </title>  </book>  <book>   <title>    XMLマスター    <price>4000</price>   </title>  </book> </books> <<<test.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="/">  <answer>   <xsl:apply-templates select="books/book"/>  </answer> </xsl:template> <xsl:template match="book/title/price">  <newTag>   <xsl:value-of select="."/>  </newTag> </xsl:template> </xsl:stylesheet> <<<結果.xml>>> <?xml version="1.0" encoding="utf-8" ?> <answer> XMLとは <newTag>2000</newTag> XML概論 <newTag>1800</newTag> XMLマスター <newTag>4000</newTag> </answer>

    • ベストアンサー
    • XML
  • 自己結合について

    下記SQL文のSELECT句、m.empnoによって左項DEPTNOのMGR値がきちんと出力される理屈がよく分かりません。 回答のほどよろしくお願い致します。 select e.empno, m.empno from emp e join emp m on(e.mgr = m.empno) EMPNO EMPNO ---------- ---------- 7698 7839 7782 7839 7566 7839 7902 7566 7369 7902 7499 7698 7521 7698 7654 7698 7788 7566 7844 7698 7876 7788 7900 7698 7934 7782 13行が選択されました。 SQL> describe emp; 名前 NULL? 型 ------------------------------ EMPNO  NOT NULL NUMBER(4) ENAME      VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO   NOT NULL NUMBER(2)

  • DBの操作

    DEPTNO,JOB順に抽出し、DEPTNO,JOB毎にSAL(給与)の集計を出力せよ。 ※JOB(小計),DEPTNO(中計),総計も出力するスクリプトを書きたいのですが初心者 なので、よくわかりません。 EMP表の定義 --------------------------------------- ---------------------------- EMPNO           NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) プロバイダ参照: サーバのOS:WINサーバ パソコンのOS:WinNT系 エディタ:hidemaru FTPソフト: サーバ移転:していない 改造:(未選択) 改造前不動 CGI習熟度:firsttime

    • ベストアンサー
    • Perl
  • XSLT

    いつもお世話になっております。 次のXSLTの結果がどうしてそうなるのかわからないので教えてください。 解説には、「処理は必ずルートノードのテンプレートから始まります」と書いてあるんですが、できましたら、その辺もからめて、どういう処理の流れになるのか、カレントノードがどう移動していくのか、教えていただけると助かります。 (XML) <?xml version="1.0" encoding="Shift_JIS"?> <Conference Situation="Reserved" Equipment="Projector">  <Room>会議室</Room>  <User>山田太郎   <Date>2008/05/08</Date>   <Time>10:00-12:00</Time>  </User>  <Number>4名</Number> </Conference> (XSLT) <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  <xsl:output method="text" />  <xsl:template match="/Conference">   <xsl:value-of select="Number" />  </xsl:template>  <xsl:template match="Conference/User">   <xsl:value-of select="Date" />  </xsl:template>  <xsl:template match="/">   <xsl:value-of select="Conference/Room" />  </xsl:template> </xsl:stylesheet> (結果) 会議室

    • ベストアンサー
    • XML

専門家に質問してみよう