<XML総合 part="3"/>

■ このスレッドは過去ログ倉庫に格納されています
2008/10/07(火) 17:40:09
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/
2008/10/07(火) 20:10:50
1乙
3デフォルトの名無しさん
垢版 |
2008/10/07(火) 21:48:10
スレタイに<>使えたのか
2008/10/07(火) 23:15:06
なにこのスレタイ

好き
2008/10/08(水) 01:21:07
<スレッド name="XML総合" part="3" />
の方が一般的じゃね?
2008/10/08(水) 01:40:58
スレタイに入れるのは明らかに無駄だろw
2008/10/08(水) 04:36:32
</XML総合>
2008/10/08(水) 06:54:26
>>1000でそれやったら美しいだろうな
スレタイ空要素だけど
2008/10/08(水) 18:08:39
空要素w
2008/10/08(水) 20:09:26
エレメントとノードってどう違うの?
2008/10/08(水) 20:14:51
ノードは、ツリーとみなした場合の用語
2008/10/08(水) 22:38:36
エレメントはxmlの用語。ノードはDOMの用語。

ruby厨でアンチxml厨はこういう基本も分かってないで批判するよな。
DOMの操作が複雑だとか用語が沢山あって分かりづらいとか、じゃあSAXでもStAXでも使えとry
2008/10/08(水) 22:45:10
どっとねっとうとかだと両方あるんだけど
2008/10/08(水) 23:26:52
>>10-13
ノードはXML文書の構成要素のこと。
ノードには、ドキュメント・テキスト・エレメント・アオリビュート・コメントなどの種類がある。
1514
垢版 |
2008/10/08(水) 23:27:21
×アオリビュート
○アトリビュート
16デフォルトの名無しさん
垢版 |
2008/10/12(日) 22:41:03
XSDで、アトリビュートによってエレメントの内容を変えるってことできる?
たとえば

<person type="child">
  <name>hogehoge</name>
  <age>20</age>
</person>

<person type="adult">
  <name>hogehoge</name>
  <age>20</age>
  <income>300000</income>
</person>

みたいな。
personってのを変えないと無理?
2008/10/13(月) 19:02:52
どうだろう。おれの拙い知識だと、出来ない気がするなあ。
<adult>と<child>が<person>を拡張する形式にするとか…
2008/10/14(火) 22:30:39
>>17
ありがと
19デフォルトの名無しさん
垢版 |
2008/10/23(木) 04:46:04
0x00 含む任意の文字列を XML に保存したい場合、どうすればいいんでしょうか?
他のコントロールコードは数値文字参照でいけたんですけど、これだけどうにも
パーサーが受け付けてくれません。

http://www.w3.org/International/questions/qa-controls
確かに iilegal とされていますが、じゃぁどうすればいいのかがわかりませんでした。
2008/10/23(木) 05:21:10
base64
2008/10/23(木) 05:49:04
Binary XML
2008/10/23(木) 13:04:47
そもそもそんなもん含めるのは想定されてない
2008/10/23(木) 16:43:45
時々出る質問だけど、PIでいいと思うよ。
2008/10/24(金) 18:06:51
PIって使い道がよくわからん
2008/10/24(金) 18:12:52
Cのpragmaみたいなもんだよ
2008/10/25(土) 22:06:00
PIを直訳してみろ。そのまんまだ。
2719
垢版 |
2008/10/28(火) 03:51:24
>>20-23
ありがとうございます。 PI でいけそうな感じです。
2008/10/28(火) 09:06:39
>>26
「乳房」? こうですか?
2008/10/31(金) 10:33:36
XMLやRDFあたりを勉強する必要が出てきたのですが,何かよい書はないですか?
2008/11/01(土) 12:53:43
>>29
http://pc11.2ch.net/test/read.cgi/tech/1223368809/
2008/11/02(日) 03:02:31
XMLを「勉強する」ってのがどういうことかっていうのは難題というか禅問答な気がする
2008/11/02(日) 21:59:25
>>31
自分でXMLパーサ書けるようになることを目指すというのはどうだろう?
2008/11/14(金) 14:32:19
ascii文字しか使ってないxmlを読むにはexpatでも無駄になっちゃうよね…
LC_CTYPE=Cのgrep並の効率を持ったパーザは自作するしか無いのかな?
2008/11/18(火) 14:08:48
XMLって一過性の流行でしょ?もう終わったんじゃないの?
2008/11/18(火) 17:51:14
マークアップ言語としてのXMLは滅びないでしょ。
少なくとも今現在は代替テクノロジがないし。
2008/11/19(水) 00:46:23
XMLというか、SOAPとかWS-*系のは何とかならないのかなぁと思う。
あと、フレームワークの設定で使われてる系とか。

必要性はわかるんだが、どうしても冗長過ぎるという感覚が拭えない。
2008/11/19(水) 00:51:11
Protocol Bufferとか
2008/11/19(水) 01:07:02
通信系のXML(に限らないかもしれないけど)ってのは要するに、
「プロトコルは自分自身の則るコンテクストを相手に対して説明可能である必要がある」
って発想に基づいているかなぁ、と最近思うようになったんだけど、これは正しい?

だとすると、Protocol BufferはXMLの代替にならないだろうな、という気はする。
伝統的なプロトコルは、回線の両端でコンテクストが一致していることを前提にしているけど、
XMLは、ネットワーク上に多様なコンテクストに則ったプロトコルが氾濫する状況に
対して有効に働く方式であると言える気がするんだけど、どうだろう。

とはいえ、冗長なことには違いないわけで、もう一つくらいブレークスルーはないのかという
期待というか懸念は依然としてある。
2008/11/19(水) 04:48:29
<Keywords>
<Keyword>あ</Keyword>
<Keyword>い</Keyword>
<Keyword>う</Keyword>
</Keywords>

みたいなXMLがあって、それをXSLで

perlで書くと
---
my @Keyword = qw( あ い う );
my $out = join(',', @Keyword);
print $out, "\n";
## 出力:あ,い,う
---

と同じことがしたんだけど、Javascriptを使わないで出来ますか?
詳しい人方法をplz
2008/11/19(水) 13:18:17
>>39
xsl:for-each と xsl:value-of で検索。
2008/11/20(木) 02:52:00
XMLマスターのスレってある?
いろんな板見たけど見つからなかったんだけど
2008/11/21(金) 08:51:16
探して見つからなかったならないと思うよ。
2008/11/21(金) 22:14:41
立てたら?
44デフォルトの名無しさん
垢版 |
2008/11/26(水) 15:10:40
>>42
なんかお前イライラする
2008/11/26(水) 19:39:47
そうですね!
2008/11/26(水) 22:04:56
yes we can.
47デフォルトの名無しさん
垢版 |
2008/11/27(木) 15:08:30
楽天APIで出力されるXMLをPHP5で解析しようとしてるんだが、

$xml = new SimpleXMLElement($xmlstr);
echo $xml->Body->itemRanking->Item[0]->title;

こんな感じでデータ取り出せないのかな。
どうしてもうまくいかない。
2008/11/27(木) 21:52:38
出力されるXMLを見ないとなんとも言えん
2008/11/29(土) 23:30:41
基本的な質問
タグ内にテキスト(PCDATA)とタグを混在させるのはありらしいですが、
なんか気持ち悪いのです
<title>テキスト1<keyword>テキスト2</keyword>テキスト3</title>
↑こういう書き方は普通にありなんでしょうか?
2008/11/29(土) 23:48:44
普通にあり。
title要素が、テキストノード、keyword要素、テキストノード、をchild nodes
2008/11/29(土) 23:57:29
>>50
ありがとうございます
テキスト1とテキスト2とテキスト3は意味的には1つの繋がった文章なのですが
(要するにプログラム解釈としてkeyword要素を強調解釈させたい(文字装飾とかリンクのため)
テキストの中にタグを入れるというと文章が分断されてしまう感じがしたもので
普通にありならば堂々と使っていきたいと思います
2008/11/30(日) 00:11:34
HTMLとか見たことないのかい?
2008/11/30(日) 07:07:58
XMLみたいな文法厳しいものの前にHTML理解してこいって感じだな(汗
2008/11/30(日) 13:59:10
そもそもXMLはテキストをマークアップするための言語なわけだが…
2008/11/30(日) 15:23:18
51だけど
HTML見たことないわけねーだろ
DTDでいう<!ELEMENT tag1 (#PCDATA | tag2)*>って
気持ち悪くないのか?
なんかXMLって扱いにくいね
こういうとお前が馬鹿な(ryとか来そうだが
2008/11/30(日) 15:47:18
PCDATAが気持ち悪いっていうことがもう爆笑なんだがwww
お前終わってるだろ
2008/11/30(日) 17:35:55
#PCDATAとtag2の混合が気持ち悪いって言ってんだろ
ちなみに爆笑するお前も気持ち悪い
2008/11/30(日) 17:42:56
もっと罵って欲しい
2008/11/30(日) 18:05:19
気持ち悪いとか爆笑とか、感性や感情を吐露されても
具体的なXMLとの関係はさっぱりわからん。
なぜ気持ち悪いのか、なぜ爆笑するのか、そこを掘り下げろよ。
2008/11/30(日) 23:35:29
<dig>そこ掘れワンワン</dig>
61デフォルトの名無しさん
垢版 |
2008/12/01(月) 16:01:45
参考になるかどうか分からないけど、かつてTed NelsonはHTMLでは
次のような記法が出来ないから嫌いだと言ったとか何とか。

HTML is <U>precisely <B>what</U> we were trying to PREVENT.</B>

最近のブラウザでは上記例も無理矢理表示するかも知れないけど、
HTML規格に合わせるなら未だに次の記法でないとダメだと思う。

HTML is <U>precisely <B>what</B></U><B> we were trying to PREVENT.</B>

つまり、彼のクレームは「何故フォントスタイル指定は入れ子構造を
強制されるのか」と言うこと。
赤ボールペンと蛍光マーカーを使って文書に線を入れる作業をする
例を考えると、赤線や蛍光マークは入れ子など考えずに好きな場所
に入れて好きなようにオーバーラップ出来るよね。
(上の例で言えばpreciselyからwhatまでピーッと赤アンダーラインを
引いて、whatからPREVENTまで蛍光マーカーでなぞる)

これと比べればHTMLやXMLの「要素の入れ子構造」はいささかか
不自然さを文書作成者に強制している、といえなくもない。

もちろんTed NelsonがHTMLに対して述べたクレームはこれだけじゃ
ないし、彼の主張が全てと言うわけでもないけど、HTMLやXMLには
文書を表現する上では不自然さも持っている、完璧ではないという
意見も存在すると言うことで。

XMLを用いて修飾された文書からDOMを作ると確かに元の文書が
ブツ切りのTextNodeとして出てくるので、個人的には>>51のいう
「気持ち悪い」感覚は何となく理解できます。
2008/12/01(月) 16:17:42
プログラマとそうでない人、両方の視点が必要というわけか

非プログラマからは文書を表現しにくいと言われ
かといってプログラマからはJSONで十分じゃんと言われ

・・・でもそんなXMLが大好きです(AA略
2008/12/01(月) 16:33:09
そういわれてみて気づいたが、俺は
HTML は文章の一部をマークアップするためのもの、
XML はデータをツリー構造で表現するためのもの、
として捉えていたようだ。
文章の一部をマークアップするということが本来的に
マークアップがきれいな入れ子構造を持つことを要請するわけじゃないよね。
そう考えるとたしかに言葉通りの「マークアップランゲージ」の仕様としては「要素の入れ子構造」は無理な部分もあるのかも。
そもそもなぜ「要素の入れ子構造」は要請されたのかね?
2008/12/01(月) 16:40:35
入れ子だとXMLパーサを作りやすいからだろう。
実装の手間とインタフェースの使いやすさのバランスを取った結果が
こういう仕様になったんだと思う。
2008/12/01(月) 16:50:37
なるほど、やはりプログラムでの処理からの要請か…。ありがとう。
たしかにプログラムで処理するためのマークアップだもんね。
2008/12/01(月) 16:54:33
>>64
>入れ子だとXMLパーサを作りやすいからだろう。

つ SAX

しかし今度はパーサを使うプログラマが苦労するという罠。
6764
垢版 |
2008/12/01(月) 17:32:33
> つ SAX
ああその通り。失礼しました。
入れ子ならDOMパーサを作りやすい、なら問題ないかな。

> しかし今度はパーサを使うプログラマが苦労するという罠。
要素のオーバーラップしたXMLをSAXパーサに食わせて
プログラマ側が構造化するとか、考えただけでクラクラする。
2008/12/01(月) 17:50:46
人間が直接パーサを作るなんてひどい拷問だ
自動生成させようよ
機械的に扱わせやすいための入れ子構造なんだし
処理そのものだけでなく処理をさせるものの生成にも構造が簡易なのが効いてくる
2008/12/01(月) 22:55:53
盛り上がってきたな
2008/12/02(火) 01:10:18
SGMLパーサーの実装が不可能に近かったのでxmlを作りましたとさって経緯もあるからなぁ
71デフォルトの名無しさん
垢版 |
2008/12/02(火) 22:28:48
XSLTで、<xsl:template match="processing-instruction('xml')">
というテンプレートを見かけたんだけど、これってマッチすることあるの?
2008/12/03(水) 01:13:39
>>71
PITargetは[Xx][Mm][Ll]という値をとり得ないから、
何らかのPIにマッチすることは決してない。
2008/12/03(水) 01:50:00
XMLって何て読むんですか?
2008/12/03(水) 02:05:35
シャマル
2008/12/03(水) 20:07:26
命題1:XMLはデータをツリー構造で表現するデータ形式である
命題2:XMLはあらゆるデータ構造の表現に用いられている
命題3:世の中に存在するデータ構造はツリー構造のみではない

というわけで質問なんだけど、
1. XMLのデータ表現にツリー構造が採用されたのはなぜ?
2. XMLと相性の良い、あるいは悪いデータ構造って例えばどういうの?
2008/12/03(水) 20:13:05
その命題の真偽は?
2008/12/03(水) 20:26:26
まず、命題1は偽だな
2008/12/03(水) 21:43:13
安易に全称を使わないで欲しい
2008/12/03(水) 22:01:04
命題1と命題2のどちらかが偽だな

1. XMLのデータ表現にツリー構造が採用されたのはなぜ?
括弧の入れ子構造は自然にツリーになるから
(() ((()) ())))

2. XMLと相性の良い、あるいは悪いデータ構造って例えばどういうの?
相性が悪いのはグラフ(任意の矢印でつなげた構造)

  -------
+→|  |  |
|  +--|--+
+-----+

みたいな自分自身を指す構造とか。
2008/12/03(水) 22:16:27
>>79
なるほど。
あと、それを見てふと思ったんだけど、ラムダ式ってXMLで表現できるんだろうか
2008/12/03(水) 22:24:57
S式と1対1に対応できるから可能
2008/12/03(水) 22:54:47
何も悩まず

<lambda arg="x"><lambda arg="y">
<add><value expr="x"/><value expr="y"/></add>
</lambda></lambda>

でいいじゃん。
2008/12/03(水) 23:03:26
大抵のデータ構造は二項関係の集合にバらして表現できるから
大概のデータはその気になればXMLで「書ける」はずです。

ただ本当にバラバラ事件になるので、機械可読だけど人間様は
読みたくないXML文書になることは請け合いです。

「相性」にも広い意味がありますが元のデータ構造をバらさない
ままXMLの構造に対応づけることが出来るか、という意味では
やはり相性の良いデータは「木」に見立てることが出来るもの
に限られると思います。

ちなみに先日の下線とアンダーラインの例も次のように書けば
入れ子もオーバーラップも気にせずにXMLで表現できます。

<decoratedText>
<text>HTML is precisely what we were trying to PREVENT.</text>
<underline start="9" end="22"/>
<bold start="19" end="48"/>
...
</decoratedText>

確かTed NelsonのHyperTextにおけるHyperLinkの定義もこんな
アプローチ(参照元と参照先の開始点と終了点)だったと記憶して
います。ただ、手書きでは絶対に書きたくないな、これ。
2008/12/04(木) 01:02:30
XSLTがチューリング完全だからそれで変換すればなんでもありじゃね?
2008/12/04(木) 01:19:43
XSLTは "Sun, 28 ほにゃらら +0900(JST)" みたいな日付の書き方とかを始めとした
色んなデータ表現形式をサポートしてくれないとちょっと使いにくい。
JavaScriptでStringを引数としたString戻り値の関数を定義できる機能とかないのかね。
2008/12/04(木) 02:16:00
暇つぶしに論文漁ったらこんなのが。
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.9959&rep=rep1&type=pdf
http://www.tei-c.org/release/doc/tei-p5-doc/en/html/NH.html

Overlap(上記の下線と太線の例の様なケース)をどのようにSGMLや
XMLで表現するか、「技」の事例が揃ってます。

いや、苦労しているなぁ、皆さん(笑)。
個人的には次のようなアプローチが一番面白かった。

HTML is <U_start/>precisely <B_start/>what<U_end/> we were trying to PREVENT.<B_end/>
2008/12/04(木) 02:30:40
もはや要素の概念が・・・
2008/12/04(木) 02:33:59
>>86
rtfとかこんなんだよね。
2008/12/04(木) 02:39:23
昔のワープロデータの保存形式は、こんなのが多かった気がする。

HTML is <U length="14"/>precisely <B length="25"/>what we were trying to PREVENT.
■ このスレッドは過去ログ倉庫に格納されています