役にたたないXML Schema
私よりW3C XML Schemaが嫌いな人たち : 村田 真のチャンネル -北国tv
調べた人の話によると、Webに公開されているW3C XML Schemaスキーマのうち2/3には文法エラーがあり、何の役にも立たないのだそうな。
(笑)。
私よりW3C XML Schemaが嫌いな人たち : 村田 真のチャンネル -北国tv
調べた人の話によると、Webに公開されているW3C XML Schemaスキーマのうち2/3には文法エラーがあり、何の役にも立たないのだそうな。
(笑)。
久しぶりに顔を出した。 しばらく休んでいたのに快く迎えてくれた皆さんに感謝!
As-Is
As-IsとTo-Beを区別することは必要だけど、あまりAs-Isにこだわりすぎるのはどうかと、ふと思った。
大ざっぱで当てにならないW3C XML Schema問題の要約
過剰な複雑さと基本構造のいびつさ
W3Cという組織は、自らがXML Schemaを勧告している関係上、建前としてスキーマをXML Schemaで書かねばなりません。その結果、W3Cで行われている多くの言語作成活動においてXML Schemaによるスキーマ作成が行われ、その結果として上手く書けない事例がいくつも発生しているとされています。
XMLのプロフェッショナルであるはずのW3Cに関与する人間すら、XML Schemaを使えていない現実!
PSVI問題
Post Schema Validation Infoset問題。 同じXML文書でも、XML Schemaを通さなかった場合と、XML Schemaを通した場合でInfosetが変わってきてしまう問題(XML Schemaのデフォルト値の適用)
参考 : 『XMLにおける「ボヘミアンと貴族の階級闘争」を読み解く』を読み解いてみたら例示が欲しくなりました - XML & SOA
特定される単一のスキーマ
XML Schemaは、1つの名前空間に対応するスキーマが1つ存在するという前提を取るアーキテクチャであると言われています。
たしかに1つの文書に複数のスキーマを割り当てたいケースもあるかも。 データと妥当性を分離した、妥当かどうかもContextに依存させるような疎結合なアーキテクチャを実現したいケースもありそう。
貴族とボヘミアンの対立問題
XML Schemaは、全てのXML文書に対応するスキーマが存在し、読み込む際には必ず検証を行うアーキテクチャを前提としていると言われます。つまり、検証しない使用法を全て認めないことを理想としていると考えられます。 ここで注意すべき点は、ボヘミアンの立場がスキーマ不要論ではないことです。スキーマには、使うべき時と、使わない方が良い時がある、という立場です。
現場では、柔軟にXMLを使用したいはず。
W3Cの権威
世界におけるISOにせよ、日本国内におけるJISにせよ、その権威は本来W3Cより高いものであるにも関わらず、WWWの世界ではW3Cが最も権威を持つかのような錯覚が一部にあって、それが盲目的なXML Schema支持につながっている面があります。
W3Cが論理的で理性的な判断を下せない理由は何か?
【匠に聞く】モデリングが「道具」になるには専門領域に特化しなければならない──Executable UMLの考案者Stephen J. Mellor氏 : IT Pro ニュース
via Stephen J. Mellor氏のインタビュー記事 | 日々精進 - スパークスシステムズ ジャパン代表のBlog
──UMLは,用途ごとの言語仕様を定義するために「プロファイル」という枠組みを用意している。UMLをベースにしたDSLは,プロファイルとして作られていくことになるのか。 私個人は,そうならないことを望んでいる。UMLのプロファイルは,あくまでもUMLの範囲内で定義されるものだ。これでは,その業界に存在する独自の記号を利用できない。その業界で長年積み上げられてきた資産が切り捨てられてしまう。これはとてもばかげた話だ。その業界に適した記号を使った表記法にすべきだ。
Mellor氏はDSL派のようだ。
スキーマ設計とクラス図 | ノート
なるほど。興味深い。
同じことを書くのに、ちょっと自由度があるのがイヤンなかんじもするな。
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Sep | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||