初心者のためのホームページ作り 第37号

Web作成支援

メールマガジン「初心者のためのホームページ作り」でお伝えした内容を、「復習」の意味で掲載しています。テキストのみのマガジンと違って、実際のサンプルや画像を交えて解説していますので、理解が深まると思います。なお、疑問点や分からない点がありましたら、遠慮なく メールにてご質問ください。

今週<第37号>マガジンのおさらい

                   毎週金曜日配信 What's New 2003/1/31
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
 今週の課題 ■ XHTML講座 第3回

XMLを知る

XHTMLが XMLに適合したマークアップ言語であることは周知の通りです。では、XMLとは一体どのようなマークアップ言語で、どのように使われているのかを、大雑把に説明します。

XMLを知ることは、XHTMLを学ぶ上で必ず役立つことになるでしょう。

XMLとは何か?

今日のインターネットの発展に、WWWの発達と HTML(HyperText Markup Language)が寄与したしたことは疑いようがありません。そして、インターネットの急速な普及は、新しい情報流通市場を生み出し、さらに情報システムの基本的な仕組みをも変える程のインパクトをもたらしました。

グローバル・ネットワーク(Web)全体が、一つの巨大な情報システム、あるいはデータベースと成長していくとき、ここに参加するアプリケーションの間で共通な情報表現のルールが必要となってきています。この情報表現ルールに XML(eXtensible Markup Language)の適用が注目されています。

XMLは、1986年 ISOで標化された SGML(Standard Generalized Markup Language)をインターネットで活用しやすくするために、1998年2月に、その基本仕様 XML1.0 がW3C(World Wide Web Consortium)にて策定されました。Webページ作成言語である HTMLは、タグの意味が固定であり、表示に特化した構造となっており、アプリケーションからそのタグ情報を基に、プログラム処理したいという要件に対応できない問題があります。つまり、アプリケーションの利用が不可能となっています。

XMLでは利用者が自由にタグを定義でき、文書中の文字列に意味付けができる言語構造を持ち、プログラムで自在に XMLデータを情報処理できるというメリットがあります。さらに、SGMLの持つ複雑な印刷系のオプションなどを省略し、言語仕様(XSL-FO)を規定しており、理解しやすさ・使いやすさを向上させている点にもメリットがあります。

HTMLとXML

HTMLでは、データとその表現方法が混在したマークアップ言語です。一方で、XMLはデータが記述され表現方法を持っておりません。XMLはあくまで意味を主体としたマークアップ言語なのです。

XMLの使用例

Web上では、ユーザのリクエストによりデータベースや基幹システムが持つアプリケーション・データを XMLによって抽出し、ブラウザへ出力させる XSLを利用してユーザへ返します。

つまり、ユーザがデータベースや基幹システムなどのアプリケーションに、ブラウザを利用してアクセスできるメリットがあります。

XSL

XSL(eXtensible Stylesheet Language)とは、XMLデータをどのようなメディアに出力させるかを定義した文書で、Webブラウザや印刷などに特化したスタイルシートです。

XML文書は、そのインスタンス(XMLに記述される本文)を XMLパーサで解釈されて動作します。しかし、Webへ出力させるためには、その整形をブラウザに引き渡さなければなりません。XSLはブラウザへ XMLインスタンスを表示させるためには必須の文書です。

XML文書
<?xml version="1.0" encoding="UTF-8" ?>
<?xml:stylesheet href="sample_01.xsl" type="text/xsl" ?>
 <magazine>
  <book>初心者のためのホームページ作り</book>
  <author>ばんばん</author>
  <content>HTML & XHTML講座</content>
 </magazine>

XSL文書
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" 
    xmlns="http://www.scollabo.com/banban/xml/sample_01.dtd" 
    result-ns="" default-space="strip" indent-result="yes">
<xsl:template match="*">
  <xsl:apply-templates/>
</xsl:template>
<xsl:template match="text()">
  <xsl:value-of select="."/>
</xsl:template>

<xsl:template match="/">
<html>
<head>
<title>XML Sample_01</title>
</head>
<body>
<h1>XML Sample_01</h1>
<p>マガジン名:
<xsl:apply-templates select="/magazineinfo/magazine/book"/></p>
<p>作者:
<xsl:apply-templates select="/magazineinfo/magazine/author"/></p>
<p>内容:
<xsl:apply-templates select="/magazineinfo/magazine/content"/></p>
</body>
</html>

</xsl:template>
</xsl:stylesheet>

XMLサンプル   (MSIE 5.0 以上で表示可能)

XSLT

XMLのスタイルシート言語である XSLには、もともと変換言語としての機能と、実際にテキストをフォーマットする言語の2種類の言語が含まれていました。

この中で、変換言語の部分は非常に有用で、XSL以外の目的でも役に立つことから、分離独立し、1999年11月に W3Cの勧告により XSLT (XSL Transformations) が正式勧告となりました。

XSLTは、任意の XML文書を読み込んで、それを加工して出力する簡易なスクリプト言語として使用することができ、たとえば、ビジネスデータを読み込んで、それを SVG形式に書き出すことによってグラフを自動作成する、といった使い方も可能になっています。

留意点

今回の XMLの表示に関しては、読者のブラウザ状況を考慮して XSL 1.0 を利用しました。マイクロソフト社の MSIE 5.0 以上でのみ表示可能になり、残念ながら他のブラウザではレンダリングに問題があります。あしからず。

次回は、XHTMLで利用する名前空間について解説します。



Valid XHTML 1.1! このページは XHTML1.1 で作成しています
Copyright(C) 2002-2003 banban@scollabo.com