ここまで,XMLのWebページを表示させる基本を見てきたわけですが,「HTMLなら1つのファイルでいいのに不便だな」と感じる人もいるでしょう.では,XMLはHTMLとどのように異なるのでしょうか? たとえば,前述のサンプルコードでは,「XMLサンプル集」という文字列は,その要素名から,題名であることが分かります.もし,これが雑誌記事の目次であっても,CD-ROMのタイトルであっても,HTMLのWebページであれば,要素h1の内容になります.要素h1からは,その内容が「題名」を表していることは分かりません.しかし,XMLでは,「XMLサンプル集」という文字列は「題名である」という意味を持っているわけです. このように,Webページ上の内容に意味があるということが,XMLの最大の特長です.内容に意味があるということは,たとえばXML文書中から「題名」の内容だけを検索したり,抽出したりすることができるということです. 検索や抽出等の処理は,スクリプトを使って行うことができます.まず,次の「基本編」でXSLの基本を理解してから「応用編」をご覧ください.「応用編」では,スクリプトの記述について詳説しています. XSLの仕様とブラウザの現状 XSL(Extensible Stylesheet Language)は、XSLT(XSL Transformations)とFO(Formatting Object)からなり、XSLT Version 1.0は1999年11月16日にW3Cの勧告となっています.注:10 現時点では、一般的なヴィジュアルブラウザはXSLT仕様には完全準拠しておらず、FOにも対応していません。 Windows版IE5.01は、XSLT変換に類する機能を独自に実装しており,この通称「MS-XSL」を使うことにより、仕様で規定されたXSLTに近い変換を実現することができます。本書のコードは,「MS-XSL」で記述されています.本書のサンプルは,このMS-XSLを使って制作されています.IE5.01は、「MSXMLパーサ」のプレビュー版を順次公開しており、W3C仕様のXSLTに対応し始めています。但し,プレビュー版のインストールは各自の責任において行ってください.筆者がお奨めするものではありません。 ネームスペース 本書では,独自タグに対してネームスペースを指定していませんが,複数の企業間で類似のXML文書を共有する場合,要素名が同じであっても,意味するところが異なる場合があります.A社では,「氏名」要素は自社開拓の顧客であるのに対し,B社では同じ「氏名」要素が代理店開拓の顧客であるといった場合もあり得ます.これらのXML文書をまとめて処理したい場合,自社開拓の顧客と代理店開拓の顧客の区別ができなくなります. 要素名の重複により文書の扱いが困難になることを避けるには,ネームスペースを設定し,接頭辞を要素名の前に付けることで区別します.たとえば, <?xml version="1.0"encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl="http //www.w3.org/TR/WD-xsl"kyss="http //user.shikoku.ne.jp/kyss/planexml">といったように,kyss="http //user.shikoku.ne.jp/ kyss/planexml"という独自のネームスペースを設定し,接頭辞 kyss:を要素名の前に付けて区別します. <kyss:氏名></kyss:氏名>といった要素を設定する方法です.ネームスペースのURI部分については,区別できるユニークなものを書いておきます. 業界や特定のコミュニティでXMLサイトを立ち上げる場合は,任意の名前空間を決めて使うほうがよい場合もあります. 注:9 文字コードを指定可能なテキストエディタをお使いの場合は,XML文書やXSLファイルで指定した文字コードで保存します. 注:10 http://www.w3.org/TR/1999/REC-xslt-19991116 XSL自体はVersion 1.0の最新のサーキングドラフトが、2000年3月27日に公開されています。 http://www.w3.org/TR/2000/WD-xsl-20000327/
Copyright 2000 PROJECT kySS 薬師寺 国安 薬師寺 聖
|
|
Copyright 1997-2001 CQ Publishing Co.,Ltd.