- 1 名前:名無しさん@お腹いっぱい。 [ 2001/03/18(日) 02:50 ID:laaa63cU ]
- PHP で XML を利用するスレ
php Javaページより「XML関連情報」 www.cityfujisawa.ne.jp/~louis/apps/phpfi/xml/
- 38 名前:名無しさん@お腹いっぱい。 [01/08/27 02:42 ID:tS61.dSc]
- expatって、gcc動かないプロバイダじゃダメかね。
- 39 名前:名無しさん@お腹いっぱい。 [01/08/31 13:53 ID:tCCbiIrA]
- VBScript+XMLは最強WEBプログミイング
- 40 名前:名無しさん@お腹いっぱい。 mailto:sage [01/08/31 17:45 ID:J1wEfWe6]
- >>39
そんなキミはプログマー
- 41 名前:名無しさん@お腹いっぱい。 [01/09/01 01:31 ID:Y4cmpl3c]
- 意外な盲点(当たり前すぎて、気づかなかったこと)
XSLを使ってもXMLデータしか作れないこと。 XMLの世界を超えるにはDOMを使うしかないの?
- 42 名前:名無しさん@お腹いっぱい。 [01/09/01 16:20 ID:WRIOvSlk]
- >>41
違います 例えば XSLT を使って XML を CSV に落すような事も可能です (楽しいかは別にして) www.w3.org/TR/xslt#output
- 43 名前:名無しさん@お腹いっぱい。 mailto:sage [01/09/01 22:05 ID:2sU726xs]
- XSLT は XML で閉じていること以外は魅力がないな。
- 44 名前:名無しさん@お腹いっぱい。 [01/09/02 04:22 ID:GNpBXK36]
- 41 >pdfにもtxtにもおとせるだろ
- 45 名前:名無しさん@お腹いっぱい。 [01/09/02 23:18 ID:ZItOEjDY]
- SablotronでXMLからXHTMLを出力する時、DOCTYPE宣言を正しく
出すのはどうやるんでしょう? XSLで <xsl:output method="xml" encoding="Shift_JIS" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" indent="yes"/> とか書いてもDOCTYPEが出ないようなんですが? SablotronはWindows版の0.65です。
- 46 名前:名無しさん@お腹いっぱい。 [01/09/03 20:11 ID:Vsp2fF2E]
- >>40 (゚д゚)グマー
- 47 名前:41 [01/09/15 11:08 ID:ZgzUNYrc]
- >>42
MSXML3.0で、ルート要素を出力してやらないとXSLが動かなかったので、 XMLはXMLで完結する必要があるかと思ってたよ。 あと、MSXMLのDOM上で変換すると、出力結果もDOMオブジェクトで 返ってくるんだけど、DOMオブジェクトってXMLデータじゃないと エラーになるよね。ということで、XMLで完結しないといけないのかなと。
- 48 名前:名無しさん@お腹いっぱい。 [01/09/18 20:04 ID:OhWz5MBs]
- >>47 MSXMLのせいなのかなぁ?
3.0ってWDじゃなくて勧告の方に対応してるんだよね?
- 49 名前:名無しさん@お腹いっぱい。 [01/09/18 20:39 ID:fWPM4nHM]
- tcnweb.ne.jp/~yui/cgi-bin/002/apeboard_plus.cgi
素材やの素材を勝手に加工して、再配布してるサイトです。 natto.2ch.net/test/read.cgi?bbs=hp&key=998368128 web板の住民もお怒り。すでに掲示板のパスは破られた模様。
- 50 名前:名無しさん@お腹いっぱい。 mailto:sage [01/09/18 22:52 ID:???]
- >>49
君は誤爆なの? XMLに何の関係があるの? どうせ厨房なんだろうけど。
- 51 名前:名無しさん@お腹いっぱい。 [01/09/21 01:07 ID:RIYGknmQ]
- >>45 output method="xhtml"としたらいかがじゃろうか、と
書こうと思ってみてみたら、xhtmlってないの? www.w3.org/TR/xslt#output 45さんはxhtmlじゃなきゃだめ…なんだろうなぁきっと。むぅ。
- 52 名前:名無しさん@お腹いっぱい。 [01/09/22 11:01 ID:EJpCVqks]
- 曲のデータや、アルバムのデータを定義したDTDってありますか?
もし有名なのとかあったらそれにあわせようかなとか思うんですが
- 53 名前:名無しさん@お腹いっぱい。 [01/09/23 00:21 ID:???]
- perlで
<members> <member> <name>a</name> </member> <member> <name>b</name> </member> </member> のようなデータがあったときに 名前がbのデータ…<name>b</name>があるからそのまま 名前がcのデータ…<member><name>c</name></member>のデータを追加 ということをやりたいと思っています。 XML::DOMを使えば良いのかなと思ってドキュメントを見ていたのですが、 よくわかりません XML::DOMでできるのでしょうか? それとも他に適したライブラリがあるのでしょうか?
- 54 名前:53 [01/09/23 00:22 ID:???]
- サンプルデータの一番下は</members>です。すみません。
- 55 名前:45 [01/09/24 11:25 ID:QHj31C8Q]
- >>51
ちょっと前に全ページXHTMLに書き直したんで、今更戻りたくないん ですよ。 まあ自己満足なのはその通りなんですけどね。
- 56 名前:名無しさん@お腹いっぱい。 [01/09/27 09:06 ID:p9okIkoU]
- ソートで指定する要素を変数で指定するにはどうやるんでしょうか?
<xsl:sort select="$orderby" /> ではうまくいきませんでした。 <p><xsl:value-of select="$orderby"/></p> で値がうまくセットされているのは確認しました。 あと、 <xsl:sort select="title" /> のように直接要素名を入れるとうまくいくのも確認しました。 試している限り、変数のスコープの問題ではないように思います。
- 57 名前:1 [01/09/27 09:16 ID:uGGD0TxI]
- それならココ
www.f2.dion.ne.jp/~impact14/
- 58 名前:名無しさん@お腹いっぱい。 [01/09/27 11:58 ID:hsURJSvU]
- >>55 XMLとして出力して、ネームスペースにXHTML指定して…
みたいな感じなのかなぁ。DOCTYPE出力用のXSLT命令って なかったっけ? っつーか全然勘違いしたこと書いてたらごめんね。 このスレなんかさみしくて。
- 59 名前:DBに丸々ドキュメント保存するのには笑った mailto:sage [01/09/28 07:01 ID:???]
- >>58
データ規格としては優れているかもしれないけど…。
- 60 名前:名無しさん@お腹いっぱい。 [01/09/29 17:27 ID:rslZJeCE]
- age
- 61 名前:初心者 [01/10/05 06:14 ID:z3DWAxTU]
- >58
これじゃだめかな? <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="no" standalone="no" doctype-system="www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" doctype-public="-//W3C//DTD XHTML 1.1//EN" /> それより、複数のNameSpaceを使ったXHTMLドキュメントを 単一のNameSpaceのXHTMLドキュメントに変換する方法で悩み中。 なぜか、html要素中に独自のnsが表示されてしまう
- 62 名前:61 [01/10/07 01:11 ID:pScy9kEw]
- >61へ自己レス
<xsl:stylesheet exclude-result-prefixes="#default 独自のNS">で出力側にNSがコピーされることは避けられるみたいだけど、うちの環境(XT+Xerces)だとなぜか、子孫要素中にここで回避したNSがあらわれる…なぜ?
- 63 名前:45 [01/10/08 19:45 ID:TROemo9Q]
- >>61
そうです。その通りでした。今日たまたま仕様書を読んでいたら、 doctype-systemとdoctype-publicを両方指定しないといけないと書かれ ているのに気がつきました。やっぱりちゃんと読まなきゃ駄目ですね。 Sablotronのせいじゃあなかったんだ(Xalanも試してみて同じ動作だった ので仕様書を読もうと思った) で、このスレを思い出したら、ピンポイントで回答いただいてたんですね。 ありがとうございます。
- 64 名前:名無しさん@お腹いっぱい。 [01/10/15 03:28 ID:BxPPcakJ]
- XERCES-Jを使って、<TEXTAREA>に入力された文字データを
XML形式で保存しようとしています。 通常、<TEXTAREA>から来た改行コードはXMLに保存したときに 空白文字になってしまうので、XMLからデータを<TEXTAREA>に データを戻すときに、もとのデータとは変わってしまいます。 XMLに改行つきテキストを保存させる場合どうしてますでしょうか?
- 65 名前:名無しさん@お腹いっぱい。 [01/10/16 17:59 ID:RIJnalaN]
- ここでいいかわからないのですがXMLと言うことでここで質問させていただきます。
もし違った場合、どのスレに行ったらいいか教えていただければうれしいです。 XMLのことはまったくの初心者なんですが、参考書としてこれは読んどけ!みたいな本って ありますか??教えてください。あとオライリーから発売されば入門xmlはどうですか? 読んだ人いましたら感想きかせてください。
- 66 名前:名無しさん@お腹いっぱい。 mailto:sage [01/10/16 18:55 ID:???]
- >>65
日本語なら「標準XML完全解説」かしら。
- 67 名前:名無しさん@お腹いっぱい。 mailto:sage [01/10/22 21:38 ID:???]
- >>65
XML"以外"だったら何が得意かを書いたほうがアドバイスしやすい。
- 68 名前:独学XML [01/10/25 14:56 ID:9/96eztC]
- うひゃひゃ
- 69 名前:名無しさん@お腹いっぱい。 [01/11/14 11:58 ID:vArBZbrO]
- XML勧告で名前につかえる文字っつーところで
名前開始文字は,Ll, Lu, Lo, Lt, Nlカテゴリ内の一つでなければならない。 ってあるんだけど、このLl, Lu, Lo, Lt, Nlって何? 誰か教えてプリーズ
- 70 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/14 19:53 ID:???]
- www.unicode.org/Public/UNIDATA/UnicodeData.html#General%20Category
Ll Letter, Lowercase Lu Letter, Uppercase Lo Letter, Other Lt Letter, Titlecase Nl Number, Letter だそうだ。
- 71 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/15 10:36 ID:???]
- わー。ありがとうございます。感謝感激>>70
- 72 名前:nobodyさん mailto:sage [02/03/07 22:00 ID:???]
- 既存のhtmlをxmlに変換してくれるcgiとかはないかね?
- 73 名前:nobodyさん mailto:sage [02/03/08 01:45 ID:???]
- HTML を XHTML にってのはあったような。
もっとも、当然元の文書が valid であることが前提だろうね。
- 74 名前:nobodyさん [02/07/06 02:33 ID:MKHdJ5OB]
- XMLファイルがキャッシュされてしまい
XMLファイルを更新したときに、キャッシュを消さないと反映されないんですが HTMLのMETAタグのような回避方法はないんですか? どなたか教えてください、お願いします。
- 75 名前:nobodyさん [02/07/11 01:55 ID:jvFTY4N6]
- Tidyは別に元HTMLにちょっとくらい間違いがあっても
適当に修正してXHTMLにしてくれるよ
- 76 名前:nobodyさん mailto:age [02/07/16 03:22 ID:???]
- DB初心者です。
アクセスDBとXMLのDBの違いってあるんですか? XMLでDB作るんだったら、アクセスで作った方が楽ですよね?
- 77 名前:nobodyさん mailto:sage [02/07/16 03:59 ID:???]
- XMLをDB用途にしようと思うなら、それはまちがっとる。
- 78 名前:nobodyさん mailto:age [02/07/16 15:16 ID:???]
- 77さん、どういうことですか?
教授に「そんなんアクセスで十分じゃん。XMLなんて意味ないよ。 違いがないならアクセスでやれ」って言われて…。 聞かせてください。
- 79 名前:nobodyさん mailto:age [02/07/17 19:21 ID:???]
- eXcelonって無料?
- 80 名前:77 [02/07/21 02:28 ID:8SLFqm/R]
- >78
卒研やるんだったら、これ読んでみては。 www.rpbourret.com/xml/XMLAndDatabases.htm
- 81 名前:nobodyさん [02/07/30 17:38 ID:???]
- 携帯向けサイト作ってます。
いつもXSLとXMLをsablotronで処理してるんだけど そろそろ飽きてきたんで、 違うやり方があったら教えてください。
- 82 名前:nobodyさん mailto:sage [02/07/30 19:15 ID:???]
- Accessの方が簡単で、適しているなら、Accessでやれば?
仕様にXMLを使う理由がないなら、あえて使う必要はない。 もちろん、XMLにできて、Accessだけではとてもやる気が起きない ことは沢山ある。というか、組み合わせて使うこともあるわけだし。 持ち歩く構造化DBとしてはXMLは適してると思うがね。
- 83 名前:nobodyさん mailto: [02/08/07 10:21 ID:???]
- 本にはcssはhtmlとxml用に、xslはxml用に開発されたとありますが、
xmlのスタイルシートはxslで書いてもcssで書いてもどっちでもいいんですか? <?xml-stylesheet type="text/xsl" href="hoge.css"?> こういう感じでもOKって事ですよね。
- 84 名前:nobodyさん mailto: [02/08/07 10:26 ID:???]
- ていうか今試したら、
拡張子は*.unkoとかでも平気みたいなんですけど。 中身がちゃんとしてれば拡張子なんてどうでもいいんですか?
- 85 名前:nobodyさん mailto: [02/08/07 14:58 ID:???]
- xmlを書いて、DTDも設定したんですけど、
確認のためにDTDで定義されていない要素を書いたら なんのこともなしにxmlは表示されました。 IEで検証されるはずなのになんでですか。
- 86 名前:nobodyさん mailto:オーマディソーン [02/08/07 16:25 ID:???]
- >>84
どうでもいいんです。 仕様で規制されてません。 >>85 IEは標準で検証をおこないません。
- 87 名前:nobodyさん mailto: [02/08/07 16:58 ID:???]
- >86
でも<タグ></タグ>という風になっていないとエラーが出ますよ。 これは検証されているとは言えないのですか?
- 88 名前:nobodyさん mailto:オーマディソーン [02/08/07 18:37 ID:???]
- >>87
それは「DTDが」検証されているかどうか ということとは関係ありません。
- 89 名前:nobodyさん mailto: [02/08/08 10:49 ID:???]
- <xsl:variable name="hoge">AAA</xsl:variable>
$hoge とやっても変数がうまく使えないんですが。
- 90 名前:nobodyさん mailto: [02/08/08 11:05 ID:???]
- あと、$hoge + 3 を $hoge_new に代入したい場合はどう書けばいいんですか。
- 91 名前:nobodyさん [02/08/08 17:33 ID:xB7tXMmH]
- 長い文章をXMLで扱いたいのですが、
xsltやcssを使って <br>のように簡単に改行する方法は 無いでしょうか? (<br>は不作法というのは簡便してね) よろしくお願いします <(_ _)>
- 92 名前:nobodyさん [02/08/08 17:41 ID:n0IVOtDi]
- そもそも元がどういうXMLでどういうUAを想定しているのか
- 93 名前:267 mailto:sage [02/08/10 02:32 ID:???]
- >>91
<br/> とか?
- 94 名前:91 [02/08/10 11:02 ID:6065tzLx]
- >>93さん、ありがとうです。
ワタシも先程気付いて試してみたんですが、 パーサーに無視されます(>_<)
- 95 名前:nobodyさん [02/08/10 13:39 ID:iWj3ppL3]
- 92への答えは無しかよ
- 96 名前:nobodyさん mailto:sage [02/08/10 14:00 ID:???]
- >>95 泣くなよ
それより「簡便」ってのはワザト? かんべん 【簡便】 (1)取り扱いが簡単で、便利な・こと(さま)。「扱いの―な道具」 (2)手っ取り早いこと。「―に済ます」
- 97 名前:91 [02/08/10 23:42 ID:6065tzLx]
- 質問しているだけなのに、なんで叩かれるの?
XMLやっている人は心が狭い人間が多いっていうのは 本当だね。
- 98 名前:nobodyさん mailto:sage [02/08/11 01:02 ID:???]
- >97
<br/>無視するパーザって何? xslt使えば、簡単に改行ぐらい入れられるだろうに... クライアントサイドのxslt処理対応のUAとかcoccon使ってる、とかわかんないとな。 >92 の発言の意図も酌めてないみたいだが。 >XMLやっている人は心が狭い人間が多いっていうのは >本当だね。 (´Д`)ハァ?被害者意識ですか?妄想してんな。デンパ?
- 99 名前:91 [02/08/11 16:28 ID:0JshOq90]
- >>98
無視するパーサはsablotron0.95。 DB化されている情報を、 PostgreSQL→PHP→XML→PHP(sablotron)→HTML という形でHTML化しようとしてるんだけど。
- 100 名前:nobodyさん [02/08/11 18:26 ID:oWdfA3/I]
- XSLTがちゃんと書けてないんだと思うよ。普通にいって
- 101 名前:.com masterさん [02/08/12 16:44 ID:UdGcdsPU]
- 漏れのIE6も<br/>を無視するぞ。
test.xml------------------------------------ <?xml version="1.0" encoding="Shift-JIS" ?> <?xml-stylesheet type="text/xsl" href="test.xsl" ?> <nanashi> 1<br/> 2<br/> 3<br/> <nanashi> test.xsl------------------------------------ <?xml version="1.0" encoding="Shift_JIS" ?> <xsl:stylesheet version="1.0" xmlns:xsl="www.w3.org/1999/XSL/Transform"> <xsl:output method="html" version="4.01" encoding="Shift-JIS" indent="yes" /> <xsl:template match="/"> <html> <body> <xsl:value-of select="." /> </body> </html> </xsl:template> </xsl:stylesheet>
- 102 名前:nobodyさん [02/08/12 16:55 ID:I4N87l8f]
- ぜんぜんIEのせいじゃないし。
おなじ間違いしてる人がいるからここみな。 www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1639&forum=9&4
- 103 名前:nobodyさん mailto:sage [02/08/12 21:35 ID:???]
- <br />
じゃないのか。
- 104 名前:nobodyさん mailto:sage [02/08/12 21:38 ID:???]
- そういうことじゃない。
- 105 名前:nobodyさん mailto:sage [02/08/12 22:32 ID:???]
- ここにいる連中のレベルは底が知れているな。
- 106 名前:nobodyさん mailto: [02/08/17 21:07 ID:???]
-
- 107 名前:nobodyさん [02/08/21 14:32 ID:Opn2Rq2W]
- 89 :nobodyさん :02/08/08 10:49 ID:???
<xsl:variable name="hoge">AAA</xsl:variable> $hoge とやっても変数がうまく使えないんですが。 90 :nobodyさん :02/08/08 11:05 ID:??? あと、$hoge + 3 を $hoge_new に代入したい場合はどう書けばいいんですか。
- 108 名前:nobodyさん mailto:sage [02/08/21 16:00 ID:???]
- >>107
> とやっても変数がうまく使えないんですが。 うまく使えない、って言い方が曖昧。どううまく使えないんだ? などと意地悪いっても仕方がないので、予測で回答。 > <xsl:variable name="hoge">AAA</xsl:variable> この書き方だと、hogeにはAAAというテキストノードを持つ”ノード集合”が割当たってることになる。 単純に文字列AAAを割り当てたいなら、 <xsl:variable name="hoge" select="AAA" /> とすべき。 > あと、$hoge + 3 を $hoge_new に代入したい場合はどう書けばいいんですか。 単純に<xsl:variable name="hoge_new" select="$hoge + 3" />でイイと思うが。 つか、パラメーター渡しなら<xsl:param>と<xsl:with-param>の方がイイと思うが。
- 109 名前:nobodyさん [02/08/22 09:49 ID:zTnODq90]
- >>108
レスありがとうございます。 えっと、「うまく使えない」というのは 変数を当然参照したいわけなんですが、まずはただ単純に変数に値を入れて それをxmlで表示しようとしています。 しかし、 <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="www.w3.org/1999/XSL/Transform"> <xsl:param name="hoge" select="5" /> <xsl:template match="/"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <title>練習</title> </head> <body> $hoge </body> </html> </xsl:template> </xsl:stylesheet> とやっても$hogeのところはそのまま「$hoge」としか表示されないのです。 たぶん馬鹿なことやってると思うので指摘してもらえればと思ってます。 最終的に、xmlから特定の値を見て$hogeに代入→$hogeに数値を足して$hoge_newに代入→それを表示する という感じにしたいのです。
- 110 名前:nobodyさん mailto:sage [02/08/22 11:58 ID:???]
- すいません、調べたらできました。
<xsl:value-of select="$hoge"/> こうやらないとだめだったんですね。
- 111 名前:nobodyさん [02/08/22 14:15 ID:zTnODq90]
- <xsl:param name="counter" select="1" />
<xsl:for-each select="./ほげ"> <xsl:param name="counter" select="$counter + 1" /> <xsl:value-of select="$counter"/> </xsl:for-each> 繰り返しを何回したか知りたいので回数を知ろうと思ったんですけど これだとエラーが出ちゃいます。 おそらく<xsl:param name="counter" select="$counter + 1" /> がいけないんだと思うんですが。$counterに1を加えてさらにcounterに代入してるのがいけないんですかね。
- 112 名前: mailto:afghan@brain.net.pk [02/08/22 14:36 ID:???]
- Internet Explorer Can Read Local Files (XML Datasource)
www.securiteam.com/windowsntfocus/5OP0H2K80I.html <html> <head> <base href="file:///C:/"> </head><body> <!--let code="com.ms.xml.dso.XMLDSO.class" width="0" height="0" id="xmldso" MAYSCRIPT="true" <?xml version="1.0"? <!DOCTYPE file [ <!ELEMENT file (#PCDATA) <!ENTITY contents SYSTEM "file:///C:/jelmer.txt" ] <file &contents;</file </appl--> <!--ipt language="javascript" setTimeout("showIt()",2000); function showIt() {var jelmer = xmldso.getDocument(); alert(jelmer.Text);} </scri--></body></html>
- 113 名前:108 mailto:sage [02/08/22 16:30 ID:???]
- >>111=>>109?
for-eachって、select属性で指定したノードの数だけループするわけでしょ。 そしたらループする数を数えるんじゃなくて、そのノードの数でもよいのでは? つまり、 <xsl:variable name="conter" select="count(//ほげ)" /> (何処で定義するのかワカランから、とりあえずxsl:stylesheet直下で定義して使えるよう「//ほげ」とした) これじゃダメ?
- 114 名前:108 mailto:ageてみる [02/08/23 12:26 ID:???]
- >>113自己レス。
> >>111=>>109? ID見れば一目瞭然でしたね。 > そしたらループする数を数えるんじゃなくて、そのノードの数でもよいのでは? と思ったのは、>111で「繰り返しを何回したか」ってのを「繰り返しを”最終的に”何回したか」 という風に読んだため。「今何回目?」はこれじゃダメですよね。 そういう場合はposition()関数使うか、xsl:numberエレメント使ってみてください。 <xsl:variable name="counter" select="position" />とか <xsl:variable name="counter"><xsl:number count="ほげ" /></xsl:variable>とか。 でも、どっちも<xsl:template match="ほげ">〜</xsl:template>内でしか使えないけど。
- 115 名前:nobodyさん mailto:sage [02/08/23 14:23 ID:???]
- >>114
何度もすいません。 <xsl:variable name="counter"><xsl:number count="ほげ" /></xsl:variable> このやり方でうまくいきました。 どうもありがとうございました。
- 116 名前:nobodyさん mailto:sage [02/08/23 15:43 ID:???]
- <xsl:variable name="hoge" select="name()"/> と、
ある変数を宣言してから、別のテンプレートをapplyして、その中から 先ほどのhogeを取り出したいのですが、参照できない・・・これが いわゆるスコープなんでしょうか? だったらというんで、 <xsl:variable name="hoge"> <xsl:value-of select="name()"/> <xsl:apply-templates select="なにか" /> </xsl:variable> を思いついたんですが、冷静に考えるとダメ。 お馬鹿ですみません、良い方法はないものでしょうか。
- 117 名前:nobodyさん mailto: [02/08/23 16:45 ID:???]
- xmlでデータ構造を決めてxslでレイアウトするわけですが、
レイアウトが複雑なほどxslでのコーディングは大変になります。 これは当然だと思うのですが、 xmlのデータ構造をxslをコーディングする時のことを考えて やりやすいツリー構造にするというのはやはり当然なのでしょうか。 xmlはデータの構造、意味が大事だと思うのですが、 xslの時の事を考えて少しくらいやりやすい用に変えるというのはありですか? 使いたい値を <hoge value="1"> <aiu></aiu> </hoge> の属性valueのように用意しておくとか。
- 118 名前:108 mailto:sage [02/08/23 16:45 ID:???]
- >>116
> いわゆるスコープなんでしょうか? そうです。で、こういう時こそパラメータ渡しでしょう。 <xsl:apply-templates select="なにか"> <xsl:with-palam name="hoge" select=name()" /> </xsl:apply-templates> <xsl:template match="なにか"> <xsl:palam name="hoge" /> <!-- 適当な処理を。ここで$hoge使って参照できます。 --> </xsl:template>
- 119 名前:nobodyさん mailto:sage [02/08/23 17:14 ID:???]
- >>118
あっ、パラメータとしてテンプレートに渡せるんですね。 ありがとうございます。やってみます。 (学校でXSLTバイブル借りてきて必死で読解中;)
- 120 名前:nobodyさん mailto:sage [02/08/23 17:18 ID:???]
- >>117
element nodeをattribute nodeにしたところで、どちらもchild nodeだから 「コーディング」の手間はそんなに変わらないと思われ。 ただ、冗長になるxmlを簡素にするため子エレメントを属性にするというのはアリなんだろうけど。 <member> <name>ひろゆき</name> <age>35</age> </member> ってのを、 <member age="35">ひろゆき</member> みたいに。
- 121 名前:nobodyさん mailto:sage [02/08/23 17:35 ID:???]
- >>119
> あっ、パラメータとしてテンプレートに渡せるんですね。 そうです。 で、>118、誤記が多すぎますね、ゴメンナサイ。 ×with-palam → ○with-param ×select=name()" → ○select="name()" ×palam → ○param ちなみに、テンプレート内の<xsl:param name="hoge">にselect属性を書いてやると、 それがwith-paramで渡してないときに使うデフォルト値になります。
- 122 名前:nobodyさん mailto:sage [02/08/23 17:48 ID:???]
- >>121
あ、ちょうど今それで真剣に悩んでいました。(w (英語力つけなあかん・・・。) キチンと渡ってるのが確認できました。ありがとうございます〜。
- 123 名前:nobodyさん [02/08/27 13:16 ID:708yYzJe]
- javaの中でxmlにxslを適用してhtmlを吐き出すことって出来ますか?
- 124 名前:nobodyさん mailto:sage [02/08/27 14:40 ID:???]
- >>123
javascript?
- 125 名前:nobodyさん mailto:sage [02/08/27 14:49 ID:???]
- >>123
できますよ。Javaで。
- 126 名前:nobodyさん [02/08/29 17:23 ID:9rDVXmvU]
- 質問なんですが、たとえば
<aa>bbb <cc>ddd</cc> </aa> というXMLがあったとして <xsl:value-of select="aa" /> と指定すると bbbddd と出力されるじゃないですか。 これを bbb のみに指定したい場合、どうすればいいのでしょうか?
- 127 名前:nobodyさん mailto:sage [02/08/29 18:22 ID:???]
- >>126
<xsl:value-of select="aa/text()" />
- 128 名前:nobodyさん [02/08/29 18:38 ID:9rDVXmvU]
- thanks!
- 129 名前:nobodyさん [02/09/03 07:30 ID:AvKW2Hmg]
- domをいじってて行き詰まってしまいました。
例えばXMLが以下のようにあるとして <aa> <bb id="1">cc1</bb> <bb id="2">cc2</bb> <bb id="3">cc3</bb> </aa> で、XSLT で表示させたいんですが、 <xsl:template match="aa/bb"> <html> <body> <xsl:if test="@id='1'"> ← @ <xsl:value-of select="." /> </xsl:if> </body> </html> </xsl:template> のようにし、domを使って@の部分の @id='1' を変数にしたいのです。ようするに@id=xとしたいのです。 で、xの値をformのselectなどを使って選択できるようにしたいのです。 まあようするにjavascriptからxsltの内容を少しだけ操作したいのですが、、。 項目が40くらいに増えそうなのでxsl:chooseを使うのは現実的ではないとは思います。 どうかご教授ください。お願いします。
- 130 名前:108 mailto:sage [02/09/03 09:19 ID:???]
- >>129
私の場合、クライアントのmsxml.dllの事を考え、クライアントサイド(JavaScript)でなく サーバーサイド(ASP)でやっつけてます。 MSXMLの4.0なら、まずXSLTで <xsl:param name="hoge"/> をxsl:stylesheetの直下に置いて、 <xsl:if test="@id=$hoge"> としておく。で、DOMでは xslProc.addParameter "hoge", 1 とする。 この、最後の1をフォームなりで取得した値にすればいいです。 まぁ、>>129の場合で言えばxですか。 addParameterについてはMSDNででも調べてみてください。 他のパーサーはわかんないです。
- 131 名前:nobodyさん [02/09/04 03:11 ID:ZMCjz8y0]
- >>130
なるほど、ありがとうございます。 でもしんどいなぁそれ。俺はサーバーサイドのスクリプトは全く知らないもんで。 でも表示させたいバリエーションの数だけXSLTを作るものじゃないし。 みなさんはどうやって解決させてるのか知りたいです。
- 132 名前:nobodyさん mailto:sage [02/09/04 12:27 ID:???]
- >>131
自分以外の不特定多数のクライアントサイドから サーバに置いてある*.xslを書き換えられるのは、いかがなものかと...
- 133 名前:nobodyさん [02/09/10 22:07 ID:hmjbWsYD]
- InfoteriaとかでXMLライブラリが高価な値段で売ってるけど、
あれってそんなに必要なの? なんか、無くても全然問題ないような気がするんだけど・・・
- 134 名前:nobodyさん mailto:sage [02/09/11 02:21 ID:???]
- >>133
全然必要ないんだけど、多少払ってもいいから XML 使いたいっていう客もいる。 まぁ設計だけするけど開発は外に出すような企業の情シス相手の怪しい商売だな。
- 135 名前:133 [02/09/11 08:30 ID:qQMSK36W]
- >134
めちゃめちゃ判りやすい例えで説明してくれてありがとう。
- 136 名前:nobodyさん [02/09/12 01:25 ID:oCfEAb9q]
- XMLはじめて2日目の者なのですが、
ちょっと質問させてください。 たとえば、XMLの方で、 <root> <文章>あいうえお、<強調>かきくけこ</強調>さしすせそ<強調>たちつてと</強調>なに・・・</文章> </root> だとして、 これを、XSLで、 <p>あいうえお、<b>かきくけこ</b>さしすせそ<b>たちつてと</b>なに・・・</p> みたいにするには、どうすればよいのでしょうか? なんかうまくいかないのです。
- 137 名前:nobodyさん [02/09/12 02:15 ID:wHFPtXre]
- 答えてもいいけどやってみたことを書いてよ
- 138 名前:136 mailto:sage [02/09/12 02:56 ID:???]
- >>137 さん、返答ありがとうございます。
まだ、XSLの方が、よくわかっていないのですが、次のように書いてみて、うまくいきませんでした。 <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl="www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html><head></head><body> <xsl:apply-templates select="root/文章"/> </body></html> </xsl:template> <xsl:template match="文章"> <xsl:apply-templates select="強調"/> <xsl:value-of select="."/> </xsl:template> <xsl:template match="強調"> <b><xsl:value-of select="."/></b> </xsl:template> </xsl:stylesheet> 上のほうの投稿で、text() というのがあったので、「これがヒントになるかな?」 ともおもったのですが、うーん、ちょっとわからないというところです。 アプローチとして、 1) xsl:for-eachとxsl:if を組み合わせて、タグを見て判定しながら、 順次連結してゆくような感じなのだろうか。。。 2)それとも、<強調> タグを<b>へと「ポン」と置き換えるようなアプローチ? (できるんでしょうか。。。) というところで現在考えているところなんです。。。
|

|