XMLなんでもスレ。
前スレ: 【XML】xmlns, XSLT, RelaxNG, JAXP, etc.【総合】
http://pc11.2ch.net/test/read.cgi/tech/1133280488/
前々スレ: 【必須?】XML技術【使ってる?】
http://pc8.2ch.net/test/read.cgi/tech/1090253584/
<XML総合 part="3"/>
■ このスレッドは過去ログ倉庫に格納されています
2008/10/07(火) 17:40:09
2008/12/04(木) 02:45:59
>>88
RTFはHTMLと一緒だよ。
RTFはHTMLと一緒だよ。
2008/12/04(木) 08:10:13
2008/12/04(木) 08:14:51
あと、>>79について、完全に歴史の話だと思うけど、
> 括弧の入れ子構造は自然にツリーになるから
というのは、XML仕様の作成者の意図は、「括弧の入れ子構造」を使った
データフォーマットを作ることが先にあって、ツリーになったのは結果論という認識でいい?
> 括弧の入れ子構造は自然にツリーになるから
というのは、XML仕様の作成者の意図は、「括弧の入れ子構造」を使った
データフォーマットを作ることが先にあって、ツリーになったのは結果論という認識でいい?
93デフォルトの名無しさん
2008/12/04(木) 17:13:22 INIファイルをXMLファイルに変換する方法を教えてください
2008/12/04(木) 17:52:51
2008/12/04(木) 19:57:35
鬼才現る
96デフォルトの名無しさん
2008/12/04(木) 20:59:50 >>94
できなかったです+_+
できなかったです+_+
2008/12/04(木) 22:07:50
【サンタクロース、トナカイの酒気帯び運用で逮捕。有罪判決に、マジ逆切れ&大暴れw(動画有り)】(ZDNet)
http://builder.japan.zdnet.com/story_media/20384793/081204_sun-james-gosling_03_400x300.jpg
http://builder.japan.zdnet.com/story_media/20384793/081204_sun-james-gosling_01_400x300.jpg
http://builder.japan.zdnet.com/story_media/20384793/081204_sun-james-gosling_02_400x300.jpg
2008/12/08(月) 16:04:44
hoge要素に対するhoe要素、hogehoge要素に対するhoehoe要素が
別のXML文書(hoe.xml)内にあるものとして、
そこへそれぞれにリンクを設定する必要がある時、
<root>
<hoge xml:base="hoe.xml#xpointer(hoe[1])">
<hogehoge xlink:href="#xpointer(hoe[1]/hoehoe[1])" />
</hoge>
</root>
"hoe[1]"を2回書くの嫌なんですが、こう書かなきゃだめ?
xml:baseはXPath部分は含んでくれない?
別のXML文書(hoe.xml)内にあるものとして、
そこへそれぞれにリンクを設定する必要がある時、
<root>
<hoge xml:base="hoe.xml#xpointer(hoe[1])">
<hogehoge xlink:href="#xpointer(hoe[1]/hoehoe[1])" />
</hoge>
</root>
"hoe[1]"を2回書くの嫌なんですが、こう書かなきゃだめ?
xml:baseはXPath部分は含んでくれない?
2008/12/19(金) 07:35:14
画像処理の実験データを記録するのに、勉強がてらxmlを使うことにしたのですが
例えば、目標位置を記録する場合の要素Targetがあったとして
例@
<Target num="0" x="315" y="292">
例A
<Target>
<Num>0</Num>
<X>315</X>
<Y>292</Y>
</Target>
この二通りを考えたとき、どちらの書き方が『正しい』と言えるのでしょうか。
自分はどちらでもいいのではと思っており、例@を採用していたのですが、報告会で先輩から
「そういう属性だけの要素が存在してもいいの?」や「そういうのを書くとき、一般的な決まりごととか無いの?」などの
質問を受けました。考えたことも無かったので調べてはみたのですが
これといった答えが見つからず、質問に参った次第です。
好みの問題なのでしょうか。それとも、何か決まりごとのようなものがあるのでしょうか。
参考になるwebサイトなどでも構いません。知っている方がおりましたら、どうかご教授ください。
例えば、目標位置を記録する場合の要素Targetがあったとして
例@
<Target num="0" x="315" y="292">
例A
<Target>
<Num>0</Num>
<X>315</X>
<Y>292</Y>
</Target>
この二通りを考えたとき、どちらの書き方が『正しい』と言えるのでしょうか。
自分はどちらでもいいのではと思っており、例@を採用していたのですが、報告会で先輩から
「そういう属性だけの要素が存在してもいいの?」や「そういうのを書くとき、一般的な決まりごととか無いの?」などの
質問を受けました。考えたことも無かったので調べてはみたのですが
これといった答えが見つからず、質問に参った次第です。
好みの問題なのでしょうか。それとも、何か決まりごとのようなものがあるのでしょうか。
参考になるwebサイトなどでも構いません。知っている方がおりましたら、どうかご教授ください。
100デフォルトの名無しさん
2008/12/19(金) 08:00:22 ないからどういう風に書くかスキーマを書いて決める。
101デフォルトの名無しさん
2008/12/19(金) 08:03:10 特に num や x が二つ以上あれば属性ではなく要素を選択するしかないけど、
構造体やハッシュ/辞書みたいなデータ構造を XML に落とす場合は
どっちでもいいと思うよ
ちなみに XML Hacks って本が言うには
要素にするか属性にするかは論争の種ではあるけれど
相互変換が可能なのでお好みでどうぞというのが結論だった気がする
構造体やハッシュ/辞書みたいなデータ構造を XML に落とす場合は
どっちでもいいと思うよ
ちなみに XML Hacks って本が言うには
要素にするか属性にするかは論争の種ではあるけれど
相互変換が可能なのでお好みでどうぞというのが結論だった気がする
102デフォルトの名無しさん
2008/12/19(金) 08:33:30 num や x が2つ以上あっても例えば空白区切りで書けるけど。
103デフォルトの名無しさん
2008/12/19(金) 08:48:40104デフォルトの名無しさん
2008/12/19(金) 11:01:45 属性にできるなら属性にしたほうがコードは書き易い印象がある。
105デフォルトの名無しさん
2008/12/19(金) 15:17:13 >>104
DOMにしてもSAXにしても確かに属性にした方が楽ですね。
DOMにしてもSAXにしても確かに属性にした方が楽ですね。
106デフォルトの名無しさん
2008/12/20(土) 00:33:05 >>103
<svg:path d="M 0 0 L 0 100 100 100 100 0 0 0" />
<svg:path d="M 0 0 L 0 100 100 100 100 0 0 0" />
107デフォルトの名無しさん
2008/12/20(土) 03:37:06 >>99
「XML 要素 属性 使い分け」でググるといくつか出てくるから参考にするとよろし
「XML 要素 属性 使い分け」でググるといくつか出てくるから参考にするとよろし
108デフォルトの名無しさん
2008/12/25(木) 02:19:56 xsltで質問です。
xmlをxslでhtmlにしたいのですが、
できるhtmlに文書型宣言を入れることはできるのでしょうか。
よろしくお願いします。
xmlをxslでhtmlにしたいのですが、
できるhtmlに文書型宣言を入れることはできるのでしょうか。
よろしくお願いします。
109デフォルトの名無しさん
2008/12/25(木) 02:23:54110デフォルトの名無しさん
2008/12/25(木) 02:37:16111デフォルトの名無しさん
2008/12/27(土) 14:29:33 自分のホームページの資料的コンテンツのところをXML&XSLTにしようと思って勉強しはじめました。
友人に貰った何年も前の「10日で覚えるXML入門」とかいうの本を見てるんですが、いまいち分かりにくいので、他の入門書があったら教えて貰えませんか?
分けあって今PCがネットに繋げられない状況なので、ぐぐれってのは無しでお願いします(^_^;)
友人に貰った何年も前の「10日で覚えるXML入門」とかいうの本を見てるんですが、いまいち分かりにくいので、他の入門書があったら教えて貰えませんか?
分けあって今PCがネットに繋げられない状況なので、ぐぐれってのは無しでお願いします(^_^;)
112デフォルトの名無しさん
2008/12/27(土) 15:13:39 どっちかというとXSLTの本を買うべきなんじゃないかという気がするけど、
俺は全然わからないのでえろい人たのむ
俺は全然わからないのでえろい人たのむ
113デフォルトの名無しさん
2008/12/27(土) 15:23:01 Webになっちゃうけど「万葉の想い」には時々お世話になります。
とても説明が丁寧なので大変助けられます。
同僚が近くにいるときには微妙に利用しにくいのが何ですが(笑)。
とても説明が丁寧なので大変助けられます。
同僚が近くにいるときには微妙に利用しにくいのが何ですが(笑)。
114デフォルトの名無しさん
2008/12/27(土) 19:16:44 >>113
Webは見たこと無いけど、書籍( ttp://www.amazon.co.jp/dp/4881662201/ )はよかったな
Webは見たこと無いけど、書籍( ttp://www.amazon.co.jp/dp/4881662201/ )はよかったな
115デフォルトの名無しさん
2008/12/27(土) 20:01:03 とりあえずオライリーいっとけ
116デフォルトの名無しさん
2008/12/28(日) 11:30:54117デフォルトの名無しさん
2008/12/28(日) 14:00:00 なし。
ブラウザ実装のXSLTトランスフォーマは屑だらけな上、互換性ないから。
そういうことしたいならphpとかjspとかそっち系。
ブラウザ実装のXSLTトランスフォーマは屑だらけな上、互換性ないから。
そういうことしたいならphpとかjspとかそっち系。
118デフォルトの名無しさん
2008/12/28(日) 17:20:33 標準準拠してない処理系を切り捨てる気があるなら十分アリ。
119デフォルトの名無しさん
2008/12/28(日) 17:30:58 挑戦してみて一度挫折してみるのも技術の可能性と限界、適切な適用領域
を理解するために良いかも。
以前「元データのXMLをこのXSLTで変換すると、こ〜んなインタラクティブ
なHTMLページに!」なんてものを紹介された事があって、その実装の詳細
をみて驚愕した事がある。
それはまさにJavaScriptコードを生成するXSLT。HTML要素を出力する
templateの記述はほんの数行で、あとはJavaScript変数に値を代入する
templateやJavaScript関数を実行するtemplateが延々と続く。
これでXMLデータを変換すると殆ど空っぽのHTML文書に巨大JavaScript
プログラムが埋め込まれたものを生成。
で、具体的なHTML文書中の表示要素の生成やインタラクティブ云々は
全てJavaScriptプログラム側に丸投げされているという、そういう代物。
で、見て関心しているだけだったら良かったのだけど、そのXSLTのデバッグ
を仕事に振られて・・・(´Д⊂
を理解するために良いかも。
以前「元データのXMLをこのXSLTで変換すると、こ〜んなインタラクティブ
なHTMLページに!」なんてものを紹介された事があって、その実装の詳細
をみて驚愕した事がある。
それはまさにJavaScriptコードを生成するXSLT。HTML要素を出力する
templateの記述はほんの数行で、あとはJavaScript変数に値を代入する
templateやJavaScript関数を実行するtemplateが延々と続く。
これでXMLデータを変換すると殆ど空っぽのHTML文書に巨大JavaScript
プログラムが埋め込まれたものを生成。
で、具体的なHTML文書中の表示要素の生成やインタラクティブ云々は
全てJavaScriptプログラム側に丸投げされているという、そういう代物。
で、見て関心しているだけだったら良かったのだけど、そのXSLTのデバッグ
を仕事に振られて・・・(´Д⊂
120デフォルトの名無しさん
2008/12/28(日) 17:40:32 ろくにクロスブラウザされてなくて動作チェックに苦労したと・・・。
121デフォルトの名無しさん
2008/12/28(日) 17:43:46 クロスブラウザとかライブラリ側でやってくれてないと死ねるな。
122デフォルトの名無しさん
2008/12/28(日) 18:19:33 クロスブラウザも苦労しましたが、一番死ねたのがXSLTとJavaScriptが
素晴らしくフュージョンしてコンバインしていた点です。
XSLTのtemplateとしてJavaScriptの関数宣言が記述されていて、その
関数定義中の所々にまたXSLTのapply-templatesやfor-eachが記述
されている。
で、変換するXMLデータに応じて新しい関数を動的にバキバキ宣言して、
そのロジックをニョキニョキと自動生成するのです。
その技術ロマンは理解出来ないわけでもありません。ですが、
・変換対象のXMLデータに応じて、毎回JavaScript関数の内容が変化(涙)
・JavaScriptのデバッグをするのに、書き換えるのはXSLT、そのもどかしさ
・・・最終的にはXMLデータをJSON風のJavaScript Objectの配列に変換
するところだけにXSLTは用いて、「静的な」JavaScriptプログラムとして
ロジックを一から書き直して放り込んで始末しました。
プログラムの世界には、時々「混ぜては危険」なものもあると実感しました。
素晴らしくフュージョンしてコンバインしていた点です。
XSLTのtemplateとしてJavaScriptの関数宣言が記述されていて、その
関数定義中の所々にまたXSLTのapply-templatesやfor-eachが記述
されている。
で、変換するXMLデータに応じて新しい関数を動的にバキバキ宣言して、
そのロジックをニョキニョキと自動生成するのです。
その技術ロマンは理解出来ないわけでもありません。ですが、
・変換対象のXMLデータに応じて、毎回JavaScript関数の内容が変化(涙)
・JavaScriptのデバッグをするのに、書き換えるのはXSLT、そのもどかしさ
・・・最終的にはXMLデータをJSON風のJavaScript Objectの配列に変換
するところだけにXSLTは用いて、「静的な」JavaScriptプログラムとして
ロジックを一から書き直して放り込んで始末しました。
プログラムの世界には、時々「混ぜては危険」なものもあると実感しました。
123デフォルトの名無しさん
2008/12/28(日) 18:36:18 >関数定義中の所々にまたXSLTのapply-templatesやfor-eachが記述
されている。
>
>で、変換するXMLデータに応じて新しい関数を動的にバキバキ宣言して、
>そのロジックをニョキニョキと自動生成するのです。
さすがチューリング完全のXSLT・・・と言いたいが、
そういうのは実行中にオブジェクトのプロパティに関数突っ込むのがプロトタイプベースOOPの流儀なんだが。
ろくにjavascript触れないPGの苦肉の策にしか見えない。
てかHTML+DOMだけでできる気がする。
されている。
>
>で、変換するXMLデータに応じて新しい関数を動的にバキバキ宣言して、
>そのロジックをニョキニョキと自動生成するのです。
さすがチューリング完全のXSLT・・・と言いたいが、
そういうのは実行中にオブジェクトのプロパティに関数突っ込むのがプロトタイプベースOOPの流儀なんだが。
ろくにjavascript触れないPGの苦肉の策にしか見えない。
てかHTML+DOMだけでできる気がする。
124デフォルトの名無しさん
2008/12/28(日) 18:40:59 言語のコンパイラひとつ丸ごとデバッグしろっていうのに等しいなw
125デフォルトの名無しさん
2008/12/28(日) 19:06:30 実際、言語コンバータ一つ丸ごとデバッグしてるので間違ってないな。
126デフォルトの名無しさん
2008/12/28(日) 19:08:25 >>123
元々はSVGによるグラフをXSLTを使って生成する事が目的だった様です。
ところがSVGの代わりにFlashのグラフコンポーネントを使う事になって、
そのFlashではパラメーターをJavaScriptで渡す必要があった。
で、「よ〜しJavaScriptコードもXSLTで生成しちゃうぞ〜」となった様です。
やがてXSLTを用いたJavaScriptコードの生成技術にもますます磨きが
かかり、関数宣言やロジック実装までXSLTでバキバキ行うように。
いや動く、確かに動くんです。デバッグの手間や拡張さえ考えなければ。
技術の無駄遣いというか、どこで磨き方の方向を誤ったのやら・・・
>>124
いや、まさにそんな感じです。プログラムだけではなくコンパイラの面倒も
見なくちゃいけない、そんな感じでした。
元々はSVGによるグラフをXSLTを使って生成する事が目的だった様です。
ところがSVGの代わりにFlashのグラフコンポーネントを使う事になって、
そのFlashではパラメーターをJavaScriptで渡す必要があった。
で、「よ〜しJavaScriptコードもXSLTで生成しちゃうぞ〜」となった様です。
やがてXSLTを用いたJavaScriptコードの生成技術にもますます磨きが
かかり、関数宣言やロジック実装までXSLTでバキバキ行うように。
いや動く、確かに動くんです。デバッグの手間や拡張さえ考えなければ。
技術の無駄遣いというか、どこで磨き方の方向を誤ったのやら・・・
>>124
いや、まさにそんな感じです。プログラムだけではなくコンパイラの面倒も
見なくちゃいけない、そんな感じでした。
127デフォルトの名無しさん
2008/12/29(月) 00:47:44 俺はPHPでXSLTでXML整形してかきだすWikiみたいの作ってるけど
未実装関数とか多いわ挙動おかしいわで苦労することだけは伝えておこう。
あとhtml5で書こうとしてXSLTからはDOCTYPE生成できないとか、
妙に新しいことやるのもダメポ。
未実装関数とか多いわ挙動おかしいわで苦労することだけは伝えておこう。
あとhtml5で書こうとしてXSLTからはDOCTYPE生成できないとか、
妙に新しいことやるのもダメポ。
128デフォルトの名無しさん
2008/12/29(月) 01:11:45 >>127
DOCTYPE が生成できないとか嘘だろ。
DOCTYPE が生成できないとか嘘だろ。
129デフォルトの名無しさん
2008/12/29(月) 23:22:05130デフォルトの名無しさん
2008/12/30(火) 17:59:51 xml好きの俺が仕事納めに一言申します
php, jsp, aspとかのソース見てると罪悪感
嫌悪感を感じます
<e name="<%= value %>" />
なんか、いや、もうっやめてあげてえーー
php, jsp, aspとかのソース見てると罪悪感
嫌悪感を感じます
<e name="<%= value %>" />
なんか、いや、もうっやめてあげてえーー
131デフォルトの名無しさん
2008/12/30(火) 18:23:09 こういうXMLに変数値を埋め込む方法は悩ましいですねぇ。
E4Xではどうでしょう(以下はActionScript3の例)。
var value:String ="Foo bar"
var xml:XML = <e name={value} />
二重引用符が必要無いのが素敵。
E4Xではどうでしょう(以下はActionScript3の例)。
var value:String ="Foo bar"
var xml:XML = <e name={value} />
二重引用符が必要無いのが素敵。
132デフォルトの名無しさん
2008/12/30(火) 18:43:15 hamlとか割といいと思いますヨ
133デフォルトの名無しさん
2008/12/30(火) 21:40:53 普通にDOMで吐き出してるなあ
134デフォルトの名無しさん
2009/01/18(日) 23:24:09 亀だが、JSPならXML構文使えば?
数値文字参照とかELとかでいくらでも解消できるだろ。
数値文字参照とかELとかでいくらでも解消できるだろ。
135デフォルトの名無しさん
2009/01/20(火) 11:01:04 データをCSVからXMLに移行しようと思ったのですが、本が古くて今でも通用するのか心配です。
XMLでデータを作成して、XSLTでIEに表示させるようにするのが主流であってますか?
CSSという奴はどういう位置付けなんでしょうか?
XMLでデータを作成して、XSLTでIEに表示させるようにするのが主流であってますか?
CSSという奴はどういう位置付けなんでしょうか?
136デフォルトの名無しさん
2009/01/20(火) 11:01:41 すいません上げさせてください。
137デフォルトの名無しさん
2009/01/20(火) 11:47:45 >>135
XML で作成したデータを XSLT で変換するのは
IE じゃなくて Java とかのプログラムを使うのが普通かと。
ユーザーが全員 IE を使ってるわけではないし
全てのブラウザが正しく XSLT に対応しているわけでもない。
自分だけで使うなら IE でも全然かまわないが。
XSLT が文書構造(スタイル)を決定するのに対して
CSS は見た目(スタイル)を決める。
例えばデータを XSLT で表構造に変換して CSS で表に枠を付けるみたいに。
XML で作成したデータを XSLT で変換するのは
IE じゃなくて Java とかのプログラムを使うのが普通かと。
ユーザーが全員 IE を使ってるわけではないし
全てのブラウザが正しく XSLT に対応しているわけでもない。
自分だけで使うなら IE でも全然かまわないが。
XSLT が文書構造(スタイル)を決定するのに対して
CSS は見た目(スタイル)を決める。
例えばデータを XSLT で表構造に変換して CSS で表に枠を付けるみたいに。
138デフォルトの名無しさん
2009/01/20(火) 12:26:50 Java入れるくらいならそのページは見ない。
IE使ってる人 > そのページを見るためにJava入れてもいい人
この式が成り立つなら、IE対応で良いのでは?
サーバーサイドに関してはどうでもいいと思いますね。
IE使ってる人 > そのページを見るためにJava入れてもいい人
この式が成り立つなら、IE対応で良いのでは?
サーバーサイドに関してはどうでもいいと思いますね。
139デフォルトの名無しさん
2009/01/20(火) 12:31:46 これほどまでに珍妙なレスは久々に見た気がする
140デフォルトの名無しさん
2009/01/20(火) 13:14:48 >>138
JavaってXMLをHTMLに変換して表示するだけならサーブレットでいいんじゃないの。
ユーザー側は何も「入れる」必要なく見れる。
サーブレットまで行かなくてもPHP(笑)とかRubyとかPython使ってサーバー側で変換して、
ユーザーには変換後のHTML(+CSS)のみ返すのが主流じゃないか?
…それともjavascriptで変換するつもりじゃないよね?
JavaってXMLをHTMLに変換して表示するだけならサーブレットでいいんじゃないの。
ユーザー側は何も「入れる」必要なく見れる。
サーブレットまで行かなくてもPHP(笑)とかRubyとかPython使ってサーバー側で変換して、
ユーザーには変換後のHTML(+CSS)のみ返すのが主流じゃないか?
…それともjavascriptで変換するつもりじゃないよね?
141デフォルトの名無しさん
2009/01/20(火) 13:32:07 >>135
>XMLでデータを作成して、XSLTでIEに表示させるようにするのが主流であってますか?
そういう未来は結局来なかった、というのが正解では。
まずWebブラウザ上のXSLTプロセッサを利用してクライアントサイドで
XMLをHTML等に変換して表示、これはあまりポピュラーではない。
問題はつい最近までのブラウザのXSLT実装状況のばらつき。
積極的に使われるのは趣味か、イントラ等でクライアント環境が揃って
いる場合ぐらいではないかと思う。。
次にJava等のライブラリを用いてサーバーサイドで変換、変換結果の
HTML等をクライアントに送信する用途では、案外使われる。
ただしこの場合にはJSP等が対抗技術になる。
XMLで表現されたデータをそのまま表示する事というのは案外少なくて、
大抵はビューとの間にロジックを噛ます。そういう場合はXML上のデータ
を一旦Java等のオブジェクトにマッピングする必要があるし、この場合は
JSP等でビューを定義して出力した方が簡単。
サーバーサイドでの利用に関しては、ビューのテンプレートを記述する
技術のワンオブゼムという扱いだと思う。
>XMLでデータを作成して、XSLTでIEに表示させるようにするのが主流であってますか?
そういう未来は結局来なかった、というのが正解では。
まずWebブラウザ上のXSLTプロセッサを利用してクライアントサイドで
XMLをHTML等に変換して表示、これはあまりポピュラーではない。
問題はつい最近までのブラウザのXSLT実装状況のばらつき。
積極的に使われるのは趣味か、イントラ等でクライアント環境が揃って
いる場合ぐらいではないかと思う。。
次にJava等のライブラリを用いてサーバーサイドで変換、変換結果の
HTML等をクライアントに送信する用途では、案外使われる。
ただしこの場合にはJSP等が対抗技術になる。
XMLで表現されたデータをそのまま表示する事というのは案外少なくて、
大抵はビューとの間にロジックを噛ます。そういう場合はXML上のデータ
を一旦Java等のオブジェクトにマッピングする必要があるし、この場合は
JSP等でビューを定義して出力した方が簡単。
サーバーサイドでの利用に関しては、ビューのテンプレートを記述する
技術のワンオブゼムという扱いだと思う。
142デフォルトの名無しさん
2009/01/20(火) 13:34:22 IEのXSLTエンジンが一番屑な気がするんだが
143デフォルトの名無しさん
2009/01/20(火) 13:46:15 XML+XSLTの本しかないのでわからないのですが
XSLTを勉強するのは意味無駄だということでしょうか?
今のIEコンポーネントで自分のアプリ内だけでXMLデータを表示させるにはなんら問題はないんでしょうか?
どのみちきれいに見えるようにCSSも勉強しないといけないということですね。
XSLTを勉強するのは意味無駄だということでしょうか?
今のIEコンポーネントで自分のアプリ内だけでXMLデータを表示させるにはなんら問題はないんでしょうか?
どのみちきれいに見えるようにCSSも勉強しないといけないということですね。
144デフォルトの名無しさん
2009/01/20(火) 15:40:24 無意味って事はないよ。勉強という意味では学んでみるのも
悪くない。ただその本が書かれていた頃に期待されていたほど
大活躍はしていないというのも事実だと思う。
CSSについては書いてある通り。XSLTによってHTMLを出力する
にせよ、そのHTMLを見栄えのするものにするには結局CSS等の
Webオーサリング界隈で使われている技術を用いる必要がある。
悪くない。ただその本が書かれていた頃に期待されていたほど
大活躍はしていないというのも事実だと思う。
CSSについては書いてある通り。XSLTによってHTMLを出力する
にせよ、そのHTMLを見栄えのするものにするには結局CSS等の
Webオーサリング界隈で使われている技術を用いる必要がある。
145デフォルトの名無しさん
2009/01/20(火) 23:27:43 CSS Lv3が控えてるからなぁ。あれは組版にも耐える仕様。XSLTと衝突する。
まあ日本語組版に耐えうるかは知らんが・・・日本語は手でやるのが最強だしな。
まあ日本語組版に耐えうるかは知らんが・・・日本語は手でやるのが最強だしな。
146デフォルトの名無しさん
2009/01/21(水) 09:19:08147デフォルトの名無しさん
2009/01/21(水) 10:22:47 なんだ釣りか
148デフォルトの名無しさん
2009/01/21(水) 18:31:12 いやまぁ、俺もそれで大分悩んだクチだが。
>>146
結論から言うと、それは「ただの一意な文字列」であるという以上の意味はない。
「xmlns:xsl="http://www.w3.org/1999/XSL/Transform"」と書けば、
<xsl:〜>というタグはXSLT的に意味があるよ、というお約束なだけ。
ブラウザで開いてみれば分かるけど、そのアドレス自体は仕様へのリンクが
張ってあるだけのページで、XSLT処理系もパースの度にそこにアクセスしたりはしない。
>>146
結論から言うと、それは「ただの一意な文字列」であるという以上の意味はない。
「xmlns:xsl="http://www.w3.org/1999/XSL/Transform"」と書けば、
<xsl:〜>というタグはXSLT的に意味があるよ、というお約束なだけ。
ブラウザで開いてみれば分かるけど、そのアドレス自体は仕様へのリンクが
張ってあるだけのページで、XSLT処理系もパースの度にそこにアクセスしたりはしない。
149デフォルトの名無しさん
2009/01/22(木) 07:21:58 ありがとう!全XMLを一括管理されてるのかと思ってXMLやめようかと思ったよ
150デフォルトの名無しさん
2009/01/22(木) 07:32:37 全xml管理を想像した…
すごいスペックだ
すごいスペックだ
151デフォルトの名無しさん
2009/01/22(木) 07:59:41 THcompを思い出した。
152デフォルトの名無しさん
2009/01/22(木) 13:49:40 XMLのシンプルなデータ構造をブラウザで表示する場合一番いい方法はなんですか?
XMLにXSLTを参照させてXMLを表示
HTMLにXMLを参照させてHTMLを表示
XMLにXSLTを参照させてXMLを表示
HTMLにXMLを参照させてHTMLを表示
153デフォルトの名無しさん
2009/01/22(木) 13:59:18 Firefox なら xml を見るモードがあるけど、そういうのはダメなの?
154デフォルトの名無しさん
2009/01/22(木) 14:53:10 見た目を調整したいのですが、いろいろ実現する方法があるので、違いがわからず
決めかねてるんですが、組み合わせは実現できればどうでもいいんでしょうか?
決めかねてるんですが、組み合わせは実現できればどうでもいいんでしょうか?
155デフォルトの名無しさん
2009/01/22(木) 15:41:11 xhtmlにしてfirefoxでエディットモードでいじればいいんじゃないだろうか。
表示周りはCSSごりごり書いて。
表示周りはCSSごりごり書いて。
156デフォルトの名無しさん
2009/01/22(木) 15:46:36 html として解釈できない xml から html として解釈できる xml に変換するのが XSLT
html のレンダリング方法をいじる情報を付加するのが CSS
html のレンダリング方法をいじる情報を付加するのが CSS
157デフォルトの名無しさん
2009/01/22(木) 15:58:01 >>152
xsltかjavascriptかってことなんかな?
xsltかjavascriptかってことなんかな?
158デフォルトの名無しさん
2009/01/22(木) 16:42:56 Linux使えばいい。
159デフォルトの名無しさん
2009/01/22(木) 19:14:31 XMLにXSLTを参照させてXMLを表示
HTMLにXMLを参照させてHTMLを表示
この2つだとどっちが自然ですか?
両方HTMLにXMLの情報を取り込んでレイアウトできるんですが。
HTMLにXMLを参照させてHTMLを表示
この2つだとどっちが自然ですか?
両方HTMLにXMLの情報を取り込んでレイアウトできるんですが。
160デフォルトの名無しさん
2009/01/22(木) 19:43:59 >>159
「自然」の定義と、
>HTMLにXMLを参照させてHTMLを表示
これでちょっとよく分からない。フレームやJavaScriptで取り込む
と言うこと?
あとはサーバを介すか全てクライアントで処理するかでも変わる。
現状WebブラウザのXSLTプロセッサの利用は現実的ではない。
「自然」の定義と、
>HTMLにXMLを参照させてHTMLを表示
これでちょっとよく分からない。フレームやJavaScriptで取り込む
と言うこと?
あとはサーバを介すか全てクライアントで処理するかでも変わる。
現状WebブラウザのXSLTプロセッサの利用は現実的ではない。
161デフォルトの名無しさん
2009/01/22(木) 20:00:15 便乗質問しても良い?
XML+XSLT(サーバーサイド)がメインのサイトって、やっぱりテンプレートメインのサイトより少数派なんかな。
XML+XSLT(サーバーサイド)がメインのサイトって、やっぱりテンプレートメインのサイトより少数派なんかな。
162デフォルトの名無しさん
2009/01/22(木) 22:45:54 >>148
でもちょっとくらいそういう欲目はあったかもしれない。
未知構造の文書でも動的にnamespaceの参照先URLにアクセスして
きっちりオンザフライでバリデーションします!なんてエレガント!
俺って天才!
みたいな。
でもちょっとくらいそういう欲目はあったかもしれない。
未知構造の文書でも動的にnamespaceの参照先URLにアクセスして
きっちりオンザフライでバリデーションします!なんてエレガント!
俺って天才!
みたいな。
163デフォルトの名無しさん
2009/01/22(木) 22:56:19 >>162
ていうか、最初そういうものだと思ってスッゲー!って感動していた俺ガイル
ていうか、最初そういうものだと思ってスッゲー!って感動していた俺ガイル
164デフォルトの名無しさん
2009/01/23(金) 22:25:14 RubyのREXML(3.1.7.3)使っているんですが
こんなデータがあって
data1//----
<root>
<elem>1</elem>
<elem>2</elem>
<elem>3</elem>
</root>
----//
data2//----
<root><elem>1</elem><elem>2</elem><elem>3</elem></root>
----//
こんなコードで動かすと
//----
require "rexml/document"
xmldata = REXML::Document.new(File.new("data.xml"))
for i in 1..3
puts(xmldata.elements["/root"].elements[i,"elem"])
puts(xmldata.elements["/root"].elements[i,"elem"].index_in_parent)
end
続く
こんなデータがあって
data1//----
<root>
<elem>1</elem>
<elem>2</elem>
<elem>3</elem>
</root>
----//
data2//----
<root><elem>1</elem><elem>2</elem><elem>3</elem></root>
----//
こんなコードで動かすと
//----
require "rexml/document"
xmldata = REXML::Document.new(File.new("data.xml"))
for i in 1..3
puts(xmldata.elements["/root"].elements[i,"elem"])
puts(xmldata.elements["/root"].elements[i,"elem"].index_in_parent)
end
続く
165デフォルトの名無しさん
2009/01/23(金) 22:25:45 データ1での結果//----
<elem>1</elem>
2
<elem>2</elem>
4
<elem>3</elem>
6
----//
データ2での結果//----
<elem>1</elem>
1
<elem>2</elem>
2
<elem>3</elem>
3
----//
こんな結果になります。
改行を一要素として数えている?
これってバグですかね?
それとも自分がバグ?
<elem>1</elem>
2
<elem>2</elem>
4
<elem>3</elem>
6
----//
データ2での結果//----
<elem>1</elem>
1
<elem>2</elem>
2
<elem>3</elem>
3
----//
こんな結果になります。
改行を一要素として数えている?
これってバグですかね?
それとも自分がバグ?
166デフォルトの名無しさん
2009/01/23(金) 22:28:26 xmldata.elements["/root"].size
でもそれぞれ7と3が返っている
XMLの仕様?パーサの仕様?バグ?
どなたかおしえてー
でもそれぞれ7と3が返っている
XMLの仕様?パーサの仕様?バグ?
どなたかおしえてー
167デフォルトの名無しさん
2009/01/23(金) 22:47:23 改行がTEXTノードとして間に挟まっていると思われ。
xmldata.elements["/root"].elements.each {|e| p e}
とかで確認してみては。
xmldata.elements["/root"].elements.each {|e| p e}
とかで確認してみては。
168164
2009/01/23(金) 22:58:32 >>167
試してみました
結果は両方同じで以下のように表示されます
----
<elem> ... </>
<elem> ... </>
<elem> ... </>
----
CR+LFをLFやCRにしてみても同じでした
なぜだー
試してみました
結果は両方同じで以下のように表示されます
----
<elem> ... </>
<elem> ... </>
<elem> ... </>
----
CR+LFをLFやCRにしてみても同じでした
なぜだー
169デフォルトの名無しさん
2009/01/23(金) 23:10:26 index は要素だけじゃなくて全てのノードなのに対して
elements が要素しか返さないからじゃないのか?
elements が要素しか返さないからじゃないのか?
170164
2009/01/23(金) 23:21:13 要素名指定なしで、indexのみで表示してみました
for i in 1..3
puts(xmldata.elements["/root"].elements[i])
end
結果はまた両方同じで
<elem>1</elem>
<elem>2</elem>
<elem>3</elem>
for i in 1..3
puts(xmldata.elements["/root"].elements[i])
end
結果はまた両方同じで
<elem>1</elem>
<elem>2</elem>
<elem>3</elem>
171164
2009/01/23(金) 23:23:08 こんどはrootから直indexで
for i in 1..3
puts(xmldata.elements["/root"][i])
end
----
<elem>1</elem>
<elem>2</elem>
----
<elem>2</elem>
<elem>3</elem>
----
む、微妙な差が。
for i in 1..3
puts(xmldata.elements["/root"][i])
end
----
<elem>1</elem>
<elem>2</elem>
----
<elem>2</elem>
<elem>3</elem>
----
む、微妙な差が。
172デフォルトの名無しさん
2009/01/23(金) 23:27:04 もちついてレスを検証したほうがいいぞ
173164
2009/01/23(金) 23:28:36 for i in 0..3
でやったらこんな感じ
----
<elem>1</elem>
<elem>2</elem>
----
<elem>1</elem>
<elem>2</elem>
<elem>3</elem>
----
index_in_parentはelements単位のindexじゃなくて、
parent[index]のindexを返すのか
で、これには何故か改行コードも一要素として数えられる、と
むぅ、なんか使いにくいぞ>index_in_parent
でやったらこんな感じ
----
<elem>1</elem>
<elem>2</elem>
----
<elem>1</elem>
<elem>2</elem>
<elem>3</elem>
----
index_in_parentはelements単位のindexじゃなくて、
parent[index]のindexを返すのか
で、これには何故か改行コードも一要素として数えられる、と
むぅ、なんか使いにくいぞ>index_in_parent
174164
2009/01/23(金) 23:34:06 えーと、ていうことは、今着目してる"elem"elementsが
親要素の中の何番目の"elem"elementsなのかを
直接知る方法が無いってことかい?
とりあえずもうちょっと検証してみます
ヒントくれた人ありがとー
親要素の中の何番目の"elem"elementsなのかを
直接知る方法が無いってことかい?
とりあえずもうちょっと検証してみます
ヒントくれた人ありがとー
175デフォルトの名無しさん
2009/01/23(金) 23:47:35 うりゃ
for i in 1..3
puts(xmldata.elements["/root"].elements[i,"elem"])
e = xmldata.elements["/root"].elements[i,"elem"]
puts e.parent.elements.index(e) #ここ注目
end
index_in_parentはNodeクラスで定義されているので、
index_in_parentがelementだけではなくTEXTノードも
含めた全ての子Nodeの中での位置を指し示すのは
当然の仕様なんですよ。
なのでelementの並びの中での位置を知りたければ
親elementのelements配列中でのindexを求めれば
良いわけで、上記の解。
for i in 1..3
puts(xmldata.elements["/root"].elements[i,"elem"])
e = xmldata.elements["/root"].elements[i,"elem"]
puts e.parent.elements.index(e) #ここ注目
end
index_in_parentはNodeクラスで定義されているので、
index_in_parentがelementだけではなくTEXTノードも
含めた全ての子Nodeの中での位置を指し示すのは
当然の仕様なんですよ。
なのでelementの並びの中での位置を知りたければ
親elementのelements配列中でのindexを求めれば
良いわけで、上記の解。
177デフォルトの名無しさん
2009/01/25(日) 21:22:42 >>157
最近jQueryを弄っていたので試しにXML Viewerを作ってみようと
したら、案外めんどくさかった。
Tree表示のjQuery Pluginを使えば数行でサクッと出来るかもと
思ったけど、DOMの12のNodeタイプにそれぞれ対応した処理を
書かなければならなかったのが面倒。
最近jQueryを弄っていたので試しにXML Viewerを作ってみようと
したら、案外めんどくさかった。
Tree表示のjQuery Pluginを使えば数行でサクッと出来るかもと
思ったけど、DOMの12のNodeタイプにそれぞれ対応した処理を
書かなければならなかったのが面倒。
178デフォルトの名無しさん
2009/01/25(日) 21:24:10 以下のXMLをその下のXSLで変換してFireFoxで表示させようとしてます。
変換はFireFoxにやらせてます。
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="hoge.xsl" ?>
<books>
<logo>http://www2.2ch.net/2ch.html</logo>
</books>
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html><body>
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="logo" />
</xsl:attribute>
</xsl:element>
</body></html>
</xsl:template>
</xsl:stylesheet>
でもなにも表示されません。これって何か間違ってますでしょうか?
変換はFireFoxにやらせてます。
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="hoge.xsl" ?>
<books>
<logo>http://www2.2ch.net/2ch.html</logo>
</books>
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html><body>
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="logo" />
</xsl:attribute>
</xsl:element>
</body></html>
</xsl:template>
</xsl:stylesheet>
でもなにも表示されません。これって何か間違ってますでしょうか?
179デフォルトの名無しさん
2009/01/25(日) 21:52:40 >>178
画像じゃないじゃん
画像じゃないじゃん
180デフォルトの名無しさん
2009/01/25(日) 22:02:41 <xsl:value-of select="books/logo" />
181デフォルトの名無しさん
2009/01/25(日) 22:05:21 >>179
ありがとうございます。
そうか、と思って直してIEで表示させたら表示できました。
でもFirefoxではやっぱり何も表示されませんでした。
IEとFirefoxってXSLの動きが違うのでしょうか?
ありがとうございます。
そうか、と思って直してIEで表示させたら表示できました。
でもFirefoxではやっぱり何も表示されませんでした。
IEとFirefoxってXSLの動きが違うのでしょうか?
182デフォルトの名無しさん
2009/01/25(日) 22:08:08183デフォルトの名無しさん
2009/01/26(月) 09:34:23 Firefox3.0.5でローカルファイルのXMLでXSLでHTML出力させていますが
一階層上のXSLファイルを相対パスで指定するとXSLが適用されず
テキストのみの表示になります。
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../style.xsl"?>
同一のファイル構成で以下のブラウザでは問題なく表示できました。
IE7/Opera9.63/Safari3.2.1/Chrome1.0.154.43/Seamonkey1.1.14/Netscape9.0.0.5
Firefox3.1beta等でも試してみたところ3.05と同じです。
ただしWebにあげるとどのバージョンのFirefoxでも問題なく表示できます。
Geckoの問題?
一階層上のXSLファイルを相対パスで指定するとXSLが適用されず
テキストのみの表示になります。
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../style.xsl"?>
同一のファイル構成で以下のブラウザでは問題なく表示できました。
IE7/Opera9.63/Safari3.2.1/Chrome1.0.154.43/Seamonkey1.1.14/Netscape9.0.0.5
Firefox3.1beta等でも試してみたところ3.05と同じです。
ただしWebにあげるとどのバージョンのFirefoxでも問題なく表示できます。
Geckoの問題?
184デフォルトの名無しさん
2009/01/26(月) 11:57:32185デフォルトの名無しさん
2009/01/30(金) 02:50:30186デフォルトの名無しさん
2009/01/30(金) 07:47:26 ローカルだとなんかセキュリティがかかっちゃうとか?
187デフォルトの名無しさん
2009/01/30(金) 14:28:54 ローカルだとローカルにあるファイル参照できないよ。mozilla系は。doctypeでSYSTEM指定しないとだめだったはず。
188デフォルトの名無しさん
2009/02/05(木) 19:33:29 Win2008のイベントログをXMLDOMで読み込んで使いたいんですが、XPathクエリがうまく動きません。
何が悪いか見ていただけませんか。
コード(test.vbs)
--
Set dom = CreateObject("Microsoft.FreethreadedXMLDOM")
dom.async = False
dom.setProperty "SelectionLanguage", "XPath"
dom.load "event.xml"
strPath = "*[System/EventID=12012]"
Set colNodes = dom.documentElement.selectNodes(strPath)
WScript.Echo "nodes:" & colNodes.length
--
XML
--
<?xml version="1.0" encoding="SHIFT_JIS"?>
<root>
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><EventID>12011</EventID></System></Event>
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><EventID>12012</EventID></System></Event>
</root>
--
xmlns='http://schemas.microsoft.com/win/2004/08/events/event'がないとうまく動くのですが、xmlnsを指定している場合に
XPathクエリの指定方法が調べた限りで見つからなかったので。
何が悪いか見ていただけませんか。
コード(test.vbs)
--
Set dom = CreateObject("Microsoft.FreethreadedXMLDOM")
dom.async = False
dom.setProperty "SelectionLanguage", "XPath"
dom.load "event.xml"
strPath = "*[System/EventID=12012]"
Set colNodes = dom.documentElement.selectNodes(strPath)
WScript.Echo "nodes:" & colNodes.length
--
XML
--
<?xml version="1.0" encoding="SHIFT_JIS"?>
<root>
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><EventID>12011</EventID></System></Event>
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><EventID>12012</EventID></System></Event>
</root>
--
xmlns='http://schemas.microsoft.com/win/2004/08/events/event'がないとうまく動くのですが、xmlnsを指定している場合に
XPathクエリの指定方法が調べた限りで見つからなかったので。
189デフォルトの名無しさん
2009/02/06(金) 10:29:01 >>188
XPathではプレフィックスなしの要素名は名前空間なしと決まっているんだ。
MSXMLだと名前空間コンテキストを指定する方法があったはず。それでプ
レフィックス⇒名前空間の対応を指定して、XPath中ではプレフィックス
付きで書く。
XPathではプレフィックスなしの要素名は名前空間なしと決まっているんだ。
MSXMLだと名前空間コンテキストを指定する方法があったはず。それでプ
レフィックス⇒名前空間の対応を指定して、XPath中ではプレフィックス
付きで書く。
■ このスレッドは過去ログ倉庫に格納されています
