【XML】xmlns, XSLT, ..
539:デフォルトの名無しさん
07/06/29 00:38:39
そうなんだけど、「じゃあ、Webサーバ無しでやってくれ」とか
無茶言う上司がいるのはお約束。
540:デフォルトの名無しさん
07/06/29 01:05:11
無理に決まってんだろwプギャー
といって勇者として語り次がれてみるとか。
541:デフォルトの名無しさん
07/06/29 01:55:43
echoサーバでやるよ
542:デフォルトの名無しさん
07/06/30 17:34:12
止まってるついでにネタ投下するけどXMLエディタは何使ってる?
シェアは格が違うのでシェア以外で・・・。
543:デフォルトの名無しさん
07/06/30 17:38:03
URLリンク(www.excite.co.jp)
以下文章を上記翻訳サイトにて中→日にせよ
スゲиシギゝ,ザァ,ユЮ.
θイ,ゎモモモモマいデ.
びデた,ゝС,さーモモモモデゝねг
544:デフォルトの名無しさん
07/07/17 10:30:59
検索しても見つからない・・ここでいいのか分からないが、質問させておくれ
<emp>
<name></name>
<salary></salary>
<age></age>
<emp>
※<age>要素はあったりなかったりする
↑こんな感じのがつらなってるテーブルから、
<age>要素のない<emp>だけを取り出したいんだが、どう書けばいいのか分からないorz
//employees[!age] //employees[age=null] //employees/!age ・・・orz
545:デフォルトの名無しさん
07/07/17 10:43:44
ごめん。出直してくる
//employees[not(age)]
546:デフォルトの名無しさん
07/07/20 11:11:38
XPathインジェクションってありますか?
あるとすれば、サニタイズはどういうロジックでやればよいでしょうか?
547:デフォルトの名無しさん
07/07/20 15:54:09
それはXPathエンジンかアプリの実装の問題だろ。
ていうかググればいくらでも出てくるわけだが?
インジェクション対策なんてどれも同じ、外から入力される場合は不適切な文字は受け付けないorエスケープする。
548:デフォルトの名無しさん
07/07/20 23:45:44
URLリンク(www.ibm.com)
549:デフォルトの名無しさん
07/07/21 00:13:33
>>547
不適切な文字は受け付けないと書くよりも、
適切な文字だけを受け付けると書くようにしたほうがいいと思う。
そのほうがホワイトリスト方式を連想しやすいはず。
550:デフォルトの名無しさん
07/07/21 16:46:42
普通は不適切な文字のほうが圧倒的に少ないだろ。
551:デフォルトの名無しさん
07/07/22 00:48:22
だからどうした?
552:デフォルトの名無しさん
07/07/23 10:19:19
併用が望ましい。
553:デフォルトの名無しさん
07/07/27 10:18:45
下記のXMLファイルから、XPATHを使用して「inst_gif1」を取得したくて下記を実行したのですが、
「inst_gif1」と「inst_gif2」の両方が取れてしまいます。
正しいXPATHを教えていただけないでしょうか?
XPATH = /sqlMap[select = 'SELECT']/select/@id
<?xml version="1.0" encoding="Shift_JIS" ?>
<sqlMap namespace="xxx">
<select id="inst_gif1" >SELECT</select>
<select id="inst_gif2" >UPDATE</select>
</sqlMap>
554:デフォルトの名無しさん
07/07/27 10:22:27
/sqlMap/select[text() = 'SELECT']/@id
555:デフォルトの名無しさん
07/07/27 10:36:25
>>554
うおおおおお。迅速な回答ありがとうございます。
556:デフォルトの名無しさん
07/07/28 11:04:25
sqlMap要素をフィルタリングしてもどうしようもない。
557:デフォルトの名無しさん
07/07/28 20:38:36
DBが文字のバイト単位で決められているから、データ交換でXMLを使用する場合、文字データをバイト数単位で制限したいんだけど、xml schemaでそういう制約はできないですよね?
558:名無しさん@そうだ選挙に行こう
07/07/29 01:26:03
レイヤが違うと思う、と仕様を読まずに言ってみる
559:デフォルトの名無しさん
07/07/30 01:07:34
文字数で制約か、hexBinary,base64Binaryに変換しておいてバイト数で制約。
560:デフォルトの名無しさん
07/07/30 07:37:29
unicodeをそのままバイト単位で制限するとコードポインタの途中でブッタ切るw
561:デフォルトの名無しさん
07/07/30 10:30:33
っ UTF-32
562:デフォルトの名無しさん
07/07/30 21:33:19
文字数単位でしていしないでバイト単位で指定するDBなんて、今時存在するのか?
563:デフォルトの名無しさん
07/07/30 23:12:42
えーっと、どんな資料を見てそう言っているの?
564:デフォルトの名無しさん
07/07/31 22:07:06
557だけど。
最近は文字数指定がでふぉなの?
postgresql,UTF8でつかったときは文字数?だったけど。
ちなみに今はOracleです。
565:デフォルトの名無しさん
07/08/01 01:15:59
DB の文字コードが Unicode 系エンコーディングなら大抵文字数。
それ以外なら、バイト数が多いと思う。
>>564
Oracle を Unicode で使ったこと無いんだが、
多分、文字コードの設定次第だろ。
566:デフォルトの名無しさん
07/08/02 18:00:09
VB6でn階層のXML書込みをしたいのですけど 参考になるコードなど
りませんでしょうか?お願いいたします。再帰する関数になると思います。
(MSXML使用)
567:デフォルトの名無しさん
07/08/02 20:50:34
>>566
再帰関数書いたことありますか?
もう少し詳しく自分の状況は書けますか?
少なくとも↓のXMLをMSXMLで書き出すぐらいのコーディングはできますか?
<root attribute="value"><child-elem/></root>
568:デフォルトの名無しさん
07/08/03 02:04:53
MSXMLてDOMの書き出しサポートしてないの?
569:デフォルトの名無しさん
07/08/05 20:09:20
最低限、DOMを文字列型に直すのは用意されてたと思うよ。
570:デフォルトの名無しさん
07/08/06 11:01:45
>>566
読込は再帰処理でしていますが、サンプルコードを改造したものです
書込みはスキーマが決まっているXMLならできますが、さすがに
状況によって階層がまちまちな書き出し処理は再帰関数を使って標準化しないと
無理そうですので。
571:デフォルトの名無しさん
07/08/06 16:37:35
再帰すらろくにできないならプッシュ型パーサに
XMLストリーム渡してハンドリングしながら順次書き出すのが一番楽だね。
書き出しならDOMかE4X、読み出しならプル型かXPathってところか。
XPathは構文特殊だがハイブリッド型の実装って少ないからなぁ。
特殊な事するならパーサ部分から自前でした方が早いね。
572:デフォルトの名無しさん
07/08/06 17:16:00
>>571
回答ありがとうございます。ただその回答内容を理解できる知識があれば
こんな質問はしていないと思います。学生じゃないのでXMLについて勉強して
なんてちんたらやってられないのが現実です。勉強してもだれもお金
くれないですからね。読込はネットを見てたら誰かが書いてたのでそれを
参考にして作りました。書込み処理もあったような気がしたんですが、
チェックしとけばよかったですね、後悔先に立たず。とりあえず先人が
やってることを真似、使いまわしすればできるのであって、
極端に言うとプログラム作るのに、コンパイラから作成するのは時間が
もったいないですから。VBが2万円ならそっちの方が効率がよい。
XML読込処理も社長が普通にTEXT読込してやろうとしてたので
(MSXMLを知らなかったみたい)
そりゃあんさん無理でっせということでぼくが作りましたが。
573:デフォルトの名無しさん
07/08/06 18:38:39
仕事でPGする奴ってのはこういう考え方が普通なんだな。オレの周りもそうだし。
理解しなきゃいけないんだろうな…。
574:デフォルトの名無しさん
07/08/06 19:30:52
仕事だったらこんな愚痴だけの長文書いてる暇はないだろ。
575:デフォルトの名無しさん
07/08/06 19:48:34
>>572
> XML読込処理も社長が普通にTEXT読込してやろうとしてたので
ということは、
1. ファイルとして保存されたXML文書がまず存在する
2. それをMSXMLで読み込んでDOMに変換する
3. 何らかの操作をDOMに加える
4. そのDOMをまたXML文書としてファイルに書き出す
こういう処理がしたいということ?だったら
URLリンク(msdn2.microsoft.com)
>>573
ピンキリ。
576:デフォルトの名無しさん
07/08/06 21:58:05
>>573
ふつうじゃないよ。みんな考え方違うよ。
そもそも>>572の会社自体が相当な問題だと思う。
577:デフォルトの名無しさん
07/08/07 03:28:46
下請け辺りの土方なんじゃない?
XMLの読み書きだけなら巨大になりがちなXML APIリファレンス理解する
間にXMLの概念勉強する暇があると思うんだが。
XML API理解してもXML理解してないと使えないよ?
多分DOMで改行しようしてハマルのがオチだと思う。
XML理解する気もAPIも使えんなら初めから他の形式使った方が時間の無駄がないよ。
多分元々、学術的・技術的な問題を解決するための
SGML/XMLなのにただのデータフォーマットだと思って使おうとする奴がこういう羽目になるんだろうな。
578:デフォルトの名無しさん
07/08/07 04:57:45
XML は、ただのデータフォーマットだろ
579:デフォルトの名無しさん
07/08/07 07:42:46
SGML/XMLはdocuments
580:sage
07/08/07 14:02:23
一応できたみたい 参考にならなかったけど ありがとう
581:デフォルトの名無しさん
07/08/07 14:09:38
そもそも再帰も出来ん奴が参考になるスレじゃないだろ。
582:sage
07/08/08 09:45:27
いや、だから、できたいうとるでしょ。プログラミングって要は知識よりも
CREATIVEな思考能力の方が重要ってことかな。まあIT用語を多発されて
さぱりわかんねーってのもNGかもしんねーけどね。
583:デフォルトの名無しさん
07/08/08 20:35:35
いんや。
職業プログラマにクリエイティビティはそんなにいらないと思うよ。
知識の方がよっぽど大事。知識のないクリエイティビティなんて害悪そのもの。
人それを『思いつき』という。
584:デフォルトの名無しさん
07/08/08 20:44:29
つうかxmlまわりの専門用語をIT用語だと思ってる奴はマスコミに汚染されすぎ。
そもそも出てきてんのはAPIの固有名詞と一般的なxml parse 方法だろ。
2chに書き込む暇があったら仕様書と本読め。
585:デフォルトの名無しさん
07/08/08 21:07:59
俺の会社は馬鹿が多いが、流石にこれほどのはいないな。
586:sage
07/08/09 10:05:48
いや、これには根拠がある。うちの会社に関○大学出身の偏差値ある教科では
100を超えたという人材が来た。すげーやつが来たと喜んだが・・・・。
いざ仕事をやらせるとまず最初の一言目が「ちゃんとした仕様書がないのでできません」
「あ、そうf(^^;じゃあきちんとかくからちょとまってね」で渡す。
「あのー、ここの部分の表題はこうじゃなくてこういう感じでかいてもらえませんか」
ばかかおめ〜そんなんどうでもええじゃねぇかさっさと作業しやがれorz
そんな調子だからついに社長も怒らせてくびになった。
知識は豊富でも手取り足取りの作業指示を与えなければ仕事ができない、
つまり自分で「これから何をすればいいのか」「どうすればいいのか」
を考えない、というか考えることができない。常に受身的で能動的でない。
これで知識の方が大事と言えるか?
わしの知ってる強力なプログラマーって高卒が多い。勉強ができる、つまり
教えられたことはできるが、それ以外は???な人間は結局仕事なんて
できない。必要なのは応用力と適応力、想像力だ。
587:デフォルトの名無しさん
07/08/09 10:40:07
>>586
一人だけをサンプルにして言われてもなあ。
あなたの会社にまともな人材が来るとでも思ってる?
というよりスレ違い。あなたを見てると品性も大切だと気づかされるよ。
588:デフォルトの名無しさん
07/08/09 11:19:36
xqueryが使えるフリーソフトって知ってますか?
XpathはXPathToolというのがvectorにあって、結構使い勝手がよかったです。
589:デフォルトの名無しさん
07/08/09 12:05:54
>>587 品性「も」大切ということで、応用力と適応力、想像力が大事
という点は納得ですか?
590:デフォルトの名無しさん
07/08/09 18:29:51
白馬に乗った王子様を待っててもしょうがないよ。
591:デフォルトの名無しさん
07/08/09 19:39:28
>xqueryが使えるフリーソフト
ってなに?XQueryはソフトウェアアプリケーションじゃないだろ。
何したいの?
592:デフォルトの名無しさん
07/08/09 20:48:29
ホワイトナイト
593:デフォルトの名無しさん
07/08/10 09:41:00
>>591
すいません。
xml用のアプリケーション(xml用でなくてもいいのですが)で、要素の検索とかしたいときに
xpath、xqueryを使いたいなと・・・
Xindiceはxpathしか対応していないらしいですね・・・
594:デフォルトの名無しさん
07/08/10 12:06:41
>xml用のアプリケーション というかXQueryがxmlアプリケーションなんだが。
>要素の検索とかしたいときにxpath、xqueryを使いたい
ここはそういうソフトを作りたい人がXML関連技術やAPIの話をするところだから、
出来合いの品の話(エンドユーザー向けのソフト話)ならスレチじゃない?
俺だったらそれくらい自分で作れって言うが。
595:デフォルトの名無しさん
07/08/10 22:36:27
この板としては「ないなら作れ」でいいだろ。
596:デフォルトの名無しさん
07/08/11 17:58:01
XQuery2.0を全部実装って相当大変じゃね?
597:デフォルトの名無しさん
07/08/11 18:00:55
>>586みたいな、サンプル拾って何となく改造したらできたよ、わーい、ってタイプは、
トラブルシュートが一切出来なくて終盤苦しむんだよなー。
周りを巻き込んで。
598:デフォルトの名無しさん
07/08/11 21:19:54
XSLTなのですが、属性名を動的に記述する方法ってないのでしょうか。
例えば以下のような処理を期待しています。(当然エラーになりますが)
<xsl:for-each select="attr">
<xsl:attribute name="@name">
<xsl:value-of select="@value"/>
</xsl:attribute>
</xsl:for-each>
599:デフォルトの名無しさん
07/08/11 21:26:36
{@name}
じゃダメだっけ。
600:デフォルトの名無しさん
07/08/11 21:37:21
>>599
ありがとう、できました!
参考書に載ってないから諦めてたんですが、
実は属性値 XPath でぐぐると出てきますね・・・
ネットよりショボイ参考書買っちゃったorz
601:デフォルトの名無しさん
07/08/12 02:31:24
技評の完全解説がオヌヌメ
602:デフォルトの名無しさん
07/08/12 09:41:42
>>596
相当大変だからすでに実装されたライブラリを探す。
XQueryの実装ライブラリ探してますって話ならここだが、
XQueryが使えるソフト探してますは板すら違うかも。
XQueryってW3CのRI出てなかったけ?
603:デフォルトの名無しさん
07/08/12 22:45:11
Rはないような気がしないでもない。
URLリンク(www.w3.org)
604:デフォルトの名無しさん
07/08/13 01:10:03
XML Schemaは「それら以外の属性」のような定義って出来ますか?
例えば type や uuid などの属性名にはルールを設けるけど、
それ以外の属性は好きに書いていいよ。っという書き方です。
605:604
07/08/13 02:10:12
自己解決。xs:anyAttributeってのがありました。
606:デフォルトの名無しさん
07/08/14 16:45:49
XMLの規格ってなんで規格ごとに記法に統一性がないんだろう。
schemaのrestriction用に変数や関数が使いたい。
xslやxpathの資産が何も引き継げないとは。。。
607:デフォルトの名無しさん
07/08/14 18:16:58
>>606
> schemaのrestriction用に変数や関数が使いたい
ただでさえ特盛りのXML Schemaにそれつけたら
完璧なバリデータを書くのが不可能に近くなるぞ。
608:デフォルトの名無しさん
07/08/14 19:19:12
統一性がないんじゃなくてSGMLで統一して何でも出来るようにして
大失敗したから目的ごとに別の仕様を作るようにしただけ。
以下、>>607。WXSなんてW3CのRIですら仕様のフルサポート出来てないけどアレが一番再現度高いんだから。
あれがほしいこれがほしい言ってたらSGMLの二の舞。
609:デフォルトの名無しさん
07/08/16 11:47:34
むしろWXSはもっとシンプルにすべきだった。
610:デフォルトの名無しさん
07/08/16 12:01:00
SGMLは複雑、XMLはシンプルなんてよく言われるけど
いまじゃXMLのほうがはるかに複雑だよなぁ
611:デフォルトの名無しさん
07/08/16 15:25:56
XMLでキモく感じるのは属性と要素を区別してしまったことだ。
それでもまだXML自体はマシじゃなかろうか。
関連技術のカオスっぷりには閉口するが。
612:デフォルトの名無しさん
07/08/16 21:07:35
schemaって属性版のchoiceってないの?
613:デフォルトの名無しさん
07/08/16 22:49:26
>>612
enumeration?
614:デフォルトの名無しさん
07/08/16 23:38:23
それは単純型の値じゃね?
615:デフォルトの名無しさん
07/08/17 13:13:22
javaで↓を取ると
<a>
1111
2222
3333
</a>
値が
1111
2222
3333
になります。
↓で取れないですかね
1111
2222
3333
616:デフォルトの名無しさん
07/08/17 13:15:18
javaで↓を取ると
<a>
1111
2222
3333
</a>
値が
1111
2222
3333
になります。
↓で取れないですかね
1111
2222
3333
617:デフォルトの名無しさん
07/08/17 15:58:55
>>611
属性と要素の交換を可能にしたSGMLは見事に実装が困難になった訳だが・・・。
618:デフォルトの名無しさん
07/08/17 16:10:30
>>616
> 1111
> 2222
> 3333
> になります。
ならないだろ。
\n
1111\n
2222\n
3333\n
になるはず。
619:デフォルトの名無しさん
07/08/17 17:35:45
APIはなんですか?
そんなにマイナーなものですか?
JAXPもJDOM有名なのがいろいろあるのに
APIはなんですか?
結局実装次第でry・・・・
空白の扱いをxml側で指定がなければ事実上、空白をどう扱うかは実装依存だろ。
620:デフォルトの名無しさん
07/08/17 23:56:01
>>617
>>611 は XML 仕様策定時に「属性などイラン。すべて要素にしる!」話が
結局そこまで踏み切れなかったことを言ってると思われ。
621:デフォルトの名無しさん
07/08/18 02:14:41
xsltだけどxsl:variableにDOMを詰める方法ってあります?
もしくは文字列をDOMに変換する方法でもいいんですが。
622:デフォルトの名無しさん
07/08/20 12:12:46
>>620
フォローサンクス。そゆことっす。なんで残したんだろ。
623:デフォルトの名無しさん
07/08/20 19:06:11
HTMLにあったからじゃない?
624:デフォルトの名無しさん
07/08/20 20:24:51
データ記述言語として考えれば属性なぞ要らんけど
テキストマークアップ言語として考えれば属性がないと不便極まりない
625:デフォルトの名無しさん
07/08/20 23:13:27
だからSGML/XMLはデータ記述言語じゃないとry
アトリビュート付き文書を扱うためのフォーマットだ。
アップルはそこら辺分かってない。
626:デフォルトの名無しさん
07/08/21 02:59:46
マークアップにはXMLよりSGMLの方がはるかに便利
せめてXMLでもNETが使えたらなぁ
627:デフォルトの名無しさん
07/08/21 12:26:52
現実問題、データ記述に使われてしまってるのがやるせない。
テストデータを YAML で書いてたら
なんだコレ、XML にしろと言われて一悶着。
権力に負けた。
628:デフォルトの名無しさん
07/08/21 18:51:28
目先のベンチマークより、「より標準である」ことを選ぶのは普通でしょ
629:デフォルトの名無しさん
07/08/21 20:16:24
分野が全くの別もんなんだから適材適所だろ。
そこを理解してない奴が居るとxmlかyamlで揉める。
630:デフォルトの名無しさん
07/08/21 20:44:12
そこでJSONですよ
631:デフォルトの名無しさん
07/08/21 22:42:00
つ RSD
RSDはデータ記述フォーマットだが文章をヒアドキュメントとして埋め込めるからデータと文章を同列に扱いたいとき良いよ。
文書主体ならやっぱSGMLかXMLしかフォーマットがないけど。独自以外。
632:デフォルトの名無しさん
07/08/22 11:02:11
>>619
commonsのconfigurationとjxpathです。
両方とも、最初の文字までがクリアされてしまいます。
633:デフォルトの名無しさん
07/08/22 21:44:17
十分マイナーじゃねーかw
普通、API側にも空白制御を指定できるメソッドかなんかあるはずだけど、
高レベルAPIだと無いかな。リファレンス嫁としか言いようがない。
634:デフォルトの名無しさん
07/08/23 23:31:44
URLリンク(www.infoteria.com)
635:デフォルトの名無しさん
07/08/24 00:26:11
>>634
それ固有の実装の話な。
ここでそんな話しても意味ないのは分かるかな?
636:デフォルトの名無しさん
07/08/25 04:59:17
>>631
>RSDはデータ記述フォーマットだが文章をヒアドキュメントとして埋め込めるからデータと文章を同列に扱いたいとき良いよ。
RSDってこれかな?
URLリンク(dev.zeraweb.com)
でもヒアドキュメントで埋め込んだ文章には<strong>や<em>といった要素を入れられるわけではないよね?
単なるテキストに過ぎない。
これだったらJSONやYAMLでよくね?特にYAMLならブロックテキストがあるし。
637:デフォルトの名無しさん
07/09/01 14:19:28
漫画で学ぶXML
URLリンク(www.geocities.jp)
URLリンク(www.geocities.jp)
638:デフォルトの名無しさん
07/09/01 14:44:02
>>635
DOM3以前は実装依存だぞ。という事を示したのだが、それくらい読み取れないのか? 頭ワルッ
639:デフォルトの名無しさん
07/09/19 02:14:31
テキストデータをXMLの中に入れる場合、可読性を考えてCDATAにする場合が多いと思いますが、
]]> が入るかもしれない場合、可読性は捨てて全部エスケープするしかないですか?
640:デフォルトの名無しさん
07/09/19 02:47:27
所詮世間一般ではxmlはデータコンテナのフォーマットか・・・。
PIのdataに突っ込んでアプリケーション側で処理させれば良いじゃない。
641:デフォルトの名無しさん
07/09/19 03:08:54
]]> を ]]>]]><![CDATA[ にするとか
642:デフォルトの名無しさん
07/09/19 08:36:42
エスケープしたら結局戻す処理はアプリケーション依存だろ。
だからPIで良いよ。
643:デフォルトの名無しさん
07/09/19 13:07:01
] と ]> にわけてCDATA2つにするのが普通じゃね?
644:デフォルトの名無しさん
07/09/27 23:37:51
騙された!PIって何を指してるの?
639じゃない俺が<?ここ?>になんでも含められるの??!と驚き
試してしまったので敗北感があります
645:デフォルトの名無しさん
07/09/28 04:30:43
何一人でファビョってんだ?
どうせエンコーディングが一致せずに
<?ここ?>
~~~~
Fatal Err: not well-formed. Line n, Col 3
ってオチだろ。文字化けするから↓か。
<??????>
_ _^
646:デフォルトの名無しさん
07/09/28 13:58:41
エスケープ処理なんて O/X マッピングライブラリに任せてしまうよろし。
人間がやろうとするにはあまりに単純処理だし、
単純処理の割に手間を食うので馬鹿馬鹿しい。
647:デフォルトの名無しさん
07/09/28 22:37:33
たかだか文字参照ごときにマッピングライブラリは大げさだろ。
それに、質問はエスケープしなきゃいけない文字がテキスト中に大量に入る可能性があって
CDATAセクションを使いたいけど]]>が入る可能性もあるから代替策が必要って話で
その方法がいくつもあるけど質問者が出てこないから話が代替策ないですか?って所で止まってるんだろう。
まだ、エスケープされた文字をどうするかの問題じゃない。
648:デフォルトの名無しさん
07/10/31 16:57:30
気がついたらJ2SE 6.0でJAXB 2.0がサポートされていたわけですが、
バインディングツールとしてJiBXとどっちがいい感じか、使ってる方使用感などを教えていただけませんか。
649:デフォルトの名無しさん
07/10/31 19:10:52
JDOMいいよJDOM
650:デフォルトの名無しさん
07/10/31 21:43:57
>>649
パーサーではStAXもサポートされたみたいですけど、どんな感じでしょうか。
651:デフォルトの名無しさん
07/11/01 01:21:38
J2SE 6.0
652:デフォルトの名無しさん
07/11/01 17:12:21
StAX最高だよ。
653:デフォルトの名無しさん
07/11/02 19:43:14
URLリンク(www.w3.org)
これどう?
すげー使いてー、どこぞで実装してんすかー
654:デフォルトの名無しさん
07/11/02 21:47:25
まだドラフトなのに実装とかするところあるのか?
655:デフォルトの名無しさん
07/11/03 00:45:24
W3Cは変なもの作りすぎです。
656:デフォルトの名無しさん
07/11/04 02:15:38
WDで実装が作られるって別に珍しくない。
けど、これの実装は知らん。
657:デフォルトの名無しさん
07/11/05 00:26:33
URLリンク(norman.walsh.name)
URLリンク(nwalsh.com)
658:デフォルトの名無しさん
07/11/07 13:01:25
XMLスキーマで、要素集合を定義するときにxs:sequenceとxs:allがあるけど、
いろいろと解説を読んだ感じでは、特別な理由がない限りは順序を指定する
xs:sequenceを使え、ということだと理解したんだけど。
ということは、そもそもXML自体が要素の順番を重要視する規格だということ
になると思うんだけど、そういう理解であってる?
659:デフォルトの名無しさん
07/11/07 17:39:15
>>658
そんなことはないと思う。
単に要素の出現順序が決まっていれば処理が楽だからじゃないか?
660:658
07/11/07 18:08:16
あと、そもそもDTDだと順番自由な要素集合を定義する方法がないことを初めて知った。
もちろん、処理が楽だからというのはそうなんだろうけど、世のパーサー実装がそれを
前提に書かれてるとしたら、俺のXML理解がかなり変わってくるので。
661:デフォルトの名無しさん
07/11/08 02:31:05
xmlスキーマからどんなxmlがくるか解析するツールって何かありませんか?
662:デフォルトの名無しさん
07/11/09 11:17:17
どんなxmlがくるか解析したものがスキーマじゃね?
データを解析するの?
663:デフォルトの名無しさん
07/11/09 11:54:00
XMLスキーマからサンプルとしてインスタンスを生成するってこと?
XML Spy, oXygenなんかにはそういう機能があったはず
フリーソフトウェアも探せばあるかもしれないね
664:デフォルトの名無しさん
07/11/10 00:45:23
Sun XML Instance Generatorというのがある。
665:デフォルトの名無しさん
07/11/12 03:56:16
例えば URL なんかをこんな感じで表したい場合:
<url scheme="http">
<host>www.foo.com</host>
<port>80</port>
<path>/hoge/unko.txt</path>
</http>
<url scheme="mailto">
<mail>hoge@foo.com</mail>
</url>
属性の値によって子要素の定義が変わるような定義を Schema で記述できるんでしょうか?
どう表せばよいか悩んでいます。
666:デフォルトの名無しさん
07/11/13 20:29:25
>>665
ちょっと余計なものが付くがこれで良ければ。
<xsd:element name="url" type="urlType" />
<xsd:complexType name="urlType" abstract="true" />
<xsd:complexType name="httpType">
<xsd:complexContent>
<xsd:extension base="urlType">
<xsd:sequence>
<xsd:element ref="host" />
<xsd:element ref="port" />
<xsd:element ref="path" />
</xsd:sequence>
<xsd:attribute name="scheme" type="schemeType" use="required" fixed="http" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexTpe name="mailtoType">(略)</xsd:complexType>
<url scheme="http" xsi:type="httpType">
<host>www.foo.com</host>
<port>80</port>
<path>/hoge/unko.txt</path>
</url>
<url scheme="mailto" xsi:type="mailtoType">(略)</url>
xsi:typeが省略されるとurlTypeはabstractなのでエラーになる。
667:デフォルトの名無しさん
07/11/13 20:42:36
>>666
なるほど、ベースを abstract で宣言しておいて、拡張のほうで "http", "mailto" を
fixed 指定にしておけば属性値ごとに中の定義が変更できるような使い方になりますね。
帰って試してみます。schemaType は string じゃダメなんでしょうか?
668:デフォルトの名無しさん
07/11/13 21:12:20
>>667
schemeTypeはenumerationにしてたんだが行数の都合で省略したのを忘れてた。
もちろんstringでいいと思う。
669:デフォルトの名無しさん
07/11/14 04:02:31
高橋麻奈の「やさしいXML 第2版」という本で、ちょうどXSLの操作を勉強しています。
練習問題での自分の回答と巻末の模範解答が違うことがあるのですが、同じことができる
スタイルシートを作れていれば「正解」としていいのでしょうか?
たとえば、
<xsl:template match="car">
<car>
<xsl:attribute name="file">
<xsl:value-of select="img/@file"/>
</xsl:attribute>
<xsl:apply-templates select="name"/>
<xsl:apply-templates select="price"/>
</car>
</xsl:template>
とするべき(?)ところで、<car>のかわりに、<xsl:copy>と書いてしまったのですが、
XMLの理解の上では問題ありませんよね?
他にも
<xsl: copy-of select="."/>と書く方法と、
<要素>
<xsl:value-of select="."/>
</要素>
と丁寧に書く方法がありますが、XMLの勉強では好きな方選べばよいのかな・・・
670:デフォルトの名無しさん
07/11/14 07:14:27
>>669
与えられた入力と求める出力(いずれもXMLか)を貼らないと
XSLT知ってる人でも答えにくいと思うぞ。
671:デフォルトの名無しさん
07/11/14 16:45:43
まずはやさしいシリーズを捨てる所からだな。
悲しいけどこれってマジレスなのよね。
672:669
07/11/15 00:03:12
>>671
やさしいXML、Java活用編ともに終盤にさしかかっているので・・・
結局3冊買っちゃいました
673:デフォルトの名無しさん
07/12/01 18:03:12
<foo:bar>ほげほげほげ
ふーばー
おっぱっぴー</foo:bar>
みたいなのを、
<xhtml:div>ほげほげほげ<br/>
ふーばー<br/>
おっぱっぴー<xhtml:div>
みたいにしたいんだけど、どう書けばいいんでしょうか。
674:デフォルトの名無しさん
07/12/01 18:04:55
あ、XSLTの話です。
675:デフォルトの名無しさん
07/12/01 18:59:26
substring-before, substring-afterでも駆使して再帰的に変換すればいいんじゃなかろうか。
とはいえ、データ構造から見直したほうがいいとおもうよ
676:デフォルトの名無しさん
07/12/01 19:11:18
>>673
やってやれないことはないがあまりオススメしない。
HTMLにするならpreじゃいけないのか?
<xsl:param name="line.delimiter" xml:space="preserve">
</xsl:param>
<xsl:template match="foo:bar">
<xhtml:div>
<xsl:call-template name="substitute">
<xsl:with-param name="str" select="text()" />
</xsl:call-template>
</xhtml:div>
</xsl:template>
<xsl:template name="substitute">
<xsl:param name="str" />
<xsl:choose>
<xsl:when test="contains($str, $line.delimiter)">
<xsl:value-of select="substring-before($str, $line.delimiter)" />
<xsl:text disable-output-escaping="yes"><br /></xsl:text>
<xsl:value-of select="$line.delimiter" />
<xsl:call-template name="substitute">
<xsl:with-param name="str" select="substring-after($str, $line.delimiter)" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$str" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
677:デフォルトの名無しさん
07/12/04 00:05:29
XSLTで
<a>
<elem-a/><elam-b/>
</a>
<b>
<elem-1/><elem-2/>
</b>
を
<c>
<elem-a/><elam-b/>
<elem-1/><elem-2/>
</c>
に書き換えたいのですが、
<template match="a|b">
<c>
<apply-template select="*"/>
</c>
</template>
とやったら(記憶で書いてるので細かい点、ちょっと嘘かも)
<c>
<elem-a/><elam-b/>
</c>
<c>
<elem-1/><elam-2/>
</c>
となってしまいました。どのように書けばよいのでしょう?
678:デフォルトの名無しさん
07/12/04 23:34:32
んー、OPMLをXHTMLに変換するXSLT書いてるんだけど、
outlineがexpansionStateに含まれているかどうかってどうすれば知ることができるんだろうか
679:デフォルトの名無しさん
07/12/04 23:42:40
>>677
<a>と<b>の親にテンプレート適用して、
<a>と<b>の子とってくればいいんじゃなかろうか
680:デフォルトの名無しさん
07/12/05 00:35:14
>>679
なるほどそう書くのですか。それで出来そうですね。
681:デフォルトの名無しさん
07/12/05 00:36:26
>>678
outlineの親要素のローカル名がexpansionStateかどうかを調べればよいのでは。
もしexpansionState要素の子要素であるoutlineに何かしたいなら
マッチングパターンを変えてテンプレートを作成すればいい。
682:デフォルトの名無しさん
07/12/07 19:54:39
libxml使ってるんだけど、xmlXPathContextPtrってxmlDocPtrがないと生成できないの?
xmlNodePtrからいちいちxmlDocPtr生成するの面倒い…
683:デフォルトの名無しさん
07/12/10 02:52:30
XMLスキーマでユーザー定義の型をつくるとき、同じ型のリストはxsd:list を使えばできますが、例えば int のあと float 2つみたいな型を定義するにはどうすればいいでしょう?
<hoge>1 2.0 3.0</hoge>
のような。
xsd:pattern で正規表現を指定する他に方法ありますか?
684:デフォルトの名無しさん
07/12/21 12:52:44
>>683
んーそもそも、XMLというかデータ構造的に、そうした型の設計は
好ましくない気がするんだけど、どうしてもそれじゃなきゃだめなのけ?
685:デフォルトの名無しさん
07/12/21 20:31:19
XML をいわば Unicode データのコンテナ的に使っていますが、
XML 1.0 で定義されている文字を外れるコードが含まれると(例えば 0x1f 以下の
制御文字とか)エラーになってしまうようで、困っています。
この手の問題ってどうしたらいいと思いますか? とりあえず自前の文字参照みたいのを
定義して、かませようかと思っていますが...
686:デフォルトの名無しさん
07/12/21 20:41:32
じゃダメなのか。
687:orz
07/12/21 20:41:59
 じゃダメなのか。
688:デフォルトの名無しさん
07/12/21 20:56:29
>>686
年の瀬も近くてまったりしようと思ってたのに、いまさら自前のコードを起こして
テストするのが面倒でw XML の範疇でなんとかならないかと思って。
>>687
それは「文字」参照なんで、XML の範疇で文字として扱われていないコードに対しては
駄目みたいです、というのが自分の理解。ちなみに CDATA も同様。
689:orz
07/12/21 21:00:17
じゃ Base64 でも何でも使えば良いじゃん。
690:デフォルトの名無しさん
07/12/21 21:01:12
ちなみに XML 1.1 だと文字コードの範囲が広がってるんですけど、
巷の XML ライブラリってまだ 1.1 をほとんどサポートしてないですよね?
691:デフォルトの名無しさん
07/12/21 21:04:56
>>689
はい、それもアリなんですが、可読性がなくなるのがちょっと不便というか...
その XML を生でみたいときもあるので。
692:デフォルトの名無しさん
07/12/21 21:08:12
<char codepoint="0x1f"/>
とか適当にでっちあげればいいじゃん。
693:デフォルトの名無しさん
07/12/21 21:19:41
quoted-printable か URL フォームエンコーディングとかでも。
ちなみに 「ダメです」 ってのは何かアプリ的な不具合なのか、それとも潔癖原理主義的なものなのか。
694:デフォルトの名無しさん
07/12/21 21:21:13
>>692
すみません、それってどうやって使うんですか?
例えば
<text>制御文字が入ったテキスト 0x1f</text> (0x1f は実際にはバイトデータ(で、不正))
を
<text>制御文字が入ったテキスト <char codepoint="0x1f"/></text>
みたいな?
で、このテキストを取り出すときに何らかの処理で元のバイトデータに戻す?
ちなみに今は XPath でこの要素を取り出したりしているんですが... 変更は簡単かな?
695:デフォルトの名無しさん
07/12/21 21:40:18
>>693
>quoted-printable か URL フォームエンコーディングとかでも。
日本語が結構入るんで、ちょっと厳しいですかね。
>ちなみに 「ダメです」 ってのは
えっとその「ダメです」がどれを指しているかわかりませんが、要は XML のエラーを
XML を処理しているレイヤーの回りで、なるべく楽に、インパクトを少なく回避するか、
ということです。
696:デフォルトの名無しさん
07/12/21 23:53:07
PI使えばいんじゃね?
でアプリ側で自由に処理すればいい。
697:デフォルトの名無しさん
07/12/21 23:54:56
まあ、文章をデータコンテナなんかに使おうと思うからそんな矛盾が起きるわけで。
そもそも発想が間違ってる。
698:デフォルトの名無しさん
07/12/21 23:57:40
なんでもかんでも XML は良い事だ (2001年日経)
699:デフォルトの名無しさん
07/12/22 00:09:45
XML Schema的にはhexBinaryかbase64Binary
700:デフォルトの名無しさん
07/12/22 00:18:12
xmlなアプリ実装すると考えればPIのdataにBase64が鉄板か?
701:デフォルトの名無しさん
07/12/22 00:37:46
もう MD5 で良いじゃん。
702:デフォルトの名無しさん
07/12/22 15:24:41
>>701
え?w
703:デフォルトの名無しさん
07/12/22 15:51:07
きっと、逆変換するアルゴリズムを開発した超絶ウルトラスーパーハッカーなんだよ。
704:デフォルトの名無しさん
07/12/22 21:55:00
俺はエロ画像のSHA1で抜ける!
705:デフォルトの名無しさん
07/12/22 22:56:37
なんだこの流れ?
706:デフォルトの名無しさん
07/12/24 13:18:59
俺もそういう文字扱いたかったから、xml1.1にしたよ。
707:デフォルトの名無しさん
07/12/24 13:32:03
xml1.1まともに扱えるパーサ教えてください
708:706
07/12/24 14:07:21
まともの定義がわからないけど、俺はjavaでStAX使いたいからWoodstoxだよ。
URLリンク(woodstox.codehaus.org)
JDK6とか新しめのJAXPでもxml1.1は使えるでしょ?
709:デフォルトの名無しさん
07/12/30 18:02:23
<xsl:for-each> でノード集合を逆順に列挙するのってどう書いたら良いですか?
710:デフォルトの名無しさん
07/12/30 18:14:50
xpath2.0ならreverseが使える。1.0はよう知らん
711:デフォルトの名無しさん
07/12/30 18:39:07
>>709
<xsl:sort>でソートするんじゃダメ?
712:デフォルトの名無しさん
07/12/30 19:48:56
<xsl:for-each> の直下に <xsl:sort order="descending" /> 置いたらできますた。
713:デフォルトの名無しさん
07/12/30 23:36:32
XMLでbase64を使う意味が分からない。
Unicode使えるんだから、もっと膨張を抑えたエンコードも出来るはず。
714:デフォルトの名無しさん
07/12/31 05:28:28
別に必ずしもbase64でエンコードする必要はない。
715:デフォルトの名無しさん
07/12/31 09:58:36
ish?
716:デフォルトの名無しさん
07/12/31 11:34:27
イクラちゃんishで
717:デフォルトの名無しさん
08/01/01 20:37:49
XMLDBでxindiche以外でフリーでつかえるものってある?
718:デフォルトの名無しさん
08/01/03 16:53:52
libexpatw の最後の w って何ですかw
719:デフォルトの名無しさん
08/01/03 18:42:22
wchar_tのw
720:デフォルトの名無しさん
08/01/09 10:06:44
>>717
eXistかDB2のExpress-Cでも使っとけ
721:デフォルトの名無しさん
08/01/12 00:12:51
XPath, XQuery の仕様読んでるが何か SQL の再発明めいてきたなこれ。
722:デフォルトの名無しさん
08/01/12 01:01:46
似せたんじゃなかったけクエリー言語として。
723:デフォルトの名無しさん
08/01/12 01:48:41
XMLの検証で質問です。
<a>
<b>ABC</b>
<b>123</b>
</a>
このようなXMLで、1番目の<b>要素はstring型、2番目の<b>要素は
integer型であることを検証したいと思っているのですが、wxsでは
同名の要素を異なる型で定義することができません。
何かうまい方法はないでしょうか?
724:デフォルトの名無しさん
08/01/12 02:15:31
要素名を変える
725:デフォルトの名無しさん
08/01/12 03:04:09
string型はinteger型を包含するから無駄な検証だな。
726:デフォルトの名無しさん
08/01/12 08:37:20
というか1番目の要素はルート要素であるaじゃないの?
色々と間違ってる。
727:デフォルトの名無しさん
08/01/12 08:46:32
さすがにそうは読めんが。
728:デフォルトの名無しさん
08/01/12 10:19:15
名前空間を変える。
729:デフォルトの名無しさん
08/01/12 10:34:36
PIでやってもいいな。
730:デフォルトの名無しさん
08/01/12 13:49:14
PIって何?
731:デフォルトの名無しさん
08/01/12 13:53:49
Processing Instruction
732:デフォルトの名無しさん
08/01/12 15:16:25
>>725
well-formed XML は valid XML を包含するからvalidatorは必要ない?
733:デフォルトの名無しさん
08/01/12 16:36:44
>>723
そんなスキーマの設計になる納得の行く理由を聞きたいが。
734:デフォルトの名無しさん
08/01/12 17:12:28
>>732
うん。
non-valid XMLだったら、wel-formed XMLであることを調べる。← これは馬鹿げている。
もっとも、元質問は
> 同名の要素を異なる型で定義することができません。
ではなくて
< 要素の出現順で異なる型を定義したい
という事のようなので、オレの読み違いのようだけど。
735:デフォルトの名無しさん
08/01/12 18:43:46
>non-valid XMLだったら、wel-formed XMLであることを調べる。
今回は違うが、食わせるxmlが不定の場合、エラーハンドラくらい実装するから、
これはwel-formedかどうか調べる事になるから別に馬鹿げてる訳でもないと思うが。
馬鹿げてるのはnon-wel-formedなxmlでもパース出来るパーサかと。実際にあるが。
736:デフォルトの名無しさん
08/01/12 19:11:10
if ( i > 0 || i >= 0)
↑これを馬鹿げているといってるんだけど、コンパイラが最適化するから問題ないというならそれでもいい。
737:デフォルトの名無しさん
08/01/12 19:29:09
>>725が言っているのは、i の定義が「数値」であるならば「0より大きい数値」を
包含してるから、その比較自体無駄だということだろ?
738:デフォルトの名無しさん
08/01/12 21:24:23
そういう事か他言語にバインドした後の話ね。そういう使い方はした事ないな。
739:723
08/01/13 01:12:15
いろいろな意見ありがとうございました。
結局手はないようですね。
背景説明を端折っていましたが、このXML文書は外部で仕様が定められて
いるもので、それを定義したスキーマ文書は別に存在します。
ただし汎用的なフォーマットなのでかなり制約は緩いものとなっています。
逆にこれを利用するシステム/装置側はそのすべてのバリエーションを
許容することができないため、その特定用途向けの検証をwxsで行おうと
考えていました。
実際に要求されている制約は「name属性が"aaa"の場合はxxx属性が必須で
テキストはxx文字以内」などというものだったりするのですが、さすがに
それは無理だろうと考えていたので、要素の出現順を固定して「1番目の
要素はname属性が"aaa"に等しく、〜」という形で検証しようとしていました。
実はその検証用のxsdを作成する際はSunのmsvを確認に使っていて、
そこでは意図したとおりの検証ができていました。ところがこれを利用する
プログラムが出来て、そちらに掛けてみたところスキーマ文書が受け付け
られず、問題が発覚しました。
ですのでxsdの記述だけで解決できればよかったのですが、別途チェック
プログラムを起こしたりする必要がありそうですね。
740:デフォルトの名無しさん
08/01/13 02:09:10
スキーマの設計が悪い。
741:デフォルトの名無しさん
08/01/13 02:12:42
すげぇ無駄な事してるな・・・何とかしようと思う723は凄い
742:デフォルトの名無しさん
08/01/13 02:14:41
>>739
ああ、よくある、上から降りてきた設計のしわ寄せが現場に来るの図ね。
まあそんなことだと思ったよ。
きっとスクリプトで楽することもできないんだろう。
頑張って追加のコードを組んでください。
743:デフォルトの名無しさん
08/01/13 03:00:20
あら
744:デフォルトの名無しさん
08/01/13 03:05:57
まぁ文章の完全な正当性なんて DB やホストに問い合わせてみないと保障できない
なんてのもよくある話だから、スキーマベースの検証の限界だと思ってプログラムで
確認しなはれ。
745:デフォルトの名無しさん
08/01/13 03:50:54
それとこれとは別だろ。どうみてもスキーマの設計ミス。
というかバカだろそのスキーマ作った奴。
746:デフォルトの名無しさん
08/01/13 09:19:36
Processing Instruction の位置づけがよく分からんのですが、例えばどういうときに
自分定義の PI を導入するもんですか?
747:デフォルトの名無しさん
08/01/13 10:58:16
適当な例が思いつかんが、たとえば、>>685の質問をPIで何とかしようと思うと、
<text><?[[Here is an U+00 ->]]><?character U+00?><?[[<-.]]></text>
こんな感じになるかもしれない。
748:デフォルトの名無しさん
08/01/13 11:06:09
ボケてたよー
<text><?[CDATA[Here is an U+00 ->]]><?character U+00?><?[CDATA[<-.]]></text>
749:デフォルトの名無しさん
08/01/13 11:06:53
ごめん。寝てないんだよー
<text><![CDATA[Here is an U+00 ->]]><?character U+00?><![CDATA[<-.]]></text>
750:デフォルトの名無しさん
08/01/13 11:40:19
まずその XML を特定のプログラムで加工処理するという前提があって、そのプログラム用に
データでも文章でもない制御系の情報を埋め込むためのもの、という感じで良いのかな?
C で言う #pragma 命令みたいな。<?compiler warning="suppress"?> とか
<?scanning very-very-secure?> とか <?verify hash="02F84298FEDFA" algorithm="md5"?> とか。
751:デフォルトの名無しさん
08/01/13 11:47:04
まあ、そんなもの。
XMLプロセッサは、対応していないPIは無視することになってるから、#pragmaと一緒やね。
752:デフォルトの名無しさん
08/01/13 13:52:12
XML デービー って何なの? 既存の XML ファイルに SQL で照会掛けたりできるの?
753:デフォルトの名無しさん
08/01/13 22:39:47
できるものもある。
754:デフォルトの名無しさん
08/01/14 16:25:07
XSL-FOの話題ってここでいいのか?
組版の話だから違うような気もするんだが。
もし妥当なスレがあったら教えてくれるとありがたい。
755:デフォルトの名無しさん
08/01/14 16:29:39
関連技術なら何でもいいと思うよ。
答えられる人がいるかどうかは、また別の話だけど。
756:デフォルトの名無しさん
08/01/14 21:23:35
XML関連の質問って、どこにもって行けばいいのか分からないよなぁ。
このスレではわりと勉強させてもらっているが。
あと、XML DBの話はこういうのがある。俺もまだ第一回しか読んでないんだが。
URLリンク(www.atmarkit.co.jp)
757:デフォルトの名無しさん
08/01/14 23:01:25
>>756
ソレ、役に立たない。
758:デフォルトの名無しさん
08/01/14 23:31:13
XSL-FOはここだろうけど実装が限られるし仕様自体も紙媒体への印刷を考慮されて巨大化してるから分かる人は少ないよ。
XSLとXSL-FOの関係もろくに理解してない奴らばかりだし。
とりあえず仕様書は嫁。でかいけど。
759:デフォルトの名無しさん
08/01/15 01:03:36
おまいさんが理解してるんだろう。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4879日前に更新/254 KB
担当:undef