XSL/XSLT
: 名無しさん@お腹いっぱい。 [] 01/09/05 10:49:dYMWGvtU 語ろう。ていうか教えて。 : 名無しさん@お腹いっぱい。 [] 01/09/05 10:50:dYMWGvtU XSLT文書の実行時書き換えってどうやるんでしょう。涙。 : 名無しさん@お腹いっぱい。 [] 01/09/05 12:46:rFbk2SFA DOMでXSLTを生成すりゃいいんでないの? : 名無しさん@お腹いっぱい。 [] 01/09/05 19:00:.fOk25kQ XSLTで読み書き可能なグローバル変数を使うにはどうしたらいいの? <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl=" ttp://www.w3.org/1999/XSL/Transform " xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="." version="1.0" exclude-result-prefixes="msxsl user"> <xsl:output method="html" version="4.0" encoding="Shift_JIS"/> <xsl:variable name="default_name"/> <xsl:template match="/root"> <html lang="ja"> <head> <title><xsl:value-of select="title"/></title> </head> <body> <h1><xsl:value-of select="title"/></h1> <xsl:apply-templates select="book" /> </body> </html> </xsl:template> <xsl:template match="talk"> <xsl:if test="@name!=''"> <xsl:value-of select="@name"/>「 </xsl:if> <xsl:if test="@name=''"> <xsl:value-of select="$default_name"/>「 </xsl:if> </xsl:template> <xsl:template match="defaultname"> <xsl:variable name="default_name" select="."/> </xsl:template> こんな感じで書いてるんだが、変数の書き換えができないみたい。 環境は MSXML3.0SP1 + MSXSL.exe : 名無しさん@お腹いっぱい。 [sage] 01/09/06 03:57:cEL2v6yw 「読み書き可能なグローバル変数」の直接の解では無いし 元の XML ややりたい事がはっきりしないので的外れかもしれんが <xsl:variable name="default_name"/> のところを <xsl:variable name="default_name"> <xsl:value-of select="/root/defaultname" /> </xsl:variable> とかにするだけではダメなのか? : 名無しさん@お腹いっぱい。 [sage] 01/09/06 23:44ID:??? >>5 ありがとう。 defaultname要素の場所が固定なら、それでいいかも知れない。 とりあえずはスクリプトを使っておくよ…。 さりげなく下逸マンセー : 名無しさん@お腹いっぱい。 [] 01/09/10 14:21:CV8.18JQ XSLTの文法チェッカってあり? : 名無しさん@お腹いっぱい。 [] 01/09/11 12:11:liJMw8bE >>2 XMLパーフェクトブック になんか書いてあるみたいだよ? 目次しかしらん。 誰か読んでない? : 名無しさん@お腹いっぱい。 [] 01/09/11 14:24:liJMw8bE XSLTで、たくさんある要素をテーブルにしたいんだけど どう書けばいいんだろう??? <datalist> <data>a</data> <data>b</data> <data>c</data> <data>d</data> <data>e</data> <data>f</data> </datalist> を a b c d e f という表にするイメージ。 : 名無しさん@お腹いっぱい。 [sage] 01/09/11 14:30ID:??? (´-`).。oO(HTMLのtable要素なのか、 データベースのテーブルなのか、TeXのテーブルなのか、 一体どのテーブルなんだろう?) : 名無しさん@お腹いっぱい。 [] 01/09/11 15:05:liJMw8bE あーごみんなさい。HTMLのtable要素です。 <table> <tr><td>a</td><td>b</td><td>c</td></tr> <tr><td>d</td><td>e</td><td>f</td></tr> </table> にしたいのです。 : 名無しさん@お腹いっぱい。 [] 01/09/13 14:48:botIizDw <xsl:for-each select="datalist/data"> <xsl:if test="position() mod 3 = 0"><tr></xsl:if> <td>…</td> <xsl:if test="position() mod 3 = 0"></tr></xsl:if> </xsl:for-each> のようにやってみたのですが、 (1)<td>〜</td><td>〜</td><tr><td>〜</td></tr>の順に出力される (2)<tr>が<tr>と出力されるためタグとして機能しない という状態になっています。かなりしょんぼりしています。 : 9 [sage] 01/09/13 14:51ID:??? >>9 =>>11-12 です : 名無しさん@お腹いっぱい。 [] 01/09/14 21:41:LySoniQw XSLTの文法チェッカってありますか? : 名無しさん@お腹いっぱい。 [] 01/09/14 21:44:LySoniQw あ。>>7 さんとだぶってた。すんません。 : 名無しさん@お腹いっぱい。 [] 01/09/19 19:09:xIy8M15c <xsl:for-each select=".." > ... </xsl:for-each> の中で、<xsl:value-of select="javascript:test(.)"> などとやった場合、 function test( arg ) に渡される引数argを文字列として扱いたいんですが、 どうにもうまく行きません。どなたか分かる方いらっしゃいますか? : 独学XML [] 01/10/25 14:59:9/96eztC ふーん : 乙葉 [] 01/10/27 19:23:F9QxoFrS 9に便乗なんだけど、9のXMLを <xsl:for-each> を使わずに 1 a 2 b 3 c 4 d 5 e 6 f のように出力することってできます?<xsl:variable>をインクリメントさせながら 変換していくようなイメージ…。for-eachのカウンタを変数としてとれるならそれで もいいんですけど…。 : 名無しさん@お腹いっぱい。 [] 01/11/04 04:55:90OzPiaz <xsl:for-each> と <xsl:number> を組み合わせれば良いのでは? for-eachを使わない方法なんて考えられないでしょ <data>が6個固定とかならいざ知らず : 名無しさん@お腹いっぱい。 [sage] 01/11/09 01:11ID:??? <OL> <LI>a</LI> <LI> (以下略.............ワラ : 名無しさん@お腹いっぱい。 [] 01/12/07 15:09:7lK3vz6F かなーり遅レスですがこんな感じじゃだめですか? <table border="1"> <tr> <xsl:for-each select="datalist/data"> <td><xsl:value-of select="..."/><br/></td> <xsl:if test="position() mod 3 = 0"></tr><tr></xsl:if> </xsl:for-each> </tr> </table> : 名無しさん@お腹いっぱい。 [] 01/12/08 21:23:Tssb4f+E 他鯖にあるXMLファイルを取り込んで表示とかはできるの? : 9 [sage] 01/12/08 21:41ID:??? さんきゅうです : 名無しさん@お腹いっぱい。 [] 01/12/20 15:56:04pPLyWb document()関数を使えばできそげ。 ttp://www.infoteria.com/jp/REC-xslt-19991116-jpn.htm#document URI指定で他鯖を指定すれば良いんでないの? ところでdocument()関数の説明に第2引数云々ってあるんだけど、 引数を2つ書くとinvalid number of function argumentsっていう エラーがでてしまって鬱。 : 名無しさん@お腹いっぱい。 [] 01/12/27 18:06:2WckNNJE XSLTの仕様を見ていて湧いた素朴な疑問なんですが… Syntax Summaryの属性で、{}がついてるのとついていないのの 違いって何なのでしょう??? たとえば↓のqnameと{ qname }です <xsl:apply-templates select = node-set-expression mode = qname> <!-- Content: (xsl:sort | xsl:with-param)* --> </xsl:apply-templates> <xsl:attribute name = { qname } namespace = { uri-reference }> <!-- Content: template --> </xsl:attribute> : 名無しさん@お腹いっぱい。 [] 02/01/22 17:26:kIM5fYXv HTMLを出力するXSLTの中にJavaScriptを書いているのですが、 スクリプトの中で、"<"を使うにはどうしたら良いのでしょう? &gt;や&lt;を使うと、そのまま出力されてしまい実行できません。 <[CDATA[ 〜 ]]>で囲んでも同じ感じです。 アイディアきぼんぬ、です。 可能なところは、!= で逃げているのですが、やはり大小比較は必要なのです。 : 26 [] 02/01/22 17:41:s+GnOL1u すんまそん。<xsl:text>でできましたでやんす。 : 助けてー [] 02/01/22 22:03:IcXQR5Jq XML+XSLTでSVGを書き出し、Adobe SVGViewerで出力したいのですが 表示できません。 : 名無しさん@お腹いっぱい。 [sage] 02/01/23 00:21ID:??? XML+XSLT→SVGの変換は何使ってやるの? IEとかmozilaとか? : 助けてー [] 02/01/23 00:59:aDpAhdJs あ、ごめんなさい。書き忘れていました。 Apache+Jakarta-tomcat+cocoonです。。 : 名無しさん@お腹いっぱい。 [sage] 02/01/23 01:19ID:??? image/svg+xmlとして認識されていないのでは? ていうか認識させられるのかしらん。 (namespaceの指定だけでどうにかできるのかな…ようわからん) : 名無しさん@お腹いっぱい。 [] 02/01/24 09:53:CFRaDXx6 <xsl:template match="datalist"> <table> <xsl:for-each select="data"> <tr> <td> <xsl:value-of seelct="position()"/> </td> <td> <xsl:value-of seelct="."/> </td> </tr> </xsl:for-each> </table> </xsl:template> うちのXSLTプロセッサだと みたいなのは怒られるんだけど (<tr>と<xsl:if>が対応してないから)、大丈夫なのもあるのかな? : 名無しさん@お腹いっぱい。 [sage] 02/01/28 11:04ID:??? > うちのXSLTプロセッサだと みたいなのは怒られるんだけど > (<tr>と<xsl:if>が対応してないから)、大丈夫なのもあるのかな? あるわけないよ。XMLじゃないもん、それ。 : 30 [] 02/01/29 08:17:UyexUS1t >31 image/svg+xml指定してもだめでした。 なんどやってもAdobeのビューアーで表示できなかったんだけど 荒業でぬけることができました。 xml(+xslt→svg)をsmilのドキュメントに <img src="target.xml"> という感じでうめこみRealPlayerでsmilを読み込ませると svgが表示サレマした。うーん‥ : 名無しさん@お腹いっぱい。 [] 02/02/02 23:39:KwUwsoRo XSLTで遊んでる好例ハケーン→ ttp://moso.borogrammers.net/newlin/ : 名無しさん@お腹いっぱい。 [] 02/02/21 18:16:a4ipQQMG <xsl:choose> <xsl:when test="..."> <xsl:variable name="foo" select="..."/> </xsl:when> <xsl:otherwise> <xsl:variable name="foo" select="..."/> </xsl:otherwise> </xsl:choose> <xsl:value-of select="$foo"/> で、最後の行、fooなんて変数しらねえYO!と怒られるのが不満なのは漏れだけですか? xsl:value-of 自体を場合わけすりゃいいのはわかりますけど、なんどもそういう 場合わけをしなければならない場合はウツなんですけども…。 みなさんどうしてるか教えてYO : 名無しさん@お腹いっぱい。 [] 02/02/21 18:19:a4ipQQMG あああああ テンプレート分けて xsl:when 内で xsl:call-template すりゃ済む話か… 逝ってきます………… : [] 02/03/08 18:28:EI/igJgK スレ違い覚悟。 apache + tomcat + 横浜ベイキットCocoon にて XSL:FO 運用を目指してます。 フォント埋め込みになっちゃうんだけど、外字を表示させるにはどうしたらいいんでしょ。 : nobodyさん [] 02/03/09 21:16:gH82xLKm 横浜ベイキットCocoonってCocoon1のことかなぁ? ApacheCocoon2なら少しは分かるかも知れんけど そっちの話でもいい? : [] 02/03/11 09:34:ktAR11by 本当は Cocoon1.82 の話がいいんですが やり方わかれば Cocoon2 に移行しても問題ないですので ご教授よろしくお願いします。 : [] 02/03/14 14:42:U7MOt75j ところで Cocoon2 って日本語対応してるの? : [] 02/03/16 12:29:aNCStdKB 対応してるよん。 バージョン2.0.1の時点ではリクエストパラメータの処理に 問題がありますが、2.0.2で改善されます。 TTEditなんかで作ったフォントを 使いたいということでよろしいかな? まずFOP単独で出力できないと話が進まないので FOPの最新版バイナリを落してきてください。 ttp://xml.apache.org/dist/fop/# : 38 [] 02/03/17 21:51:Xcs9LUc9 まさしくその通りです<TTEdit 一応落として マバイットさんとこみたく インストールしてみました。 : 38 [] 02/03/17 21:54:Xcs9LUc9 ↑当然ながら Cocoon2 最新版までです : 42 [] 02/03/19 07:45:Vm7v8Ppz すでに外字は作成済みですかな? TTEditの外字作成機能で作ったものではなくて、 UNICODEのE000などの外字領域に直接フォントを作成した ttfファイルが必要なのですが。 : qqq< [sage] 02/03/19 08:43ID:??? asd : 38 [] 02/03/19 09:55:ENr4RQ8P TTEditの質問になってしまうかもしれないのですが Windowsについてくるフォント(MSゴシックとか)だと 外字領域に直接フォント作れるけど 他の市販モノだと「・」となっていじれないんですよねぇ。 そういったプロテクトはずす方法知ってます? : 42 [] 02/03/20 20:14:VQ4jw/To 外字領域書き込み可能にしたTTEDITで 新規のフォントを作って、 そこに市販のフォントを一括コピーしたら 出来るかも知れんです。 とりあえず入手した fop-0.20.3-bin.tar.gz を適当な場所に解凍してください。 OSはLinuxでよいですか? : 38 [] 02/03/22 00:11:nXgMXn31 なるほど。 一応 fop解凍しました。 OS は TurboLinuxServer でっす。 : 42 [] 02/03/23 00:22:KjUoYuvr 外字領域に文字を作ったフォントを用意しておいてください。 あとはFOPをインストールしたディレクトリ(fop.shがある場所)に 移動して java -cp build/fop.sh:lib/xerces-1.2.3.jar org.apache.fop.fonts.apps.TTFReader フォントファイル 出力ファイル.xml としてやります。 例えばフリーの東風ゴシックを流用して x-kochi-gothic.ttfというファイルを作ったとします。 /usr/local/fopにfopがあり、 /usr/local/fop/jaにフォントファイルを置いた場合は 次のようにします。 cd /usr/local/fop java -cp build/fop.jar:lib/xerces-1.2.3.jar org.apache.fop.fonts.apps.TTFReader ja/x-kochi-gothic.ttf ja/x-kochi-gothic.ttf.xml とりあえず以上の方法で、ちゃんと出力ファイルが出来るか 試してみてください。 : 38 [] 02/03/25 11:23:XPZyIH2e うおー出た出たすげー。 説明ありがとうございます。 これで世間に顔向けできます。 : 38 [] 02/03/25 20:12:moXJH3iy というわけで、一応出力ファイル (これがメトリクスファイル?) が出力されました。 この後は如何に。。。 : 42 [] 02/03/27 06:14:7X2Z09vV さいです。メトリクスファイルです。 次にFOPの設定ファイルを作ります。 名前は何でもよいですが、例えば /usr/local/fop/ja/config.xml のようにするのがよいと思われます。 設定ファイルの内容は以下のようにします。 <configuration> <fonts> <font metrics-file="/usr/local/fop/ja/x-kochi-gothic.ttf.xml" kerning="yes" embed-file="/usr/local/fop/ja/x-kochi-gothic.ttf"> <font-triplet name="Gothic" style="normal" weight="normal"/> </font> </fonts> </configuration> この例はx-koichi-gothic.ttfをGothicというフォント名で使えるようにしてます。ttfとメトリクスの名前は実際につかうものに書き換えてください。 次回はいよいよPDFを出力します... : 38 [] 02/03/27 17:54:MgQyiA49 なるほろ。 コピー&ペーストで設定ファイル作りました。 とうとうPDF出力ですか ニヤリ : 42 [] 02/03/30 13:59:u2FWmlwu XSL-FOに外字を埋め込む時は、を使って文字コードを UNICODEで指定してやります。 例えばE000に文字を定義したならとします。 次のサンプルをsample.foという名前で保存してください。 で、あとは ./fop.sh -c 設定ファイル FOファイル PDFファイル としてやればPDFが出てきます。 例えば ./fop.sh -c ja/config.xml sample.fo sample.pdf として、出てきたPDFをWindowsのアクロバットリーダーで 開いたら、ちゃんと外字が出るはずです。 : サンプルだよん [] 02/03/30 14:00:u2FWmlwu <?xml version="1.0" encoding="EUC-JP"?> <fo:root xmlns:fo=" ttp://www.w3.org/1999/XSL/Format "> <fo:layout-master-set> <fo:simple-page-master master-name="simple" page-height="29.7cm" page-width="21cm" margin-top="1cm" margin-bottom="2cm" margin-left="2.5cm" margin-right="2.5cm"> <fo:region-body margin-top="3cm"/> <fo:region-before extent="3cm"/> <fo:region-after extent="1.5cm"/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-name="simple"> <fo:flow flow-name="xsl-region-body"> <fo:block font-size="24pt" font-family="Mincho"> 外字だよん→ </fo:block> </fo:flow> </fo:page-sequence> </fo:root> : 42 [] 02/03/30 14:03:u2FWmlwu 2chだと勝手に文字が変換されるようですな。 外字だよん→・ の部分は 外字だよん→&#xE000 &はもちろん半角ね です。 : 38 [] 02/04/02 19:43:W7Q/zpoW おーおー 確かにPDF出力できました。 さて、次は Cocoon2 連携ですな。 : 42 [] 02/04/03 22:35:pbEHoyE1 3/25にリリースされたCocoon2.0.2を試してみましたが、 Cocoonのバグのためにフォントが設定できませんでした。 今、修正版を準備してます。 明日にでもうpするので、しばし待ってください。 : あぼーん [あぼーん] NGNG あぼーん : 42 [] 02/04/04 21:42:b//D81ae とりあえずうpしたので 下の物を落としてきてください ttp://218.130.228.56:4040/c2.tgz : 38 [] 02/04/05 09:34:gSye2Xnn 落とすは落としました。 単に解凍すればいいのかな? : 42 [] 02/04/06 14:30:XfqBDhEm とりあえず、 まだ入れてなければJDK1.4とTomcat4.0.3LEを 入れておいてください。 : 38 [] 02/04/06 21:21:ECdvWQTo tomcat は 3.x ではなく 4.x なんですね。 了解しました。 : nobodyさん [] 02/04/06 22:21:p5+bp4EQ JDK1.4でCocoon2を使えますか? Cocoon2のソース取って来てビルドかけても ビルド通らないんで、妥協してJDK1.3使ってるんですが。 : 42 [] 02/04/07 09:11:aptyKfg7 以下のJDK1.4対応版Tomcatで動作を確認してます。 ttp://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin/jakarta-tomcat-4.0.3-LE-jdk14.tar.gz Cocoonはバイナリ版でも動きました。 tomcatを/usr/localあたりに解凍して、 c2.tgzを展開したら出てくるc2フォルダを tomcatのwebappフォルダの中に置いてください。 さらに、c2/WEB-INF/lib/batik-all-1.5b1.jarを tomcatのcommon/libにコピーしてください tomcatの起動はXWindow内でするか、 Xvfb使ってください。 これで ttp://localhost:8080/c2/ にアクセスできるはずです。 : 65 [sage] 02/04/10 21:49ID:??? どうも、65です。 LE板じゃないtomcat使ってたのが動かない原因でした。 失礼しました。 : 38 [] 02/04/16 13:13:BXQRKCQc かちゅ〜しゃであぼーんされたと表示されたので 最後の最後でとがっかりしてましたが、ブラウザで 見たら、最終動作確認まで書き込みされていてほっとしました。 早速試してみます。 : nobodyさん [] 02/04/19 00:59:CkxCgoEa 中途半端な手続き言語XSLTはいらん 仕様から廃止しろ : [] 02/04/23 22:43:CN3t/tua ってか、 apache1.24 + tomcat3.2.4 + cocoon2.0.2 の インストールがうまくいかん! どうして tomcat 立ち上げると core 吐いて落ちるんじゃー : [] 02/04/23 22:44:CN3t/tua ↑いやん × 1.24 ○ 1.3.24 : nobodyさん [sage] 02/05/22 16:48ID:??? XSLTで複数のキーについてソートしたい場合はどうすればいいのでしょうか? SQLだと、 select foo, bar from tee order by foo, bar というように書けますけど、XSLTだと可能なのでしょうか? : 72 [sage] 02/05/24 12:47ID:??? >72 <xsl:sort select="foo"/> <xsl:sort select="bar"/> でできました。 : Name_Not_Found [] 02/05/29 14:44:FW6HquND もういいかげん、XSL と XSLT をいっしょに扱うことに無理がある XSLT は XTransform とかに改名すれ : non [] 02/05/29 15:16:8Y6vpIWK COCOON2にて日本語を利用可にする 設定方法、設定ファイル等 教えてください。 : tachan [] 02/05/30 17:53:2EIuRR3F COCOON2にてXSPを利用しようと思います。 ここで自分で作成したCLASSにCLASSPATHを通すには どうしたらよいのでしょうか? XSPのコンパイルの時点でjava.lang.NoClassDefFoundError となります。 sitemap.xmapなのかcocoon.xconfなのかわかりません。 : nobodyさん [sage] 02/05/30 18:29ID:??? こちらでは問題ないがOSは何だ? あとGeneratorやTransformerは 何を使ってるんだ? /Tomcat/webapps/cocoon/WEB-INF/classesに置くのは駄目なのか? : 77 [sage] 02/05/30 18:33ID:??? ttp://www.emergence.jp/mail-archive/ci/index.cgi?mss:54:200205:dmoeikbhogokbpdjofji ではどうだ? : nobodyさん [] 02/05/31 02:56:HNPPjz0j ttp://www.ascii.co.jp/books/detail/4-7561/4-7561-4065-3.html この本はどうですか? 値段が高いので迷っています。 : non [] 02/05/31 10:08:XfZ+NB0u 勉強不足ですいません。 OSは、Redhat7.2です。 Generator,Transformerについては、 勉強不足で知らないのですが、 sitemap.xmapの内容でしたら、 Generator:JspGenerator Transformer:TraxTransformer となっております。 見当違いでしたらすいません。 : nobodyさん [sage] 02/05/31 10:15ID:??? JSPを使っているのであれば、単純に普通のTomcatでそのJSPファイルを 指定したときに、文字化けは起こってないか? JSPの中でのエンコーディングの 指定がまずいような気がするが。 もし上記でJSPファイルの問題でないのなら、普通にXMLファイルを作ってみて、 SitemapでFileGeneratorに指定してあげてそちらだと文字化けが起こるかどうかを 確認してみてくれ。 それと、そもそも文字化けを確認しているブラウザもRedhat上かな? : nobodyさん [sage] 02/06/01 23:15ID:??? TOMCAT_HOME/webapps/cocoon/WEB-INF/web.xml を触ればよい。 <init-param> <param-name>extra-classpath</param-name> <param-value>ここで指定する</param-value> </init-param> : tachan [] 02/06/03 14:25:Yq6AJPGD >TOMCAT_HOME/webapps/cocoon/WEB-INF/web.xml >を触ればよい。 ><init-param> ><param-name>extra-classpath</param-name> ><param-value>ここで指定する</param-value> ></init-param> 上記の設定ファイルを指定したら XSPのコンパイルエラーなくなりました。 本当にありがとうございました。 : あぼーん [あぼーん] NGNG あぼーん : > [] 02/06/06 13:34:CeCgqXVC 21は33の言うとおり。 試してもいない21のコードに 9も試してもいないのに感謝する必要はない。 で,結局 </tr><tr> は, <xsl:text disable-output-escaping="yes"></tr><tr></xsl:text> とすればOK。 : 85 [] 02/06/06 13:38:CeCgqXVC ちぇっ,展開されちった。 めんどいから全角で書くよ。 85のは <xsl:text disable-output-escaping="yes">&lt;/tr&gt;&lt;tr&gt;</xsl:text> ということね。 : nobodyさん [0] 02/06/09 17:09ID:??? 普通のレンタルサーバとかでサーバサイドのXSLT変換ってできる? : nobodyさん [] 02/06/11 00:22:qDeG/JWs Perl使ってるんならこことか見てみたらどうかな。 ttp://www-6.ibm.com/jp/developerworks/xml/j_perl-xml-toolkit.html : nobodyさん [sage] 02/06/14 16:06ID:??? >86 <element name="tr" /> ではあかんか? : nobodyさん [sage] 02/06/15 00:30ID:??? <xsl:template match="/"> <table> <xsl:for-each select="datalist/data"> <xsl:if test="position() mod 3 = 1"> <tr> <xsl:for-each select=".|following-sibling::data[position() < 3]"> <td><xsl:value-of select="."/></td> </xsl:for-each> </tr> </xsl:if> </xsl:for-each> </table> </xsl:template> : nobodyさん [] 02/06/26 11:32:GX1WMLoK <xsl:apply-templates select="foo"> <xsl:sort select="a" data-type="text" order="ascending" /> </xsl:apply-templates> でソートした結果をテンプレート処理しているのですが、 <xsl:template match="foo"> この中で処理される「foo」の前に処理された 「foo」の子要素を参照する事はできないのでしょうか? <xsl:template> アドバイスいただけませんでしょうか。 : nobodyさん [] 02/06/26 15:12:kyxI2iEY <xsl:value-of select="preceding-sibling::foo[1]/a"/> とかじゃだめなの。 というかもう少し具体的に。 : nobodyさん [] 02/06/26 15:34:6FYKwyrE 173 :参加するカモさん :02/03/12 09:46 みんなメルマガ読んでる? あれ読むとひろゆきの性格よくわかるよ すっごい陰湿。 根暗。 正直、引くよ。2chの管理人って、こういう奴なのかって。 176:参加するカモさん :02/03/12 11:18 ひろゆきの裁判の報告の仕方はよくわかったけど、たまには相手側の言い分も聞いてみたいね まったく違う状況だったりしてw 177:参加するカモさん :02/03/12 11:42 ひろゆきさんっては自分の都合の良いことしか報告しないし、都合が悪くなると 報告しなくなっちゃうんだよね、、 それにしてもひろゆきさんてば見事に陰湿な文章書くなあ。。 : nobodyさん [] 02/06/26 15:51:GX1WMLoK うまく質問できていないみたいですいません。 <doc> <foo> <a>あ</a> <b>111<b> </foo> <foo> <a>あ</a> <b>123<b> </foo> <foo> <a>い</a> <b>324<b> </foo> ・ ・ ・ </doc> というようなXMLをXSLでHTML変換する際に foo/aの値でfooをソートして出力します。 その際aの値が「あ」から「い」に変わる時だけ 例えば<hr>を挿入したいと思っています。 使用しているのはIE6です。 ちょっとまだ良く分かってないところが多いので うまく説明できてないかもしれませんが。 先ほど教えていただいた <xsl:value-of select="preceding-sibling::foo[1]/a"/> はエラーになってしまいます。(エラー自体が文字化け) 長くなってすいません。 : 92 [] 02/06/26 18:05:vhsxGiH5 こうかな、、 <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl=" ttp://www.w3.org/1999/XSL/Transform " version="1.0"> <xsl:key name="group" match="doc/foo" use="a" /> <xsl:template match="/"> <html><body><xsl:apply-templates/></body></html> </xsl:template> <xsl:template match="doc"> <xsl:for-each select="foo[count(. | key('group', a)[1]) = 1]"> <xsl:sort select="a" data-type="text" order="ascending"/> <xsl:for-each select="key('group', a)"> <xsl:value-of select="a" /> <xsl:value-of select="b" /> <br /> </xsl:for-each> <hr/> </xsl:for-each> </xsl:template> </xsl:stylesheet> : 94 [sage] 02/06/26 19:29ID:??? アドバイスありがとうございます。 そのままコピペしてテストしてみましたが、 foo[count(. | key('group', a)[1]) = 1] でエラーがでてしまいました。 <xsl:for-each select="foo"> だとkey()で取得したノードリストが、複数でてしまいますし。 xsl:keyとkey関数を知らなかったので勉強になりました。 ちょっとこのアドバイスを元に考えてみます。 ほんとにありがとうございます! : 結局さぁ [] 02/06/27 00:28:kFFjIjuv XSLTってXSLの鬼っ子でしょ? とっとと改名しる! : nobodyさん [sage] 02/07/03 10:46ID:??? なんだか難しそうだな : nobodyさん [] 02/07/03 19:07:P21eikik Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。 XSPの出力エンコーディング設定ってどこですればいいんでしょうか? : Cocoon2 [] 02/07/03 19:07:P21eikik Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。 XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキング が作成したキャッシュです。元のページはこちら 。削除についてはこちら 。