- PR -

初投稿なのでよろしくお願いします。

1
投稿者投稿内容
うさお
会議室デビュー日: 2001/12/05
投稿数: 7
投稿日時: 2001-12-05 19:39
みなさんよろしくおねがいします。
なぜ同じデータ交換ができる形式のCSVはあまり世間に、
評価されなくてXMLは評価されてるのでしょーか
おしえてください。
井上孝司
ぬし
会議室デビュー日: 2001/09/08
投稿数: 668
お住まい・勤務地: 東京都
投稿日時: 2001-12-05 21:05
CSV だと、カンマで区切られた「フィールド」の位置によってデータを区別する
ので、データの構造を後で変更するのが面倒ですよね。でも、XML なら「タグの
名前」を使ってデータを区別するので、タグの名前さえ正しく書いてあれば、そ
れがどこにあろうが影響を受けない。そういう柔軟性が、XML の利点の一つです。

# もっとも、XML でも位置でデータを区別するというコードを書けますけど

あと、HTML をはじめとする Web 技術との親和性が良い、というのも、XML が
ウケている理由のひとつでしょう。
_________________
www.kojii.net
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2001-12-05 23:25
CSVは一つ一つデータを検索していく必要がありますが、XMLはツリーを使った構造なので、データの検索なども高速になるのではないでしょうか。
まりり
ぬし
会議室デビュー日: 2001/12/05
投稿数: 329
投稿日時: 2001-12-06 09:31
H2さん:
> CSVは一つ一つデータを検索していく必要がありますが、XMLはツリーを使った構造なので、
> データの検索なども高速になるのではないでしょうか。
これはなんとなく違うような・・・

XMLで言っているツリーというのは、別にデータの並びを見て作っている
ものではないと思います。
1つのレコードなりが、ツリー構造をしているだけのことです。

レコードの検索をしようと思ったら、XMLにしろCSVにしろ、
何かのデータ構造に入れてから検索する必要があるわけで、
この点では両者にあまり差はないでしょう。


なお、CSVは構造が単純なのと昔からあるのとでトピックにはならないでしょうけれど、
実際にはXMLよりもはるかに使われているのではないかと思います。
決して評価されていないわけではないです。
ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2001-12-06 22:07
まずXMLのほうが拡張性が高いことだと思います。
例えば、CSVで列を増やそうと思った場合に、CSVの場合列の最後に追加する分には問題ないが、列の途中に追加しようと思うと既存のプログラムをすべて見直す必要があるということです。
その場合に、何列目にあるかを常に意識する必要があり、ミスも介在しやすいということもあるのではないかと思います。


それと同じぐらい大きいのは、W3C という非営利団体が標準化を図っているということ。
これにより、XSL・DOM・SAX などという仕様に従っていれば、そのベンダのものを使っても同じように扱えるということです。
ベンダが独自に進めていく場合、どうしても他社との差別化を図ろうとするため、ユーザとしてはベンダ毎に使い方を変えていかなければいけないため、余計な手間が増えてしまうように思います。


まず、思いつくのはこの2つでしょうか。
XmlInfoSet
会議室デビュー日: 2001/11/30
投稿数: 5
投稿日時: 2001-12-07 10:58
引用:

その場合に、何列目にあるかを常に意識する必要があり、ミスも介在しやすいということもあるのではないかと思います。


XMLもおなじです。

引用:

それと同じぐらい大きいのは、W3C という非営利団体が標準化を図っているということ。


CSVに対する優位点ではありませんね。
Minoru
会議室デビュー日: 2002/02/20
投稿数: 3
投稿日時: 2002-02-20 19:49
CSVのレコードよりXMLのレコード(レコードと呼ぶのが正しいかどうか分かりませんが)
のほうがより意味が深いのです。
例えばAさんがコンビニでお弁当とお茶を買ったとします。Bさんはおにぎりとお茶を買ったとします。CSVだと次のようなPOSデータが流れてくることになります。

"1223","2002/2/19","お弁当","450YEN"
"1223","2002/2/19","お茶","130YEN"
"1224","2002/2/19","おにぎり","90YEN"
"1224","2002/2/19","お茶","130YEN"

1枚のレシートがCSVの1レコードとなるのではなく、アイテム毎にCSVのレコードが
作成されます。

XMLであれば

<伝票 伝票番号="1223" Date="2002/2/19">
<アイテム>
<商品>お弁当</商品>
<金額>450YEN</金額>
<商品>お茶</商品>
<金額>130YEN</金額>
</アイテム>
</伝票>
<伝票 伝票番号="1224" Date="2002/2/19">
<アイテム>
<商品>おにぎり</商品>
<金額>90YEN</金額>
<商品>お茶</商品>
<金額>130YEN</金額>
</アイテム>
</伝票>

2つのXMLのドキュメントをやり取りするだけで終わりです。
実際にレシート1枚が1XMLドキュメントになります。

CSVの場合は後でレコード間の関係を作るためにはRDBにいれてSQLで関連するデータ
(上の例では伝票番号)でもってJoinをしなければなりません。
XMLではそのまま見れば、分かります。


XMLのタグ付けのパワーと構造化のパワーがB2Bのやり取りにぴったし会っているわけです。




[ メッセージ編集済み 編集者: Minoru 編集日時 2002-02-20 19:51 ]

[ メッセージ編集済み 編集者: Minoru 編集日時 2002-02-20 19:52 ]
まー
会議室デビュー日: 2002/01/22
投稿数: 3
投稿日時: 2002-02-20 20:34
XML の利点は,書式がきちんと決められているところだと思います.

CSV は,なんとなくカンマで区切るというイメージだと思いますけど,
細かな書き方になると,結構実装ごとにばらばらだったりしませんか?
# データにカンマを含めたいときとか,コメント文とか,文字コードとか…

XML の利点は,こうした細かな点まで踏み込んで,汎用的なデータの書式
を決めたところだと思います.だから,汎用的なパーサーが作れる.
そして,複数のプログラムを協調して動作させるのに,汎用的なデータの書式が
あれば,どうやってデータを受け渡しするかなんて低レベルな議論の労力が
減らせるでしょう?

木構造でデータが記述できるとか,タグ名から意味がわかりやすいとかは,
ある意味おまけだと思っています.
1

スキルアップ/キャリアアップ(JOB@IT)