9に便乗なんだけど、9のXMLを <xsl:for-each> を使わずに
1 a
2 b
3 c
4 d
5 e
6 f
のように出力することってできます?<xsl:variable>をインクリメントさせながら
変換していくようなイメージ…。for-eachのカウンタを変数としてとれるならそれで
もいいんですけど…。
XSL/XSLT
18乙葉
01/10/27 19:23ID:F9QxoFrS19名無しさん@お腹いっぱい。
01/11/04 04:55ID:90OzPiaz01/11/09 01:11ID:???
>>18
<OL>
<LI>a</LI>
<LI> (以下略.............ワラ
<OL>
<LI>a</LI>
<LI> (以下略.............ワラ
21名無しさん@お腹いっぱい。
01/12/07 15:09ID:7lK3vz6F >>9
かなーり遅レスですがこんな感じじゃだめですか?
<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>
かなーり遅レスですがこんな感じじゃだめですか?
<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>
22名無しさん@お腹いっぱい。
01/12/08 21:23ID:Tssb4f+E 他鯖にあるXMLファイルを取り込んで表示とかはできるの?
24名無しさん@お腹いっぱい。
01/12/20 15:56ID:04pPLyWb >>22
document()関数を使えばできそげ。
http://www.infoteria.com/jp/REC-xslt-19991116-jpn.htm#document
URI指定で他鯖を指定すれば良いんでないの?
ところでdocument()関数の説明に第2引数云々ってあるんだけど、
引数を2つ書くとinvalid number of function argumentsっていう
エラーがでてしまって鬱。
document()関数を使えばできそげ。
http://www.infoteria.com/jp/REC-xslt-19991116-jpn.htm#document
URI指定で他鯖を指定すれば良いんでないの?
ところでdocument()関数の説明に第2引数云々ってあるんだけど、
引数を2つ書くとinvalid number of function argumentsっていう
エラーがでてしまって鬱。
25名無しさん@お腹いっぱい。
01/12/27 18:06ID: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>
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>
26名無しさん@お腹いっぱい。
02/01/22 17:26ID:kIM5fYXv HTMLを出力するXSLTの中にJavaScriptを書いているのですが、
スクリプトの中で、"<"を使うにはどうしたら良いのでしょう?
&gt;や&lt;を使うと、そのまま出力されてしまい実行できません。
<[CDATA[ 〜 ]]>で囲んでも同じ感じです。
アイディアきぼんぬ、です。
可能なところは、!= で逃げているのですが、やはり大小比較は必要なのです。
スクリプトの中で、"<"を使うにはどうしたら良いのでしょう?
&gt;や&lt;を使うと、そのまま出力されてしまい実行できません。
<[CDATA[ 〜 ]]>で囲んでも同じ感じです。
アイディアきぼんぬ、です。
可能なところは、!= で逃げているのですが、やはり大小比較は必要なのです。
2726
02/01/22 17:41ID:s+GnOL1u >>26 すんまそん。<xsl:text>でできましたでやんす。
28助けてー
02/01/22 22:03ID:IcXQR5Jq XML+XSLTでSVGを書き出し、Adobe SVGViewerで出力したいのですが
表示できません。
表示できません。
02/01/23 00:21ID:???
>>28
XML+XSLT→SVGの変換は何使ってやるの? IEとかmozilaとか?
XML+XSLT→SVGの変換は何使ってやるの? IEとかmozilaとか?
30助けてー
02/01/23 00:59ID:aDpAhdJs あ、ごめんなさい。書き忘れていました。
Apache+Jakarta-tomcat+cocoonです。。
Apache+Jakarta-tomcat+cocoonです。。
02/01/23 01:19ID:???
32名無しさん@お腹いっぱい。
02/01/24 09:53ID:CFRaDXx602/01/28 11:04ID:???
3430
02/01/29 08:17ID:UyexUS1t >31
image/svg+xml指定してもだめでした。
なんどやってもAdobeのビューアーで表示できなかったんだけど
荒業でぬけることができました。
xml(+xslt→svg)をsmilのドキュメントに
<img src="target.xml">
という感じでうめこみRealPlayerでsmilを読み込ませると
svgが表示サレマした。うーん‥
image/svg+xml指定してもだめでした。
なんどやってもAdobeのビューアーで表示できなかったんだけど
荒業でぬけることができました。
xml(+xslt→svg)をsmilのドキュメントに
<img src="target.xml">
という感じでうめこみRealPlayerでsmilを読み込ませると
svgが表示サレマした。うーん‥
35名無しさん@お腹いっぱい。
02/02/02 23:39ID:KwUwsoRo XSLTで遊んでる好例ハケーン→ http://moso.borogrammers.net/newlin/
36名無しさん@お腹いっぱい。
02/02/21 18:16ID: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
<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
37名無しさん@お腹いっぱい。
02/02/21 18:19ID:a4ipQQMG あああああ
テンプレート分けて xsl:when 内で xsl:call-template すりゃ済む話か…
逝ってきます…………
テンプレート分けて xsl:when 内で xsl:call-template すりゃ済む話か…
逝ってきます…………
38
02/03/08 18:28ID:EI/igJgK スレ違い覚悟。
apache + tomcat + 横浜ベイキットCocoon にて XSL:FO 運用を目指してます。
フォント埋め込みになっちゃうんだけど、外字を表示させるにはどうしたらいいんでしょ。
apache + tomcat + 横浜ベイキットCocoon にて XSL:FO 運用を目指してます。
フォント埋め込みになっちゃうんだけど、外字を表示させるにはどうしたらいいんでしょ。
39nobodyさん
02/03/09 21:16ID:gH82xLKm40
02/03/11 09:34ID:ktAR11by41
02/03/14 14:42ID:U7MOt75j ところで Cocoon2 って日本語対応してるの?
42
02/03/16 12:29ID:aNCStdKB >>41
対応してるよん。
バージョン2.0.1の時点ではリクエストパラメータの処理に
問題がありますが、2.0.2で改善されます。
>>40
TTEditなんかで作ったフォントを
使いたいということでよろしいかな?
まずFOP単独で出力できないと話が進まないので
FOPの最新版バイナリを落してきてください。
http://xml.apache.org/dist/fop/#
対応してるよん。
バージョン2.0.1の時点ではリクエストパラメータの処理に
問題がありますが、2.0.2で改善されます。
>>40
TTEditなんかで作ったフォントを
使いたいということでよろしいかな?
まずFOP単独で出力できないと話が進まないので
FOPの最新版バイナリを落してきてください。
http://xml.apache.org/dist/fop/#
4338
02/03/17 21:51ID:Xcs9LUc94438
02/03/17 21:54ID:Xcs9LUc9 ↑当然ながら Cocoon2 最新版までです
4542
02/03/19 07:45ID:Vm7v8Ppz46qqq<
02/03/19 08:43ID:??? asd
4738
02/03/19 09:55ID:ENr4RQ8P TTEditの質問になってしまうかもしれないのですが
Windowsについてくるフォント(MSゴシックとか)だと
外字領域に直接フォント作れるけど
他の市販モノだと「・」となっていじれないんですよねぇ。
そういったプロテクトはずす方法知ってます?
Windowsについてくるフォント(MSゴシックとか)だと
外字領域に直接フォント作れるけど
他の市販モノだと「・」となっていじれないんですよねぇ。
そういったプロテクトはずす方法知ってます?
4842
02/03/20 20:14ID:VQ4jw/To >>47
外字領域書き込み可能にしたTTEDITで
新規のフォントを作って、
そこに市販のフォントを一括コピーしたら
出来るかも知れんです。
とりあえず入手した
fop-0.20.3-bin.tar.gz
を適当な場所に解凍してください。
OSはLinuxでよいですか?
外字領域書き込み可能にしたTTEDITで
新規のフォントを作って、
そこに市販のフォントを一括コピーしたら
出来るかも知れんです。
とりあえず入手した
fop-0.20.3-bin.tar.gz
を適当な場所に解凍してください。
OSはLinuxでよいですか?
4938
02/03/22 00:11ID:nXgMXn315042
02/03/23 00:22ID:KjUoYuvr >>49
外字領域に文字を作ったフォントを用意しておいてください。
あとは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
とりあえず以上の方法で、ちゃんと出力ファイルが出来るか
試してみてください。
外字領域に文字を作ったフォントを用意しておいてください。
あとは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
とりあえず以上の方法で、ちゃんと出力ファイルが出来るか
試してみてください。
5138
02/03/25 11:23ID:XPZyIH2e うおー出た出たすげー。
説明ありがとうございます。
これで世間に顔向けできます。
説明ありがとうございます。
これで世間に顔向けできます。
5238
02/03/25 20:12ID:moXJH3iy というわけで、一応出力ファイル
(これがメトリクスファイル?)
が出力されました。
この後は如何に。。。
(これがメトリクスファイル?)
が出力されました。
この後は如何に。。。
5342
02/03/27 06:14ID:7X2Z09vV >>52
さいです。メトリクスファイルです。
次に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を出力します...
さいです。メトリクスファイルです。
次に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を出力します...
5438
02/03/27 17:54ID:MgQyiA49 なるほろ。
コピー&ペーストで設定ファイル作りました。
とうとうPDF出力ですか ニヤリ
コピー&ペーストで設定ファイル作りました。
とうとうPDF出力ですか ニヤリ
5542
02/03/30 13:59ID: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のアクロバットリーダーで
開いたら、ちゃんと外字が出るはずです。
UNICODEで指定してやります。
例えばE000に文字を定義したならとします。
次のサンプルをsample.foという名前で保存してください。
で、あとは
./fop.sh -c 設定ファイル FOファイル PDFファイル
としてやればPDFが出てきます。
例えば
./fop.sh -c ja/config.xml sample.fo sample.pdf
として、出てきたPDFをWindowsのアクロバットリーダーで
開いたら、ちゃんと外字が出るはずです。
56サンプルだよん
02/03/30 14:00ID:u2FWmlwu <?xml version="1.0" encoding="EUC-JP"?>
<fo:root xmlns:fo="http://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>
<fo:root xmlns:fo="http://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>
5742
02/03/30 14:03ID:u2FWmlwu 2chだと勝手に文字が変換されるようですな。
外字だよん→・
の部分は
外字だよん→&#xE000
&はもちろん半角ね
です。
外字だよん→・
の部分は
外字だよん→&#xE000
&はもちろん半角ね
です。
5838
02/04/02 19:43ID:W7Q/zpoW おーおー
確かにPDF出力できました。
さて、次は Cocoon2 連携ですな。
確かにPDF出力できました。
さて、次は Cocoon2 連携ですな。
5942
02/04/03 22:35ID:pbEHoyE1 3/25にリリースされたCocoon2.0.2を試してみましたが、
Cocoonのバグのためにフォントが設定できませんでした。
今、修正版を準備してます。
明日にでもうpするので、しばし待ってください。
Cocoonのバグのためにフォントが設定できませんでした。
今、修正版を準備してます。
明日にでもうpするので、しばし待ってください。
60あぼーん
NGNGあぼーん
6142
02/04/04 21:42ID:b//D81ae6238
02/04/05 09:34ID:gSye2Xnn 落とすは落としました。
単に解凍すればいいのかな?
単に解凍すればいいのかな?
6342
02/04/06 14:30ID:XfqBDhEm とりあえず、
まだ入れてなければJDK1.4とTomcat4.0.3LEを
入れておいてください。
まだ入れてなければJDK1.4とTomcat4.0.3LEを
入れておいてください。
6438
02/04/06 21:21ID:ECdvWQTo tomcat は 3.x ではなく 4.x なんですね。
了解しました。
了解しました。
65nobodyさん
02/04/06 22:21ID:p5+bp4EQ JDK1.4でCocoon2を使えますか?
Cocoon2のソース取って来てビルドかけても
ビルド通らないんで、妥協してJDK1.3使ってるんですが。
Cocoon2のソース取って来てビルドかけても
ビルド通らないんで、妥協してJDK1.3使ってるんですが。
6642
02/04/07 09:11ID:aptyKfg7 以下のJDK1.4対応版Tomcatで動作を確認してます。
http://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使ってください。
これでhttp://localhost:8080/c2/
にアクセスできるはずです。
http://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使ってください。
これでhttp://localhost:8080/c2/
にアクセスできるはずです。
6765
02/04/10 21:49ID:??? どうも、65です。
LE板じゃないtomcat使ってたのが動かない原因でした。
失礼しました。
LE板じゃないtomcat使ってたのが動かない原因でした。
失礼しました。
6838
02/04/16 13:13ID:BXQRKCQc かちゅ〜しゃであぼーんされたと表示されたので
最後の最後でとがっかりしてましたが、ブラウザで
見たら、最終動作確認まで書き込みされていてほっとしました。
早速試してみます。
最後の最後でとがっかりしてましたが、ブラウザで
見たら、最終動作確認まで書き込みされていてほっとしました。
早速試してみます。
69nobodyさん
02/04/19 00:59ID:CkxCgoEa 中途半端な手続き言語XSLTはいらん
仕様から廃止しろ
仕様から廃止しろ
70
02/04/23 22:43ID:CN3t/tua ってか、
apache1.24 + tomcat3.2.4 + cocoon2.0.2 の
インストールがうまくいかん!
どうして tomcat 立ち上げると core 吐いて落ちるんじゃー
apache1.24 + tomcat3.2.4 + cocoon2.0.2 の
インストールがうまくいかん!
どうして tomcat 立ち上げると core 吐いて落ちるんじゃー
71
02/04/23 22:44ID:CN3t/tua ↑いやん
× 1.24
○ 1.3.24
× 1.24
○ 1.3.24
72nobodyさん
02/05/22 16:48ID:??? XSLTで複数のキーについてソートしたい場合はどうすればいいのでしょうか?
SQLだと、
select foo, bar from tee order by foo, bar
というように書けますけど、XSLTだと可能なのでしょうか?
SQLだと、
select foo, bar from tee order by foo, bar
というように書けますけど、XSLTだと可能なのでしょうか?
7372
02/05/24 12:47ID:??? >72
<xsl:sort select="foo"/>
<xsl:sort select="bar"/>
でできました。
<xsl:sort select="foo"/>
<xsl:sort select="bar"/>
でできました。
74Name_Not_Found
02/05/29 14:44ID:FW6HquND もういいかげん、XSL と XSLT をいっしょに扱うことに無理がある
XSLT は XTransform とかに改名すれ
XSLT は XTransform とかに改名すれ
75non
02/05/29 15:16ID:8Y6vpIWK COCOON2にて日本語を利用可にする
設定方法、設定ファイル等
教えてください。
設定方法、設定ファイル等
教えてください。
76tachan
02/05/30 17:53ID:2EIuRR3F COCOON2にてXSPを利用しようと思います。
ここで自分で作成したCLASSにCLASSPATHを通すには
どうしたらよいのでしょうか?
XSPのコンパイルの時点でjava.lang.NoClassDefFoundError
となります。
sitemap.xmapなのかcocoon.xconfなのかわかりません。
ここで自分で作成したCLASSにCLASSPATHを通すには
どうしたらよいのでしょうか?
XSPのコンパイルの時点でjava.lang.NoClassDefFoundError
となります。
sitemap.xmapなのかcocoon.xconfなのかわかりません。
77nobodyさん
02/05/30 18:29ID:???7877
02/05/30 18:33ID:???79nobodyさん
02/05/31 02:56ID:HNPPjz0j80non
02/05/31 10:08ID:XfZ+NB0u 勉強不足ですいません。
OSは、Redhat7.2です。
Generator,Transformerについては、
勉強不足で知らないのですが、
sitemap.xmapの内容でしたら、
Generator:JspGenerator
Transformer:TraxTransformer
となっております。
見当違いでしたらすいません。
OSは、Redhat7.2です。
Generator,Transformerについては、
勉強不足で知らないのですが、
sitemap.xmapの内容でしたら、
Generator:JspGenerator
Transformer:TraxTransformer
となっております。
見当違いでしたらすいません。
81nobodyさん
02/05/31 10:15ID:??? >>80
JSPを使っているのであれば、単純に普通のTomcatでそのJSPファイルを
指定したときに、文字化けは起こってないか? JSPの中でのエンコーディングの
指定がまずいような気がするが。
もし上記でJSPファイルの問題でないのなら、普通にXMLファイルを作ってみて、
SitemapでFileGeneratorに指定してあげてそちらだと文字化けが起こるかどうかを
確認してみてくれ。
それと、そもそも文字化けを確認しているブラウザもRedhat上かな?
JSPを使っているのであれば、単純に普通のTomcatでそのJSPファイルを
指定したときに、文字化けは起こってないか? JSPの中でのエンコーディングの
指定がまずいような気がするが。
もし上記でJSPファイルの問題でないのなら、普通にXMLファイルを作ってみて、
SitemapでFileGeneratorに指定してあげてそちらだと文字化けが起こるかどうかを
確認してみてくれ。
それと、そもそも文字化けを確認しているブラウザもRedhat上かな?
82nobodyさん
02/06/01 23:15ID:??? >>76
TOMCAT_HOME/webapps/cocoon/WEB-INF/web.xml
を触ればよい。
<init-param>
<param-name>extra-classpath</param-name>
<param-value>ここで指定する</param-value>
</init-param>
TOMCAT_HOME/webapps/cocoon/WEB-INF/web.xml
を触ればよい。
<init-param>
<param-name>extra-classpath</param-name>
<param-value>ここで指定する</param-value>
</init-param>
83tachan
02/06/03 14:25ID:Yq6AJPGD >TOMCAT_HOME/webapps/cocoon/WEB-INF/web.xml
>を触ればよい。
><init-param>
><param-name>extra-classpath</param-name>
><param-value>ここで指定する</param-value>
></init-param>
上記の設定ファイルを指定したら
XSPのコンパイルエラーなくなりました。
本当にありがとうございました。
>を触ればよい。
><init-param>
><param-name>extra-classpath</param-name>
><param-value>ここで指定する</param-value>
></init-param>
上記の設定ファイルを指定したら
XSPのコンパイルエラーなくなりました。
本当にありがとうございました。
84あぼーん
NGNGあぼーん
85>
02/06/06 13:34ID:CeCgqXVC 21は33の言うとおり。
試してもいない21のコードに
9も試してもいないのに感謝する必要はない。
で,結局
</tr><tr>
は,
<xsl:text disable-output-escaping="yes"></tr><tr></xsl:text>
とすればOK。
試してもいない21のコードに
9も試してもいないのに感謝する必要はない。
で,結局
</tr><tr>
は,
<xsl:text disable-output-escaping="yes"></tr><tr></xsl:text>
とすればOK。
8685
02/06/06 13:38ID:CeCgqXVC ちぇっ,展開されちった。
めんどいから全角で書くよ。
85のは
<xsl:text disable-output-escaping="yes">&lt;/tr&gt;&lt;tr&gt;</xsl:text>
ということね。
めんどいから全角で書くよ。
85のは
<xsl:text disable-output-escaping="yes">&lt;/tr&gt;&lt;tr&gt;</xsl:text>
ということね。
87nobodyさん
02/06/09 17:09ID:??? 普通のレンタルサーバとかでサーバサイドのXSLT変換ってできる?
88nobodyさん
02/06/11 00:22ID:qDeG/JWs89nobodyさん
02/06/14 16:06ID:??? >86
<element name="tr" />
ではあかんか?
<element name="tr" />
ではあかんか?
90nobodyさん
02/06/15 00:30ID:??? >>9
<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>
<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>
91nobodyさん
02/06/26 11:32ID: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>
アドバイスいただけませんでしょうか。
<xsl:sort select="a" data-type="text" order="ascending" />
</xsl:apply-templates>
でソートした結果をテンプレート処理しているのですが、
<xsl:template match="foo">
この中で処理される「foo」の前に処理された
「foo」の子要素を参照する事はできないのでしょうか?
<xsl:template>
アドバイスいただけませんでしょうか。
92nobodyさん
02/06/26 15:12ID:kyxI2iEY <xsl:value-of select="preceding-sibling::foo[1]/a"/>
とかじゃだめなの。
というかもう少し具体的に。
とかじゃだめなの。
というかもう少し具体的に。
93nobodyさん
02/06/26 15:34ID:6FYKwyrE 173 :参加するカモさん :02/03/12 09:46
みんなメルマガ読んでる?
あれ読むとひろゆきの性格よくわかるよ
すっごい陰湿。
根暗。
正直、引くよ。2chの管理人って、こういう奴なのかって。
176:参加するカモさん :02/03/12 11:18
ひろゆきの裁判の報告の仕方はよくわかったけど、たまには相手側の言い分も聞いてみたいね
まったく違う状況だったりしてw
177:参加するカモさん :02/03/12 11:42
ひろゆきさんっては自分の都合の良いことしか報告しないし、都合が悪くなると
報告しなくなっちゃうんだよね、、
それにしてもひろゆきさんてば見事に陰湿な文章書くなあ。。
みんなメルマガ読んでる?
あれ読むとひろゆきの性格よくわかるよ
すっごい陰湿。
根暗。
正直、引くよ。2chの管理人って、こういう奴なのかって。
176:参加するカモさん :02/03/12 11:18
ひろゆきの裁判の報告の仕方はよくわかったけど、たまには相手側の言い分も聞いてみたいね
まったく違う状況だったりしてw
177:参加するカモさん :02/03/12 11:42
ひろゆきさんっては自分の都合の良いことしか報告しないし、都合が悪くなると
報告しなくなっちゃうんだよね、、
それにしてもひろゆきさんてば見事に陰湿な文章書くなあ。。
94nobodyさん
02/06/26 15:51ID:GX1WMLoK >>92
うまく質問できていないみたいですいません。
<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"/>
はエラーになってしまいます。(エラー自体が文字化け)
長くなってすいません。
うまく質問できていないみたいですいません。
<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"/>
はエラーになってしまいます。(エラー自体が文字化け)
長くなってすいません。
9592
02/06/26 18:05ID:vhsxGiH5 こうかな、、
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://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>
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://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>
9694
02/06/26 19:29ID:??? アドバイスありがとうございます。
そのままコピペしてテストしてみましたが、
foo[count(. | key('group', a)[1]) = 1]
でエラーがでてしまいました。
<xsl:for-each select="foo">
だとkey()で取得したノードリストが、複数でてしまいますし。
xsl:keyとkey関数を知らなかったので勉強になりました。
ちょっとこのアドバイスを元に考えてみます。
ほんとにありがとうございます!
そのままコピペしてテストしてみましたが、
foo[count(. | key('group', a)[1]) = 1]
でエラーがでてしまいました。
<xsl:for-each select="foo">
だとkey()で取得したノードリストが、複数でてしまいますし。
xsl:keyとkey関数を知らなかったので勉強になりました。
ちょっとこのアドバイスを元に考えてみます。
ほんとにありがとうございます!
97結局さぁ
02/06/27 00:28ID:kFFjIjuv XSLTってXSLの鬼っ子でしょ?
とっとと改名しる!
とっとと改名しる!
98nobodyさん
02/07/03 10:46ID:??? なんだか難しそうだな
99nobodyさん
02/07/03 19:07ID:P21eikik Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
100Cocoon2
02/07/03 19:07ID:P21eikik Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
101nobodyさん
02/07/04 23:36ID:QxzpOV1b あるxml文書をコピーする過程で、決まった要素にだけtemplateを適用したいのですが
どーにもこーにもうまくいきません.
<xsl:template match="@*|node()" priority="2">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
としておいて、例えば要素fooだけはそのままコピーするのではなく
<xsl:template match="foo" priority="1">
<xsl:text>foo</xsl:text>
</xsl:template>
このtemplateが適用されて欲しいのですが、priority属性が効いてくれないみたいです。
というか根本的に考え方が違うのかもしれません。
最初のtemplate中で<xsl:when test="name()='foo'">を使って分岐させれば
うまく(意図通りに)いくのですが、どうもスマートでないような気がします。
濃ゆいスレにそぐわない質問かもしれませんが、
よい方法があれば教えてください。
あ、環境はxalan+jdk1.3.0です。
どーにもこーにもうまくいきません.
<xsl:template match="@*|node()" priority="2">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
としておいて、例えば要素fooだけはそのままコピーするのではなく
<xsl:template match="foo" priority="1">
<xsl:text>foo</xsl:text>
</xsl:template>
このtemplateが適用されて欲しいのですが、priority属性が効いてくれないみたいです。
というか根本的に考え方が違うのかもしれません。
最初のtemplate中で<xsl:when test="name()='foo'">を使って分岐させれば
うまく(意図通りに)いくのですが、どうもスマートでないような気がします。
濃ゆいスレにそぐわない質問かもしれませんが、
よい方法があれば教えてください。
あ、環境はxalan+jdk1.3.0です。
102nobodyさん
02/07/05 01:35ID:???103Cocoon2
02/07/05 10:46ID:o63MT+vE104Spm
02/07/06 00:35ID:zVcgsDeC >>101
そりゃあ、priority属性の値の高いほうが優先してマッチしますから、
その例の下のテンプレートは適用されないに決まっているのですけど:
>どーにもこーにもうまくいきません
とのことですので、もちろん最初は、priority属性をつけないで
試しては見たのでしょう?
下のテンプレートの方が規則からいって優先度が高いのは自明ですし……
xalanてそんなものですか。いやXTから乗り換えようと思っていたので。
そりゃあ、priority属性の値の高いほうが優先してマッチしますから、
その例の下のテンプレートは適用されないに決まっているのですけど:
>どーにもこーにもうまくいきません
とのことですので、もちろん最初は、priority属性をつけないで
試しては見たのでしょう?
下のテンプレートの方が規則からいって優先度が高いのは自明ですし……
xalanてそんなものですか。いやXTから乗り換えようと思っていたので。
105101
02/07/06 02:17ID:vHzD1DJG >>104
すいません,書いた後に気付きました...
priority の値を逆にしてもやはり意図通りになりません.
もちろん,仰るとおり,より限定されているfoo要素の方が
優先順位が高いのは自明なのですが,苦肉の策で試してみました.
<xsl:template match="*" prioriry="0"> と
<xsl:template match="*" prioriry="1"> では
後者が確実に適用さますが,match の内容が異なるとダメみたいですね...
ちなみにXTでも試してみたのですが,xalanと挙動は同じでした.
むぅ.
すいません,書いた後に気付きました...
priority の値を逆にしてもやはり意図通りになりません.
もちろん,仰るとおり,より限定されているfoo要素の方が
優先順位が高いのは自明なのですが,苦肉の策で試してみました.
<xsl:template match="*" prioriry="0"> と
<xsl:template match="*" prioriry="1"> では
後者が確実に適用さますが,match の内容が異なるとダメみたいですね...
ちなみにXTでも試してみたのですが,xalanと挙動は同じでした.
むぅ.
106101
02/07/06 02:20ID:??? s/prioriry/priority/g
です
です
107Spm
02/07/06 20:49ID:zVcgsDeC >>106
当方のXTはきちんとfoo要素だけfooというテキストノードにしてくれてます。
priority属性もみてくれてますし。
これはxalanのせいじゃないかもしれないですね。
考えられるのは、qname(qualified name)が間違っていることくらいでしょうか。
マッチすらしてないって事です。
ソース文書のfoo要素に名前空間ついてませんか?
ルート要素にデフォルトの名前空間(xmlns="uri")つけてませんか?
名前空間を除いたものを返すからname()関数による分岐はうまくいくのでしょう。
これしか考えられないのですが、違ってたらすみません。
当方のXTはきちんとfoo要素だけfooというテキストノードにしてくれてます。
priority属性もみてくれてますし。
これはxalanのせいじゃないかもしれないですね。
考えられるのは、qname(qualified name)が間違っていることくらいでしょうか。
マッチすらしてないって事です。
ソース文書のfoo要素に名前空間ついてませんか?
ルート要素にデフォルトの名前空間(xmlns="uri")つけてませんか?
名前空間を除いたものを返すからname()関数による分岐はうまくいくのでしょう。
これしか考えられないのですが、違ってたらすみません。
108nobodyさん
02/07/07 00:44ID:wYb8dbIP >>107
>ソース文書のfoo要素に名前空間ついてませんか?
>ルート要素にデフォルトの名前空間(xmlns="uri")つけてませんか?
う,ビンゴです...
デフォルトの名前空間指定のないxml文書なら xalan でもうまくいきました.
ちなみに,デフォルトの名前空間がある場合にマッチさせる手段はあるのでしょうか?
match=":foo" なんて安直な方法じゃダメでした(恥)
# 「デフォルトの名前空間に関する問題は XSLT 2.0 で解決される」
# と聞いたことがあります.
>ソース文書のfoo要素に名前空間ついてませんか?
>ルート要素にデフォルトの名前空間(xmlns="uri")つけてませんか?
う,ビンゴです...
デフォルトの名前空間指定のないxml文書なら xalan でもうまくいきました.
ちなみに,デフォルトの名前空間がある場合にマッチさせる手段はあるのでしょうか?
match=":foo" なんて安直な方法じゃダメでした(恥)
# 「デフォルトの名前空間に関する問題は XSLT 2.0 で解決される」
# と聞いたことがあります.
109Spm
02/07/07 03:49ID:ZDF4GXlm ソースファイルが
(一般的にデフォルト名前空間が使われる)
XHTMLだったとすれば:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xht="http://www.w3.org/1999/xhtml"
>
と、名前空間接頭辞を定義して、
NodeTestでNameTestを使う際、その接頭辞をくっつけます。
<xsl:template match="child::xht:h1">
リテラルなど
</xsl:template>
これはカレントノードがh1要素だった場合にマッチするでしょう。
# default-xpath-namespace属性っていうものらしいですね。
# http://www.w3.org/TR/xslt20/#unprefixed-qnames より
(一般的にデフォルト名前空間が使われる)
XHTMLだったとすれば:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xht="http://www.w3.org/1999/xhtml"
>
と、名前空間接頭辞を定義して、
NodeTestでNameTestを使う際、その接頭辞をくっつけます。
<xsl:template match="child::xht:h1">
リテラルなど
</xsl:template>
これはカレントノードがh1要素だった場合にマッチするでしょう。
# default-xpath-namespace属性っていうものらしいですね。
# http://www.w3.org/TR/xslt20/#unprefixed-qnames より
110108
02/07/07 16:47ID:wYb8dbIP111nobodyさん
02/08/11 23:48ID:77b+zq0z XSLTは変数の値変更できなくて不便でしょうがないので、
もう使用しないことにした。
もう使用しないことにした。
112nobodyさん
02/08/16 08:50ID:q4PLH8KO 初めてXMLを扱うものですが、たのしいXMLの
http://www.cityfujisawa.ne.jp/~yanai/xml/sample2/basic1/home.html
ここを改造してソースを作っているのですが、うまくいきません。
とりあえず三つのソースを作りました。
-- test4.html --
<html>
<head>
<title>test4</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<xml id="list" src="testxml.xml"></xml>
<xml id="c1" src="c1.xsl"></xml>
<script language="JavaScript">
<!--
function inner() {
here.innerHTML = list.transformNode(c1.documentElement);
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form>
<input type="button" value="c1" onClick="inner()">
</form>
<div id="here"></div>
</body>
</html>
http://www.cityfujisawa.ne.jp/~yanai/xml/sample2/basic1/home.html
ここを改造してソースを作っているのですが、うまくいきません。
とりあえず三つのソースを作りました。
-- test4.html --
<html>
<head>
<title>test4</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<xml id="list" src="testxml.xml"></xml>
<xml id="c1" src="c1.xsl"></xml>
<script language="JavaScript">
<!--
function inner() {
here.innerHTML = list.transformNode(c1.documentElement);
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form>
<input type="button" value="c1" onClick="inner()">
</form>
<div id="here"></div>
</body>
</html>
113112のつづき
02/08/16 08:50ID:q4PLH8KO -- testxml.xml --
<?xml version="1.0" encoding="Shift_JIS" ?>
<test>mod</test>
-- c1.xsl --
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<p>before<xsl:value-of select="test@pid" />after</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
ここでtest4.htmlをクリックして
beforemodafter
と表示させれば成功なのですが、beforeafterとしか表示されません。
「たのしいXML」のソースを極めて胆略化した形で作ったのですが、うまく動かないのです。
どこが原因なのでしょうか。教えてください。
<?xml version="1.0" encoding="Shift_JIS" ?>
<test>mod</test>
-- c1.xsl --
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<p>before<xsl:value-of select="test@pid" />after</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
ここでtest4.htmlをクリックして
beforemodafter
と表示させれば成功なのですが、beforeafterとしか表示されません。
「たのしいXML」のソースを極めて胆略化した形で作ったのですが、うまく動かないのです。
どこが原因なのでしょうか。教えてください。
114112
02/08/16 11:12ID:??? >>113
ちょっと訂正
誤
<p>before<xsl:value-of select="test@pid" />after</p>
正
<p>before<xsl:value-of select="test" />after</p>
ちょっと訂正
誤
<p>before<xsl:value-of select="test@pid" />after</p>
正
<p>before<xsl:value-of select="test" />after</p>
115Spm
02/08/16 14:52ID:WjrAiya2 c1.xsl のxsl:stylesheetに、version="1.0" を追加してください。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
これで駄目ならスレ違い。MSXMLの話題になります。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
これで駄目ならスレ違い。MSXMLの話題になります。
117112
02/08/21 04:32ID:??? 原因がわかりました。
115さんの Version の記述忘れもそうなんですが、xmlns をxmlns:xsl="http://www.w3.org/1999/XSL/Transform にしてました。
つまり、僕が作る場合、閲覧者をIE5.0のXMLパーサー無しの環境で見てるのを前提に作らなきゃいけないので、自分のパソコンを同じ環境にしてあります。
で、
xmlns:xsl="http://www.w3.org/TR/WD-xsl”
としたら表示できました。
115さんの Version の記述忘れもそうなんですが、xmlns をxmlns:xsl="http://www.w3.org/1999/XSL/Transform にしてました。
つまり、僕が作る場合、閲覧者をIE5.0のXMLパーサー無しの環境で見てるのを前提に作らなきゃいけないので、自分のパソコンを同じ環境にしてあります。
で、
xmlns:xsl="http://www.w3.org/TR/WD-xsl”
としたら表示できました。
118K's
02/08/30 14:43ID:mcp2WYS4 XML初心者です。勉強をしているのですが、sortがうまく動きません。
下記にサンプルプログラムがありますが実際コピペして表示させたのですが
まったく表示されず、またエラーも出ません。sortの使い方教えていただけない
でしょうか。ちなみにIE5.0を使用しています。また使い方が間違えてるようでしたら
指摘ください。
「XML文書」
<?xml version="1.0" encoding="UTF-8"?>
<?xml:stylesheet type="text/xsl" href="sort.xsl"?>
<kakaku id="kakaku">
<title price="1500">ガイドブック</title>
<title price="2000">XML</title>
<title price="900">会社案内</title>
<title price="800">デジカメ</title>
<title price="1000">インターネット</title>
</kakaku>
「xsl文書」(BODY要素内のみ記述です)
<xsl:for-each select="kakaku">
<h2>価格詳細表</h2>
<table border="2px"><xsl:apply-templates match="title" /></table>
</xsl:for-each>
<xsl:for-each select="title">
<xsl:sort select="./@price" lang="UTF-8" data-type="number" order="ascending" />
<tr><td><xsl:value-of select="./@price" />(税別)円</td><td><xsl:value-of select="." /></td></tr>
</xsl:for-each>
下記にサンプルプログラムがありますが実際コピペして表示させたのですが
まったく表示されず、またエラーも出ません。sortの使い方教えていただけない
でしょうか。ちなみにIE5.0を使用しています。また使い方が間違えてるようでしたら
指摘ください。
「XML文書」
<?xml version="1.0" encoding="UTF-8"?>
<?xml:stylesheet type="text/xsl" href="sort.xsl"?>
<kakaku id="kakaku">
<title price="1500">ガイドブック</title>
<title price="2000">XML</title>
<title price="900">会社案内</title>
<title price="800">デジカメ</title>
<title price="1000">インターネット</title>
</kakaku>
「xsl文書」(BODY要素内のみ記述です)
<xsl:for-each select="kakaku">
<h2>価格詳細表</h2>
<table border="2px"><xsl:apply-templates match="title" /></table>
</xsl:for-each>
<xsl:for-each select="title">
<xsl:sort select="./@price" lang="UTF-8" data-type="number" order="ascending" />
<tr><td><xsl:value-of select="./@price" />(税別)円</td><td><xsl:value-of select="." /></td></tr>
</xsl:for-each>
119nobodyさん
02/08/30 16:57ID:??? >>118
<xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">がなぜ?
というのは置いといて、恐らく
select="./@price"
は
select="@price"
ではないかと。下のvalue-ofも。
も一つ考えられるのは、>>118のmsxml.dllが古くて、XSLTの名前空間がドラフトなのではないか?と
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
でなくて
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
ってなってない?
だとするとソートは、
<xsl:for-each select="title" order-by="number(@price)">
と書けば上手くいくはず。
<xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">がなぜ?
というのは置いといて、恐らく
select="./@price"
は
select="@price"
ではないかと。下のvalue-ofも。
も一つ考えられるのは、>>118のmsxml.dllが古くて、XSLTの名前空間がドラフトなのではないか?と
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
でなくて
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
ってなってない?
だとするとソートは、
<xsl:for-each select="title" order-by="number(@price)">
と書けば上手くいくはず。
120Spm
02/08/30 21:56ID:??? >>119
RelativeLocationPath ::= Step
| RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath
かつ、
Step ::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep
かつ、
AbbreviatedStep ::= '.' | '..'
[参照] http://www.w3.org/TR/xpath
というわけで、./@price は合法のようです。
> <xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">がなぜ?
どこから>>118がこのサンプルを持ってきたのか気になりますな。
RelativeLocationPath ::= Step
| RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath
かつ、
Step ::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep
かつ、
AbbreviatedStep ::= '.' | '..'
[参照] http://www.w3.org/TR/xpath
というわけで、./@price は合法のようです。
> <xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">がなぜ?
どこから>>118がこのサンプルを持ってきたのか気になりますな。
122K's
02/09/03 09:47ID:UYWG+Uf9 レス遅くなってすいません。社内のPCの台数が決まっていてなかなか
使用できないもので。。。
で、教えていただいた通りにやってみたのですがやはり表示されません。
それとこのサンプルは今となってはわかりませんがどっかのHPから
コピペしてきたものです。
<xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">
書いたのはapply-templates match="title" いかにfor-each select="title"を
適用すると解釈しているのですが。。。間違ってます?
使用できないもので。。。
で、教えていただいた通りにやってみたのですがやはり表示されません。
それとこのサンプルは今となってはわかりませんがどっかのHPから
コピペしてきたものです。
<xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">
書いたのはapply-templates match="title" いかにfor-each select="title"を
適用すると解釈しているのですが。。。間違ってます?
123nobodyさん
02/09/03 12:03ID:??? >>122
んー。テンプレート系エレメントについてもう少し勉強した方がいいかも。
sortの使い方云々よりもxsl文書が正しく書けていないと思う。
もっとXSLTの各エレメントの意味をよく理解しましょう。
んー。テンプレート系エレメントについてもう少し勉強した方がいいかも。
sortの使い方云々よりもxsl文書が正しく書けていないと思う。
もっとXSLTの各エレメントの意味をよく理解しましょう。
124nobodyさん
02/09/04 23:35ID:??? W3Cムカツク。
あんなアフォどもに好き勝手にさせてて委員会?
あんなアフォどもに好き勝手にさせてて委員会?
125nobodyさん
02/09/06 01:19ID:ultmv2D3 >>118
<?xml:stylesheet じゃなく <?xml-stylesheet だよ。こっちはハイフン。
<?xml:stylesheet じゃなく <?xml-stylesheet だよ。こっちはハイフン。
127bloom
02/09/06 23:31ID:PkazN1aJ128nobodyさん
02/09/06 23:48ID:??? >127
なんかrefreshとか書いたMETAタグしかない小さなソースだけど、
ブラクラか何か?
なんかrefreshとか書いたMETAタグしかない小さなソースだけど、
ブラクラか何か?
130nobodyさん
02/09/09 12:28ID:GqnKQPj5 xsltで質問です。
xsl:variableを使って変数を定義する方法を覚えたんですが、DOMを使って外部から変数を定義する方法ってあるんでしょうか?
たとえばxmlを
<hoge>
<fuga id="1">foo1</fuga>
<fuga id="2">foo2</fuga>
<fuga id="3">foo3</fuga>
</hoge>
として
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="hoge/fuga">
<html>
<xsl:if test="@id='$bar'"> ←@
<xsl:value-of select="." />
</xsl:if>
</html>
</xsl:template>
</xsl:stylesheet>
と作ったとすると
<xsl:variable name="bar">1</xsl:variable>
みたいに定義することを外部からできるでしょうか?
もしくはDOMを使って
bar=3
みたいに定義できるのでしょうか?
xsl:variableを使って変数を定義する方法を覚えたんですが、DOMを使って外部から変数を定義する方法ってあるんでしょうか?
たとえばxmlを
<hoge>
<fuga id="1">foo1</fuga>
<fuga id="2">foo2</fuga>
<fuga id="3">foo3</fuga>
</hoge>
として
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="hoge/fuga">
<html>
<xsl:if test="@id='$bar'"> ←@
<xsl:value-of select="." />
</xsl:if>
</html>
</xsl:template>
</xsl:stylesheet>
と作ったとすると
<xsl:variable name="bar">1</xsl:variable>
みたいに定義することを外部からできるでしょうか?
もしくはDOMを使って
bar=3
みたいに定義できるのでしょうか?
131nobodyさん
02/09/09 13:20ID:??? W3C・・・・無能であることは確かだ。
132nobodyさん
02/09/09 15:14ID:???134nobodyさん
02/09/15 22:02ID:??? ノードの在る無しという条件で、
処理を分岐するというのがどうすればいいのかよくわかりません。
<xsl:choose>
<xsl:when test='?????'> ←ここ
.......処理
</xsl:when>
<xsl:otherwise>
.......別の処理
</xsl:otherwise>
</xsl:choose>
?????にどう書けばいいのかな。
処理を分岐するというのがどうすればいいのかよくわかりません。
<xsl:choose>
<xsl:when test='?????'> ←ここ
.......処理
</xsl:when>
<xsl:otherwise>
.......別の処理
</xsl:otherwise>
</xsl:choose>
?????にどう書けばいいのかな。
135nobodyさん
02/09/15 23:45ID:???136134
02/09/17 01:32ID:??? レスサンクス。
質問が悪かった。XMLソースがないとわかるわけないね。
<parent>
<context>
<childa>.......</childa> ←この部分が在ったり無かったりする。
</context>
<context>
</context>
</parent>
とりあえず今は、2つのXSLTファイルを用意して、
対応してる。
質問が悪かった。XMLソースがないとわかるわけないね。
<parent>
<context>
<childa>.......</childa> ←この部分が在ったり無かったりする。
</context>
<context>
</context>
</parent>
とりあえず今は、2つのXSLTファイルを用意して、
対応してる。
137Spm
02/09/17 01:59ID:0xmOo3Ol >>134 = >>136
>>135氏の言うとおりでは。ノード集合そのまま。例えば:
<xsl:when test="child::childa">
<xsl:choose>要素をどういう文脈で使っているかにも依存するので、
一概にchild::childaで良いとは言えませんが。
カレントノードは何ですか?
test属性値については、boolean関数が適用されます。
http://www.w3.org/TR/xpath#function-boolean
test属性値にノード集合を指定した場合、空ならfalse、それ以外はture.
>>135氏の言うとおりでは。ノード集合そのまま。例えば:
<xsl:when test="child::childa">
<xsl:choose>要素をどういう文脈で使っているかにも依存するので、
一概にchild::childaで良いとは言えませんが。
カレントノードは何ですか?
test属性値については、boolean関数が適用されます。
http://www.w3.org/TR/xpath#function-boolean
test属性値にノード集合を指定した場合、空ならfalse、それ以外はture.
138134=136
02/09/17 02:50ID:??? でキタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!
皆さんサンクスです。
試していたはずなのですが、
スペルミスなり、確認ミスなり、うっかりしてなりで見逃していた模様。
本当にありがとうございました。
皆さんサンクスです。
試していたはずなのですが、
スペルミスなり、確認ミスなり、うっかりしてなりで見逃していた模様。
本当にありがとうございました。
139nobodyさん
02/09/17 18:11ID:??? 書きこみ少ないなぁ。
このままじゃ、某XML Pressみたいに、
このスレも消滅してしまうかも。
このままじゃ、某XML Pressみたいに、
このスレも消滅してしまうかも。
140nobodyさん
02/09/18 11:14ID:hvk3cr7f じゃ、<age>
141nobodyさん
02/09/18 15:01ID:??? いや、<age/> だ。
142141
02/09/18 15:02ID:??? ていうか <sage/> ちゃった。
144nobodyさん
02/09/18 15:15ID:??? ここですか、XMLタグの使えない人々の集まるスレは
145JTR
02/09/25 19:45ID:y/qFoSLv ソフト・リサーチ・センターからCocoon2の書籍がでるみたい。
出版社のHPで目次見たけど結構よさげ。
たぶんC2の専門書って日本ではこれが最初かも。
それにしてもC2を仕事で使ってる人ってどれくらい
いるんだろうか。パフォーマンス的には問題ないのかな。
出版社のHPで目次見たけど結構よさげ。
たぶんC2の専門書って日本ではこれが最初かも。
それにしてもC2を仕事で使ってる人ってどれくらい
いるんだろうか。パフォーマンス的には問題ないのかな。
146nobodyさん
02/09/25 20:00ID:??? >>145
C2仕事で使ってるYO パフォーマンスはServletでSAX使ったアプリ書いた
のと同じ程度だYO(そのまんまじゃん)
C2自体がパフォーマンスの足を引っ張るというよりも、サーバのスペックとか
DBの性能とかが重要だねやっぱり。
C2仕事で使ってるYO パフォーマンスはServletでSAX使ったアプリ書いた
のと同じ程度だYO(そのまんまじゃん)
C2自体がパフォーマンスの足を引っ張るというよりも、サーバのスペックとか
DBの性能とかが重要だねやっぱり。
147nobodyさん
02/10/02 00:23ID:??? 他板でこんなスレ見つけました。
XML使いの板
http://pc3.2ch.net/test/read.cgi/hp/984950028/
レベル低め、XSLT中心、WEBでの利用。
他にXML語れる所知りませんか?
XML使いの板
http://pc3.2ch.net/test/read.cgi/hp/984950028/
レベル低め、XSLT中心、WEBでの利用。
他にXML語れる所知りませんか?
148nobodyさん
02/10/02 11:18ID:??? >>上様
こんなの。
XML [WebProg]
コンテンツとデザインの分離 [WebProg]
XMLの必要性 [プログラム]
XMLプログラミング [プログラム]
XMLを限り無くオカルトに語る [心と宗教]
こんなの。
XML [WebProg]
コンテンツとデザインの分離 [WebProg]
XMLの必要性 [プログラム]
XMLプログラミング [プログラム]
XMLを限り無くオカルトに語る [心と宗教]
150nobodyさん
02/10/05 16:58ID:eN4sGb4j 普通のプロバに設置するCGIでXLSTできないかなあ
152nobodyさん
02/10/07 05:30ID:???153nobodyさん
02/10/11 04:30ID:??? XSLTパーサのXERCESをインストールしようとしているのですが,うまくいきません.
解凍した後,コマンドラインから
SET CLASSPATH=%CLASSPATH%;C:\Xerces\xerces.jar
と入力しましたが,サンプルで試した所,
Exception in thresd "main" java.lang.NoClassDeFoundError
となってしまいました.バージョンは2.2.0です.
お分かりになる方,よろしくお願いします.
解凍した後,コマンドラインから
SET CLASSPATH=%CLASSPATH%;C:\Xerces\xerces.jar
と入力しましたが,サンプルで試した所,
Exception in thresd "main" java.lang.NoClassDeFoundError
となってしまいました.バージョンは2.2.0です.
お分かりになる方,よろしくお願いします.
154nobodyさん
02/10/15 01:38ID:okBjBmnc155nobodyさん
02/10/29 00:17ID:??? XMLからXSLT変換で、違う形式のXMLファイルを出力したとしよう。
変換後のXMLファイルと、変換に使ったXSLTファイルを用いて、
元のXMLファイルを再現できるものだろうか?
変換
XML[A] + XSLT → XML[B]
戻す。
XML[B]の情報 + XSLTの情報 → XML[A]
変換後のXMLファイルと、変換に使ったXSLTファイルを用いて、
元のXMLファイルを再現できるものだろうか?
変換
XML[A] + XSLT → XML[B]
戻す。
XML[B]の情報 + XSLTの情報 → XML[A]
157nobodyさん
02/10/29 23:52ID:??? 完全な再現は出来ないと思う。
同じXSLTを使って、おなじXML[B]を生成するのなら、出切るかもしれない。
いや、正直わからん。俺頭悪いし。
同じXSLTを使って、おなじXML[B]を生成するのなら、出切るかもしれない。
いや、正直わからん。俺頭悪いし。
158八べえ
02/11/12 15:09ID:gxn/By35 Cocoon2を使用して、WEB表示を行うとソースに
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
が追記されてしまいます。
これにより、Shift-JISで書いているxml,xsltが文字化けを起こしています。
sitemap.xmap,cocoon.xconfをみてもそれらしき設定が見当たりません。
どのようにしたら、追記されなくなるのでしょうか?
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
が追記されてしまいます。
これにより、Shift-JISで書いているxml,xsltが文字化けを起こしています。
sitemap.xmap,cocoon.xconfをみてもそれらしき設定が見当たりません。
どのようにしたら、追記されなくなるのでしょうか?
159bloom
02/11/12 15:36ID:VFQMwTMk160HTMLをSJISで表示
02/11/13 10:55ID:oYHYr3JM >>158
docs/samples/hello-page.xml
<?xml version="1.0" encoding="Shift_JIS"?>
を入れると、正常なUTF-8に変換されるので、文字化けしない。
結果charset=UTF-8
xslt の中のoutput は利かない。
結果htmlも、SJISにする場合は、serializer に指定する。
html serializer に、sjis 版追加
<map:serializer name="html-sjis" logger="sitemap.serializer.html" mime-type="text/html" pool-grow="4" pool-max="32" pool-min="4" src="org.apache.cocoon.serialization.HTMLSerializer">
<buffer-size>1024</buffer-size>
<encoding>Shift_JIS</encoding>
</map:serializer>
hello.html のマップをコピーして sjis バージョンを作る
<map:match pattern="hello-sjis.html"><!-- ここ**-->
<map:generate src="docs/samples/hello-page.xml"/>
<map:transform src="stylesheets/page/simple-page2html.xsl"/>
<map:serialize type="html-sjis"/><!-- ここ**-->
</map:match>
ばんざーい。 これで完成 結果charset=Shift_JIS
docs/samples/hello-page.xml
<?xml version="1.0" encoding="Shift_JIS"?>
を入れると、正常なUTF-8に変換されるので、文字化けしない。
結果charset=UTF-8
xslt の中のoutput は利かない。
結果htmlも、SJISにする場合は、serializer に指定する。
html serializer に、sjis 版追加
<map:serializer name="html-sjis" logger="sitemap.serializer.html" mime-type="text/html" pool-grow="4" pool-max="32" pool-min="4" src="org.apache.cocoon.serialization.HTMLSerializer">
<buffer-size>1024</buffer-size>
<encoding>Shift_JIS</encoding>
</map:serializer>
hello.html のマップをコピーして sjis バージョンを作る
<map:match pattern="hello-sjis.html"><!-- ここ**-->
<map:generate src="docs/samples/hello-page.xml"/>
<map:transform src="stylesheets/page/simple-page2html.xsl"/>
<map:serialize type="html-sjis"/><!-- ここ**-->
</map:match>
ばんざーい。 これで完成 結果charset=Shift_JIS
161XMLをSJISで出力
02/11/13 11:03ID:oYHYr3JM hello.html を指定すると UTF-8版が表示され、
hello-sjis.html を指定すると、 SJIS版が表示されるようになる。
別件だが
xml の出力の中の encoding=UTF-8 を変更する場合は、xslt の中で、
<xsl:output omit-xml-declaration="no" encoding="Shift_JIS"/>
とかやると良い。
hello-sjis.html を指定すると、 SJIS版が表示されるようになる。
別件だが
xml の出力の中の encoding=UTF-8 を変更する場合は、xslt の中で、
<xsl:output omit-xml-declaration="no" encoding="Shift_JIS"/>
とかやると良い。
163教えて下さい
02/11/13 17:52ID:fcqFiIq0 xslの全ての<xsl:value-of select=....>の項目に、
「disable-output-escaping="yes"」を指定したいのですが、
まとめて設定するにはどのようにしたらよいのでしょうか?
「disable-output-escaping="yes"」を指定したいのですが、
まとめて設定するにはどのようにしたらよいのでしょうか?
164nobodyさん
02/11/15 22:35ID:Q0ofQCcS disable-output-escaping="yes" を <xsl:value-of に追加する
XSLT を書いて XSLT を変換...
XSLT を書いて XSLT を変換...
165nobodyさん
02/11/15 23:27ID:y2tgiCuR エディタで一括変換
166nobodyさん
02/12/09 01:32ID:eA2V6vYL すごい単純な質問なんですけど、
<a>
<xsl:attribute name="href">
<xsl:value-of select="@url" />
</xsl:attribute>
<xsl:attribute name="target">
_self
</xsl:attribute>
<xsl:value-of select="@url" />
</a>
とXSLでリンクを作ったんですが、targetを _self にしても、_blank みたいに別ウィンドウでリンク先が表示されてしまいます。
_self や _top のように別ウィンドウを開かないでリンク先を表示させるにはどうすればいいのでしょうか?
<a>
<xsl:attribute name="href">
<xsl:value-of select="@url" />
</xsl:attribute>
<xsl:attribute name="target">
_self
</xsl:attribute>
<xsl:value-of select="@url" />
</a>
とXSLでリンクを作ったんですが、targetを _self にしても、_blank みたいに別ウィンドウでリンク先が表示されてしまいます。
_self や _top のように別ウィンドウを開かないでリンク先を表示させるにはどうすればいいのでしょうか?
167166
02/12/09 01:51ID:??? 自己レスです。
<xsl:attribute name="target">_self</xsl:attribute>
と繋げればうまくいきました。どうも間にリターンがあったのが原因みたいです。
<xsl:attribute name="target">_self</xsl:attribute>
と繋げればうまくいきました。どうも間にリターンがあったのが原因みたいです。
168nobodyさん
03/01/06 07:36ID:??? DTDで
<!ENTITY foo SYSTEM "bar.xml">
を XML schema で表現するにはどうすればいいんですか?
<!ENTITY foo SYSTEM "bar.xml">
を XML schema で表現するにはどうすればいいんですか?
169nobodyさん
03/01/06 07:44ID:L2+zJcVG しまった、ageておこう
170山崎渉
03/01/15 13:36ID:??? (^^)
171nobodyさん
03/01/22 05:21ID:vujRJlnb i love love generation
172ぱむ
03/01/28 17:32ID:IBfGocF/ cocoonのsitemap.xmapで2つ以上のxmlを1つのxslに適用したい場合は
どうすればいいんですか?
<map:generate src="aaa.xml"/>
<map:generate src="bbb.xml"/>
<map:transform src="ccc.xsl"/>
とすると「適用出来るxmlは1つだけ」というエラーが出てしまいます。
だれか宜しくお願いします。
どうすればいいんですか?
<map:generate src="aaa.xml"/>
<map:generate src="bbb.xml"/>
<map:transform src="ccc.xsl"/>
とすると「適用出来るxmlは1つだけ」というエラーが出てしまいます。
だれか宜しくお願いします。
173nobodyさん
03/01/29 13:27ID:L9yee78Z xmlは死んだ
174nobodyさん
03/02/11 22:52ID:K0N8t3Ee xmlは死んだ
175nobodyさん
03/02/12 17:42ID:rtj1FkeB MS、XDocsの正式名称「InfoPath」発表
http://www.zdnet.co.jp/news/0302/12/nebt_21.html
MicrosoftはInfoPathで作成したフォームを使い
医療電子データ交換用形式で送るデモも実施。
同社はXFormsではなくXSLTの採用を決定
http://www.zdnet.co.jp/news/0302/12/nebt_21.html
MicrosoftはInfoPathで作成したフォームを使い
医療電子データ交換用形式で送るデモも実施。
同社はXFormsではなくXSLTの採用を決定
176nobodyさん
03/02/12 17:56ID:gzTJY/OJ177nobodyさん
03/02/20 19:11ID:ywFHezDA 名前空間接頭辞 foo と bar を使った xml 文書があります.
----------
<foo:root xmlns:foo="http://foo-namespace" xmlns:bar="http://bar-namespace">
<bar:e1>this is <foo:e2>a</foo:e2> pen. </bar:e1>
</foo:root>
----------
これを以下の xslt に食わせて,
foo に属する要素を全て bar の要素に変換します.
----------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:foo="http://foo-namespace" xmlns:bar="http://bar-namespace" version="1.0">
<xsl:output indent="yes" omit-xml-declaration="yes" />
<xsl:template match="foo:root"><bar:root><xsl:apply-templates select="*" /></bar:root></xsl:template>
<xsl:template match="foo:e2"><bar:e2><xsl:value-of select="." /></bar:e2></xsl:template>
<xsl:template match="@*|node()"><xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy></xsl:template>
</xsl:stylesheet>
----------
すると,以下のような xml 文書 (多少整形してあります) が得られるのですが,
----------
<bar:root xmlns:bar="http://bar-namespace" xmlns:foo="http://foo-namespace">
<bar:e1>this is <bar:e2>a</bar:e2> pen.</bar:e1>
</bar:root>
----------
結果として全く使われていない foo に対する宣言が文書に含まれてしまいます.
exclude-result-prefixes="foo" を指定しても,bar:e1 要素に宣言が現れるだけで意味がありませんでした.
これを取り除く (最適化?) することはできないのでしょうか.
いや,実害はないんですけど気持ち悪くて...
----------
<foo:root xmlns:foo="http://foo-namespace" xmlns:bar="http://bar-namespace">
<bar:e1>this is <foo:e2>a</foo:e2> pen. </bar:e1>
</foo:root>
----------
これを以下の xslt に食わせて,
foo に属する要素を全て bar の要素に変換します.
----------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:foo="http://foo-namespace" xmlns:bar="http://bar-namespace" version="1.0">
<xsl:output indent="yes" omit-xml-declaration="yes" />
<xsl:template match="foo:root"><bar:root><xsl:apply-templates select="*" /></bar:root></xsl:template>
<xsl:template match="foo:e2"><bar:e2><xsl:value-of select="." /></bar:e2></xsl:template>
<xsl:template match="@*|node()"><xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy></xsl:template>
</xsl:stylesheet>
----------
すると,以下のような xml 文書 (多少整形してあります) が得られるのですが,
----------
<bar:root xmlns:bar="http://bar-namespace" xmlns:foo="http://foo-namespace">
<bar:e1>this is <bar:e2>a</bar:e2> pen.</bar:e1>
</bar:root>
----------
結果として全く使われていない foo に対する宣言が文書に含まれてしまいます.
exclude-result-prefixes="foo" を指定しても,bar:e1 要素に宣言が現れるだけで意味がありませんでした.
これを取り除く (最適化?) することはできないのでしょうか.
いや,実害はないんですけど気持ち悪くて...
178177
03/02/20 19:13ID:??? 書き込むときに「改行が多い!!」って怒られちゃったので
改行削ったらソースが読みづらくなってしまいました……スマンコ
改行削ったらソースが読みづらくなってしまいました……スマンコ
180177
03/02/21 10:10ID:???182177
03/02/23 21:47ID:ORn8WdNQ183山崎渉
03/03/13 17:11ID:??? (^^)
184nobodyさん
03/04/02 23:28ID:??? ほすさげ
185nobodyさん
03/04/07 01:23ID:??? (MS)XSL+JavaScriptで入力フォーム(UI)を作るという方法論は間違いだったと激しく後悔中。
素直に全部JavaScriptにするか、サーバサイドで作るべきだダタヨ。
素直に全部JavaScriptにするか、サーバサイドで作るべきだダタヨ。
186nobodyさん
03/04/07 01:46ID:uo8jDP5o ん。XForm ではなくて、XSLで?
187山崎渉
03/04/17 12:08ID:??? (^^)
188nobodyさん
03/04/19 11:48ID:4Vo7Hobj あの・・・XSLTってタグ自身を出力できない?
下の様にすると全タグについて定義しなくてはならなくなってしまう・・
<xsl:template match="ABCD">
<ABCD>
<xsl:apply-template/>
</ABCD>
</xsl:template>
やりたいことは
xmlの一部のタグだけ変換したいのですが
それ以外はそのままのタグで出力したいのです
copy-of とか使うと編集できないし。。。
すごくくだらない質問ですみませんが教えていただけないでしょうか?
下の様にすると全タグについて定義しなくてはならなくなってしまう・・
<xsl:template match="ABCD">
<ABCD>
<xsl:apply-template/>
</ABCD>
</xsl:template>
やりたいことは
xmlの一部のタグだけ変換したいのですが
それ以外はそのままのタグで出力したいのです
copy-of とか使うと編集できないし。。。
すごくくだらない質問ですみませんが教えていただけないでしょうか?
189nobodyさん
03/04/20 04:35ID:??? >>188
<xsl:template match="ABCD">
<xsl:element name="{local-name()}">
<xsl:apply-template/>
</xsl:element>
</xsl:template>
ABCD をワイルドカードにすると全部引っかかる。
<xsl:template match="ABCD">
<xsl:element name="{local-name()}">
<xsl:apply-template/>
</xsl:element>
</xsl:template>
ABCD をワイルドカードにすると全部引っかかる。
190山崎渉
03/04/20 06:00ID:??? ∧_∧
( ^^ )< ぬるぽ(^^)
( ^^ )< ぬるぽ(^^)
191nobodyさん
03/05/19 12:22ID:UmHfFrg2 いい書籍ない?
オライリーのはわかりにくい。
オライリーのはわかりにくい。
192山崎渉
03/05/22 02:00ID:??? ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
193山崎渉
03/05/28 17:20ID:??? ∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
194山崎 渉
03/07/15 11:14ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
195山崎 渉
03/08/02 02:37ID:??? ∧_∧
( ^^ )< ぬるぽ(^^)
( ^^ )< ぬるぽ(^^)
196ぼるじょあ ◆ySd1dMH5Gk
03/08/02 05:19ID:??? ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
197山崎 渉
03/08/15 22:59ID:??? (⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
198nobodyさん
03/09/07 21:17ID:PQrT+UlA <x>a b c <y>d</y> e <y>f</y> <y>g</y> h</x>
を
<p>a b c <q>d</q> e <q>f</q> <q>g</q> h</p>
に変換する XSL が分からん。for-each じゃ出来ないよね?
を
<p>a b c <q>d</q> e <q>f</q> <q>g</q> h</p>
に変換する XSL が分からん。for-each じゃ出来ないよね?
199nobodyさん
03/09/07 23:33ID:X8dU+/Y3 xにマッチしてpにおきかえるテンプレートと
yにマッチしてqにおきかえるテンプレートをかけばいいだけじゃんよ
yにマッチしてqにおきかえるテンプレートをかけばいいだけじゃんよ
201nobodyさん
03/09/26 10:15ID:Hq0iAR6d <date>9月2日</date>
<title>ちょっとここを通られた</title>
<p>なぞの白い物体に我が家をあらされてしまった。</p>
<p>訴訟を起こして謝罪と賠償を要求したい。</p>
を
<div class="section">
<h2><date>9月2日</h2>
<div class="subsection">
<h3>ちょっとここを通られた</h3>
<p>なぞの白い物体に我が家をあらされてしまった。</p>
<p>訴訟を起こして謝罪と賠償を要求したい。</p>
</div>
</div>
と変換するにはXSLTをどう書けばいいのでしょうか。
<title>ちょっとここを通られた</title>
<p>なぞの白い物体に我が家をあらされてしまった。</p>
<p>訴訟を起こして謝罪と賠償を要求したい。</p>
を
<div class="section">
<h2><date>9月2日</h2>
<div class="subsection">
<h3>ちょっとここを通られた</h3>
<p>なぞの白い物体に我が家をあらされてしまった。</p>
<p>訴訟を起こして謝罪と賠償を要求したい。</p>
</div>
</div>
と変換するにはXSLTをどう書けばいいのでしょうか。
204nobodyさん
03/09/26 22:18ID:??? >>203
整形式にしなきゃいけないのは変換前のほうなんだが。
本当にやりたいことは別にあるんじゃないかとも思うが、
とりあえず、親要素を???とすれば、こんな感じ。
<xsl:template match="???">
<div class="section">
<xsl:apply-templates select="date" />
<div class="subsection">
<xsl:apply-templates select="title" />
<xsl:apply-templates select="p" />
</div>
</div>
</xsl:template>
<xsl:template match="date"><h2><xsl:xsl:apply-templates /></h2></xsl:template>
<xsl:template match="title"><h3><xsl:xsl:apply-templates /></h3></xsl:template>
<xsl:template match="p"><p><xsl:xsl:apply-templates /></p></xsl:template>
整形式にしなきゃいけないのは変換前のほうなんだが。
本当にやりたいことは別にあるんじゃないかとも思うが、
とりあえず、親要素を???とすれば、こんな感じ。
<xsl:template match="???">
<div class="section">
<xsl:apply-templates select="date" />
<div class="subsection">
<xsl:apply-templates select="title" />
<xsl:apply-templates select="p" />
</div>
</div>
</xsl:template>
<xsl:template match="date"><h2><xsl:xsl:apply-templates /></h2></xsl:template>
<xsl:template match="title"><h3><xsl:xsl:apply-templates /></h3></xsl:template>
<xsl:template match="p"><p><xsl:xsl:apply-templates /></p></xsl:template>
205nobodyさん
03/10/10 20:26ID:??? 俺はサイトの文法は
<section>
<title>TITLE</title>
<sentences><p></p>....</sentences>
<section>
<title>子セクションTITLE</title>
<sentences><p></p>....</sentences>
</section>
<section>
<title>子セクションTITLE</title>(以下略&再帰的な文法)
</section>
</section>
にしてる。
<section>
<title>TITLE</title>
<sentences><p></p>....</sentences>
<section>
<title>子セクションTITLE</title>
<sentences><p></p>....</sentences>
</section>
<section>
<title>子セクションTITLE</title>(以下略&再帰的な文法)
</section>
</section>
にしてる。
207nobodyさん
03/10/17 21:05ID:ckGd54O2 質問です。
XSLTで、元の構造を保ったまま、
XMLのテキストを一部分だけ変えるというのは簡単に出来るのでしょうか?
例えば、簡単な例ですが、
<A>
<B>hoge</B>
</A>
とあったときにhogeを何か別の文字列に変換したいという事です。
やはりその構造にあった、スタイルシートを書くしかないのでしょうか?
XSLTで、元の構造を保ったまま、
XMLのテキストを一部分だけ変えるというのは簡単に出来るのでしょうか?
例えば、簡単な例ですが、
<A>
<B>hoge</B>
</A>
とあったときにhogeを何か別の文字列に変換したいという事です。
やはりその構造にあった、スタイルシートを書くしかないのでしょうか?
211nobodyさん
03/10/19 17:43ID:??? XMLをXSLでHTMLに変換して、↓のような感じにしたいです。
何がしたいのかというとページ内リンクがしたくて、
c要素を変換した(1*)や(*2)などを押すと、
f要素の(*1)や(*2)に飛びたいのです。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="sample.xsl" type="text/XSL"?>
<A>
<b>テキスト1<c id="A" /></b>
<b>テキスト2<c id="B" /></b>
<b>テキスト3<c id="A" /></b>
<b>テキスト4<c id="A" /></b>
<e>
<f id="A">参照テキスト</f>
<f id="B">参照テキスト</f>
</e>
</a>
↓変換↓
テキスト1(*1)
テキスト2(*2)
テキスト3(*1)
テキスト4(*1)
(*1)参照テキスト
(*2)参照テキスト
何がしたいのかというとページ内リンクがしたくて、
c要素を変換した(1*)や(*2)などを押すと、
f要素の(*1)や(*2)に飛びたいのです。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="sample.xsl" type="text/XSL"?>
<A>
<b>テキスト1<c id="A" /></b>
<b>テキスト2<c id="B" /></b>
<b>テキスト3<c id="A" /></b>
<b>テキスト4<c id="A" /></b>
<e>
<f id="A">参照テキスト</f>
<f id="B">参照テキスト</f>
</e>
</a>
↓変換↓
テキスト1(*1)
テキスト2(*2)
テキスト3(*1)
テキスト4(*1)
(*1)参照テキスト
(*2)参照テキスト
212211の続き
03/10/19 17:44ID:???ページ内リンク自体は簡単にできるのですが、
(*1)、(*2)などの番号を振るのが難しいです。
f要素の番号は単純にnumberでカウントしているのですが、
c要素での番号が振れません。
xslはネットをうろついて見つけた近そうなものを
参考にしながら、こんな感じになっています。
↓
213212の続き
03/10/19 17:48ID:??? <?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" version="4.0" encoding="Shift_JIS" />
<xsl:template match="/">
<html><head><title>sample</title></head><body>
<xsl:apply-templates />
</body></html>
</xsl:template>
<xsl:template match="b">
<div><xsl:apply-templates /></div>
</xsl:template>
<xsl:template match="c">
<xsl:variable name="ID" select="@id" />
<xsl:element name="a">
<xsl:attribute name="href">#<xsl:value-of select="@id" /></xsl:attribute>
(*<xsl:number count="f" /><xsl:value-of select="../../e/f/@id[../@id=$ID]" />)
</xsl:element>
<xsl:apply-templates />
</xsl:template>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" version="4.0" encoding="Shift_JIS" />
<xsl:template match="/">
<html><head><title>sample</title></head><body>
<xsl:apply-templates />
</body></html>
</xsl:template>
<xsl:template match="b">
<div><xsl:apply-templates /></div>
</xsl:template>
<xsl:template match="c">
<xsl:variable name="ID" select="@id" />
<xsl:element name="a">
<xsl:attribute name="href">#<xsl:value-of select="@id" /></xsl:attribute>
(*<xsl:number count="f" /><xsl:value-of select="../../e/f/@id[../@id=$ID]" />)
</xsl:element>
<xsl:apply-templates />
</xsl:template>
214213の続き
03/10/19 17:49ID:??? <xsl:template match="f">
<div>
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id" /></xsl:attribute>
(*<xsl:number count="f" />)
</xsl:element>
<xsl:apply-templates />
</div>
</xsl:template>
</xsl:stylesheet>
f要素にマッチングさせたnumberをとかを取得できればいいのかなーと思って、
いろいろと考えてみたのですが、↑まで書いたところで???になりました。
どなたかお知恵を貸してください。。。。
<div>
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id" /></xsl:attribute>
(*<xsl:number count="f" />)
</xsl:element>
<xsl:apply-templates />
</div>
</xsl:template>
</xsl:stylesheet>
f要素にマッチングさせたnumberをとかを取得できればいいのかなーと思って、
いろいろと考えてみたのですが、↑まで書いたところで???になりました。
どなたかお知恵を貸してください。。。。
215nobodyさん
03/11/29 01:53ID:0RUQwDGu どうか皆様のお力をお借りしたく思います。
xmlが
<item>
<text>
ああああああああああ
ああああああああああ
ああああああああああ
</text>
<text>
いいいいい<em>イイイイイ</em> <br />
いいいいいいいいいい <br />
いいいいいいいいいい <br />
</text>
</item>
このように与えられていて、これを
<!-- タグ付きで、そのまま出力 -->
<p>
ああああああああああ
ああああああああああ
ああああああああああ
</p>
<p>
いいいいい<em>イイイイイ</em> <br />
いいいいいいいいいい <br />
いいいいいいいいいい <br />
</p>
<!-- タグを削って 32bytes に切り詰め、最後の 3bytes を '...' に変換し、出力 -->
<p>ああああああああああああああ ...</p>
<p>いいいいいイイイイイいいいい ...</p>
このように出力したいのですが、xslはどのように書けばよいのでしょうか。
xmlが
<item>
<text>
ああああああああああ
ああああああああああ
ああああああああああ
</text>
<text>
いいいいい<em>イイイイイ</em> <br />
いいいいいいいいいい <br />
いいいいいいいいいい <br />
</text>
</item>
このように与えられていて、これを
<!-- タグ付きで、そのまま出力 -->
<p>
ああああああああああ
ああああああああああ
ああああああああああ
</p>
<p>
いいいいい<em>イイイイイ</em> <br />
いいいいいいいいいい <br />
いいいいいいいいいい <br />
</p>
<!-- タグを削って 32bytes に切り詰め、最後の 3bytes を '...' に変換し、出力 -->
<p>ああああああああああああああ ...</p>
<p>いいいいいイイイイイいいいい ...</p>
このように出力したいのですが、xslはどのように書けばよいのでしょうか。
216215
03/11/30 02:13ID:??? 「タグ付きで、そのまま出力」 は xsl:copy-of を使用して解決しました。
「タグを削って 32bytes に切り詰め、最後の 3bytes を '...' に変換し、出力」 は未解決です。
どなたか御協力を賜りたく思います。
「タグを削って 32bytes に切り詰め、最後の 3bytes を '...' に変換し、出力」 は未解決です。
どなたか御協力を賜りたく思います。
217nobodyさん
03/11/30 02:59ID:??? 仕様書読んだことある?
プログラミング言語の経験は?
プログラミング言語の経験は?
218215
03/11/30 05:20ID:??? 「タグを削って 32bytes に切り詰め、最後の 3bytes を '...' に変換し、出力」 も自己解決しました。
お騒がせして御免なさい。
>217
>仕様書
少しは読みますが、リファレンス的です。
>プログラミング言語
c/c++ を使う事が出来ます。
お騒がせして御免なさい。
>217
>仕様書
少しは読みますが、リファレンス的です。
>プログラミング言語
c/c++ を使う事が出来ます。
219nobodyさん
04/01/02 03:53ID:goN3d3Pm XSLTで1つのXMLファイル上に存在するn件のデータを50件ずつ表示を
行いたいんだけど、そういうことって簡単にできますか?
どんな感じで実装すれば良いのかご存知の方教えてください。
javascriptでXSLTを触らないとダメなのかな・・。
行いたいんだけど、そういうことって簡単にできますか?
どんな感じで実装すれば良いのかご存知の方教えてください。
javascriptでXSLTを触らないとダメなのかな・・。
220nobodyさん
04/01/02 13:08ID:???221nobodyさん
04/01/02 14:59ID:goN3d3Pm223nobodyさん
04/01/02 16:08ID:goN3d3Pm >>222
え・・そうなんすか。
ホントXML全然知らないんで、とんちんかんなレスになっちゃうかも
しれないけど、XSLTってユーザーの入力値にマッチした情報の抽出を行うとか、
そういう制御は得意かと思っていたんですが違うんですか?
それはサーバサイドでやるべき事っていうことですか。
根本的なところを理解していなかったか・・_| ̄|〇ガックリ
え・・そうなんすか。
ホントXML全然知らないんで、とんちんかんなレスになっちゃうかも
しれないけど、XSLTってユーザーの入力値にマッチした情報の抽出を行うとか、
そういう制御は得意かと思っていたんですが違うんですか?
それはサーバサイドでやるべき事っていうことですか。
根本的なところを理解していなかったか・・_| ̄|〇ガックリ
225nobodyさん
04/01/10 22:17ID:??? 保守。
♥
?
?x2665;
♥
?
?x2665;
226nobodyさん
04/01/14 03:43ID:??? 不具合か
Mozillaでバッチリなのに IE で真っ白ってどういうことだ
Mozillaでバッチリなのに IE で真っ白ってどういうことだ
227225
04/01/17 15:58ID:??? 順番を入れ替えただけでうまくいくってのはどういうこった
228227
04/01/17 15:59ID:??? 名前は226だった
229226 227 228
04/01/17 16:17ID:??? >>221
外部パラメータを与えるxmlを用意すれば、やりたい事をかなえてくれる
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet version="1.0" encoding="UTF-8" type="text/xsl" href="page.xsl" ?>
<page index="50">
</page>
みたいな中身のないxmlを用意し、xslで <xsl:param name="index" select="/page/@index" /> をよませるのだ。
xslでは 220の <xsl:if test=" ( $index < position() ) and ( position() <= $index + 50 )"> を使う。
page.xml (中身あり) では<page index="0">、
page1.xml (中身なし) では<page index="50">、
page2.xml (中身なし) では<page index="100">、
page3.xml (中身なし) では<page index="150">、と書いておく。
page.xsl では <xsl:copy-of select="document( "page.xml" )/page/foo" /> みたいな、ドキュメントを指定した形で読み込む。
( select="/page/foo" では不可能。<xsl:template match="/page/foo"> も恐らく無理 )
おすすめは xsl:for-each
<xsl:template match="/page">
<xsl:param name="index" select="/page/@index" />
<xsl:for-each select="document( "page.xml" )/page/foo">
<xsl:if test=" ( $index < position() ) and ( position() <= $index + 50 )">
<xsl:copy-of select="current()" />
</xsl:if>
</xsl:for-each>
</xsl:template>
と、こんな感じではないかな。
ところどころ間違いがあるかもしれないが、その辺は勘弁してくれ
外部パラメータを与えるxmlを用意すれば、やりたい事をかなえてくれる
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet version="1.0" encoding="UTF-8" type="text/xsl" href="page.xsl" ?>
<page index="50">
</page>
みたいな中身のないxmlを用意し、xslで <xsl:param name="index" select="/page/@index" /> をよませるのだ。
xslでは 220の <xsl:if test=" ( $index < position() ) and ( position() <= $index + 50 )"> を使う。
page.xml (中身あり) では<page index="0">、
page1.xml (中身なし) では<page index="50">、
page2.xml (中身なし) では<page index="100">、
page3.xml (中身なし) では<page index="150">、と書いておく。
page.xsl では <xsl:copy-of select="document( "page.xml" )/page/foo" /> みたいな、ドキュメントを指定した形で読み込む。
( select="/page/foo" では不可能。<xsl:template match="/page/foo"> も恐らく無理 )
おすすめは xsl:for-each
<xsl:template match="/page">
<xsl:param name="index" select="/page/@index" />
<xsl:for-each select="document( "page.xml" )/page/foo">
<xsl:if test=" ( $index < position() ) and ( position() <= $index + 50 )">
<xsl:copy-of select="current()" />
</xsl:if>
</xsl:for-each>
</xsl:template>
と、こんな感じではないかな。
ところどころ間違いがあるかもしれないが、その辺は勘弁してくれ
230nobodyさん
04/01/26 15:30ID:TZ0JMGYO データの格納をXMLに任せて、フォーム使ったCGI作りたいのですけど
よいサンプルページないですか?
表示はXHTMLでやってます。
よいサンプルページないですか?
表示はXHTMLでやってます。
231nobodyさん
04/01/27 19:27ID:b8cLgywQ <item name="WebSite" href="URL" />のような一風変わったXMLがありまして,
XSLを使ってリンクになっているHTMLを作りたいのですが,
<a href="<xsl:value-of select="./@href">"><xsl:value-of select="./@name"/></a>
のような記述をしますと,<が入れ子になっているのでエラーになってしまいます.
<xsl:text>で囲って<に置き換えたりしても駄目でした.
一体,どの様にしたら良いのでしょうか?宜しくお願いします.
XSLを使ってリンクになっているHTMLを作りたいのですが,
<a href="<xsl:value-of select="./@href">"><xsl:value-of select="./@name"/></a>
のような記述をしますと,<が入れ子になっているのでエラーになってしまいます.
<xsl:text>で囲って<に置き換えたりしても駄目でした.
一体,どの様にしたら良いのでしょうか?宜しくお願いします.
232nobodyさん
04/01/27 19:36ID:???233231
04/01/27 20:03ID:??? >>232
有難うございます.おっしゃる通り,@ITの記事を読んだだけの厨房です.
xsl:attributeでググったらやり方が分かりました.
仕事で使う際は,本を読んで真面目に勉強させて頂きます.
有難うございました.
同じ疑問を持った方の参考に(いないかな〜),以下で可能だと思われます.
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="./@href"/>
</xsl:attribute>
<xsl:value-of select="./@name"/>
</xsl:element>
有難うございます.おっしゃる通り,@ITの記事を読んだだけの厨房です.
xsl:attributeでググったらやり方が分かりました.
仕事で使う際は,本を読んで真面目に勉強させて頂きます.
有難うございました.
同じ疑問を持った方の参考に(いないかな〜),以下で可能だと思われます.
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="./@href"/>
</xsl:attribute>
<xsl:value-of select="./@name"/>
</xsl:element>
234nobodyさん
04/01/28 02:23ID:??? { } が使えるとかって知らないでしょ?マジで。
235nobodyさん
04/01/28 15:19ID:??? {./@href} で書けるのだが、<a href="..."> みたいな xhtml タグを xslt の中に書かないほうが良いらしい。
<a href="{./@href}"> <xsl:value-of select="./@name"/> </a>
<a href="{./@href}"> <xsl:value-of select="./@name"/> </a>
236nobodyさん
04/01/28 21:56ID:??? xmlをxslt使ってhtmlとかに変換して<a href...を作るには、もとのxmlで<a href=...なんて書けない。
235が正しい。
235が正しい。
237nobodyさん
04/01/29 01:45ID:??? 何言ってんだか。一度は仕様書読めよ。
238232
04/01/29 13:19ID:??? 俺の解答不味かったか。{} じゃなく <xsl:attribute/> を教えたのは俺の趣味と
Google で検索する時のことを考えてだったんだが、正直スマンかった。
で、>>235-236 の論点が良く分からんのだが、何が言いたいの?
Google で検索する時のことを考えてだったんだが、正直スマンかった。
で、>>235-236 の論点が良く分からんのだが、何が言いたいの?
239nobodyさん
04/01/29 13:43ID:??? >>236
( ゚д゚)ポカーン
それはさておき、漏れは {} 使う派。
attributeは、条件(if)によって属性追加する時くらいしか使わない。
多岐分岐(choose〜when)で属性の値を変える場合は、
直前で変数用意して、{} で埋める。
だって、見やすいんだも〜ん
( ゚д゚)ポカーン
それはさておき、漏れは {} 使う派。
attributeは、条件(if)によって属性追加する時くらいしか使わない。
多岐分岐(choose〜when)で属性の値を変える場合は、
直前で変数用意して、{} で埋める。
だって、見やすいんだも〜ん
240nobodyさん
04/01/29 23:46ID:??? xmlをxslt使ってhtmlとかに変換して<a href...を作るには、xslで<a href=...なんて書けない。
かな?
かな?
242nobodyさん
04/01/30 12:10ID:??? in : <item name="2ちゃんねる" href="http://www.2ch.net/"/>
xsl :
<xsl:template match="item">
<a href="{@href}"><xsl:value-of select="@name"/></a>
</xsl:template>
out : <a href="http://www.2ch.net">2ちゃんねる</a>
ってことじゃないのん?
xsl :
<xsl:template match="item">
<a href="{@href}"><xsl:value-of select="@name"/></a>
</xsl:template>
out : <a href="http://www.2ch.net">2ちゃんねる</a>
ってことじゃないのん?
245nobodyさん
04/01/30 22:40ID:??? <xsl:copy-of> で コピーしたノードのタグに、
<hoge xmlns=""> みたいに空欄の名前空間がつくのだが、これはどういう事なのだろうか。
-- hoge.xml --
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet version="1.0" encoding="UTF-8" type="text/xsl" href="./hoge.xsl" ?>
<hoges> hoge is <hoge> HOGE </hoge>. </hoges>
-- hoge.xsl --
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/hoges">
<xsl:copy-of select="text() | * | @*" />
</xsl:template>
</xsl:stylesheet>
-- hoge.html --
hoge is <hoge xmlns="">HOGE </hoge>.
目標は、↓なのだが。
-- hoge.html --
hoge is <hoge> HOGE </hoge>.
<hoge xmlns=""> みたいに空欄の名前空間がつくのだが、これはどういう事なのだろうか。
-- hoge.xml --
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet version="1.0" encoding="UTF-8" type="text/xsl" href="./hoge.xsl" ?>
<hoges> hoge is <hoge> HOGE </hoge>. </hoges>
-- hoge.xsl --
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/hoges">
<xsl:copy-of select="text() | * | @*" />
</xsl:template>
</xsl:stylesheet>
-- hoge.html --
hoge is <hoge xmlns="">HOGE </hoge>.
目標は、↓なのだが。
-- hoge.html --
hoge is <hoge> HOGE </hoge>.
246nobodyさん
04/01/31 01:39ID:??? 出力をHTMLにしたいみたいだけど、とりあえず
xsl:output method="html" とかしてみたら?
xsl:output method="html" とかしてみたら?
248245
04/01/31 15:24ID:??? う、msxmlのバグかな
お騒がせしました。失礼いたします
お騒がせしました。失礼いたします
249nobodyさん
04/02/01 01:23ID:??? JRE1.4.2でもなるよ
250nobodyさん
04/02/21 13:19ID:??? xsltからxsltを出力するときなんかで、{}という文字を含んだ属性を出力したいときにもattribute要素使うな。
一応{'{hoge}'}でいけると思うけどなんか変だし。
一応{'{hoge}'}でいけると思うけどなんか変だし。
251nobodyさん
04/02/21 19:00ID:4PYw/lWY252nobodyさん
04/02/22 17:24ID:??? みなさんXSLの作成は何でやってます?
XSLってもともと可読性にかけるし、
IEだとキャッシュ読んだりエラーがわかりにくかったりしてデバッグが激しくし辛いのだが。
XSLってもともと可読性にかけるし、
IEだとキャッシュ読んだりエラーがわかりにくかったりしてデバッグが激しくし辛いのだが。
253nobodyさん
04/02/22 18:13ID:??? 可読性に欠けないプログラミング言語ってある?
インデントとかコメントとか自分で工夫するもんじゃない?
IE じゃなくて、msxsl.exe とか使うのもいいと思うよ。
インデントとかコメントとか自分で工夫するもんじゃない?
IE じゃなくて、msxsl.exe とか使うのもいいと思うよ。
254ヽ(´ー`)ノ
04/02/22 18:14ID:??? > みなさんXSLの作成は何でやってます?
Emacs 使いなので Emacs で。
> XSLってもともと可読性にかけるし、
書き方が下手なだけだと思うが。
> IEだとキャッシュ読んだりエラーがわかりにくかったりしてデバッグが激しくし辛いのだが。
msxsl.exe
Emacs 使いなので Emacs で。
> XSLってもともと可読性にかけるし、
書き方が下手なだけだと思うが。
> IEだとキャッシュ読んだりエラーがわかりにくかったりしてデバッグが激しくし辛いのだが。
msxsl.exe
256250
04/02/23 13:14ID:??? >>251
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:axsl="http://www.w3.org/1999/XSL/TransformAlias">
<xsl:namespace-alias stylesheet-prefix="axsl" result-prefix="xsl"/>
<xsl:template match="/">
<axsl:stylesheet>
<axsl:template match="/">
<foo bar="{'{aaa}'}"/>
</axsl:template>
</axsl:stylesheet>
</xsl:template>
</xsl:stylesheet>
こういう場合。
今試してみたらxsltproc(Using libxml 20604, libxslt 10102 and libexslt 802)だとunmatched '}'とパースエラーが出て、xalan 2.3.1だと問題無く処理できる。
xsltprocでもattribute要素使えば処理できる。
>>252
xsltはxmlなので読みやすいようにスタイルシートを適用してブラウザで見るのが良いかと。
直接編集できないけど。リアルタイムでスタイルシートを適用してくれるxmlエディタならできるかな?
エディタはEmacsでxml-lite-modeを使っている。xsltプロセッサはメインがxsltprocで変な動きをしたときはxalan。
タグの閉じ忘れがチェックできるだけでもだいぶ違うよ。
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:axsl="http://www.w3.org/1999/XSL/TransformAlias">
<xsl:namespace-alias stylesheet-prefix="axsl" result-prefix="xsl"/>
<xsl:template match="/">
<axsl:stylesheet>
<axsl:template match="/">
<foo bar="{'{aaa}'}"/>
</axsl:template>
</axsl:stylesheet>
</xsl:template>
</xsl:stylesheet>
こういう場合。
今試してみたらxsltproc(Using libxml 20604, libxslt 10102 and libexslt 802)だとunmatched '}'とパースエラーが出て、xalan 2.3.1だと問題無く処理できる。
xsltprocでもattribute要素使えば処理できる。
>>252
xsltはxmlなので読みやすいようにスタイルシートを適用してブラウザで見るのが良いかと。
直接編集できないけど。リアルタイムでスタイルシートを適用してくれるxmlエディタならできるかな?
エディタはEmacsでxml-lite-modeを使っている。xsltプロセッサはメインがxsltprocで変な動きをしたときはxalan。
タグの閉じ忘れがチェックできるだけでもだいぶ違うよ。
257nobodyさん
04/02/25 08:26ID:Hbu4YFmr XSLTって自分自身を出力するスタイルシートは書ける?
258nobodyさん
04/03/24 22:07ID:QhqWFZPy xhtml文書をxsltprocで変換したいと思ってるんだけど、
xhtml側のnamespaceの状態よってマッチしたりしなかったりするので困ってる。
----- test.xsl -----
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="html"/>
</xsl:stylesheet>
-----------------
[実行例] $ xsltproc.exe -v test.xsl test.xml 2>&1 | grep xsltProcessOneNode
----- test.xml -----
<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"/>
-----------------
xsltProcessOneNode: no template found for /
xsltProcessOneNode: no template found for html
このようにマッチしない。でも、namespaceを消したり名前を付けたりするとマッチする。
----- test.xml -----
<?xml version="1.0"?>
<html xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
-----------------
xsltProcessOneNode: no template found for /
xsltProcessOneNode: applying template 'html' for html
何故?また回避策は?
#現象が再現できる最小のソースです。validなxhtmlに対しても同様です。
xhtml側のnamespaceの状態よってマッチしたりしなかったりするので困ってる。
----- test.xsl -----
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="html"/>
</xsl:stylesheet>
-----------------
[実行例] $ xsltproc.exe -v test.xsl test.xml 2>&1 | grep xsltProcessOneNode
----- test.xml -----
<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"/>
-----------------
xsltProcessOneNode: no template found for /
xsltProcessOneNode: no template found for html
このようにマッチしない。でも、namespaceを消したり名前を付けたりするとマッチする。
----- test.xml -----
<?xml version="1.0"?>
<html xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
-----------------
xsltProcessOneNode: no template found for /
xsltProcessOneNode: applying template 'html' for html
何故?また回避策は?
#現象が再現できる最小のソースです。validなxhtmlに対しても同様です。
259nobodyさん
04/03/24 22:10ID:??? 2行目×状態よって○状態によって
xsltprocはCygwin版libxslt1.1.2-1です。
$ xsltproc --version
Using libxml 20604, libxslt 10102 and libexslt 802
xsltproc was compiled against libxml 20604, libxslt 10102 and libexslt 802
libxslt 10102 was compiled against libxml 20604
libexslt 802 was compiled against libxml 20604
xsltprocはCygwin版libxslt1.1.2-1です。
$ xsltproc --version
Using libxml 20604, libxslt 10102 and libexslt 802
xsltproc was compiled against libxml 20604, libxslt 10102 and libexslt 802
libxslt 10102 was compiled against libxml 20604
libexslt 802 was compiled against libxml 20604
260nobodyさん
04/03/29 11:53ID:??? namespaceというのは要素の苗字に当たります。
xmlns="http://www.w3.org/1999/xhtml"
と指定することは、この要素とその子孫要素の内プレフィックスの付いてないものの苗字は"http://www.w3.org/1999/xhtml"ですよと宣言することで、
xmlns:xhtml="http://www.w3.org/1999/xhtml"
と指定することは、この要素とその子孫要素のうちxhtmlというプレフィックスが付いているものの苗字は"http://www.w3.org/1999/xhtml"ですよと宣言することです。
ですから1番目のtest.xmlのhtml要素はhttp://www.w3.org/1999/xhtmlという苗字を持ったhtml要素ということになります。
一方2番目のtest.xmlのhtml要素にはxhtmlというプレフィックスが無いため苗字無しのhtml要素となります。
test.xslでは苗字無しのhtml要素にマッチするようになっているため1番目のtest.xmlにはマッチしませんが2番目のtest.xmlではマッチします。
解決するためにはtest.xslのxsl:template要素にxmlns="http://www.w3.org/1999/xhtml"と宣言を加えるか、
xmlns:xhtml="http://www.w3.org/1999/xhtml"と宣言を加えてxsl:templateのmatch属性を"xhtml:html"とします。
これで苗字付きのhtml要素にマッチするようになります。
xmlns="http://www.w3.org/1999/xhtml"
と指定することは、この要素とその子孫要素の内プレフィックスの付いてないものの苗字は"http://www.w3.org/1999/xhtml"ですよと宣言することで、
xmlns:xhtml="http://www.w3.org/1999/xhtml"
と指定することは、この要素とその子孫要素のうちxhtmlというプレフィックスが付いているものの苗字は"http://www.w3.org/1999/xhtml"ですよと宣言することです。
ですから1番目のtest.xmlのhtml要素はhttp://www.w3.org/1999/xhtmlという苗字を持ったhtml要素ということになります。
一方2番目のtest.xmlのhtml要素にはxhtmlというプレフィックスが無いため苗字無しのhtml要素となります。
test.xslでは苗字無しのhtml要素にマッチするようになっているため1番目のtest.xmlにはマッチしませんが2番目のtest.xmlではマッチします。
解決するためにはtest.xslのxsl:template要素にxmlns="http://www.w3.org/1999/xhtml"と宣言を加えるか、
xmlns:xhtml="http://www.w3.org/1999/xhtml"と宣言を加えてxsl:templateのmatch属性を"xhtml:html"とします。
これで苗字付きのhtml要素にマッチするようになります。
262nobodyさん
04/03/29 13:12ID:??? 貼っときますね
260 :nobodyさん :sage :04/03/26 13:09 ID:???
----- test.xsl -----
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:h="http://www.w3.org/1999/xhtml">
<xsl:template match="/h:html"/>
</xsl:stylesheet>
-----------------
あるいは
----- test.xsl -----
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:h="http://www.w3.org/1999/xhtml">
<xsl:template match="/"><xsl:apply-templates select="h:html" /></xsl:template>
<xsl:template match="h:html"/>
</xsl:stylesheet>
-----------------
とかどうですか。
xmlns:h=".." は xmlns=".." にしておいて
match="/html" あるいは match="/h:html" などでもいいだろうけど。
260 :nobodyさん :sage :04/03/26 13:09 ID:???
----- test.xsl -----
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:h="http://www.w3.org/1999/xhtml">
<xsl:template match="/h:html"/>
</xsl:stylesheet>
-----------------
あるいは
----- test.xsl -----
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:h="http://www.w3.org/1999/xhtml">
<xsl:template match="/"><xsl:apply-templates select="h:html" /></xsl:template>
<xsl:template match="h:html"/>
</xsl:stylesheet>
-----------------
とかどうですか。
xmlns:h=".." は xmlns=".." にしておいて
match="/html" あるいは match="/h:html" などでもいいだろうけど。
263nobodyさん
04/03/29 13:14ID:???264nobodyさん
04/03/29 13:20ID:??? 以上削除前の263でした。
262 :260 :sage :04/03/26 14:48 ID:???
>>260 の訂正
>xmlns:h=".." は xmlns=".." にしておいて
>match="/html" あるいは match="html" などでもいいだろうけど。
>>261
test.xsl で xmlns:h="http://www.w3.org/1999/xhtml" が無い場合、
match="html" でマッチするのは
名前空間無し + "html"
という要素だと思う。
で、XHTML のほうは
<html xmlns="http://www.w3.org/1999/xhtml"> ... </html>
なってたら、html 要素は内部的には
名前空間 "http://www.w3.org/1999/xhtml" + "html"
になってる。
名前空間無し + "html"
と
名前空間 "http://www.w3.org/1999/xhtml" + "html"
は違ってる。なのでマッチしない。
そこで、>>260 に書いたみたく、XSLT の側でマッチさせる対象を後者の
ような名前空間 + "html" なものになるよう指定しなきゃいけない。
<html xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
と書いた場合は、<html の html は「名前空間無し + "html"」になる。
プリフィックスで xhtml に "http://www.w3.org/1999/xhtml" を割りあててる
から、これはデフォルトプリフィックス使ってる <html そのものには影響しない。
262 :260 :sage :04/03/26 14:48 ID:???
>>260 の訂正
>xmlns:h=".." は xmlns=".." にしておいて
>match="/html" あるいは match="html" などでもいいだろうけど。
>>261
test.xsl で xmlns:h="http://www.w3.org/1999/xhtml" が無い場合、
match="html" でマッチするのは
名前空間無し + "html"
という要素だと思う。
で、XHTML のほうは
<html xmlns="http://www.w3.org/1999/xhtml"> ... </html>
なってたら、html 要素は内部的には
名前空間 "http://www.w3.org/1999/xhtml" + "html"
になってる。
名前空間無し + "html"
と
名前空間 "http://www.w3.org/1999/xhtml" + "html"
は違ってる。なのでマッチしない。
そこで、>>260 に書いたみたく、XSLT の側でマッチさせる対象を後者の
ような名前空間 + "html" なものになるよう指定しなきゃいけない。
<html xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
と書いた場合は、<html の html は「名前空間無し + "html"」になる。
プリフィックスで xhtml に "http://www.w3.org/1999/xhtml" を割りあててる
から、これはデフォルトプリフィックス使ってる <html そのものには影響しない。
265”削除”後の260
04/03/29 18:58ID:??? (´・ω・`)
266nobodyさん
04/04/02 00:28ID:I+SOWEa+ ・foo.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="foo.xsl"?>
<body>
<ruby><rb>This</rb><rt>ディス</rt></ruby> <ruby><rb>is</rb><rt>イズ</rt></ruby>
<ruby><rb>a</rb><rt>ア</rt></ruby> <ruby><rb>pen</rb><rt>ペン</rt></ruby>!
</body>
・foo.xml
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.or/Profiles/XHTML-transitional">
<xsl:output indent="yes" method="html"/><xsl:template match="/">
<html><body>
<xsl:for-each select="body">
<xsl:for-each select="ruby">
<xsl:value-of select="rb" />
</xsl:for-each>
</xsl:for-each>
</body></html>
</xsl:template>
</xsl:stylesheet>
で、
<html xmlns="http://www.w3.or/Profiles/XHTML-transitional">
<body>This is a pen!</body></html>
と出力させたいんだけど、
<html xmlns="http://www.w3.or/Profiles/XHTML-transitional">
<body>Thisisapen</body></html>
実際にはこう。どなたか知恵をお貸しください。おながいします。
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="foo.xsl"?>
<body>
<ruby><rb>This</rb><rt>ディス</rt></ruby> <ruby><rb>is</rb><rt>イズ</rt></ruby>
<ruby><rb>a</rb><rt>ア</rt></ruby> <ruby><rb>pen</rb><rt>ペン</rt></ruby>!
</body>
・foo.xml
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.or/Profiles/XHTML-transitional">
<xsl:output indent="yes" method="html"/><xsl:template match="/">
<html><body>
<xsl:for-each select="body">
<xsl:for-each select="ruby">
<xsl:value-of select="rb" />
</xsl:for-each>
</xsl:for-each>
</body></html>
</xsl:template>
</xsl:stylesheet>
で、
<html xmlns="http://www.w3.or/Profiles/XHTML-transitional">
<body>This is a pen!</body></html>
と出力させたいんだけど、
<html xmlns="http://www.w3.or/Profiles/XHTML-transitional">
<body>Thisisapen</body></html>
実際にはこう。どなたか知恵をお貸しください。おながいします。
267nobodyさん
04/04/02 03:16ID:??? '!'あたりを見るとXSLを理解してないような。
<xsl:template match="/">
<html><body>
<xsl:for-each select="(body|.//rb)/text()">
<xsl:choose>
<xsl:when test=".='?'">
<xsl:text> </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</body></html>
</xsl:template>
テストしてないので自信はないですが。頭と尻に余計なものがくっつくヨカン。
<xsl:template match="/">
<html><body>
<xsl:for-each select="(body|.//rb)/text()">
<xsl:choose>
<xsl:when test=".='?'">
<xsl:text> </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</body></html>
</xsl:template>
テストしてないので自信はないですが。頭と尻に余計なものがくっつくヨカン。
268267
04/04/02 03:21ID:??? 化けた。スマン。
<xsl:when test=".='&#10;'">
全角を置き換えて。
<xsl:when test=".='&#10;'">
全角を置き換えて。
269266
04/04/02 20:40ID:??? ありがとうございました。"!"は拾ってくれるようになりました。
<html xmlns="http://www.w3.or/Profiles/XHTML-transitional"><body>
Thisisapen!
</body></html>
しかし、上のように単語間のスペースは拾われないみたいです。
おっしゃるとおりXSLTはまだかじりたてなので、自分でも調べてみます。
<html xmlns="http://www.w3.or/Profiles/XHTML-transitional"><body>
Thisisapen!
</body></html>
しかし、上のように単語間のスペースは拾われないみたいです。
おっしゃるとおりXSLTはまだかじりたてなので、自分でも調べてみます。
270nobodyさん
04/04/02 20:50ID:??? 自己レスです。xmlのほうのbodyタグに
xml:space="preserv"
と属性を加えたら期待通りの結果が得られました。
重ね重ねありがとうございました。
xml:space="preserv"
と属性を加えたら期待通りの結果が得られました。
重ね重ねありがとうございました。
271267
04/04/02 21:33ID:??? <xsl:preserve-space>というタグがありますけど…
あとxhtmlの識別子が間違ってますよ。
あとxhtmlの識別子が間違ってますよ。
272nobodyさん
04/04/08 12:47ID:Pkn49QjT <A>
<B><C>○あいう</C></B>
<B><C>100</C></B>
<B><C>200</C></B>
<B><C>○いうえ</C></B>
<B><C>50</C></B>
</A>
を
<A>
<B>
<C>○あいう</C>
<D>100</D>
<D>200</D>
</B>
<B>
<C>○いうえ</C>
<D>50</D>
</B>
</A>
に書き換えたいのですが、xpathで
1. /A/B/Cで○があるもの、もしくは○がないもの
2. 自分の一番近い兄で/A/B/Cで○があるもの
というのはどう表記されるでしょうか?
<B><C>○あいう</C></B>
<B><C>100</C></B>
<B><C>200</C></B>
<B><C>○いうえ</C></B>
<B><C>50</C></B>
</A>
を
<A>
<B>
<C>○あいう</C>
<D>100</D>
<D>200</D>
</B>
<B>
<C>○いうえ</C>
<D>50</D>
</B>
</A>
に書き換えたいのですが、xpathで
1. /A/B/Cで○があるもの、もしくは○がないもの
2. 自分の一番近い兄で/A/B/Cで○があるもの
というのはどう表記されるでしょうか?
274nobodyさん
04/04/08 16:06ID:??? >>272
>1. /A/B/Cで○があるもの、もしくは○がないもの
starts-with(.,'○') か これを not() で囲う
>2. 自分の一番近い兄で/A/B/Cで○があるもの
>というのはどう表記されるでしょうか?
preceding::C[starts-with(.,'○')][1]
こんなでしょうか。ここから
<xsl:template match="/A">
<A>
<xsl:apply-templates select="B/C[starts-with(.,'○')]"/>
</A>
</xsl:template>
<xsl:template match="B/C[starts-with(.,'○')]">
<xsl:variable name="val" select="."/>
<B>
<C><xsl:value-of select="."/></C>
<xsl:for-each select="following::C[substring(.,1,1) != '○']">
<xsl:if test="preceding::C[starts-with(.,'○')][1] = $val">
<D><xsl:value-of select="."/></D>
</xsl:if>
</xsl:for-each>
</B>
</xsl:template>
これでとりあえずできるかと。要素数増えるとfor-each以下が効率悪そうだけ
ど。(.,'○')が顔文字にしか見えないのが欠点。
>1. /A/B/Cで○があるもの、もしくは○がないもの
starts-with(.,'○') か これを not() で囲う
>2. 自分の一番近い兄で/A/B/Cで○があるもの
>というのはどう表記されるでしょうか?
preceding::C[starts-with(.,'○')][1]
こんなでしょうか。ここから
<xsl:template match="/A">
<A>
<xsl:apply-templates select="B/C[starts-with(.,'○')]"/>
</A>
</xsl:template>
<xsl:template match="B/C[starts-with(.,'○')]">
<xsl:variable name="val" select="."/>
<B>
<C><xsl:value-of select="."/></C>
<xsl:for-each select="following::C[substring(.,1,1) != '○']">
<xsl:if test="preceding::C[starts-with(.,'○')][1] = $val">
<D><xsl:value-of select="."/></D>
</xsl:if>
</xsl:for-each>
</B>
</xsl:template>
これでとりあえずできるかと。要素数増えるとfor-each以下が効率悪そうだけ
ど。(.,'○')が顔文字にしか見えないのが欠点。
275nobodyさん
04/04/08 18:38ID:???277nobodyさん
04/04/18 17:14ID:??? >>275
いや、C言語とかだと自分自身を出力するプログラムが書けるんですが
http://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/quine.html
xsltの場合ネームスペースとかの関係で無理なんじゃないかと思って。
でもネームスペースを明示的に指定してやればできるのか?
documentで参照するのはアリなのかなぁ。
いや、C言語とかだと自分自身を出力するプログラムが書けるんですが
http://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/quine.html
xsltの場合ネームスペースとかの関係で無理なんじゃないかと思って。
でもネームスペースを明示的に指定してやればできるのか?
documentで参照するのはアリなのかなぁ。
278nobodyさん
04/04/18 21:38ID:??? >>277
document('')で自分を参照するのは割と普通に使いますよ。自分は、ですが。
使ってるソースを目にすることもあります。
参照したデータはテンプレートとして使われることはないのでネームスペース
は(自分の少ない知識の範囲内では)そんなに問題にならないと思います。た
とえば
<xsl:template match="/">
<xsl:copy-of select="document('')//xsl:template[@match='/']"/>
</xsl:template>
これでも無限ループになる事はないです。もちろんこんなの意味ないので、別
のネームスペースを使って設定ファイル的なことをする方が一般的だと思います。
document('')で自分を参照するのは割と普通に使いますよ。自分は、ですが。
使ってるソースを目にすることもあります。
参照したデータはテンプレートとして使われることはないのでネームスペース
は(自分の少ない知識の範囲内では)そんなに問題にならないと思います。た
とえば
<xsl:template match="/">
<xsl:copy-of select="document('')//xsl:template[@match='/']"/>
</xsl:template>
これでも無限ループになる事はないです。もちろんこんなの意味ないので、別
のネームスペースを使って設定ファイル的なことをする方が一般的だと思います。
279nobodyさん
04/05/07 01:25ID:??? XSLTXTって使ってる人いますか?
ttps://xsltxt.dev.java.net/
ttp://www.zanthan.com/ajm/xsltxt/index.html
とりあえず < とか書かなくていいのがいい。
ttps://xsltxt.dev.java.net/
ttp://www.zanthan.com/ajm/xsltxt/index.html
とりあえず < とか書かなくていいのがいい。
280nobodyさん
04/05/07 01:26ID:??? あ、&lt; です↑
282nobodyさん
04/05/27 16:04ID:??? <li a="2300" b="hoge"/>
<li a="jiro" b="もっこり"/>
<li a="義雄" b="boke"/>
といったようなリストがあったとして、
属性b の値が hoge の時だけ 属性a の値を取りたいんですけど、
xpathではどうすればいいのでしょうか?
<li a="jiro" b="もっこり"/>
<li a="義雄" b="boke"/>
といったようなリストがあったとして、
属性b の値が hoge の時だけ 属性a の値を取りたいんですけど、
xpathではどうすればいいのでしょうか?
284nobodyさん
04/06/04 12:24ID:??? <a>
<b>bbb</b>
<c>ccc</c>
</a>
こんな感じのものを、「<b>要素が存在すればattributeにbを書き、<b>要素が存在しないまたは<b>要素の中身が空の場合はattributeにcを書く」というふうにしたいのですが、
<xsl:attribute name="foo">
<xsl:choose>
<xsl:when test="条件">
<xsl:value-of select="b" />
<xsl:/when>
<xsl:otherwise>
<xsl:value-of select="c" />
<xsl:/otherwise>
</xsl:choose>
</xsl:attribute>
whenの条件にどのように書けばいいのでしょうか?そもそもchooseは間違っているのでしょうか?
<b>bbb</b>
<c>ccc</c>
</a>
こんな感じのものを、「<b>要素が存在すればattributeにbを書き、<b>要素が存在しないまたは<b>要素の中身が空の場合はattributeにcを書く」というふうにしたいのですが、
<xsl:attribute name="foo">
<xsl:choose>
<xsl:when test="条件">
<xsl:value-of select="b" />
<xsl:/when>
<xsl:otherwise>
<xsl:value-of select="c" />
<xsl:/otherwise>
</xsl:choose>
</xsl:attribute>
whenの条件にどのように書けばいいのでしょうか?そもそもchooseは間違っているのでしょうか?
287nobodyさん
04/06/10 09:00ID:??? 1ページの表示件数を10とかに指定して、
続きは<a>で次のページを表示させる…ってことは、
xsltでできるんでしょうか?
それともほかのプログラムと組み合わせたほうが賢明なんでしょうか?
続きは<a>で次のページを表示させる…ってことは、
xsltでできるんでしょうか?
それともほかのプログラムと組み合わせたほうが賢明なんでしょうか?
288nobodyさん
04/06/11 16:14ID:??? サーバーサイドでやればできる。実際動かしてみたことある。
しかし素直にDOMとか使った方がいいかと。
しかし素直にDOMとか使った方がいいかと。
289287
04/06/11 20:00ID:??? >>288
DOMっすかあ・・・。
最近XMLに興味を持ち始めて、あとPHPも気になりだしたような、
プログラミングなんてまったくできない人間なので。
これから勉強していきたいと思います。ありがとう。
DOMっすかあ・・・。
最近XMLに興味を持ち始めて、あとPHPも気になりだしたような、
プログラミングなんてまったくできない人間なので。
これから勉強していきたいと思います。ありがとう。
290nobodyさん
04/06/11 21:21ID:??? 俺も一年くらい前からそんな感じで勉強してます。
291nobodyさん
04/06/14 05:46ID:??? PHP を使おうとは思うんだが、サーバーで動的生成か、ローカルで静的生成かで迷ってる。
ブログ程度なら静的にすべきなのかな。でも、動的だとコンテントネゴシエーションとかブラウザ振り分けなどの恩恵が……うーむ。
ブログ程度なら静的にすべきなのかな。でも、動的だとコンテントネゴシエーションとかブラウザ振り分けなどの恩恵が……うーむ。
292nobodyさん
04/06/14 06:23ID:??? blog≠xml blog∩xml=Φ
blog≠xslt blog∩xslt=Φ
だと思うけど、違うのかな
blog≠xslt blog∩xslt=Φ
だと思うけど、違うのかな
293nobodyさん
04/06/14 06:47ID:???294nobodyさん
04/06/15 10:23ID:??? Φは空集合やろ
blog∩xslt = Lenyaに附属してたblogのサンプル
だと思うが、出来はいまいちだった
blog∩xslt = Lenyaに附属してたblogのサンプル
だと思うが、出来はいまいちだった
295nobodyさん
04/06/23 11:34ID:1zBprzUE <item id="a">
<created>2004-01-03T00:00</created>
<modified>2004-01-04T00:00</modified>
</item>
<item id="b">
<created>2004-01-02T00:00</created>
<modified>2004-03-01T00:00</modified>
</item>
<item id="c">
<created>2004-02-01T00:00</created>
</item>
これら item 要素の子 created・modified 両要素の内容を選別して親の item 要素を新しい順 (b・c・a) に並べ替えたいのですが、例えば以下のように xsl:sort 要素を使ってもうまくできません。
<xsl:apply-templates select="item">
<xsl:sort select="created or modified" order="descending"/>
</xsl:apply-templates>
助けてくださいお願いします。
<created>2004-01-03T00:00</created>
<modified>2004-01-04T00:00</modified>
</item>
<item id="b">
<created>2004-01-02T00:00</created>
<modified>2004-03-01T00:00</modified>
</item>
<item id="c">
<created>2004-02-01T00:00</created>
</item>
これら item 要素の子 created・modified 両要素の内容を選別して親の item 要素を新しい順 (b・c・a) に並べ替えたいのですが、例えば以下のように xsl:sort 要素を使ってもうまくできません。
<xsl:apply-templates select="item">
<xsl:sort select="created or modified" order="descending"/>
</xsl:apply-templates>
助けてくださいお願いします。
296nobodyさん
04/06/23 14:51ID:???298nobodyさん
04/06/25 16:19ID:??? xsl:copy-of で属性値を取得できません。
xsl:value-of なら属性値を取得できました。
-- xml --
<a href="http://example.org/"> example </a>
-- xsl --
<xsl:copy-of select="/a/@href" /> <br />
<xsl:value-of select="/a/@href" /> <br />
-- output --
<br />
http://example.org/ <br />
--
xsl:copy-of を使用して属性値を取得する方法をご存知の方がいらっしゃいましたら、
その方法をお教え下さいませ。
xsl:value-of なら属性値を取得できました。
-- xml --
<a href="http://example.org/"> example </a>
-- xsl --
<xsl:copy-of select="/a/@href" /> <br />
<xsl:value-of select="/a/@href" /> <br />
-- output --
<br />
http://example.org/ <br />
--
xsl:copy-of を使用して属性値を取得する方法をご存知の方がいらっしゃいましたら、
その方法をお教え下さいませ。
299nobodyさん
04/06/26 05:29ID:??? それだと copy-of でコピーされるのは属性ノードだからそのままでは出力で
きない。どうしてもしたいならこんな感じで、
<xsl:copy-of select="string(/a/@href)"/>
非ノードにしたものを渡せばよい。でも value-of のほうが適切。
きない。どうしてもしたいならこんな感じで、
<xsl:copy-of select="string(/a/@href)"/>
非ノードにしたものを渡せばよい。でも value-of のほうが適切。
300298
04/06/26 21:02ID:??? value-of を使うことに致します。ありがとう
301nobodyさん
04/07/03 03:02ID:??? 次のようなXMLデータがあるとき、
name="foo"の前後のitemのname属性値を表示するようなXSLTはどう書けばいいんでしょうか?
<list>
<item name="hoge" />
<item name="foo" />
<item name="bar"/>
</list>
name="foo"の前後のitemのname属性値を表示するようなXSLTはどう書けばいいんでしょうか?
<list>
<item name="hoge" />
<item name="foo" />
<item name="bar"/>
</list>
302nobodyさん
04/07/03 04:31ID:??? <xsl:value-of select="item[@name='foo']/preceding-sibling::item[1]/@name"/>
<xsl:value-of select="item[@name='foo']/following-sibling::item[1]/@name"/>
かな。試してないけど。
<xsl:value-of select="item[@name='foo']/following-sibling::item[1]/@name"/>
かな。試してないけど。
304nobodyさん
04/08/25 17:25ID:ly9L2Z7D <root>
<mage>
<mage>
<take>
<toge>
みたいな構造になっているXMLファイルがあって(上では閉じタグ省略)、
いまrootから何階層目にいるのかを知るにはどうしたら良い?
<mage>
<mage>
<take>
<toge>
みたいな構造になっているXMLファイルがあって(上では閉じタグ省略)、
いまrootから何階層目にいるのかを知るにはどうしたら良い?
306nobodyさん
04/09/06 20:13ID:koFx6bH6 天気予報は既存の配信ビジネスを守るためにRSS配信できない
http://neta.ywcafe.net/000339.html
国民の税金で気象データの収集・解析までしておきながら、
気象庁の官僚の天下り先である
・財団法人 気象業務支援センター
・財団法人 日本気象協会
の利権保護の為、未だRSS配信が拒まれているのだ。
将来的に行われるであろう地震予知の情報も、有料で国民に販売するつもりだろうか?
http://neta.ywcafe.net/000339.html
国民の税金で気象データの収集・解析までしておきながら、
気象庁の官僚の天下り先である
・財団法人 気象業務支援センター
・財団法人 日本気象協会
の利権保護の為、未だRSS配信が拒まれているのだ。
将来的に行われるであろう地震予知の情報も、有料で国民に販売するつもりだろうか?
307nobodyさん
04/09/07 09:26ID:??? 二重徴税で叩けないのかな。
309nobodyさん
04/09/07 14:14ID:??? XMLのスレにマルチしまくってるから放置しとけ
311nobodyさん
04/09/07 21:05ID:??? 気象庁職員必死だな(w
312nobodyさん
04/09/08 11:32ID:??? 306,307 は気象庁を、
310 はガソリンを、
308,311 は住民を、
各自、自由に叩いてください。
313 は XSL/XSLT ネタ、よろしく。
310 はガソリンを、
308,311 は住民を、
各自、自由に叩いてください。
313 は XSL/XSLT ネタ、よろしく。
313nobodyさん
04/09/09 02:59ID:??? 気象庁住民はガソリンで逝ってよし。
314nobodyさん
04/09/09 09:57ID:??? XSL/XSLT/ネタではなく
XSL/XSLTのネタよろしく。
XSL/XSLTのネタよろしく。
315nobodyさん
04/09/24 05:09:23ID:/pWgzu1/ <a id="a0">
<b id="b0">
<c>foo0</c>
<c>bar0</c>
</b>
<b id="b1">
<c>foo1</c>
<c>bar1</c>
</b>
</a>
のようなデータから、<c>の値を2つ指定して最初に出てくる共通の親要素を
見つけるにはどうすればよいでしょうか?
例えば、"foo0"と"bar0"なら "b0"、"foo0"と"foo1"なら"a0"がほしいです。
共通の親をすべてならなんとかなるのですが、
その中で最初にマッチする親だとさっぱりわかりません。
よろしくおねがいします。
<b id="b0">
<c>foo0</c>
<c>bar0</c>
</b>
<b id="b1">
<c>foo1</c>
<c>bar1</c>
</b>
</a>
のようなデータから、<c>の値を2つ指定して最初に出てくる共通の親要素を
見つけるにはどうすればよいでしょうか?
例えば、"foo0"と"bar0"なら "b0"、"foo0"と"foo1"なら"a0"がほしいです。
共通の親をすべてならなんとかなるのですが、
その中で最初にマッチする親だとさっぱりわかりません。
よろしくおねがいします。
316nobodyさん
04/09/25 10:50:09ID:???317316
04/09/26 08:08:17ID:??? 後で考えたら、えらい無駄な事をしてるな、と。
/descendant::c[self::node() = 'foo0']/ancestor::*[descendant::c = 'foo1'][position() = 1]
これでも、共通且つ最初にマッチする先祖を得られると思う。
/descendant::c[self::node() = 'foo0']/ancestor::*[descendant::c = 'foo1'][position() = 1]
これでも、共通且つ最初にマッチする先祖を得られると思う。
319nobodyさん
04/09/28 17:39:48ID:??? 質問です。
XSLT で <a href="javascript:foo('bar')">...</a> のようなタグを生成したいのですが、
引用符のエスケープの仕方がよくわかりません。ご存知の方、ご回答をお願いいたします。
現在はこんなコードを書いてます (エラーになります)
<a href="{concat('javascript:foo(', ''', @bar, ''', ')')}">
XSLT で <a href="javascript:foo('bar')">...</a> のようなタグを生成したいのですが、
引用符のエスケープの仕方がよくわかりません。ご存知の方、ご回答をお願いいたします。
現在はこんなコードを書いてます (エラーになります)
<a href="{concat('javascript:foo(', ''', @bar, ''', ')')}">
322nobodyさん
04/09/28 20:00:16ID:???こういう事ですね?
<xsl:element name="a">
<xsl:attribute name="href">javascript:foo(&apos;bar&apos;)</xsl:attribute>
<xsl:apply-templates />
</xsl:element>
コピペするならこっち
<xsl:element name="a">
<xsl:attribute name="href">javascript:foo('bar')</xsl:attribute>
<xsl:apply-templates />
</xsl:element>
アンカー・テキスト不変なら、こっち
<xsl:element name="a">
<xsl:attribute name="href">javascript:foo('bar')</xsl:attribute>
アンカー・テキスト
</xsl:element>
323nobodyさん
04/10/11 13:28:18ID:??? XSLT Standard Library
ttp://xsltsl.sourceforge.net/
exsltみたいなライブラリ集だけど、こっちの方が実用的?
ttp://xsltsl.sourceforge.net/
exsltみたいなライブラリ集だけど、こっちの方が実用的?
324nobodyさん
04/10/14 23:53:23ID:DOJgSO2G XML SchemaからXSLTの雛形というかスケルトンというか
土台を出力してくれるようなツールって無いでしょうか?
フルスクラッチで作るの、面倒じゃないですか?
土台を出力してくれるようなツールって無いでしょうか?
フルスクラッチで作るの、面倒じゃないですか?
325nobodyさん
04/10/15 00:48:57ID:???326nobodyさん
04/12/06 00:30:36ID:??? data1.xmlというファイルがあって中にxslファイルの参照先も書いてあるとします。
<xml...
<xslt:sheet1.xsl.....
<DataList>
<Data ID="0">
<String>データ0</String>
</Data>
<Data ID="0">
<String>データ0</String>
</Data>
<Data ID="0">
<String>データ0</String>
</Data>
</DataList>
このdata1.xmlファイルをdata1.xml?id=0みたいな呼び出し方をしてxslファイルにid=0という値を渡す方法ってあるのでしょうか?
<xml...
<xslt:sheet1.xsl.....
<DataList>
<Data ID="0">
<String>データ0</String>
</Data>
<Data ID="0">
<String>データ0</String>
</Data>
<Data ID="0">
<String>データ0</String>
</Data>
</DataList>
このdata1.xmlファイルをdata1.xml?id=0みたいな呼び出し方をしてxslファイルにid=0という値を渡す方法ってあるのでしょうか?
327nobodyさん
04/12/06 15:30:17ID:??? 何言いたいんだかようわからん
328nobodyさん
04/12/06 15:34:45ID:jrlDRA4f URLを打ち込むときに
data1.xml?id=0と打ち込み、ID=0の商品に関する情報だけを
表示したいんです。
URLで打ち込んだデータをXSL内の変数に取り込みたいのです。
現在だと、hrefつかってもIDの数だけxmlファイルを作成しないと
いけなくなってしまうんです。
data1.xml?id=0と打ち込み、ID=0の商品に関する情報だけを
表示したいんです。
URLで打ち込んだデータをXSL内の変数に取り込みたいのです。
現在だと、hrefつかってもIDの数だけxmlファイルを作成しないと
いけなくなってしまうんです。
329nobodyさん
04/12/23 23:41:54ID:??? >>328
今更ながら、xsltで全て作成してjavascriptでlocation.queryから引数受け取ってwindowのロード時に違うノードサクージョ
今更ながら、xsltで全て作成してjavascriptでlocation.queryから引数受け取ってwindowのロード時に違うノードサクージョ
330nobodyさん
05/01/08 15:33:14ID:??? すいません質問があります。
MSXSLを用いて変換を行おうとしているのですが
コマンドを打ち込んだときに
必要な属性'{http://www.w3.org/1999/XSL/Transform}version' が見つかりません
という変なエラーメッセージが出てしまいます。これはどうすればいいんでしょうか?
MSXSLを用いて変換を行おうとしているのですが
コマンドを打ち込んだときに
必要な属性'{http://www.w3.org/1999/XSL/Transform}version' が見つかりません
という変なエラーメッセージが出てしまいます。これはどうすればいいんでしょうか?
331nobodyさん
05/01/08 17:10:58ID:??? 330ですが
解決しちゃいました どうもです
解決しちゃいました どうもです
332nobodyさん
05/01/10 19:16:25ID:??? すみませんが誰かご教授下さい。 (マルチポストで申し訳ありません)
XMLのあるタグの属性が同じレベルのタグの属性とダブっっている時、
変換後にその属性のダブった部分を除きながら属性を並べたい場合は
どうすればよいでしょうか?
例えば
xml
<a>
<ele id="1"/>
<ele id="2"/>
<ele id="2"/>
<ele id="3"/>
<ele id="4"/>
<ele id="4"/>
<ele id="4"/>
<ele id="5"/>
</a>
を変換して
1 2 3 4 5
にするようなXSLを教えていただきたいのです。
よろしくお願いします。
XMLのあるタグの属性が同じレベルのタグの属性とダブっっている時、
変換後にその属性のダブった部分を除きながら属性を並べたい場合は
どうすればよいでしょうか?
例えば
xml
<a>
<ele id="1"/>
<ele id="2"/>
<ele id="2"/>
<ele id="3"/>
<ele id="4"/>
<ele id="4"/>
<ele id="4"/>
<ele id="5"/>
</a>
を変換して
1 2 3 4 5
にするようなXSLを教えていただきたいのです。
よろしくお願いします。
333nobodyさん
05/01/10 19:48:07ID:??? アホか。マルチポストに返答するわけ無いだろ。
334nobodyさん
05/01/22 19:16:33ID:WsL3wQoU <xsl:stylesheet xmlns:xsl="http://www.w3.org/(ry xmlns:aws="http://abc.com/"
exclude-result-prefixes="human">
<xsl:for-each select="people/person/age">
ここで別のXMLを取ってくる
<xsl:apply-templates select="human:hobbies/human:hoby" />
</xsl:for-each>
<xsl:template match="human:hobby">
exclude-result-prefixes="human">
<xsl:for-each select="people/person/age">
ここで別のXMLを取ってくる
<xsl:apply-templates select="human:hobbies/human:hoby" />
</xsl:for-each>
<xsl:template match="human:hobby">
335334
05/01/22 19:17:52ID:WsL3wQoU336nobodyさん
05/01/24 03:30:34ID:???337nobodyさん
05/01/30 14:52:43ID:0RSaGusl xmlをエクセルから作ってるんですが、日付が1900年形式でだされてしまいます。
それを表示する際に、dd-mmm-yyのフォーマットで表示したいんですが、どうすればよいでしょうか?
それを表示する際に、dd-mmm-yyのフォーマットで表示したいんですが、どうすればよいでしょうか?
338nobodyさん
05/01/30 20:37:49ID:0RSaGusl339nobodyさん
2005/04/09(土) 23:05:41ID:0FjmIeSR ノード名じゃなくて値がQNameのときに、それが特定のNSに属してるかってどうやって判断できる?
<先祖のどこか xmlns:x="http://pc8.2ch.net/test/read.cgi/php/">
...中略...<ここ この属性の値をチェックしたい="x:999654569"/>
node系関数のnamespace-uri()は値は見れないし、
string系の関数じゃ、xが本当にhttp://pc8.2ch.net/test/read.cgi/php/なのかわからん。
ずうっと名前空間宣言を全部フォローして自分で覚えとくしかないのか?
<先祖のどこか xmlns:x="http://pc8.2ch.net/test/read.cgi/php/">
...中略...<ここ この属性の値をチェックしたい="x:999654569"/>
node系関数のnamespace-uri()は値は見れないし、
string系の関数じゃ、xが本当にhttp://pc8.2ch.net/test/read.cgi/php/なのかわからん。
ずうっと名前空間宣言を全部フォローして自分で覚えとくしかないのか?
340nobodyさん
2005/04/21(木) 17:08:59ID:??? XMLもXSLもXSLTも何も知りません。
Aに1・2という情報?属性?を付けて
Bに2・3を付けて
Cに1を付けて
1が付いているのはA・C
2が付いているのはA・B
3が付いているのはB
というように表示するにはどうすればいいでしょう
Aに1・2という情報?属性?を付けて
Bに2・3を付けて
Cに1を付けて
1が付いているのはA・C
2が付いているのはA・B
3が付いているのはB
というように表示するにはどうすればいいでしょう
342nobodyさん
2005/04/21(木) 22:02:56ID:??? System.out.println("1が付いているのはA・C");
System.out.println("2が付いているのはA・B");
System.out.println("3が付いているのはB");
System.out.println("2が付いているのはA・B");
System.out.println("3が付いているのはB");
343nobodyさん
2005/04/21(木) 23:30:22ID:??? いや>>340的にはこっちのほうがわかりやすかろう。
MsgBox "1が付いているのはA・C", vbInformation
MsgBox "2が付いているのはA・B", vbInformation
MsgBox "3が付いているのはB", vbInformation
MsgBox "1が付いているのはA・C", vbInformation
MsgBox "2が付いているのはA・B", vbInformation
MsgBox "3が付いているのはB", vbInformation
344nobodyさん
2005/07/29(金) 15:21:12ID:??? デフォルトの名前空間が指定されている時、プレフィックスの無い Element は XPath でどう表現すればいいの?
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="design.xsl"?>
<hage:root xmlns="http://example.com" xmlns:hage="http://example.com/hage/">
<item1>あいうえお</item1>
<item2>かきくけこ</item2>
</hage:root>
こんな XML から "あいうえお"を取り出したいんだけど /hage:root/item1 じゃうまくいかないみたい。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="design.xsl"?>
<hage:root xmlns="http://example.com" xmlns:hage="http://example.com/hage/">
<item1>あいうえお</item1>
<item2>かきくけこ</item2>
</hage:root>
こんな XML から "あいうえお"を取り出したいんだけど /hage:root/item1 じゃうまくいかないみたい。
345nobodyさん
2005/08/04(木) 10:02:40ID:??? スタイルシート側(desin.xslのことか?)の名前空間の設定はどうなってる?
携帯だからアドバイスしづらいな…。
まあ多分スタイルシートではxmlns="XHTMLのURI"とかやってると思う。
(これ自体は問題ないし下手にprefixつけるとUAが出力結果をXHTMLとして認識できない。)
でもこの場合あんたのスタイルシート内のXpath式内でitem1を指定しても
それはXHTMLでのitem1要素を指定していることになっている。
もちろんあんたはそんなもの扱った覚えは無いだろうしXHTMLにもそんな要素はない。
正しく処理させるには名前空間について勉強してくれ。
ソースXML文書のprefix無い方の名前空間のURIを$aとおくと、
スタイルシート側にxmlns:omanko="$a"を書き加えXPathではomanko:item1と
指定すればいい。xsl:の部分とかも不都合があればばんばん書き換えればいいから。
携帯からだから妙ちくりんな書き方になったが頑張ってくれ
んじゃ
携帯だからアドバイスしづらいな…。
まあ多分スタイルシートではxmlns="XHTMLのURI"とかやってると思う。
(これ自体は問題ないし下手にprefixつけるとUAが出力結果をXHTMLとして認識できない。)
でもこの場合あんたのスタイルシート内のXpath式内でitem1を指定しても
それはXHTMLでのitem1要素を指定していることになっている。
もちろんあんたはそんなもの扱った覚えは無いだろうしXHTMLにもそんな要素はない。
正しく処理させるには名前空間について勉強してくれ。
ソースXML文書のprefix無い方の名前空間のURIを$aとおくと、
スタイルシート側にxmlns:omanko="$a"を書き加えXPathではomanko:item1と
指定すればいい。xsl:の部分とかも不都合があればばんばん書き換えればいいから。
携帯からだから妙ちくりんな書き方になったが頑張ってくれ
んじゃ
346nobodyさん
2005/08/14(日) 13:37:07ID:XDX8Ip5H 質問です。
UTF8で配信されるXMLをSHIFT_JISでHTML化したい
場合は
@JAVAのXMLパーサーとか使う
AperlとかphpでSOAP
なんていう方法しかありませんか?
現在はXSLTで簡単にスタイルシートあててやってますが
SHIFT_JISで出力するのは無理ぽ。。です。
どうにか方法はありますのでしょうか。。
携帯サイトを運営しているのですが
UTF8じゃ文字ばけするぞゴラァ!という
クレームが多くて困ってます。
UTF8で配信されるXMLをSHIFT_JISでHTML化したい
場合は
@JAVAのXMLパーサーとか使う
AperlとかphpでSOAP
なんていう方法しかありませんか?
現在はXSLTで簡単にスタイルシートあててやってますが
SHIFT_JISで出力するのは無理ぽ。。です。
どうにか方法はありますのでしょうか。。
携帯サイトを運営しているのですが
UTF8じゃ文字ばけするぞゴラァ!という
クレームが多くて困ってます。
347nobodyさん
2005/08/14(日) 15:10:24ID:??? >>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>
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>
348nobodyさん
2005/08/14(日) 18:40:08ID:??? >>347氏
ご丁寧に有難う御座います。
<xsl:output method="html" encoding="Shift_JIS" />
なんてタグがあるなんて知りませんでした。。orz
早速、その方法を試してみました。
結果報告
@PCブラウザで見る(IE)
ホワイトアウトしてしまいました。
右クリでエンコード指定でシフトジスにすると表示されました。
A元からUTF8対応携帯で見る
文字化けしてしまいました。
Bシフトジスしか対応していない携帯で見る
うまく表示されるようになりました。
つまり 今まで見えてた@Aは見えなくなりましたが
Bは見えるようになりました。
恐らくブラウザ側ではUTF8として認識しているためだと
思います。
素直にphpのxmlパーサーとかでやりつかね・・・
(php5入ってないので・・・SOAP無理ぽ)
ご丁寧に有難う御座います。
<xsl:output method="html" encoding="Shift_JIS" />
なんてタグがあるなんて知りませんでした。。orz
早速、その方法を試してみました。
結果報告
@PCブラウザで見る(IE)
ホワイトアウトしてしまいました。
右クリでエンコード指定でシフトジスにすると表示されました。
A元からUTF8対応携帯で見る
文字化けしてしまいました。
Bシフトジスしか対応していない携帯で見る
うまく表示されるようになりました。
つまり 今まで見えてた@Aは見えなくなりましたが
Bは見えるようになりました。
恐らくブラウザ側ではUTF8として認識しているためだと
思います。
素直にphpのxmlパーサーとかでやりつかね・・・
(php5入ってないので・・・SOAP無理ぽ)
349nobodyさん
2005/08/14(日) 18:50:00ID:???350nobodyさん
2005/08/14(日) 19:36:51ID:??? >>348
phpでサーバサイドでのXSLT変換か。取りあえず、UTF-8からShift_JISへの変換はできたみたいだね。
phpの話になってスマンが、もしかして、header('Content-Type: text/html; charset=UTF-8');とかなってる?
header('Content-Type: text/html; charset=Shift_JIS');にしてみたら、もしかしたら動くかもね。
phpでサーバサイドでのXSLT変換か。取りあえず、UTF-8からShift_JISへの変換はできたみたいだね。
phpの話になってスマンが、もしかして、header('Content-Type: text/html; charset=UTF-8');とかなってる?
header('Content-Type: text/html; charset=Shift_JIS');にしてみたら、もしかしたら動くかもね。
351nobodyさん
2005/08/14(日) 22:31:27ID:???352344
2005/08/17(水) 20:33:45ID:??? >345
わざわざ携帯から長いレスをサンクス
俺のレスの前が3ヶ月前だったので回答は期待できないと思ってスレみてなかったよorz
結局質問してから別の場所で答えを見つけたんだけど、
XSL で XPATH 書いても XSL で定義した既定のネームスペースは XPath には適用されないってことなんだよな。
なんでそんな変な仕様なのか理解に苦しむけど。
てことで、 XML の既定のネームスペースを XSL 側では Prefix 付きで定義することで解決しました。
わざわざ携帯から長いレスをサンクス
俺のレスの前が3ヶ月前だったので回答は期待できないと思ってスレみてなかったよorz
結局質問してから別の場所で答えを見つけたんだけど、
XSL で XPATH 書いても XSL で定義した既定のネームスペースは XPath には適用されないってことなんだよな。
なんでそんな変な仕様なのか理解に苦しむけど。
てことで、 XML の既定のネームスペースを XSL 側では Prefix 付きで定義することで解決しました。
353nobodyさん
2005/08/18(木) 19:39:40ID:??? ちょっとYOUはまだ勘違いしてるかも…。そこらへんはXSLTはまともな仕様でつよ。
もっと名前空間のよさを感じてちょうだい!!!!
そして私は
もっと名前空間のよさを感じてちょうだい!!!!
そして私は
354344
2005/08/18(木) 22:02:59ID:??? 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になる。
とあるな。確かに勘違いしてたかも。
> そして私は
続きが気になるよ(´・ω・`)
あたりを見て >352 のような結論に至ったわけだが、なんか勘違いがある?と思って
改めてリンク先のスレッドを読んでると
ttp://www2.xml.gr.jp/log.html?MLID=xmlusers&N=5842
に
> さらに、XPath式中のQNameを展開するときには、以下のルールが成り立ちます。
> 2. プリフィックスがついていない場合、ネームスペースURIはnullになる。
とあるな。確かに勘違いしてたかも。
> そして私は
続きが気になるよ(´・ω・`)
355初心者
2005/09/04(日) 03:53:09ID:??? どうか教えてください。
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でどう指定すると閉じタグをいれることができるのでしょうか?
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でどう指定すると閉じタグをいれることができるのでしょうか?
356nobodyさん
2005/09/04(日) 10:59:31ID:??? <xsl:output method="xml"/>
をxsl:stylesheetの直下に入れる、かな。
XHTMLでないHTMLとして出力されていると思われ。
をxsl:stylesheetの直下に入れる、かな。
XHTMLでないHTMLとして出力されていると思われ。
357初心者
2005/09/05(月) 02:29:25ID:??? >>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 みたいな形で出力した方が適当でしょうか?
どうもありがとうございます。
おっしゃる通りの方法でできました。
ただ、新しい問題が発生しました。
お付き合いいただけましたら嬉しいです。
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 みたいな形で出力した方が適当でしょうか?
358初心者
2005/09/05(月) 02:47:17ID:??? ゴメンナサイ。
ググったら見つけました。
<xsl:output method="xml" omit-xml-declaration="yes" /> とすると、XML 宣言をしないようにできるようですが
実際には出力されてしまいます。
なにかおかしいですかね?
ググったら見つけました。
<xsl:output method="xml" omit-xml-declaration="yes" /> とすると、XML 宣言をしないようにできるようですが
実際には出力されてしまいます。
なにかおかしいですかね?
359nobodyさん
2005/09/10(土) 01:33:29ID:??? どっちでもいいけど
alt="{$変数名}"
とは書かないの?
call-templateする予定があるとか??
あと最初以外にXML宣言入るのは文法の問題あるよ。
ただUAが無視してくれているだけだけど。
alt="{$変数名}"
とは書かないの?
call-templateする予定があるとか??
あと最初以外にXML宣言入るのは文法の問題あるよ。
ただUAが無視してくれているだけだけど。
360nobodyさん
2005/09/29(木) 03:07:41ID:??? age
どなたかXSLT2.0の話でも…
どなたかXSLT2.0の話でも…
361nobodyさん
2005/09/29(木) 11:45:59ID:??? XSLTとDSSSLのいいとこどりみたいなXSieve
http://xsieve.sourceforge.net/
http://xsieve.sourceforge.net/
362nobodyさん
2005/10/01(土) 21:07:44ID:??? 今アマゾンウェブサービスでXSLファイルを書いてるのですが
何故かVersion=2005-09-15だと、StyleにXSLファイル指定してもうまくいきません。
AWSでXSLやるときの条件みたいなものって何かありますか?
何故かVersion=2005-09-15だと、StyleにXSLファイル指定してもうまくいきません。
AWSでXSLやるときの条件みたいなものって何かありますか?
363nobodyさん
2005/10/04(火) 17:41:50ID:otfuFaaW XSLTを書いていると、かなり長くなってしまったんですが、XSLTファイルをモジュールや関数みたいに分割することはできますか。
仕様書をみたけど、それらしい機能が見つかりませんでした。
仕様書をみたけど、それらしい機能が見つかりませんでした。
364nobodyさん
2005/10/04(火) 21:01:50ID:??? xsl:include, xsl:import
365nobodyさん
2005/10/04(火) 21:53:53ID:otfuFaaW366nobodyさん
2005/10/15(土) 16:29:33ID: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の名前で参照するにはどうやればよいのでしょうか。
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の名前で参照するにはどうやればよいのでしょうか。
367サッカー少年大好き
2005/10/15(土) 17:00:04ID:??? /child::A/child::*[attribute::key='str']/attribute::value
でいけると思われ。
(child::は省略可、attribute::は@に置換可)
結論を言うと、XPathの勉強をおすすめする。
でいけると思われ。
(child::は省略可、attribute::は@に置換可)
結論を言うと、XPathの勉強をおすすめする。
368訂正
2005/10/15(土) 17:04:51ID:??? child::*はchild::Bにした方がいいかもしんね。
strにはkeyの値を入れるんだよ。
strにはkeyの値を入れるんだよ。
369nobodyさん
2005/10/15(土) 21:29:57ID:??? 出来ましたありがとうございます。
本来なら勉強しなきゃいけないんですが、助かりました。
本来なら勉強しなきゃいけないんですが、助かりました。
370nobodyさん
2005/10/17(月) 19:35:15ID: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://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と表示されますか?
どなたかご教授下さい。何卒宜しくお願い致します。
371nobodyさん
2005/10/17(月) 20:58:48ID:??? 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>
<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>
373370
2005/10/18(火) 08:05:21ID:??? 連続質問ですみません。ソースは引き続き
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://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から始まります。
対処法をお教え頂けませんでしょうか?本当に度々ですみません。
374nobodyさん
2005/10/18(火) 12:21:24ID:??? >連続質問ですみません。ソースは引き続き
とか書くと相手にされない件
とか書くと相手にされない件
375nobodyさん
2005/10/18(火) 16:18:41ID:EpeUQJeg XSLTで変数使えるのは分かったんだけど、
「x=x+1」のような
インクリメントってできないの?
「x=x+1」のような
インクリメントってできないの?
378nobodyさん
2005/10/19(水) 15:52:23ID:HblKNOzD379nobodyさん
2005/10/19(水) 16:32:01ID:??? そっちよりもXPathを覚えるほうがいいかと。
380nobodyさん
2005/10/20(木) 13:50:48ID:??? >>379
仰せの通りXPathについていろいろ調べたことろ、
<xsl:for-each select="data[contains(name, '3') and uriage > 0 ]">
とするだけでNaNをはじくことが出来ました。
なんか凄い初歩的で恥ずかしい質問であるにもかかわらずお答え下さった皆様方、
この度は誠に有り難う御座います。
これを機会にXPathを精進・・
仰せの通りXPathについていろいろ調べたことろ、
<xsl:for-each select="data[contains(name, '3') and uriage > 0 ]">
とするだけでNaNをはじくことが出来ました。
なんか凄い初歩的で恥ずかしい質問であるにもかかわらずお答え下さった皆様方、
この度は誠に有り難う御座います。
これを機会にXPathを精進・・
382nobodyさん
2005/10/22(土) 20:01:27ID:??? 遅すぎるお前のレスもセンスがねーよw 2chやめろな。
383nobodyさん
2005/10/23(日) 01:17:07ID:??? ん?逆切れかマケウチ君
385nobodyさん
2005/10/24(月) 09:48:44ID:3//Wc9qN HPって「たたむ」って表現するんだ・・・初めてしったよ
386nobodyさん
2005/11/11(金) 13:59:20ID:nEB8ZVf7 xreaでサーバーサイド変換て出来るんですか?
http://www.atmarkit.co.jp/fxml/tecs/006stylelink/06.html
を試してみようと思いましたが
http://sb.xrea.com/showthread.php?t=5996&highlight=xsl
どう見ても無理です。
本当にありがとうございました
http://www.atmarkit.co.jp/fxml/tecs/006stylelink/06.html
を試してみようと思いましたが
http://sb.xrea.com/showthread.php?t=5996&highlight=xsl
どう見ても無理です。
本当にありがとうございました
388nobodyさん
2005/11/11(金) 14:10:06ID:??? インストローリング の検索結果のうち 日本語のページ 約 286 件
389nobodyさん
2005/11/11(金) 20:58:02ID:??? ローリングストーンズのヴォーカル無い曲。
390nobodyさん
2005/11/17(木) 02:28:40ID:??? バージョン2が勧告候補になりますた。
早めに勉強しましょう。
早めに勉強しましょう。
392nobodyさん
2005/11/18(金) 17:50:43ID:???393nobodyさん
2005/12/13(火) 01:57:44ID:???394nobodyさん
2005/12/14(水) 09:14:43ID:???396nobodyさん
2005/12/15(木) 20:20:47ID:??? >>344を書いたの俺だけど間違っているかもしらん。すまん。
XPath式にてdefault namespaceを指定しようとしたら、
nullなnamespaceになるのをならないと勘違いしていた。
とりあえずXPath式内でdefault namespaceのnodesを指定したければ
default namespaceのURIを別のprefixにも指定すればOKだと思う.
(XMLでは一つのURIを複数のprefixに充ててはいけないルールは無い)
まあこんなnullpoな俺だがcandidateなXPath2.0のspecificationをプリントして見てます。
今のところlearnした事柄:
・やっぱり名前空間の仕組みはアレだからdeprecateらしい
・型についての概念が出てくる。XML Schemaの知識が必要。
・XPath2.0はXPath1.0のスーパーセットだお。つまり1.0の式が2.0でも通用するお。
・2.0は少なくともXSLT2.0とXQuery1.0で使用されるお。
・シーケンスっつーのはアイテムたちの順序ある並びだお
・アイテムというのはノードと、リテラルチックな”値”のことだお
もっとセンセーショナルな事実が解ったらまたカキコするお。
でも駄目人間の俺より仕様書を信用するべきだお。
またもや携帯からの書き込みだから妙なことになってるかもしらん。
バイバイ
XPath式にてdefault namespaceを指定しようとしたら、
nullなnamespaceになるのをならないと勘違いしていた。
とりあえずXPath式内でdefault namespaceのnodesを指定したければ
default namespaceのURIを別のprefixにも指定すればOKだと思う.
(XMLでは一つのURIを複数のprefixに充ててはいけないルールは無い)
まあこんなnullpoな俺だがcandidateなXPath2.0のspecificationをプリントして見てます。
今のところlearnした事柄:
・やっぱり名前空間の仕組みはアレだからdeprecateらしい
・型についての概念が出てくる。XML Schemaの知識が必要。
・XPath2.0はXPath1.0のスーパーセットだお。つまり1.0の式が2.0でも通用するお。
・2.0は少なくともXSLT2.0とXQuery1.0で使用されるお。
・シーケンスっつーのはアイテムたちの順序ある並びだお
・アイテムというのはノードと、リテラルチックな”値”のことだお
もっとセンセーショナルな事実が解ったらまたカキコするお。
でも駄目人間の俺より仕様書を信用するべきだお。
またもや携帯からの書き込みだから妙なことになってるかもしらん。
バイバイ
397nobodyさん
2006/03/04(土) 02:07:19ID:c1CTCPap 某所より誘導されました。
XSLT(XPath)で、Textや属性のQNameってどうやって調べれば良いんでしょうか?
例えば、
<ns0:boards xmlns:ns0="http://2ch.net">
<board nick="ns0:webprog"/>
<board nick="ns0:tech"/>
<board nick="ns0:unix"/>
</ns0:boards>
で、
「値が、名前空間が"http://2ch.net"でローカル名が"webprog"の値を持つboard要素」って、
どうやって調べればよいのか…。
全然知らないんですがXPath1.0じゃだめでXPath2.0の●●じゃないと無理とかあるんでしょうか。
XSLT(XPath)で、Textや属性のQNameってどうやって調べれば良いんでしょうか?
例えば、
<ns0:boards xmlns:ns0="http://2ch.net">
<board nick="ns0:webprog"/>
<board nick="ns0:tech"/>
<board nick="ns0:unix"/>
</ns0:boards>
で、
「値が、名前空間が"http://2ch.net"でローカル名が"webprog"の値を持つboard要素」って、
どうやって調べればよいのか…。
全然知らないんですがXPath1.0じゃだめでXPath2.0の●●じゃないと無理とかあるんでしょうか。
398nobodyさん
2006/03/04(土) 02:08:42ID:??? 訂正
×「値が、…
○「属性値が、…
×「値が、…
○「属性値が、…
400nobodyさん
2006/03/04(土) 09:38:14ID:??? >>397
詞ね
<xsl:template match="/boards/board[@nick=concat(name(namespace::*[.='http://2ch.net']),':webprog')]">
<xsl:value-of select="@nick"/>
</xsl:template>
詞ね
<xsl:template match="/boards/board[@nick=concat(name(namespace::*[.='http://2ch.net']),':webprog')]">
<xsl:value-of select="@nick"/>
</xsl:template>
401nobodyさん
2006/03/04(土) 09:45:21ID:??? /boards/ns0:boards/;
402nobodyさん
2006/03/04(土) 12:59:39ID:??? うひ(^_^;)
ありがとうございます。
頂いた答えをヒントにして、苦節1時間、やっと出来ました。
<xsl:template select="/ns0:boards/board/@nick[../namespace::*[local-name(.)=substring-before(string(../@nick),':')] and substring-after(.,':')='webprog']">
<xsl:value-of select="."/>
</xsl:template>
しかし、なんでこんな普通の選択のためにゴリゴリ書くんでしょう…。
>>399が言ってることがまっとうで、
XSLT/XPath/XMLSchema?の仕様の方が逝かれてるのではないか、という気がしてきます…。
ありがとうございます。
頂いた答えをヒントにして、苦節1時間、やっと出来ました。
<xsl:template select="/ns0:boards/board/@nick[../namespace::*[local-name(.)=substring-before(string(../@nick),':')] and substring-after(.,':')='webprog']">
<xsl:value-of select="."/>
</xsl:template>
しかし、なんでこんな普通の選択のためにゴリゴリ書くんでしょう…。
>>399が言ってることがまっとうで、
XSLT/XPath/XMLSchema?の仕様の方が逝かれてるのではないか、という気がしてきます…。
403nobodyさん
2006/03/04(土) 13:01:00ID:c1CTCPap >>399
XMLSchemaではQNameという型があります。>>397のnickのように使われます。
よく?使われる例は、
<hoge xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value xsi:type="xsd:string">123456789</value>
</hoge>
だと、/hoge/value の値は、文字列”123456789”で、
<hoge xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value xsi:type="xsd:int">123456789</value>
</hoge>
だと、/hoge/value の値は、32bit整数 123456789 で、
<hoge xmlns:tns="http://www.2ch.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value xsi:type="tns:code">123456789</value>
</hoge>
だと、/hoge/value の値は、名前空間http://www.2ch.netで定義されたcode型の123456789、
なんて事になります。
でも、その直感はあながち間違いでもないように思えるのは、>>402に書いたとおりです。
XMLSchemaではQNameという型があります。>>397のnickのように使われます。
よく?使われる例は、
<hoge xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value xsi:type="xsd:string">123456789</value>
</hoge>
だと、/hoge/value の値は、文字列”123456789”で、
<hoge xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value xsi:type="xsd:int">123456789</value>
</hoge>
だと、/hoge/value の値は、32bit整数 123456789 で、
<hoge xmlns:tns="http://www.2ch.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value xsi:type="tns:code">123456789</value>
</hoge>
だと、/hoge/value の値は、名前空間http://www.2ch.netで定義されたcode型の123456789、
なんて事になります。
でも、その直感はあながち間違いでもないように思えるのは、>>402に書いたとおりです。
404nobodyさん
2006/03/04(土) 19:16:02ID:??? 値がドキュメントの構成から離れて利用できないこと自体が逝かれてる。
よっぽどのアホがこんな仕様作ったんだろう。
よっぽどのアホがこんな仕様作ったんだろう。
405nobodyさん
2006/03/05(日) 07:39:58ID:??? >>403
なるほど、スキーマで使うのか
ボヘミアンな俺には縁が無さそうだが、
一つ勉強になった
でもよ、データ型が必要なら、それを前提としたもの、
例えば、XPath1.0より2.0を使った方がいいんじゃね?
貴族がボヘミアンを振る舞えったって、やっぱりぎこちないだろ
なるほど、スキーマで使うのか
ボヘミアンな俺には縁が無さそうだが、
一つ勉強になった
でもよ、データ型が必要なら、それを前提としたもの、
例えば、XPath1.0より2.0を使った方がいいんじゃね?
貴族がボヘミアンを振る舞えったって、やっぱりぎこちないだろ
406nobodyさん
2006/03/05(日) 14:59:23ID:noB5/pAr データ型というか、QNameだけ特におかしいんだよ。
QNameの例としてxsi:typeの例を挙げたのが誤解されたかもしれんが。
http://pc8.2ch.net/test/read.cgi/tech/1133280488/108
XPath2.0だと
http://pc8.2ch.net/test/read.cgi/tech/1133280488/105
みたいに簡潔に書けるの?
QNameの例としてxsi:typeの例を挙げたのが誤解されたかもしれんが。
http://pc8.2ch.net/test/read.cgi/tech/1133280488/108
XPath2.0だと
http://pc8.2ch.net/test/read.cgi/tech/1133280488/105
みたいに簡潔に書けるの?
407nobodyさん
2006/03/05(日) 20:28:28ID:??? XPath1.0だどQName型と言う概念が無いから、string型で辻褄を合わせなきゃならんけど
2.0は型情報を前提としている貴族主義だから、QName型ならQName型で処理できるんじゃないかな。
...と言いつつ、俺もよく分からん。
でも、XSLT・XPath1.0ってのは「シンプル・イズ・ベスト」を信仰するボヘミアン派だから、
如何せんXMLSchemaとは相性が良くないと思う。
2.0は型情報を前提としている貴族主義だから、QName型ならQName型で処理できるんじゃないかな。
...と言いつつ、俺もよく分からん。
でも、XSLT・XPath1.0ってのは「シンプル・イズ・ベスト」を信仰するボヘミアン派だから、
如何せんXMLSchemaとは相性が良くないと思う。
408nobodyさん
2006/03/07(火) 00:42:38ID:s8zBddvo 貴族と浮浪者、どちらになりたいか、って話?
409nobodyさん
2006/03/07(火) 06:40:25ID:??? 他人と話がしたいなら一般的でない形容はやめたらどうだ?
410nobodyさん
2006/03/07(火) 08:07:09ID:??? XMLユーザの貴族とボヘミアンって一般的でないのか?
411nobodyさん
2006/03/07(火) 08:36:15ID:??? 今すぐジャーゴンを使うのを止めろ
412nobodyさん
2006/03/07(火) 20:15:46ID:??? 皆中国語使用推奨
413nobodyさん
2006/03/09(木) 23:33:25ID:dDByu5bB XML 貴族 ボヘミアン の検索結果のうち 日本語のページ 約 510 件中 1 - 100 件目 (0.29 秒)
414nobodyさん
2006/03/10(金) 10:59:20ID:???415nobodyさん
2006/03/10(金) 11:15:50ID:??? 自分の発言に自信が持てないから逃げ道を作ってるんだよ察してやりなよ
そしてスルーしてやりなよ
そしてスルーしてやりなよ
416nobodyさん
2006/03/10(金) 11:27:58ID:??? みんなは貴族なの?
オイラはどうしても「型情報」って奴についてけねえだけどな。
DTD+DateTypeで十分だと思うがな...
オイラはどうしても「型情報」って奴についてけねえだけどな。
DTD+DateTypeで十分だと思うがな...
417nobodyさん
2006/03/10(金) 22:11:55ID:??? まぁついてこられない人が居るのは否定しないのが貴族
418nobodyさん
2006/03/18(土) 20:53:13ID:eqYBhKgI 今ASP.NETでRSSの読み込み・表示をしているのですが
RSS1.0はとりあえず表示できたのですが、RSS2.0が全然ダメです
XSLTファイルのRSS2.0を表示させるソースってどこか公開されていませんか?
RSS1.0はとりあえず表示できたのですが、RSS2.0が全然ダメです
XSLTファイルのRSS2.0を表示させるソースってどこか公開されていませんか?
419418
2006/03/18(土) 21:50:23ID:??? 事故解決しました
420nobodyさん
2006/03/26(日) 05:28:41ID:96nmrOTO XSLT の処理結果ってどうやって確認してる?
IE5.x の頃だったかは
http://www.microsoft.com/downloads/details.aspx?FamilyID=d23c1d2c-1571-4d61-bda8-adf9f6849df9&DisplayLang=en
入れればバリデーションと結果のソース表示も出来たんだが、IE6 になって
から出来なくなったのかな?
IE5.x の頃だったかは
http://www.microsoft.com/downloads/details.aspx?FamilyID=d23c1d2c-1571-4d61-bda8-adf9f6849df9&DisplayLang=en
入れればバリデーションと結果のソース表示も出来たんだが、IE6 になって
から出来なくなったのかな?
421nobodyさん
2006/03/29(水) 11:37:28ID:Bmnd//MP <foo count="10" />
とある場合、特定の処理を @count 回ループさせたいんですがどうすれば良いんでしょうか?
ループカウンタ付きのループ for(i=0; i<@count; i++) みたいな感じなんですけど、<xsl:for-each> じゃ
要素とかの集合しか指定できないですよね?
とある場合、特定の処理を @count 回ループさせたいんですがどうすれば良いんでしょうか?
ループカウンタ付きのループ for(i=0; i<@count; i++) みたいな感じなんですけど、<xsl:for-each> じゃ
要素とかの集合しか指定できないですよね?
423nobodyさん
2006/03/29(水) 19:18:29ID:Bmnd//MP すげぇ、ループを再起呼び出しでやるとは気づかなかったw
424nobodyさん
2006/03/29(水) 23:46:49ID:??? こいつは関数型言語みたいなもんだから
むしろ再帰の方が自然なんだな
むしろ再帰の方が自然なんだな
426nobodyさん
2006/03/32(土) 21:43:59ID:rvS9DXBc ファイルメーカーのアプローチってどう思う?
ウェブプログラミングにxsltって有効?
ウェブプログラミングにxsltって有効?
427nobodyさん
2006/04/02(日) 01:48:27ID:??? ファイルメーカーが何やってるか知らんが
静的な部分は XSL で、動的な部分は XML で作れるならデータ転送量を
最小限に押さえられるので有効だと思う。サーバの負荷分散にもなるし。
ただ未対応ブラウザに対応するなら逆に高くなるかもしれん。
静的な部分は XSL で、動的な部分は XML で作れるならデータ転送量を
最小限に押さえられるので有効だと思う。サーバの負荷分散にもなるし。
ただ未対応ブラウザに対応するなら逆に高くなるかもしれん。
428nobodyさん
2006/04/03(月) 20:37:14ID:??? 拡張関数(?)のexsltで本日の日付を取得したいのですが
クライアントサイドの一般的なパーサは対応しているのでしょうか?
処理としては要素の日付と本日の日付を比較して過去の情報は隠すという動きをさせたいです。
exsltが無理ならスクリプトでやってみます。
クライアントサイドの一般的なパーサは対応しているのでしょうか?
処理としては要素の日付と本日の日付を比較して過去の情報は隠すという動きをさせたいです。
exsltが無理ならスクリプトでやってみます。
429nobodyさん
2006/04/06(木) 09:20:31ID:???431nobodyさん
2006/04/06(木) 20:45:52ID:??? IE の XSL 対応って 5.0 からだっけ? Mozilla はどこから対応してんの?
432nobodyさん
2006/04/07(金) 20:37:45ID:??? XML → HTML で © や は XSL にどう記述したら良いの?
433nobodyさん
2006/04/07(金) 20:38:28ID:ds66Zruv ありゃ、© や は、です。
434nobodyさん
2006/04/08(土) 01:20:46ID:???435nobodyさん
2006/04/08(土) 01:25:53ID:??? 39
436nobodyさん
2006/04/09(日) 17:43:31ID:??? ?
437nobodyさん
2006/04/11(火) 14:38:23ID:??? XML + XSL で XSL って作れる?
一般ユーザ用と管理者用で XSL を分けてたんだが、2〜3 のパラメータと条件分岐だけで
統合できそうなのが分かってきた。ただ一般ユーザには管理者用の XSL を見せたくないし。
一般ユーザ用と管理者用で XSL を分けてたんだが、2〜3 のパラメータと条件分岐だけで
統合できそうなのが分かってきた。ただ一般ユーザには管理者用の XSL を見せたくないし。
438nobodyさん
2006/04/11(火) 20:50:36ID:??? XSLからXSLを出力するならxsl:namespace-aliasとかでぐぐると良いよ。
439nobodyさん
2006/04/19(水) 04:15:41ID:??? ブラウザごとの XSL 対応状況の一覧とか載ってるサイトご存知でしたら教えてたも m(_ _)m
440nobodyさん
2006/04/19(水) 19:35:12ID:??? 一生懸命変換PGを作っていたのにWord2003で出来ちゃうのね。。。
441nobodyさん
2006/04/19(水) 20:30:42ID:??? ``PG''……
442nobodyさん
2006/04/21(金) 07:18:54ID:??? Firefox 1.0.7 (Linux) で <xsl:value-of> の disable-output-escaping="no" が
利かないみたいなんですけど何か振替策ないでしょうか?
利かないみたいなんですけど何か振替策ないでしょうか?
443nobodyさん
2006/04/21(金) 07:52:16ID:??? すみません、no じゃなくて yes です。ちょっとネットで漁ってみましたが
Mozilla 開発者連中は W3C の解釈だとか何とか言い訳付けて修正しないそうです (なんだそりゃ)。
結局の所、中で 2 回パースしてる部分が遅くなるだとか、XML+XSLで生成した HTML が Valid で
あるという前提で設計しちゃったので手を入れたくないとかってのが本音っぽい。
ふと思いついて JavaScript で innerHTML に設定してみたらとりあえず回避できたっぽいのでご報告まで。
<xsl:value-of select="foo" disable-output-escaping="yes" />
↓
<input type="hidden" name="" id="foo" value="{foo}" />
<span id="bar"></span>
<script language="javascript">
document.getElementById("bar").innerHTML = document.getElementById("foo").value;
</script>
Mozilla 開発者連中は W3C の解釈だとか何とか言い訳付けて修正しないそうです (なんだそりゃ)。
結局の所、中で 2 回パースしてる部分が遅くなるだとか、XML+XSLで生成した HTML が Valid で
あるという前提で設計しちゃったので手を入れたくないとかってのが本音っぽい。
ふと思いついて JavaScript で innerHTML に設定してみたらとりあえず回避できたっぽいのでご報告まで。
<xsl:value-of select="foo" disable-output-escaping="yes" />
↓
<input type="hidden" name="" id="foo" value="{foo}" />
<span id="bar"></span>
<script language="javascript">
document.getElementById("bar").innerHTML = document.getElementById("foo").value;
</script>
444nobodyさん
2006/06/02(金) 14:43:12ID:H6C73k2s 御教授願います。
ループを回し表を作成したときに、1行毎に指定された内容をセットしてmailを送りたいのですが上手くいきません。
以下はループの内部処理です。
・$q_indexには表の登録番号(行番号)がセットされています。
・メールのテンプレートをjavaScriptで作成しています。
<xsl:variable name="url_id">url_<xsl:value-of select="$q_index"/></xsl:variable>
<A target="_blank" href="" id="$url_id" charset="">メール送信</A>
<script lang="javaScript">
$url_id.href='mailto:[email protected]?subject=' + [行毎に定義されたmailテンプレ];
</script>
最初は上記のように書いていました。
これで表を作ると、1件目はメールを送れたのですが、2件目以降メーラーが開かないというバグが発生してしまいました。
理由は<A>タグで定義してるIDパラメータが"$url_id"という文字列で固定されていた為です。
2件目以降も同じ名前が定義されている為エラーになっているようでした。
そこで下のように改造を試みたのですが、ここで問題が発生しました。
<xsl:variable name="url_id">url_<xsl:value-of select="$q_index"/></xsl:variable>
<A target="_blank" href="" id="<xsl:value-of select="$url_id"/>" charset="">メール送信</A>
<script lang="javaScript">
<xsl:value-of select="$url_id"/>.href='mailto:[email protected]?subject=' + [行毎に定義されたメールテンプレ];
</script>
この様にした場合、<A>タグのIDパラメータが不正となってしまいます。
お聞きしたいのは、<A>タグのIDパラメータに変数$url_idを定義したいのです。
どなたか上手い方法をご存知無いでしょうか?
ループを回し表を作成したときに、1行毎に指定された内容をセットしてmailを送りたいのですが上手くいきません。
以下はループの内部処理です。
・$q_indexには表の登録番号(行番号)がセットされています。
・メールのテンプレートをjavaScriptで作成しています。
<xsl:variable name="url_id">url_<xsl:value-of select="$q_index"/></xsl:variable>
<A target="_blank" href="" id="$url_id" charset="">メール送信</A>
<script lang="javaScript">
$url_id.href='mailto:[email protected]?subject=' + [行毎に定義されたmailテンプレ];
</script>
最初は上記のように書いていました。
これで表を作ると、1件目はメールを送れたのですが、2件目以降メーラーが開かないというバグが発生してしまいました。
理由は<A>タグで定義してるIDパラメータが"$url_id"という文字列で固定されていた為です。
2件目以降も同じ名前が定義されている為エラーになっているようでした。
そこで下のように改造を試みたのですが、ここで問題が発生しました。
<xsl:variable name="url_id">url_<xsl:value-of select="$q_index"/></xsl:variable>
<A target="_blank" href="" id="<xsl:value-of select="$url_id"/>" charset="">メール送信</A>
<script lang="javaScript">
<xsl:value-of select="$url_id"/>.href='mailto:[email protected]?subject=' + [行毎に定義されたメールテンプレ];
</script>
この様にした場合、<A>タグのIDパラメータが不正となってしまいます。
お聞きしたいのは、<A>タグのIDパラメータに変数$url_idを定義したいのです。
どなたか上手い方法をご存知無いでしょうか?
445nobodyさん
2006/06/02(金) 15:00:49ID:H6C73k2s 自己解決したので書いておきます。
直接変数内のデータを参照したい場合、{}で括ればいいらしいようです。
<xsl:variable name="url_id">url_<xsl:value-of select="$q_index"/></xsl:variable>
<A target="_blank" href="" id="{$url_id}" charset="">メール送信</A>
<script lang="javaScript">
<xsl:value-of select="$url_id"/>.href='mailto:[email protected]?subject=' + [行毎に定義されたメールテンプレ];
</script>
直接変数内のデータを参照したい場合、{}で括ればいいらしいようです。
<xsl:variable name="url_id">url_<xsl:value-of select="$q_index"/></xsl:variable>
<A target="_blank" href="" id="{$url_id}" charset="">メール送信</A>
<script lang="javaScript">
<xsl:value-of select="$url_id"/>.href='mailto:[email protected]?subject=' + [行毎に定義されたメールテンプレ];
</script>
446nobodyさん
2006/06/06(火) 05:01:30ID:??? $を文字列として使いたいんだけど、
どうすればいいの?
どうすればいいの?
447nobodyさん
2006/06/06(火) 19:27:27ID:??? <xsl:text>$</xsl:text>
<![CDATA$]]>
<![CDATA$]]>
448nobodyさん
2006/06/06(火) 19:27:57ID:??? 間違ったーーー!!!
450nobodyさん
2006/06/06(火) 20:47:00ID:??? awsのxslの一部です。
- <Arguments>
<Argument Name="AssociateTag" Value="sfeesv-22" />
<Argument Name="ItemPage" Value="1" />
<Argument Name="SubscriptionId" Value="0QRaadwa2" />
<Argument Name="Keywords" Value="ハリーポッター" />
<Argument Name="ResponseGroup" Value="Request,ItemIds,OfferFull,VariationSummary,ItemAttributes,EditorialReview,Images,Reviews" />
<Argument Name="Operation" Value="ItemSearch" />
<Argument Name="Service" Value="AWSECommerceService" />
<Argument Name="SearchIndex" Value="Electronics" />
<Argument Name="Sort" Value="salesrank" />
</Arguments>
コレをxsltのfor-each分で値を返します。Argumentだけを抜き出します。
-----
<xsl:for-each select="aws:Argument">
<xsl:value-of select="@Name"/>
<xsl:value-of select="@Value"/>
</xsl:for-each>
-----
値がずらずらっと返ってきました。ここで<Argument Name="ItemPage" Value="1" />の部分だけ値を返したくないのですが、xsltにどのように書き加えればいいのでしょうか?
- <Arguments>
<Argument Name="AssociateTag" Value="sfeesv-22" />
<Argument Name="ItemPage" Value="1" />
<Argument Name="SubscriptionId" Value="0QRaadwa2" />
<Argument Name="Keywords" Value="ハリーポッター" />
<Argument Name="ResponseGroup" Value="Request,ItemIds,OfferFull,VariationSummary,ItemAttributes,EditorialReview,Images,Reviews" />
<Argument Name="Operation" Value="ItemSearch" />
<Argument Name="Service" Value="AWSECommerceService" />
<Argument Name="SearchIndex" Value="Electronics" />
<Argument Name="Sort" Value="salesrank" />
</Arguments>
コレをxsltのfor-each分で値を返します。Argumentだけを抜き出します。
-----
<xsl:for-each select="aws:Argument">
<xsl:value-of select="@Name"/>
<xsl:value-of select="@Value"/>
</xsl:for-each>
-----
値がずらずらっと返ってきました。ここで<Argument Name="ItemPage" Value="1" />の部分だけ値を返したくないのですが、xsltにどのように書き加えればいいのでしょうか?
451nobodyさん
2006/06/06(火) 21:24:43ID:??? <xsl:for-each select="aws:Argument[@Name != 'ItemPage']">
452nobodyさん
2006/06/06(火) 21:25:20ID:??? 自信ないから上手くいってもいかなくても教えてね
454nobodyさん
2006/06/15(木) 17:44:27ID:bh/U7SOR XMLからXMLに変換したいんですけど、
XSLTに<xsl:output method='xml' encoding='SHIFT_JIS'/>
みたいな感じで書いているのに
出力されるXML宣言が<?xml version="1.0" encoding="UTF-16"?>
と出力されるのは何ででしょうか?
ちなみにXMLファイルの変換には
VS2005VC++でIXMLDOMDocumentPtrのtransformNode()を使用しています。
XSLTに<xsl:output method='xml' encoding='SHIFT_JIS'/>
みたいな感じで書いているのに
出力されるXML宣言が<?xml version="1.0" encoding="UTF-16"?>
と出力されるのは何ででしょうか?
ちなみにXMLファイルの変換には
VS2005VC++でIXMLDOMDocumentPtrのtransformNode()を使用しています。
455nobodyさん
2006/07/10(月) 11:50:48ID:AyMgINi+ えっと、XML 文書を XSL で HTML に変換し、
それに CSS を適用して見せるページを作っています。
意図するように見えているのですが、
Firefox がどのような HTML に変換しているのかを
確認したいと思っています。
Firefox で XSL による変換結果をファイルに
保存することってできますか?
つまり XSL 適用後の文書を保存したい、
Firefox を単に XSL プロセッサとして使いたいのです。
それに CSS を適用して見せるページを作っています。
意図するように見えているのですが、
Firefox がどのような HTML に変換しているのかを
確認したいと思っています。
Firefox で XSL による変換結果をファイルに
保存することってできますか?
つまり XSL 適用後の文書を保存したい、
Firefox を単に XSL プロセッサとして使いたいのです。
456nobodyさん
2006/07/11(火) 17:58:57ID:Wcdm37qK XML ファイルの先頭で XML プロセッサに対して XSL ファイルを指示しますよね?
<?xml-stylesheet title="XSL_formatting" type="text/xsl"
href="http://resource.example.com/sample.xsl" ?>
XML プロセッサとして Firefox を利用すると、
XML ファイルをおいてある場所以外の XSL ファイルを
指定した場合に「Security Error」になります。
これはいかんともしがたいのでしょうか?
<?xml-stylesheet title="XSL_formatting" type="text/xsl"
href="http://resource.example.com/sample.xsl" ?>
XML プロセッサとして Firefox を利用すると、
XML ファイルをおいてある場所以外の XSL ファイルを
指定した場合に「Security Error」になります。
これはいかんともしがたいのでしょうか?
457nobodyさん
2006/07/11(火) 18:20:50ID:??? Security Errorのあとにコロンがついてエラーの内容が書いてない?
セキュリティ上、別ドメインからのスクリプトの呼び出しはダメとかじゃなくて?
セキュリティ上、別ドメインからのスクリプトの呼び出しはダメとかじゃなくて?
458nobodyさん
2006/07/11(火) 18:24:23ID:Wcdm37qK Security Error: Content at http://example.com/test.xml
may not load data from http://orz.2ch.net/test.xsl
表示内容は上記の通りです。スクリプトと同じで他のドメイン
からの XSL ファイルは信用しないよってことですか。
全部ローカルにおいてたら Gecko でも IE でも処理
できるファイル群なので、ファイルの内容自体に誤りはないと思います。
may not load data from http://orz.2ch.net/test.xsl
表示内容は上記の通りです。スクリプトと同じで他のドメイン
からの XSL ファイルは信用しないよってことですか。
全部ローカルにおいてたら Gecko でも IE でも処理
できるファイル群なので、ファイルの内容自体に誤りはないと思います。
459nobodyさん
2006/07/11(火) 18:38:12ID:??? CheckSameOriginError, Security Error: Content at %S may not load data from %S. セキュリティエラー: %S のコンテンツが %S からデータを読み取ることは禁止されて います。
460456=458
2006/07/11(火) 18:38:47ID:Wcdm37qK IE だと http://example.com/ を信頼済みサイトに
登録することで、他のサイトの XSL ファイルも
ダウンロードして処理してくれるようになりました。
Firefox ではそれに対応する設定を見つけられませんでした。
身内で共通の CSS とか XSL 使おうと思ってて
どうせ内容いじれるのが自分だけなんで一カ所に
集めちゃおうと思ったんですが、セキュリティの
こと考えたらなんか根本的に間違ってた気がするので
あきらめます。
登録することで、他のサイトの XSL ファイルも
ダウンロードして処理してくれるようになりました。
Firefox ではそれに対応する設定を見つけられませんでした。
身内で共通の CSS とか XSL 使おうと思ってて
どうせ内容いじれるのが自分だけなんで一カ所に
集めちゃおうと思ったんですが、セキュリティの
こと考えたらなんか根本的に間違ってた気がするので
あきらめます。
461nobodyさん
2006/07/11(火) 20:19:18ID:Wcdm37qK ところで、 XPath による要素・属性の指定において、
「ルート直下の a または b という要素の下にある c という要素」
に関するテンプレートを書きたい時って、
/a/c に対するものと /b/c に対するものを別に
書く必要がありますか?まとめて /{a|b}/c のように記述
する方法はありませんでしょうか?
「ルート直下の a または b という要素の下にある c という要素」
に関するテンプレートを書きたい時って、
/a/c に対するものと /b/c に対するものを別に
書く必要がありますか?まとめて /{a|b}/c のように記述
する方法はありませんでしょうか?
462nobodyさん
2006/07/11(火) 20:46:36ID:??? a and b
463nobodyさん
2006/07/12(水) 09:47:10ID:CjrVtdTv <Arguments>
<Argument Name="Service" Value="" />
<Argument Name="AssociateTag" Value="test" />
<Argument Name="ItemPage" Value="1" />
</Arguments>
xsl:value-of selectを使って、testの値だけ抜き出したいのですが、
どのように書けばいいんでしょうか?
<Argument Name="Service" Value="" />
<Argument Name="AssociateTag" Value="test" />
<Argument Name="ItemPage" Value="1" />
</Arguments>
xsl:value-of selectを使って、testの値だけ抜き出したいのですが、
どのように書けばいいんでしょうか?
464nobodyさん
2006/07/12(水) 11:36:40ID:??? たまたま弄ってた所だから特別に教えてやる
Arguments/Argument[@Name='AssociateTag']/@Value
入門書くらい買え
ちがってたらゴメンネ
Arguments/Argument[@Name='AssociateTag']/@Value
入門書くらい買え
ちがってたらゴメンネ
465nobodyさん
2006/07/13(木) 16:00:41ID:Lxav0c83466nobodyさん
2006/07/13(木) 17:27:49ID:Lxav0c83 document関数は外部のサイトも取得できるんでしょうか?
467nobodyさん
2006/07/13(木) 18:25:06ID:??? やってみよう!
わからなかったら聞いてみよう!
わかったことはみんなに知らせよう!
いけ!
わからなかったら聞いてみよう!
わかったことはみんなに知らせよう!
いけ!
468nobodyさん
2006/07/14(金) 20:02:42ID:BpYZj7V/ がんばって見た結果、たぶんできるっぽいです。
ところで
<xsl:for-each select="document('http://test.xml')
見たいにurlを入力したとき、urlに=だとか&だとかが入っているとエラーが出てしまいます。
どうやって書けばいいんでしょうか?
ところで
<xsl:for-each select="document('http://test.xml')
見たいにurlを入力したとき、urlに=だとか&だとかが入っているとエラーが出てしまいます。
どうやって書けばいいんでしょうか?
469nobodyさん
2006/07/14(金) 21:29:08ID:MY15XHq0 &は&だったかな。?だったかもしれない。
=はそのままでよかった気がする。
ttp://www.ne.jp/asahi/minazuki/bakera/html/reference/charref
=はそのままでよかった気がする。
ttp://www.ne.jp/asahi/minazuki/bakera/html/reference/charref
470nobodyさん
2006/07/14(金) 21:30:47ID:??? すまん、参照がともに変換されてしまったorz
示したURLのページをもとにがんばってくれ。
示したURLのページをもとにがんばってくれ。
471nobodyさん
2006/07/14(金) 23:47:41ID:BpYZj7V/ >>470
ありがとうございます
ありがとうございます
472nobodyさん
2006/07/22(土) 10:37:07ID:??? xml文章の中から、ユーザー側から入力した条件を元に、
検索して結果を表示するようなことは、xslのみで実現するのは可能でしょうか?
postができなそうなのでやっぱり不可能でしょうか?
検索して結果を表示するようなことは、xslのみで実現するのは可能でしょうか?
postができなそうなのでやっぱり不可能でしょうか?
473nobodyさん
2006/07/23(日) 00:28:31ID:??? xslのみ の意味がわからない
475472
2006/07/23(日) 09:47:44ID:???476nobodyさん
2006/07/24(月) 14:48:21ID:uSZzoH8+ 文字列をエンコードする関数って
どんなのがありますか?
どんなのがありますか?
477nobodyさん
2006/07/25(火) 01:05:04ID:??? postされたデータを使ってXSLTを作り変換すれば?
xsl:if の test 部分をpostされたデータにすれば出来そうな気がする
xsl:if の test 部分をpostされたデータにすれば出来そうな気がする
478nobodyさん
2006/08/02(水) 19:55:15ID:qF5sPr3L document関数でurlを指定するとき、xsl:variable nameはつかえないんでしょうか?
<xsl:variable name="●●">○○.xml</xsl:variable>
<xsl:for-each select="document($●●)/▲▲/■■">
</xsl:for-each>
こんな感じで入力すると、$●●に○○.xmlが入らずに
$●●のままなんですが・・・
<xsl:variable name="●●">○○.xml</xsl:variable>
<xsl:for-each select="document($●●)/▲▲/■■">
</xsl:for-each>
こんな感じで入力すると、$●●に○○.xmlが入らずに
$●●のままなんですが・・・
479nobodyさん
2006/08/02(水) 20:13:17ID:qF5sPr3L >>478
すいません自己解決しました。
すいません自己解決しました。
481nobodyさん
2006/08/17(木) 06:59:21ID:??? すみません、XML で特定の条件に一致する要素だけにちょっとした変更を
加えたいのですが、それ以外の要素を無変換で出す処理はどう書けば良いの
でしょうか? 例えば XML 中の password という要素の内容をマスクする場合:
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="*">
<xsl:choose>
<xsl:when test="name(.)='password'">
<password>****</password>
</xsl:when>
<xsl:otherwise>
<xsl:element name="(ここはどうすれば?)">
<xsl:for-each select="@*">
<xsl:attribute name="(ここはどうすれば?)"><xsl:value-of select="." /></xsl:attribute>
</xsl:for-each>
<xsl:apply-templates select="node()" />
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
加えたいのですが、それ以外の要素を無変換で出す処理はどう書けば良いの
でしょうか? 例えば XML 中の password という要素の内容をマスクする場合:
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="*">
<xsl:choose>
<xsl:when test="name(.)='password'">
<password>****</password>
</xsl:when>
<xsl:otherwise>
<xsl:element name="(ここはどうすれば?)">
<xsl:for-each select="@*">
<xsl:attribute name="(ここはどうすれば?)"><xsl:value-of select="." /></xsl:attribute>
</xsl:for-each>
<xsl:apply-templates select="node()" />
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
482nobodyさん
2006/08/17(木) 15:51:08ID:??? <xsl:template match="password">
<password>****</password>
</xsl:template>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
ただし、password要素が空でないネームスペースに属しているならば、予めxmlns:foo="http://..."としておいて、match="foo:password"としなければならない。
xmlns="http://..."としておいてmatch="password"としてもだめ。
<password>****</password>
</xsl:template>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
ただし、password要素が空でないネームスペースに属しているならば、予めxmlns:foo="http://..."としておいて、match="foo:password"としなければならない。
xmlns="http://..."としておいてmatch="password"としてもだめ。
483nobodyさん
2006/08/18(金) 18:36:22ID:??? >>482
お、出来た! W3C の <xsl:copy> のところに書いてありますね。意味が分からんかったのでスルーしてましたが。
お、出来た! W3C の <xsl:copy> のところに書いてありますね。意味が分からんかったのでスルーしてましたが。
484nobodyさん
2006/08/26(土) 03:28:19ID:??? すみません、文字列の一括置換は XSL でどうやったら良いんでしょうか。
XML から JavaScript の文字列リテラルに変換するときにエスケープする必要があるのですが。
<foo>say "good morning"</foo>
↓
var msg = "say \"good morning\"";
XML から JavaScript の文字列リテラルに変換するときにエスケープする必要があるのですが。
<foo>say "good morning"</foo>
↓
var msg = "say \"good morning\"";
485nobodyさん
2006/09/27(水) 01:19:07ID:??? XSLT内で外部のJavaScriptファイルを読む宣言をするとIEでホワイトアウトするのですが。
諸事情により内部に直接JavaScriptを書きたくなくて。。
どうしたらよいのでしょうか?
諸事情により内部に直接JavaScriptを書きたくなくて。。
どうしたらよいのでしょうか?
486nobodyさん
2006/09/27(水) 02:25:20ID:??? document関数はXMLしか読み込めないよ。Javascirptを読もうとするとエラーになるので多分それでホワイトアウトしてる。
<script src="(スクリプトのURL)"/>
みたいな要素を出力した方がよいかと。
#エスパーレベル低いので外してるかな?
<script src="(スクリプトのURL)"/>
みたいな要素を出力した方がよいかと。
#エスパーレベル低いので外してるかな?
487485
2006/09/27(水) 09:27:24ID:??? 分かりにくい書き方してすんません。
で、ご指摘の方法でやっていたんですがうまくいきません。
むしろJavaScriptソースを直接書けば動きます。
Firefoxならどっちでもちゃんと動くんですけど。。
もう少し詳しく状況を説明しておくと
・JavaでXSL変換を行っている
・変換後データはStringとして吐き出される
・それをそのままサーブレットのPrintWriterを使って表示
してます。
で、ご指摘の方法でやっていたんですがうまくいきません。
むしろJavaScriptソースを直接書けば動きます。
Firefoxならどっちでもちゃんと動くんですけど。。
もう少し詳しく状況を説明しておくと
・JavaでXSL変換を行っている
・変換後データはStringとして吐き出される
・それをそのままサーブレットのPrintWriterを使って表示
してます。
488nobodyさん
2006/09/29(金) 01:06:23ID:??? >487
<script src="(スクリプトのURL)"/> でリンクしたJSファイルと
PrintWriterが吐くページのエンコーディングが合ってないとかか?
<script src="(スクリプトのURL)"/> でリンクしたJSファイルと
PrintWriterが吐くページのエンコーディングが合ってないとかか?
489nobodyさん
2006/10/03(火) 16:26:40ID:??? >487
文字コードはすべてUTF-8で統一してあります。
さらに、response.setChar〜でUTF-8を設定してあるので完璧。。だと思います。
javascriptのソース次第でなんとなりそうな気もしてきたのでとりあえずそっちで試行錯誤してみます。
文字コードはすべてUTF-8で統一してあります。
さらに、response.setChar〜でUTF-8を設定してあるので完璧。。だと思います。
javascriptのソース次第でなんとなりそうな気もしてきたのでとりあえずそっちで試行錯誤してみます。
490nobodyさん
2006/10/26(木) 13:25:08ID:5D6Zlz9T 変鉄もないxmlファイルのルート以下のタグ名をmethodはhtmlで表示させるだけのxsltがなにも表示されません。
環境のせいだと思うのですがIE5で動作しますか?
起動時は拡張子xslのファイルをダブルクリックするだけです。
事情により環境をいじれないので確認させてください。
よろしくおねがいします
環境のせいだと思うのですがIE5で動作しますか?
起動時は拡張子xslのファイルをダブルクリックするだけです。
事情により環境をいじれないので確認させてください。
よろしくおねがいします
491nobodyさん
2006/10/26(木) 18:28:24ID:Ni4Tuu8+ ウンコ
492nobodyさん
2006/10/26(木) 18:34:48ID:??? 元となるXMLにXSLTを<?xml-stylesheet ...?>で関連付けて、そっちを開けばOK。
493nobodyさん
2006/10/26(木) 18:38:30ID:5D6Zlz9T 492
記述が漏れていてごめんなさい。
手順はそのようにしています。
記述が漏れていてごめんなさい。
手順はそのようにしています。
494nobodyさん
2006/10/30(月) 11:26:45ID:??? XML+XSLTのformからPostされたページをリロードすると、
データの再送信が行われないんだけど、
これってXSLで再送信するように変更することはできる?
データの再送信が行われないんだけど、
これってXSLで再送信するように変更することはできる?
495nobodyさん
2006/11/18(土) 20:13:39ID:??? ブラウザの仕様のような気がする。
496nobodyさん
2006/11/19(日) 06:15:00ID:??? JavaScript のリテラル部分に値を埋め込みたいんだけど、" → \" とかの変換て XSL でどうやるの?
497nobodyさん
2007/01/25(木) 13:51:41ID:??? テンプレートの呼び出しについてですが、
呼び出されたテンプレートで、呼び出し元の要素名を使いたいです。
どのようにすればいいですか?
呼び出されたテンプレートで、呼び出し元の要素名を使いたいです。
どのようにすればいいですか?
498nobodyさん
2007/01/25(木) 14:20:29ID:GKXwIW4P 俺もテンプレートで聞きたいことが。
例えば
<fruit>
<apple>うまい</apple>
<banana>あんまりすきじゃない。</banana>
フルーツ。
</fruit>
っていうXMLがあったとして、
「フルーツ。」の部分にテンプレート適用したいんだが、
XPathとかで指定できないの?
例えば
<fruit>
<apple>うまい</apple>
<banana>あんまりすきじゃない。</banana>
フルーツ。
</fruit>
っていうXMLがあったとして、
「フルーツ。」の部分にテンプレート適用したいんだが、
XPathとかで指定できないの?
499nobodyさん
2007/01/26(金) 01:44:49ID:??? XQuery, XSLT 2 and XPath 2 Are W3C
Recommendations
だそうな。
>>497
呼び出し元が親の場合:
select="local-name(..)"
そのほか、親の親なら"local-name(../..)"
親以外から呼ばれる場合:
呼ぶ方:
<xsl:apply-template select="ほげほげ">
<xsl:with-param name="parent" select"."/>
</xsl:apply-template>
呼ばれる方:
<xsl:template match="ほげほげ">
<xsl:param name="parent"/>
<xsl:value-of select="local-name($parent)"/>
</xsl:template>
>>498
<xsl:apply-template select="text()"/>
ただし、appleとbananaの間などの空白や改行にも適用される。
Recommendations
だそうな。
>>497
呼び出し元が親の場合:
select="local-name(..)"
そのほか、親の親なら"local-name(../..)"
親以外から呼ばれる場合:
呼ぶ方:
<xsl:apply-template select="ほげほげ">
<xsl:with-param name="parent" select"."/>
</xsl:apply-template>
呼ばれる方:
<xsl:template match="ほげほげ">
<xsl:param name="parent"/>
<xsl:value-of select="local-name($parent)"/>
</xsl:template>
>>498
<xsl:apply-template select="text()"/>
ただし、appleとbananaの間などの空白や改行にも適用される。
500498
2007/01/26(金) 06:55:42ID:BzbrIFkB >>499
どうも!できた
どうも!できた
501nobodyさん
2007/02/14(水) 12:09:05ID:???502nobodyさん
2007/02/14(水) 14:32:44ID:??? 半年経ってりゃVerもあがるわな
503nobodyさん
2007/03/15(木) 02:01:11ID:Qxvsm42D 手詰まってます。質問させてください。
servletでIEにXMLを返却して、サーバに置いてあるXSLTを読ませて画面を表示させたいです。
↓レスポンスのXML
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="サーバに置いてあるXSLTのパス"?>
:
画面の表示はできたのですが、レスポンスが異常に遅いです。
HTTPのリクエストを確認したところ、
IEがサーバからXMLを受け取ってから、XSLTに対して再度HTTPリクエストを投げるのに時間がかかっているようです。
これはIEのXMLプロセッサ(MSXML)の問題なのでしょうか?
そうなのであれば、レスポンスを向上させる手段としてどういった方法が一般的なのでしょうか?
何かご存知の方、いらっしゃいましたら助言いただきたいです。
よろしくお願いします。
servletでIEにXMLを返却して、サーバに置いてあるXSLTを読ませて画面を表示させたいです。
↓レスポンスのXML
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="サーバに置いてあるXSLTのパス"?>
:
画面の表示はできたのですが、レスポンスが異常に遅いです。
HTTPのリクエストを確認したところ、
IEがサーバからXMLを受け取ってから、XSLTに対して再度HTTPリクエストを投げるのに時間がかかっているようです。
これはIEのXMLプロセッサ(MSXML)の問題なのでしょうか?
そうなのであれば、レスポンスを向上させる手段としてどういった方法が一般的なのでしょうか?
何かご存知の方、いらっしゃいましたら助言いただきたいです。
よろしくお願いします。
504nobodyさん
2007/03/15(木) 02:18:33ID:??? XMLのサイズ小さくしてみたらどうなる?
505503
2007/03/15(木) 02:32:34ID:Qxvsm42D XSLT入門ページにあるような簡単なXMLで試してみましたが、結果は同じでした。
506nobodyさん
2007/03/30(金) 22:01:54ID:??? >503
IEにXMLの変換をやらせるんじゃなくて、サーバ側で変換した結果をクライアントにかえしたら?
IEにXMLの変換をやらせるんじゃなくて、サーバ側で変換した結果をクライアントにかえしたら?
507nobodyさん
2007/03/31(土) 11:26:38ID:jJ1h8S+F XSLT2.0/XPATH2.0が勧告されているんだが...
興味無いか...○| ̄|_
興味無いか...○| ̄|_
508nobodyさん
2007/04/03(火) 01:44:44ID:??? 具体的に何が変わったのかは気になる
509nobodyさん
2007/04/05(木) 19:40:38ID:??? 力いっぱい亀レスしてみる。
>>484
<xsl:template match="foo">
<xsl:text>var msg = "</xsl:text>
<xsl:call-template name="escape">
<xsl:with-param name="str" select="."/>
</xsl:call-template>
<xsl:text>";</xsl:text>
</xsl:template>
<xsl:template name="escape">
<xsl:param name="str"/>
<xsl:if test="string-length($str) != 0">
<xsl:variable name="char" select="substring($str,1,1)"/>
<xsl:choose>
<xsl:when test="$char = '\'">\\</xsl:when>
<xsl:when test="$char = '"'">\"</xsl:when>
<xsl:when test="$char = ' '">\n</xsl:when>
<xsl:when test="$char = '	'">\t</xsl:when>
<xsl:otherwise><xsl:value-of select="$char"/></xsl:otherwise>
</xsl:choose>
<xsl:call-template name="escape">
<xsl:with-param name="str" select="substring($str,2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
>>484
<xsl:template match="foo">
<xsl:text>var msg = "</xsl:text>
<xsl:call-template name="escape">
<xsl:with-param name="str" select="."/>
</xsl:call-template>
<xsl:text>";</xsl:text>
</xsl:template>
<xsl:template name="escape">
<xsl:param name="str"/>
<xsl:if test="string-length($str) != 0">
<xsl:variable name="char" select="substring($str,1,1)"/>
<xsl:choose>
<xsl:when test="$char = '\'">\\</xsl:when>
<xsl:when test="$char = '"'">\"</xsl:when>
<xsl:when test="$char = ' '">\n</xsl:when>
<xsl:when test="$char = '	'">\t</xsl:when>
<xsl:otherwise><xsl:value-of select="$char"/></xsl:otherwise>
</xsl:choose>
<xsl:call-template name="escape">
<xsl:with-param name="str" select="substring($str,2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
510nobodyさん
2008/03/05(水) 06:00:45ID:d95zJRJ0 SourceForge.net: PHP - XML_XSLT2Processor
http://sourceforge.net/projects/xslt2processor/
JavaのXSLT2.0プロセッサ(SaxonとAltovaXML)をPHPで使えるようにするためのクラスらしい
ttp://xiss.g.hatena.ne.jp/orzccc/20080301/php_xslt2processor 経由
http://sourceforge.net/projects/xslt2processor/
JavaのXSLT2.0プロセッサ(SaxonとAltovaXML)をPHPで使えるようにするためのクラスらしい
ttp://xiss.g.hatena.ne.jp/orzccc/20080301/php_xslt2processor 経由
511nobodyさん
2008/03/26(水) 19:55:43ID:??? XSL-FOの話題はここでいいの?
512nobodyさん
2008/03/26(水) 23:41:09ID:??? いいんでないの
ほかにスレもないし
ほかにスレもないし
513nobodyさん
2008/04/12(土) 16:43:38ID:??? すいません、XSLTの使用を今日から検討し始めたド初心者です。
掲示板の様な物を作成する為に、掲示板のタイトルと本文と書き込み日時をXMLで出力するPHPを書き、
別途表示の為のXSLTをスキンとして固定ファイルで用意しようと考えているのですが、
この方式で何処まで出来るのかがわからず、戸惑っています。
質問1:
例えば掲示板で良くある処理として、「3日以内の書き込みの場合にタイトルの最後に[最新情報]と追記する」等がありますが、
掲示板XMLのデータが「タイトル」「本文」「書き込み日時」しかなかったとした場合に、
XSLT側で[最新情報]と追記する方法はあるのでしょうか?
質問2:
仮に固定ファイルのXSLTでは「質問1」の処理が出来ないと仮定した場合での質問なのですが、
これらの処理の実現方法として、PHPで作成されるXML側で日付を判断し、
<status>NEW</status>
等を挿入しておくという方法を考えてみたのですが、
XML+XSLTでこの様な方法は一般的に行われているのでしょうか。(変じゃないですか?という事です^^;)
質問3:
XSLTを使う目的が「掲示板のスキン(見た目)変更をしやすく」といった目的なのですが、
質問1や質問2で例に挙げたような機能をいくつも追加した場合、
かえってスキンPHPファイルを用意してそれを変更するほうが簡単になってしまうのではないかと思ってしまいます。
スキン機能をXML+XSLTで実現するか、PHPで実現するか、どちらの方が良いか率直なご感想をお聞かせ願えないでしょうか?
(XSLTであればこんな時便利なはず!等etc...)
掲示板の様な物を作成する為に、掲示板のタイトルと本文と書き込み日時をXMLで出力するPHPを書き、
別途表示の為のXSLTをスキンとして固定ファイルで用意しようと考えているのですが、
この方式で何処まで出来るのかがわからず、戸惑っています。
質問1:
例えば掲示板で良くある処理として、「3日以内の書き込みの場合にタイトルの最後に[最新情報]と追記する」等がありますが、
掲示板XMLのデータが「タイトル」「本文」「書き込み日時」しかなかったとした場合に、
XSLT側で[最新情報]と追記する方法はあるのでしょうか?
質問2:
仮に固定ファイルのXSLTでは「質問1」の処理が出来ないと仮定した場合での質問なのですが、
これらの処理の実現方法として、PHPで作成されるXML側で日付を判断し、
<status>NEW</status>
等を挿入しておくという方法を考えてみたのですが、
XML+XSLTでこの様な方法は一般的に行われているのでしょうか。(変じゃないですか?という事です^^;)
質問3:
XSLTを使う目的が「掲示板のスキン(見た目)変更をしやすく」といった目的なのですが、
質問1や質問2で例に挙げたような機能をいくつも追加した場合、
かえってスキンPHPファイルを用意してそれを変更するほうが簡単になってしまうのではないかと思ってしまいます。
スキン機能をXML+XSLTで実現するか、PHPで実現するか、どちらの方が良いか率直なご感想をお聞かせ願えないでしょうか?
(XSLTであればこんな時便利なはず!等etc...)
514nobodyさん
2008/04/12(土) 17:46:42ID:??? A1.
無理
A2.
俺だったら要素じゃなくて属性を使うかもだけど
まあ好きにすればいいんじゃないの
A3.
世の中XSLTに対応したブラウザばかりじゃないとか
XSLTで込み入ったことをやろうとすると果てしなく面倒くさいとか
そもそもXMLにこだわる必要がどれだけあんのかとか
いろいろ思うことはあるけど
まあ好きにすればいいんじゃないの
無理
A2.
俺だったら要素じゃなくて属性を使うかもだけど
まあ好きにすればいいんじゃないの
A3.
世の中XSLTに対応したブラウザばかりじゃないとか
XSLTで込み入ったことをやろうとすると果てしなく面倒くさいとか
そもそもXMLにこだわる必要がどれだけあんのかとか
いろいろ思うことはあるけど
まあ好きにすればいいんじゃないの
515nobodyさん
2008/04/12(土) 18:11:14ID:??? XSLTってどうみても帯に短し襷に長しだよな
もっと割り切った仕様にすればいいのに
中途半端に文字列処理とか入れるから
もっと割り切った仕様にすればいいのに
中途半端に文字列処理とか入れるから
516nobodyさん
2008/04/19(土) 01:12:06ID:??? A4.
お前が好きだ
お前が好きだ
517nobodyさん
2008/04/20(日) 18:54:06ID:??? つまんね
518nobodyさん
2008/06/11(水) 03:05:25ID:??? xalanを実行するときに元のXML文書に文書型宣言が含まれていると、xalanが
validationを行いDTDを毎回ダウンロードしてしまうのですが、これを止める
ことはできないでしょうか。xalanはjava版でバージョンは2.7.0-5です。
validationを行いDTDを毎回ダウンロードしてしまうのですが、これを止める
ことはできないでしょうか。xalanはjava版でバージョンは2.7.0-5です。
519nobodyさん
2008/06/21(土) 10:42:11ID:k45WphEu XSL-FOのテーブルで
<fo:table>
<fo:table-row>
<fo:table-cell><fo:block>(短いテキスト)</fo:block></fo:table-cell>
<fo:table-cell number-rows-spanned="2"><fo:block>(すごく長いテキスト)</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell><fo:block>(短いテキスト)</fo:block></fo:table-cell>
</fo:table-row>
</fo:table>
これをレンダリングするとセルの大きさが
-------------------------
|********|**************|
|--------|**************|
|**** |**************|
| |**************|
| |************ |
| | |
-------------------------
このようになってしまいますが、左の列の高さを均等にする方法内でしょうか
事前に計算しろという選択肢は無しで
<fo:table>
<fo:table-row>
<fo:table-cell><fo:block>(短いテキスト)</fo:block></fo:table-cell>
<fo:table-cell number-rows-spanned="2"><fo:block>(すごく長いテキスト)</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell><fo:block>(短いテキスト)</fo:block></fo:table-cell>
</fo:table-row>
</fo:table>
これをレンダリングするとセルの大きさが
-------------------------
|********|**************|
|--------|**************|
|**** |**************|
| |**************|
| |************ |
| | |
-------------------------
このようになってしまいますが、左の列の高さを均等にする方法内でしょうか
事前に計算しろという選択肢は無しで
520nobodyさん
2008/06/21(土) 10:43:16ID:??? だいぶずれてしまいましたねorz
521nobodyさん
2008/06/21(土) 23:22:26ID:Cd2mCbay XMLファイルAの中の要素1に入っている、
「〜〜.html%3FA」
というURLを
xslで、
<xsl:value-of select="要素1"/>
と指定して変換したXMLを見ると、%3FAの部分が「?」に
なってしまって、リンクできないんですけど、対処法
ご存知の方居ませんかね?
「〜〜.html%3FA」
というURLを
xslで、
<xsl:value-of select="要素1"/>
と指定して変換したXMLを見ると、%3FAの部分が「?」に
なってしまって、リンクできないんですけど、対処法
ご存知の方居ませんかね?
522nobodyさん
2008/06/21(土) 23:41:49ID:Cd2mCbay 521ですが、どうも勘違いしていたようで。。。
<xsl:value-of select="要素1"/> の指定でも出力されたXML自体は
のソースちゃんと%3FAになってました。
%3FAを エンコード済みの?と解釈してしまっている側の問題ですね、
本質的には。
ただ、ブラウザを弄るのは現実的ではないので、何とかxsl側で対処
出来ないでしょうか。
<xsl:value-of select="要素1"/> の指定でも出力されたXML自体は
のソースちゃんと%3FAになってました。
%3FAを エンコード済みの?と解釈してしまっている側の問題ですね、
本質的には。
ただ、ブラウザを弄るのは現実的ではないので、何とかxsl側で対処
出来ないでしょうか。
523nobodyさん
2008/06/21(土) 23:53:44ID:??? お騒がせしてすみません。
出力されたXMLをhtmlにもう一回変換して
ブラウザから見たらちゃんとしたURLへの
リンクに成ってました。
RSS出力してた時はリンクが上手く飛ばなかった
んですが、同じ<a〜〜>のタグでも、ブラウザは
RSSとHTMLで違う解釈するんですね、、、
出力されたXMLをhtmlにもう一回変換して
ブラウザから見たらちゃんとしたURLへの
リンクに成ってました。
RSS出力してた時はリンクが上手く飛ばなかった
んですが、同じ<a〜〜>のタグでも、ブラウザは
RSSとHTMLで違う解釈するんですね、、、
524nobodyさん
2008/08/23(土) 12:22:35ID:??? 相変わらずの過疎スレ
需要ないのかなあ
需要ないのかなあ
525nobodyさん
2008/08/24(日) 23:33:07ID:??? 使い方によっては面白いんで適当に使い始めたけど
PHPだと言語側の対応がイマイチで使いづらいんだ。
PHPだと言語側の対応がイマイチで使いづらいんだ。
526nobodyさん
2008/08/25(月) 09:55:30ID:??? 「なにがなんでもXML」みたいな風潮じゃなくなったのもあるかな
527nobodyさん
2008/10/31(金) 11:22:13ID:??? XSLTバイブルだれか譲ってくれませんか?
528nobodyさん
2009/02/13(金) 15:22:35ID:X83R2PAW for-each使って、指定したノードが存在する回数分、テキストを配置していくプログラムが作りたいです。
fo:block-containerで直接的に画面内での座標指定をしているため、その時の周回の回数から座標をY方向に計算してズラしながら配置していきたいです。
CやJavaでは、forの構文では、この中でiを見ればいま何週目か?を参照できます。
for(int i=0;i<回数;i++){
〜処理〜
}
が、
XSLTのfor-each文(もしくはその他)で、これと同じように、内部から「現在何回目か」を見る方法ってありますか?
xsl:variableでは変数なのに代入はできないそうで困ってます。
fo:block-containerで直接的に画面内での座標指定をしているため、その時の周回の回数から座標をY方向に計算してズラしながら配置していきたいです。
CやJavaでは、forの構文では、この中でiを見ればいま何週目か?を参照できます。
for(int i=0;i<回数;i++){
〜処理〜
}
が、
XSLTのfor-each文(もしくはその他)で、これと同じように、内部から「現在何回目か」を見る方法ってありますか?
xsl:variableでは変数なのに代入はできないそうで困ってます。
529nobodyさん
2009/02/13(金) 15:31:04ID:??? >>528
ループの中で何番目か調べるのはposition()
<xsl:for-each select="/parent/child">
<xsl:value-of select="position()" />番目のノードです
</xsl:for-each>
ただし最初が0でなく1なので要注意
ループの中で何番目か調べるのはposition()
<xsl:for-each select="/parent/child">
<xsl:value-of select="position()" />番目のノードです
</xsl:for-each>
ただし最初が0でなく1なので要注意
530nobodyさん
2009/02/13(金) 16:09:55ID:X83R2PAW >>529
ありがとうございます。
ループに関しては思ったとおりのことができました。
XSLTでは、再代入できる変数のようなものを使うことは不可能ですか?
ループ以外でも、XSLT内で計算するために、蓄積的に数値を足していける変数を使いたいのですが。
ありがとうございます。
ループに関しては思ったとおりのことができました。
XSLTでは、再代入できる変数のようなものを使うことは不可能ですか?
ループ以外でも、XSLT内で計算するために、蓄積的に数値を足していける変数を使いたいのですが。
531nobodyさん
2009/02/13(金) 18:12:20ID:??? そういうのはcall-templateのパラメータを使う
532nobodyさん
2009/02/18(水) 16:06:36ID:/wQ0UVxh XSL:FOの構文で、HTMLで言うところの<hr>に相当するタグってありますか?
533nobodyさん
2009/04/17(金) 04:58:20ID:??? 自宅サーバ用に XSLT サーブレット作ったんで良かったら使ってください。
sourceforge.jp でソース公開してます。
http://www.koiroha.org/kwt/xsl/index.xhtml
sourceforge.jp でソース公開してます。
http://www.koiroha.org/kwt/xsl/index.xhtml
534nobodyさん
2010/01/11(月) 13:37:58ID:x+0DsgF/ 保守
535nobodyさん
2010/01/14(木) 11:50:46ID:??? 良スレ上げ (∩´∀`)∩
536nobodyさん
2010/08/26(木) 10:38:32ID:CJC7O04v <良スレ:age />
既に前レスから半年、ここ、まだ誰かいるかなぁ
XSLTで、例えば元データにaltタグが無ければ変換をエラーにするといったことは出来るのでしょうか?
簡易html-lintとして使えると嬉しいっす
既に前レスから半年、ここ、まだ誰かいるかなぁ
XSLTで、例えば元データにaltタグが無ければ変換をエラーにするといったことは出来るのでしょうか?
簡易html-lintとして使えると嬉しいっす
537nobodyさん
2010/08/26(木) 13:46:34ID:??? そういうのはXMLバリデータの仕事なんじゃ
538nobodyさん
2012/02/29(水) 07:12:13.10ID:??? 質問です。
@のような構造のXMLがあり、
@に従うデータがAのような形できます。
Aにおいて、Aは親で、BはAの子、
CはBの子となっており、Bのような形に変換したいです。
このときxsltではどのようにかけばよろしいでしょうか?
@ABのイメージは次レスで書きます。
@のような構造のXMLがあり、
@に従うデータがAのような形できます。
Aにおいて、Aは親で、BはAの子、
CはBの子となっており、Bのような形に変換したいです。
このときxsltではどのようにかけばよろしいでしょうか?
@ABのイメージは次レスで書きます。
539nobodyさん
2012/02/29(水) 07:12:37.26ID:??? -----------@----------
<choice>
<element type="A">
<element type="B">
<element type="C">
<choice>
-----------A-----------
<A>
<B>
<C>
<C>
<B>
<B>
<C>
-----------B-----------
<A>
<B>
<C></C>
<C></C>
</B>
<B></B>
<B>
<C></C>
</B>
</A>
<choice>
<element type="A">
<element type="B">
<element type="C">
<choice>
-----------A-----------
<A>
<B>
<C>
<C>
<B>
<B>
<C>
-----------B-----------
<A>
<B>
<C></C>
<C></C>
</B>
<B></B>
<B>
<C></C>
</B>
</A>
540nobodyさん
2012/03/04(日) 02:16:44.31ID:??? いまいち何がやりたいんだかよく分からないけど
XMLじゃないデータ (2) をXMLであるデータ (3) に変換したいってこと?
だったらそれはXSLTの仕事ではない
XMLじゃないデータ (2) をXMLであるデータ (3) に変換したいってこと?
だったらそれはXSLTの仕事ではない
541nobodyさん
2012/09/13(木) 16:58:26.02ID:2LiGXsgg xmlのツリーに、いくつものbookDescriptionがあります。
<table>
<bookDescription>
<bookCode>
<price>100<price>
</bookCode>
<title>X</title>
〜〜〜
</bookDescription>
</table>
な感じで、bookDescriptionをpriceでascendingで表示したいと思います。
xsltで<xsl:sort select="bookCode/price" order="ascending"/>を入れるとエラーが出でしまいます。
<table>
<bookDescription>
<bookCode>
<price>100<price>
</bookCode>
<title>X</title>
〜〜〜
</bookDescription>
</table>
な感じで、bookDescriptionをpriceでascendingで表示したいと思います。
xsltで<xsl:sort select="bookCode/price" order="ascending"/>を入れるとエラーが出でしまいます。
542nobodyさん
2012/09/13(木) 16:59:36.50ID:2LiGXsgg <?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<xsl:apply-templates />
</html>
</xsl:template>
<xsl:template match="table">
<body>
<h2>Test</h2>
<xsl:apply-templates/>
</body>
</xsl:template>
<xsl:template match="bookDescription">
<!--<xsl:sort select="bookCode/price" order="ascending"/>-->
</xsl:template>
<xsl:template match="bookDescription">
<table border="1">
<tr>
<td><xsl:value-of select="bookCode"/></td>
<td><xsl:value-of select="title"/></td>
</tr>
</table>
<br />
</xsl:template>
</xsl:stylesheet>
どうすればいいのでしょうか?
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<xsl:apply-templates />
</html>
</xsl:template>
<xsl:template match="table">
<body>
<h2>Test</h2>
<xsl:apply-templates/>
</body>
</xsl:template>
<xsl:template match="bookDescription">
<!--<xsl:sort select="bookCode/price" order="ascending"/>-->
</xsl:template>
<xsl:template match="bookDescription">
<table border="1">
<tr>
<td><xsl:value-of select="bookCode"/></td>
<td><xsl:value-of select="title"/></td>
</tr>
</table>
<br />
</xsl:template>
</xsl:stylesheet>
どうすればいいのでしょうか?
543nobodyさん
2012/09/14(金) 01:56:17.60ID:??? にーとがひまつぶしに実験したので間違えてる可能性大ですが
こう書くとエラー無くそれらしく表示されました
<xsl:template match="table">
<body>
<h2>Test</h2>
<xsl:apply-templates>
<xsl:sort select="bookCode/price" order="ascending"/>
</xsl:apply-templates>
</body>
</xsl:template>
こう書くとエラー無くそれらしく表示されました
<xsl:template match="table">
<body>
<h2>Test</h2>
<xsl:apply-templates>
<xsl:sort select="bookCode/price" order="ascending"/>
</xsl:apply-templates>
</body>
</xsl:template>
544nobodyさん
2012/09/14(金) 06:24:33.02ID:B4mrueCy545nobodyさん
2014/01/15(水) 12:22:25.95ID:??? XSL/XSLT
546nobodyさん
2014/01/22(水) 10:21:56.60ID:??? XSL
547nobodyさん
2014/06/29(日) 13:39:21.42ID:dCDFM+DD ◎2chスレッド勢いランキングサイトリスト◎
★+ニュース板
・ 2NN (推薦)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推薦)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推薦)
・ READ2CH
・ i-ikioi
※ 要タイトル名検索
※ 2chブラウザ併用推奨
★+ニュース板
・ 2NN (推薦)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推薦)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推薦)
・ READ2CH
・ i-ikioi
※ 要タイトル名検索
※ 2chブラウザ併用推奨
548nobodyさん
2014/07/31(木) 09:58:51.14ID:??? ぬるぽ
549nobodyさん
2015/01/24(土) 00:21:23.20ID:??? XSL/XSLT
550nobodyさん
2015/01/24(土) 02:05:19.28ID:??? 俺が当初に言ったとおり、
糞な技術だったよなこれw
糞な技術だったよなこれw
551nobodyさん
2015/12/04(金) 21:00:28.84ID:3kTScjwO 会社で使ってるんだけど、
これ覚えてて需要あるかな?
自分、ただのプログラマ
これ覚えてて需要あるかな?
自分、ただのプログラマ
552nobodyさん
2017/08/02(水) 11:25:11.01ID:??? テンプレート各種あるが、たいがいデータベース操作まで書けちゃうよな。
この現状を一言で言うと、PHP化。
マジアホかと思う。
統一的にテンプレートはXSLTだけで良くないか?
分離がわりと明確。
資格があるからスタッフの最低限能力を保てる。
少なくともこれらのメリットがある。
デメリットは、「&」とかかな。
しかし、資格があるから、ここらへんのマークアップの初歩くらいはクリアできている人を雇えるわけで、問題無いか。
この現状を一言で言うと、PHP化。
マジアホかと思う。
統一的にテンプレートはXSLTだけで良くないか?
分離がわりと明確。
資格があるからスタッフの最低限能力を保てる。
少なくともこれらのメリットがある。
デメリットは、「&」とかかな。
しかし、資格があるから、ここらへんのマークアップの初歩くらいはクリアできている人を雇えるわけで、問題無いか。
553nobodyさん
2017/12/30(土) 12:37:45.92ID:YhlYw6jg 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
8YYDKVBRAU
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
8YYDKVBRAU
554nobodyさん
2018/02/20(火) 04:59:08.56ID:??? ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
555nobodyさん
2018/09/25(火) 10:40:41.73ID:AyfzZqfv 制限ばっかり
556米探査車が火星に着陸成功 地球外生命の痕跡探る
2021/02/19(金) 10:25:01.64ID:5+H5MWUO 米航空宇宙局(NASA)の火星探査車「パーシビアランス」が18日午後(日本時間19日午前)、火星への着陸に成功した。高温にさらされながら猛スピードで突入する難題を乗り越えた。土の中から微生物が存在した兆候を見つけ出し、地球外生命の痕跡を探る。
NASAによると、探査車と母船を載せたカプセルが時速2万`bで火星の大気圏に突入。パラシュートを広げて減速し、母船が重さ1dの探査車をつり下げて表面に下ろした。機体の表面が1300度以上になるなど「恐怖の7分間」と呼ばれる困難な着陸を無事果たした。2020年7月に地球を出発していた。
着陸したのは、湖があったとみられる直径45`bのクレーター。カメラや分析装置を積み込んだ探査車が動き回り、土壌や岩に含まれる物質を調べる。地面に穴を掘って採取した土壌サンプルは将来、別の探査機で地球に持ち帰る計画だ。
数十億年前の火星は地球に環境が似ていたとされる。今よりも温暖で液体の水が流れており、微生物が存在した可能性がある。地球外生命の痕跡が見つかれば、生命誕生の謎を解く手がかりが得られる。
NASAが火星に探査車を送るのは5機目。火星にはアラブ首長国連邦(UAE)や中国も探査機を周回軌道に投入したばかりだ。中国は5月にも着陸させる。米国は将来、火星への有人着陸も目指しており、パーシビアランスで得た情報を役立てる。
NASAによると、探査車と母船を載せたカプセルが時速2万`bで火星の大気圏に突入。パラシュートを広げて減速し、母船が重さ1dの探査車をつり下げて表面に下ろした。機体の表面が1300度以上になるなど「恐怖の7分間」と呼ばれる困難な着陸を無事果たした。2020年7月に地球を出発していた。
着陸したのは、湖があったとみられる直径45`bのクレーター。カメラや分析装置を積み込んだ探査車が動き回り、土壌や岩に含まれる物質を調べる。地面に穴を掘って採取した土壌サンプルは将来、別の探査機で地球に持ち帰る計画だ。
数十億年前の火星は地球に環境が似ていたとされる。今よりも温暖で液体の水が流れており、微生物が存在した可能性がある。地球外生命の痕跡が見つかれば、生命誕生の謎を解く手がかりが得られる。
NASAが火星に探査車を送るのは5機目。火星にはアラブ首長国連邦(UAE)や中国も探査機を周回軌道に投入したばかりだ。中国は5月にも着陸させる。米国は将来、火星への有人着陸も目指しており、パーシビアランスで得た情報を役立てる。
557おそらく誘発されたか、あるいは阻止されず
2022/06/17(金) 01:04:31.90ID:cRWKL1rQ ローマ・カトリック教会のフランシスコ教皇は、ウクライナでの戦争について「おそらく何らかの方法で誘発されたか、あるいは阻止されなかった」との認識を示した。14日刊行の伊紙に掲載された所見の中で述べた。
報道によると教皇は先月19日、キリスト教関連の文化的出版物に携わる団体の責任者と言葉を交わした中で、「我々が今目の当たりにしているのは残虐かつ凶暴な行為に他ならない。こうした戦争を遂行している部隊は大半が傭兵(ようへい)であり、ロシア軍がこれを活用している」と指摘。同軍がチェチェン人やシリア人を含む傭兵を進んで送り込んでいると付け加えた。
「しかし危険なことに我々は、この点にしか目を向けていない。確かに恐ろしい話ではあるが、それだけでは全体像が見えず、戦争の裏で何が起きているのかが分からない。おそらくこの戦争は何らかの形で誘発されたか、あるいは阻止されなかったのだろう。兵器のテストや売却に関心が向いている印象も受ける。とても悲しいが、基本的に今重要視されているのはこうしたことだ」(フランシスコ教皇)
さらに教皇は、ロシアのプーチン大統領を「支持」するわけではないとしつつ、「複雑な問題を善悪の区別に単純化しようとするのは断じて反対だ。根源的な要因や利害関係について考えることが不可欠で、それらは非常に入り組んでいる」と分析。「我々はロシア軍の凶暴さや残虐さを目の当たりにしてはいるが、解決を目指すべき問題があることを忘れてはならない」と続けた。
報道によると教皇は先月19日、キリスト教関連の文化的出版物に携わる団体の責任者と言葉を交わした中で、「我々が今目の当たりにしているのは残虐かつ凶暴な行為に他ならない。こうした戦争を遂行している部隊は大半が傭兵(ようへい)であり、ロシア軍がこれを活用している」と指摘。同軍がチェチェン人やシリア人を含む傭兵を進んで送り込んでいると付け加えた。
「しかし危険なことに我々は、この点にしか目を向けていない。確かに恐ろしい話ではあるが、それだけでは全体像が見えず、戦争の裏で何が起きているのかが分からない。おそらくこの戦争は何らかの形で誘発されたか、あるいは阻止されなかったのだろう。兵器のテストや売却に関心が向いている印象も受ける。とても悲しいが、基本的に今重要視されているのはこうしたことだ」(フランシスコ教皇)
さらに教皇は、ロシアのプーチン大統領を「支持」するわけではないとしつつ、「複雑な問題を善悪の区別に単純化しようとするのは断じて反対だ。根源的な要因や利害関係について考えることが不可欠で、それらは非常に入り組んでいる」と分析。「我々はロシア軍の凶暴さや残虐さを目の当たりにしてはいるが、解決を目指すべき問題があることを忘れてはならない」と続けた。
558nobodyさん
2023/10/18(水) 10:14:31.53ID:??? イキそう
レスを投稿する
ニュース
- イチロー氏、野球と比べてサッカーが「うらやましい」と語る 「チームのためにという感じが」「野球は個人で成績を出さないとボロカス」 [冬月記者★]
- 【サッカー】ブラジル戦、NHKは地上波なし 本田圭佑はBSで解説… 悲鳴続出「マジかよ」 地上波はフジテレビが生中継、解説は小野伸二 [冬月記者★]
- 【W杯】韓国が大窮地 悪夢のシナリオ止まらず 決勝T進出順位ボーダーの8位に転落 セネガル、イランに抜かれる ★5 [尺アジ★]
- 【自維】鮭おにぎり198円に絶望、コンビニすら遠い存在に…「生き延びられない」物価高で広がる生活苦★6 [ひぃぃ★]
- 【サッカー】W杯の「日本VSブラジル」を他で例えると…Xで問いかけ話題「湘北vs山王」「明徳義塾vs大阪桐蔭」「ドトウvsオペラオー」★2 [o(^・-・^)o★]
- 【サッカー】日本代表、ブラジル戦でアウェーユニホーム着用へ… FIFAが公式発表 爆売れの白デザイン、W杯で初お披露目! [冬月記者★]
- 石破がアメリカに投資した80兆円って返ってくるの? [126644339]
- 経団連「年内には訪中して習主席と面会したい😢レアアースもタングステンももう限界😢」 ★2 [904151406]
- マジな話、リアル5等分の花嫁って気持ち悪いだろうな
- 安倍晋三「らめぇ!お尻がオマンコになっちゃう…!❤」 [279951338]
- 【高市悲報】今国会の全法案が廃案へ。。。飲みィのヤリィのしてきた結果がこれなのか・・・ [252835186]
- お台場、次々閉館してただの廃墟と化してしまう [709039863]