JavaプログラムでのXML活用術に行ってきました
パソナッテックでhttp://www.pasonatech.co.jp/f-java/という無料セミナーをやっていたので喜び勇んで行ってきました。
私はプロフィールにも書いてあるように福岡在住なのでこういったセミナーは本当にありがたい。7/20の「開発者として押さえておくべきJava最新技術動向のポイント」というセミナーは仕事の都合で行き損ねたのですが、昨日「JavaプログラムでのXML活用術 - RSSリーダーの作成とデモ」というセミナーを受講したのでこの場でレポートしたいと思います。
XMLとはなにか
構造化データを記述可能
- データのまとまりに名前をつけて管理
- マーク(要素や属性)でひとまとまりのデータに印をつける
- 複数のまとまりをグループ化できる
- 単なる日付データを、より上位の概念にまとめる
- Ex.)日付
<date><year>2006</year><month>7</month><day>25</day></date>
構造化データの例
例えば名刺をXML化するとこうなる。
<person> <dept>システム開発部</dept> <name>山田太郎</name> </person> <company> <name>XXX株式会社</name> <zip>〒000-0000</zip> <address line="1">福岡市博多区・・・</address> <address line="2">XXビル2F</address> <phonne>092-・・・</phonne> </company>
上記のようにメタデータとしてのタグと情報を構造化して記述することにより、人間が読むことも容易になる。
構造化することにより
- 検索をより高速に、より正確に実行できる
- 「秋田」は県名?苗字?
- この場合、どのタグの「秋田」を探せばよいかを指定すれば解決する。
- 「秋田」は県名?苗字?
- 冗長になる
- 意味のわかっている人には無駄な情報が多くなる
<date><year>2006</year><month>7</month><day>25</day></date> <date>2006-07-25</date>
上記XMLは同様の意味を持つものだが、ケース・バイ・ケースで使い分けなける必要がある。
拡張可能なマーク付け言語
同じ値でもマークにより意味が異なる例
<age>25</age> <weight unit="kg">25</weight> <length unit="cm">25</length> <minute>25</minute> <count>25</count>
拡張可能なマーク付けが出来ることにより
インターネットで使いやすい
XMLの利用例
データの保存と流通
- 長期的に保管する必要のあるデータ
- OpenDocumentFormat(OpenOffice.orgや次期バージョンの MS Officeが対応)
- ネットワークなどを経由して、やりとりする必要があるデータ
設定ファイル
プログラミングツール
XML関連技術の使用例
JAXP:JavaからXMLを使う
- Document Object Model(DOM)
- Simple API for XML(SAX)
- XML Stylesheet Language Transformations(XSLT)
- Validation(XML Schema)
- これはあまり使われていない
RSSとはなにか
- RSSの種類
- RSS1.0
- RSS2.0
- RSSについてはRSS(RDF Site Summary)によるサイト情報の要約と公開を参照のこと
- Atom
- AtomについてはAtom - RSS改訂の試みを参照のこと
- なぜ流行っているのか
- さまざまな情報についてのサマリを統一的な手法でかんりできる
- もちろんXMLであることのメリットも
感想
せっかくデータベース連携からシステム統合まで、企業システムの「つなぐ」を実現 | アステリア株式会社の方が来てくれたにもかかわらず、30人の枠が埋まらないのは寂しい限りでした。質疑応答でも、一部の人を除いては一切発言もなく盛り上がりに欠けていました。
私個人としては非常に参考になりました。ただ、地力が足りていない為にちょっとしか質疑応答に参加できなかったのが悔やまれるところです。
しかし、手を動かすことのできる情報をたくさんいただいたので今後に生かしたいところです。
私としてはこれに懲りずに、こういったセミナーが地方でも盛んに開催されることを祈ります。
*1:DTD(文書型定義)とは - IT用語辞典 e-Words