ASCII24 Top ASCII24 Business Center ASCII24 News ASCII24 Review ASCII24 Business Center 携帯24 Mac24 Akiba2GO! デジタル用語辞典 ASCII24 Broadband Center 最新ニュース 特集 事例紹介 コラム NETWORK MAGAZINE ASCII24メールサービス Blogag
ASCII24 - [Main Menu] [Menu 2]


  ASCII24 > Business Center 111
記事/用語/ID検索 

最新ニュース
【お知らせ】 アスキーの新しいPC/IT情報サイト、ASCII.jpがオープン!(2007年1月29日)
【ここが変わったWindows Vista 100連発! Vol.27】 “サービス” タブが追加された “タスクマネージャ” (2007年1月26日)
東芝ダイレクト、Vista搭載の直販専用ノートパソコン春モデルを発表(2007年1月26日)
【フォトレポート】 さらにスリムに進化したソフトバンクモバイルの新機種に触ってきた!(2007年1月26日)
BCN、 “BCN AWARD 2007” の表彰式を開催(2007年1月26日)
ロジクール、省スペース/静音構造のUSBフルキーボード 『Classic Keyboard 200』 を発売(2007年1月26日)
NTTとNTTレゾナント、過去に見たウェブページを再度探し出すソフトを発表(2007年1月26日)
松下電器、パスワードで録音データを保護できるICレコーダー 『RR-US470-K』 など2機種を発売(2007年1月26日)
インテル、802.11nドラフトに準拠した無線LANモジュール “Next-Gen Wireless-N” を発表(2007年1月25日)
【Macworld 2007 Vol.14】 写真で一挙紹介!! 展示会場レポート (ハードウェア編) (2007年1月25日)
【発表会レポート】 ソフトバンクモバイル、最新春モデル14機種58色を発表!!(2007年1月25日)
XP Homeのサポートが2014年まで延長――マイクロソフト、Windows XP Home Editionのサポート提供期間延長を発表(2007年1月25日)
富士フイルム、SD/xD両対応のコンパクトデジタルカメラ3機種を発表(2007年1月25日)
プリンストンテクノロジー、応答速度が5msの22インチWSXGA+液晶ディスプレー 『PTFSAF-22W』 を発売(2007年1月25日)
ネットレイティングス、2006年12月度のインターネット利用動向調査結果を発表――任天堂にアクセスが急増。(2007年1月25日)
シマンテック、セキュリティーソフト “Norton AntiVirus” など3製品をVistaに対応(2007年1月25日)
JPRS、 “駅街ガイド” のアクセスランキングを発表(2007年1月25日)
日本サムスン、応答速度が5msの22インチWSXGA+液晶ディスプレー 『SyncMaster 225BW-R』 を発売(2007年1月25日)
日立、HDDとDVDドライブを搭載した “ハイブリッドカム Wooo” シリーズを4機種発売(2007年1月25日)
ソニーとバンダイ、合弁会社 “株式会社セリウス” を設立(2007年1月25日)
JEITA、2006年のパソコン出荷実績を発表――買い控えで4年ぶりの前年割れに(2007年1月25日)
飛鳥、6in1カードスロットを搭載したポータブルHDD 『Tripper Light』 を発売(2007年1月25日)
D-PA、TV番組のオークションへの違法出品の監視を開始(2007年1月25日)






Contact Information

[PR]
Printable Version コラム / XMLの常識

XMLの常識

第1回 XMLの応用範囲を広げるXSLT


2000年6月22日
この連載では、XMLの概要だけではなく、XML関連で現在もっとも注目されている技術や、これだけは抑えておきたい、といったキーワードを、具体的にわかりやすく解説します

 ここのところ、インターネットの応用範囲を大きく広げるテクノロジーとして「XML(eXtensible Markup Language)」が注目を集めている。ほんの1年ほど前までは、まだまだ限られた人しか知らないテクノロジーだったが、ここにきて「EC」や「B to B」といったキーワードとともに新聞や雑誌でこの単語を見かける機会が増えてきた。解説記事も多く、どういったテクノロジーであるかをイメージできる読者も多いと思う。

 XMLは、簡単にいうと“マークアップ言語を作るための枠組みを定めた規格”となる。有名なマークアップ言語として、インターネットの普及を支えたHTMLが挙げられるが、XMLをベースにした文書もHTMLと同じく“<”と“>”で括られたタグを使い、文書に対して意味付けを行なっていく。ただHTMLの場合はタグの意味をW3Cがキチッと定義しているが、XMLの場合タグそのものまでは規定されていない。ユーザーは、規格上で定められた名前の生成規則やXML文書作成時のルールをベースに、タグの名前などを決めてマークアップ言語を作っていくことになる。

 こうしてユーザーがタグを作成できることによるメリットは、さまざまな情報を、マークアップ言語で表わしたデータにできる点だ。スケジュールを表わすことを考えた場合、HTMLでも、たとえば以下の例のように「スケジュールを書いた文書」は表わすことができる。


(省略)
<table>
  <tr>
    <td>2000年6月29日</td>
    <td>日刊アスキー Business Centerの打ち合わせ</td>
    <td>トーシンビル</td>
  </tr>
</table>
(省略)

 人間であれば、上記の内容で「2000年6月29日」と書かれていればそれは日付だと認識できるが、これをソフトウェアに読み込んで処理させるのは難しい。もちろん決め打ちでデータを認識させるという方法も考えられるが、もし日付と予定のタイトルが入力されている位置が入れ替わっていると、その時点で処理は不可能になってしまう。このスケジュールをXMLで記述すると、たとえば以下のように表現することができる。


<?xml version="1.0" encoding="EUC-JP"?>
<スケジュール>
  <予定>
    <日時>
      <年>2000</年>
      <月>6</月>
      <日>29</日>
    </日時>
    <タイトル>日刊アスキー Business Centerの打ち合わせ</タイトル>
    <場所>トーシンビル</場所>
  </予定>
</スケジュール>

 このようにXMLで記述されていると、ソフトウェアはタグの名前を頼りに、そのタグで挟まれている値は何を表わすのかを判断することができる。たとえば上記のデータをデータベースに格納する、といった動作を考えると、「<場所>タグで括られた値はデータベースの“場所”フィールドに入れる」といった具合だ。このようにXMLでは、タグを作成できることによって、HTMLでは難しかった「ソフトウェアによる処理」を容易に実現することができる。

 ただこの結果は当然で、HTMLはあくまでも「文書の構造」を表わすために開発された言語であることを忘れてはならない。つまり、こうしたスケジュールのようなデータを表現するには、HTMLはもともと向いていないのだ。しかしXMLが登場したことにより、今後はこれをベースにさまざまなデータを表現することが可能になったわけだ。

 XMLを使うもうひとつの大きなメリットとして、ベンダーやソフトウェアから独立したファイルフォーマットとして利用できる点も挙げられる。たとえば、パソコンでスケジュールを管理しているユーザーは多いと思うが、そのスケジュールソフトで作成したデータは、基本的にそのソフトウェアでしか利用できないことが多い。しかしこれでは、たとえば会社内のスケジュールを入力したデータを配布しようとすると、そのソフトウェアでしか読めず、もしなければそのデータは読めないという不便をユーザーに強いることになる。しかし仮にXML対応のスケジュールソフトがあれば、データフォーマットをXMLにしておくだけで、ソフトウェアを特定せずに、データを配布し、またそれを読むことが可能になる。

 これは、XMLが非営利団体であるW3C(World Wide Web Consortium)によって制定されたオープンな規格であり、ベンダーは自由にXMLをサポートしたソフトウェアを作成することができるためだ。このモデルをすでに実現し、大きな成功を収めているのがHTMLである。HTMLはソフトウェアから完全に切り離されたフォーマットであり、基本的にはどのソフトウェアを使って作成したHTMLでも、見る側は好きなブラウザを使ってそのHTML文書を読むことができる。これによって、配布する側はユーザーがどのような環境で読み込まれるかを気にする必要はなく、閲覧する側は好きな環境で読める、と双方にメリットが生まれている。こうしたメリットをHTMLで表わせる「文書」だけでなく、コンピュータ上のさまざまなデータで得られる、というのがXMLなのだ。

XSLTが必要な理由

 もちろんこうした利点を最大限に活用するには、ソフトウェアがXMLに対応する必要があるわけだが、もうひとつ壁になるのが、どのようなタグを使うのかという取り決めである。ソフトウェアはタグの名前を頼りにXMLを処理するため、その名前がバラバラでは、いくら「XMLに対応した」と言っても適切にXMLを処理することはできない。たとえば先ほどのスケジュールを表わしたXMLで、「<年月><年><月><日>」というタグがあったが、もしほかのユーザーが使っているXML対応のスケジュールソフトが「<date><year><month><day>」というタグしか認識しないということになると、わざわざテキストエディタやワープロの置換機能を使ってタグの名前を書き換えるなどしなければならない。また、タグの名前を書き換える程度の修正であれば、置換でも何とかなるが、XMLの構造自体が違ってくるとさらにややこしくなる。たとえば下記のXMLは、先ほどのスケジュールを表わしたものとまったく同じデータだが、タグの構造を若干変えている。


<?xml version="1.0" encoding="EUC-JP"?>
<schedule>
  <appoint year="2000" month="6" day="29">
    <title>日刊アスキー Business Centerの打ち合わせ</title>
    <location>トーシンビル</location>
  </appoint>
</schedule>

 先ほどのXMLからタグの名前を変更し、さらに「<年月>」というタグの下にある「<年><月><日>」というタグで表わしていた予定日を、今回は「<appoint>」タグの「year」と「month」「day」の3つの属性として表わしている。属性とは、タグに対して何らかの情報を付け加えたい場合に利用できるものだ。HTMLで画像を表示させるために利用する際に「<img src="image.gif">」などと記述するが、この「src="image.gif"」の部分が属性となる。

 このようにタグで表わしていたデータを属性に書き換えるとなると、単純な置換では変換することができない。そこで活用するのが「XSLT」というわけだ。

 W3Cは、XMLに関連するさまざまな規格の制定を進めているが、XSLTもそうして勧告になった規格のひとつである。もともとXSLTは、XML文書に対してスタイル付けを行なう規格である「XSL」のひとつとして考えられていた。ちなみにXSLは、以下の2つの段階から構成されていた。

  • 文書の構造の変換方法を規定した規格
  • フォントの情報などのスタイル情報の定義

 これにより、まずXML文書を人間が読みやすいようにデータの並び替えなどを行ない(構造の変換)、そうして変換されたデータに対してスタイル情報を定義していく、という流れになる。しかし文書の構造の変換という機能が、単にスタイル付けを行なう際に便利なだけでなく、もっと幅広く利用できることから、XSLからXSLTが分離/独立したわけだ。

 XSLTでできることの範囲は幅広く、それゆえになかなか難しい規格になっているが、使いこなせるようになれば、XMLの応用範囲を大きく広げることができる。たとえば「<スケジュール>」から「<schedule>」といったように、タグの名前を変えるといったことは朝飯前で、さらに先ほどの「<年><月><日>」のタグの値を、「<appoint>」要素の属性にする、といったことも可能だ。さらにタグの値などの条件によって動作を変更するif文のような処理を行なったり、あるいは変数や引数が使えるなど、プログラマブルな処理を行なうことができるのも大きな特徴だ。

 このXSLTが利用できる範囲は幅広いが、用途としてもっとも分かりやすい例では、HTMLへの変換が挙げられる。HTMLに変換することにより、もっとも頻繁に使われているアプリケーションのひとつになった「Webブラウザ」を使って、XML文書を閲覧することが可能になる。また最近ではパソコンからのブラウズだけでなく、携帯電話などを使ってWebを見ているユーザーも多いと思うが、複数のXSLTを記述しておくことで、パソコンのブラウザの機能をフルに使ったHTMLから、携帯電話用のHTMLまで、1つのソースで複数の用途に使える。

 もちろんHTMLに変換するだけでなく、XMLからXMLへの変換にも利用できる。現在、特に電子商取引などといった分野でXMLへの期待が高まっているが、タグの名前や属性、さらには構造といったもの(これをスキーマという。これに関しては、回を改めて詳しく解説する予定だ)が分野や企業団体ごとに統一されるのはもう少し先になるだろうと思われる。このように業界の方向性が定まっていない中では、特定のスキーマに偏るのではなく、XMLを送信、あるいは受け入れる際の柔軟性が重要になる。

 このようにXSLTが便利な場面は多く、XMLを活用していくには避けて通れない規格になっている。次回は実際にXSLTを使ったXMLの変換などを解説したい。

(及川晴生)





advertisement

Copyright (C) 1997-2007 ASCII Corporation. All Rights Reserved.
No portion of this web site may be reproduced or duplicated without the express written permission of ASCII Corporation.
This web site is written in Japanese only.
記事に関するご意見やご質問は、お問い合わせフォームにてお送りください