XSL/XSLT (558レス)
XSL/XSLT http://medaka.5ch.io/test/read.cgi/php/999654569/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
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
367: サッカー少年大好き [sage] 2005/10/15(土) 17:00:04 ID:??? /child::A/child::*[attribute::key='str']/attribute::value でいけると思われ。 (child::は省略可、attribute::は@に置換可) 結論を言うと、XPathの勉強をおすすめする。 http://medaka.5ch.io/test/read.cgi/php/999654569/367
368: 訂正 [sage] 2005/10/15(土) 17:04:51 ID:??? child::*はchild::Bにした方がいいかもしんね。 strにはkeyの値を入れるんだよ。 http://medaka.5ch.io/test/read.cgi/php/999654569/368
369: nobodyさん [sage] 2005/10/15(土) 21:29:57 ID:??? 出来ましたありがとうございます。 本来なら勉強しなきゃいけないんですが、助かりました。 http://medaka.5ch.io/test/read.cgi/php/999654569/369
370: nobodyさん [] 2005/10/17(月) 19:35:15 ID:SiiJse0Y ソースは http://www.wakkaya.com/test/a.xmlと http://www.wakkaya.com/test/a.xslです。 まず、 <data><a>あああ2003</a><b>21</b></data> <data><a>あああ2004</a><b>30</b></data> <data><a>あああ2005</a><b>14</b></data> <data><a>いいい2003</a><b>30</b></data> <data><a>いいい2004</a><b>45</b></data> <data><a>いいい2005</a><b>80</b></data> <data><a>ううう2003</a><b>99</b></data> <data><a>ううう2004</a><b>77</b></data> <data><a>ううう2005</a><b>46</b></data> という感じのxmlがあります。 <a>に2005が含まれている箇所だけ抽出し、 <b>の大きい順に並べ替えるようにしてから番号を振るようにします。書くと <xsl:sort select="b" order="descending" data-type="number" /> <xsl:if test="contains(a, '2005')"> <tr> <td><xsl:number value="position()" /></td> <td><xsl:value-of select="a" /></td> <td><xsl:value-of select="b" /></td> </tr> </xsl:if> という感じです。いざxmlを見てみると番号が1、2、3とならずに 2、4、9となるのです。どうやれば1、2、3と表示されますか? どなたかご教授下さい。何卒宜しくお願い致します。 http://medaka.5ch.io/test/read.cgi/php/999654569/370
371: nobodyさん [sage] 2005/10/17(月) 20:58:48 ID:??? positionはfor-eachでselectした時点で決まるので、selectの時点で2005を含むかどうか調べる。 <xsl:for-each select="data[contains(a, '2005')]"> <xsl:sort select="b" order="descending" data-type="number" /> <tr> <td><xsl:number value="position()" /></td> <td><xsl:value-of select="a" /></td> <td><xsl:value-of select="b" /></td> </tr> </xsl:for-each> http://medaka.5ch.io/test/read.cgi/php/999654569/371
372: 370 [sage] 2005/10/17(月) 23:18:37 ID:??? >>371 うまくいきました! 本当に助かりました。有り難う御座います。 http://medaka.5ch.io/test/read.cgi/php/999654569/372
373: 370 [sage] 2005/10/18(火) 08:05:21 ID:??? 連続質問ですみません。ソースは引き続き http://www.wakkaya.com/test/a.xmlと http://www.wakkaya.com/test/a.xslです。 今度は、<b>の中身が空の場合は表示しないようにしたいのです。 <xsl:choose> <xsl:when test="b=''"> </xsl:when> <xsl:otherwise> <xsl:for-each select="data[contains(a,'2005')]"> <xsl:sort select="a" order="acsending" data-type="text" /> <tr> <td><xsl:number value="position()" /></td> <td><xsl:value-of select="a" /></td> <td><xsl:value-of select="b" /></td> </tr> </xsl:for-each> </xsl:otherwise> </xsl:choose> と、<a>順で並べ替えるようにしたのですが、しっかり空の要素も表示されてしまいます。 ちなみに、xsl:for-each 以下に xsl:choose を入れると、例のごとく番号が2から始まります。 対処法をお教え頂けませんでしょうか?本当に度々ですみません。 http://medaka.5ch.io/test/read.cgi/php/999654569/373
374: nobodyさん [sage] 2005/10/18(火) 12:21:24 ID:??? >連続質問ですみません。ソースは引き続き とか書くと相手にされない件 http://medaka.5ch.io/test/read.cgi/php/999654569/374
375: nobodyさん [] 2005/10/18(火) 16:18:41 ID:EpeUQJeg XSLTで変数使えるのは分かったんだけど、 「x=x+1」のような インクリメントってできないの? http://medaka.5ch.io/test/read.cgi/php/999654569/375
376: nobodyさん [sage] 2005/10/18(火) 16:58:00 ID:??? >>373 371と同じ。 http://medaka.5ch.io/test/read.cgi/php/999654569/376
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 182 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.460s*