XSL/XSLT (558レス)
XSL/XSLT http://medaka.5ch.io/test/read.cgi/php/999654569/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
347: nobodyさん [sage] 2005/08/14(日) 15:10:24 ID:??? >>346 XSLTのoutput要素のencoding属性使ってもうまくいくと思う。 まぁ、XMLパーサ使ってフィルタプログラム作成するなり、既存のフィルタツールなり使ったほうが 柔軟性はあるが。 <<サンプル>> ■data.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="data.xsl" ?> <root> <data>あああ</data> <data>いいい</data> </root> ■data.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="html" encoding="Shift_JIS" /> <xsl:template match="root"> <html><head><title>utf8->SJIS</title></head><body> <xsl:for-each select="data"> <xsl:value-of select="text()" /><br /> </xsl:for-each> </body></html> </xsl:template> </xsl:stylesheet> http://medaka.5ch.io/test/read.cgi/php/999654569/347
348: nobodyさん [sage] 2005/08/14(日) 18:40:08 ID:??? >>347氏 ご丁寧に有難う御座います。 <xsl:output method="html" encoding="Shift_JIS" /> なんてタグがあるなんて知りませんでした。。orz 早速、その方法を試してみました。 結果報告 ?PCブラウザで見る(IE) ホワイトアウトしてしまいました。 右クリでエンコード指定でシフトジスにすると表示されました。 ?元からUTF8対応携帯で見る 文字化けしてしまいました。 ?シフトジスしか対応していない携帯で見る うまく表示されるようになりました。 つまり 今まで見えてた??は見えなくなりましたが ?は見えるようになりました。 恐らくブラウザ側ではUTF8として認識しているためだと 思います。 素直にphpのxmlパーサーとかでやりつかね・・・ (php5入ってないので・・・SOAP無理ぽ) http://medaka.5ch.io/test/read.cgi/php/999654569/348
349: nobodyさん [sage] 2005/08/14(日) 18:50:00 ID:??? >>348 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> を挿入してみたらどうですかね。 http://medaka.5ch.io/test/read.cgi/php/999654569/349
350: nobodyさん [sage] 2005/08/14(日) 19:36:51 ID:??? >>348 phpでサーバサイドでのXSLT変換か。取りあえず、UTF-8からShift_JISへの変換はできたみたいだね。 phpの話になってスマンが、もしかして、header('Content-Type: text/html; charset=UTF-8');とかなってる? header('Content-Type: text/html; charset=Shift_JIS');にしてみたら、もしかしたら動くかもね。 http://medaka.5ch.io/test/read.cgi/php/999654569/350
351: nobodyさん [sage] 2005/08/14(日) 22:31:27 ID:??? >>349 >>350 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> もやってみましたが、同様の結果でした。 どうもXSLTだけでの解決は難しそうなので PHPでやってみます。 変更できたらまたご報告します。 (ちょちょっとPHPのXMLパーサ関数でやってみましたが、できそうです。) http://medaka.5ch.io/test/read.cgi/php/999654569/351
352: 344 [sage] 2005/08/17(水) 20:33:45 ID:??? >345 わざわざ携帯から長いレスをサンクス 俺のレスの前が3ヶ月前だったので回答は期待できないと思ってスレみてなかったよorz 結局質問してから別の場所で答えを見つけたんだけど、 XSL で XPATH 書いても XSL で定義した既定のネームスペースは XPath には適用されないってことなんだよな。 なんでそんな変な仕様なのか理解に苦しむけど。 てことで、 XML の既定のネームスペースを XSL 側では Prefix 付きで定義することで解決しました。 http://medaka.5ch.io/test/read.cgi/php/999654569/352
353: nobodyさん [age] 2005/08/18(木) 19:39:40 ID:??? ちょっとYOUはまだ勘違いしてるかも…。そこらへんはXSLTはまともな仕様でつよ。 もっと名前空間のよさを感じてちょうだい!!!! そして私は http://medaka.5ch.io/test/read.cgi/php/999654569/353
354: 344 [sage] 2005/08/18(木) 22:02:59 ID:??? ttp://www2.xml.gr.jp/log.html?MLID=xmlusers&N=5831 あたりを見て >352 のような結論に至ったわけだが、なんか勘違いがある?と思って 改めてリンク先のスレッドを読んでると ttp://www2.xml.gr.jp/log.html?MLID=xmlusers&N=5842 に > さらに、XPath式中のQNameを展開するときには、以下のルールが成り立ちます。 > 2. プリフィックスがついていない場合、ネームスペースURIはnullになる。 とあるな。確かに勘違いしてたかも。 > そして私は 続きが気になるよ(´・ω・`) http://medaka.5ch.io/test/read.cgi/php/999654569/354
355: 初心者 [sage] 2005/09/04(日) 03:53:09 ID:??? どうか教えてください。 AWSでxsltを始めたばかりです。 <img> <xsl:attribute name="src"> <xsl:value-of select="aws:MediumImage/aws:URL" /> </xsl:attribute> <xsl:attribute name="width"> <xsl:value-of select="aws:MediumImage/aws:Width" /> </xsl:attribute> <xsl:attribute name="height"> <xsl:value-of select="aws:MediumImage/aws:Height" /> </xsl:attribute> <xsl:attribute name="alt"> <xsl:value-of select="$amazon_item_name" /> </xsl:attribute> </img> とすると、<img src="http://images.amazon.com/images/P/xxx.jpg" width="xxx" height="xxx" alt="xxx">になってしまい、閉じタグをいれることができません。 xsltでどう指定すると閉じタグをいれることができるのでしょうか? http://medaka.5ch.io/test/read.cgi/php/999654569/355
356: nobodyさん [sage] 2005/09/04(日) 10:59:31 ID:??? <xsl:output method="xml"/> をxsl:stylesheetの直下に入れる、かな。 XHTMLでないHTMLとして出力されていると思われ。 http://medaka.5ch.io/test/read.cgi/php/999654569/356
357: 初心者 [sage] 2005/09/05(月) 02:29:25 ID:??? >>356 どうもありがとうございます。 おっしゃる通りの方法でできました。 ただ、新しい問題が発生しました。 お付き合いいただけましたら嬉しいです。 xslt で出力される html は単独の html ではなく ある html ファイルの <body> 内に include させたいと考えています。 今までは <xsl:output method="html" /> としていて、問題はありませんでしたが <xsl:output method="xml" /> や <xsl:output method="xhtml" /> にすることにより xslt によって出力される html の1行目には <?xml version="1.0" encoding="UTF-8"?> が入ってしまうようになってしまいました。 つまり、<body> 内に <?xml version="1.0" encoding="UTF-8"?> が入ってしまいます。 文法的には問題ないようですが、なんだか気持ち悪いです。 xhtml や xml で出力するのではなく、text みたいな形で出力した方が適当でしょうか? http://medaka.5ch.io/test/read.cgi/php/999654569/357
358: 初心者 [sage] 2005/09/05(月) 02:47:17 ID:??? ゴメンナサイ。 ググったら見つけました。 <xsl:output method="xml" omit-xml-declaration="yes" /> とすると、XML 宣言をしないようにできるようですが 実際には出力されてしまいます。 なにかおかしいですかね? http://medaka.5ch.io/test/read.cgi/php/999654569/358
359: nobodyさん [sage] 2005/09/10(土) 01:33:29 ID:??? どっちでもいいけど alt="{$変数名}" とは書かないの? call-templateする予定があるとか?? あと最初以外にXML宣言入るのは文法の問題あるよ。 ただUAが無視してくれているだけだけど。 http://medaka.5ch.io/test/read.cgi/php/999654569/359
360: nobodyさん [age] 2005/09/29(木) 03:07:41 ID:??? age どなたかXSLT2.0の話でも… http://medaka.5ch.io/test/read.cgi/php/999654569/360
361: nobodyさん [sage] 2005/09/29(木) 11:45:59 ID:??? XSLTとDSSSLのいいとこどりみたいなXSieve http://xsieve.sourceforge.net/ http://medaka.5ch.io/test/read.cgi/php/999654569/361
362: nobodyさん [sage] 2005/10/01(土) 21:07:44 ID:??? 今アマゾンウェブサービスでXSLファイルを書いてるのですが 何故かVersion=2005-09-15だと、StyleにXSLファイル指定してもうまくいきません。 AWSでXSLやるときの条件みたいなものって何かありますか? http://medaka.5ch.io/test/read.cgi/php/999654569/362
363: nobodyさん [] 2005/10/04(火) 17:41:50 ID:otfuFaaW XSLTを書いていると、かなり長くなってしまったんですが、XSLTファイルをモジュールや関数みたいに分割することはできますか。 仕様書をみたけど、それらしい機能が見つかりませんでした。 http://medaka.5ch.io/test/read.cgi/php/999654569/363
364: nobodyさん [sage] 2005/10/04(火) 21:01:50 ID:??? xsl:include, xsl:import http://medaka.5ch.io/test/read.cgi/php/999654569/364
365: nobodyさん [] 2005/10/04(火) 21:53:53 ID:otfuFaaW >>364 ありがとう。スタイルシートの取り込みってあったから、てっきりCSSのことだと思ってた。 XSLTファイルじたいがスタイルシートなのね。べんきょうになりますた。 http://medaka.5ch.io/test/read.cgi/php/999654569/365
366: nobodyさん [] 2005/10/15(土) 16:29:33 ID:dOz9BDB0 XSLについて質問です。 DBから取得したデータをXMLに出力し、それをXSLTでXSLに変換かけたいと思ってます。 そこで下記のコードなんですが <A> <B key="test1" value="aaa1" /> <B key="test2" value="aaa2" /> </A> <C> <D value="" /> </C> Dのvalueの値にBのvalueの値を入れたいと思ってます。 イメージ的には、/D/@value = /B/key["test"]@value ?? なんですが、/A/B[1]/@valueのように 番号ではなくkeyの名前で参照するにはどうやればよいのでしょうか。 http://medaka.5ch.io/test/read.cgi/php/999654569/366
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 192 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.604s*