Windows TIPS
[Office Master] |
FrontPage 2003をXMLエディタとして利用する
|
|
■ |
XMLファイルは、本来人間がその内容を読み書きするためのものではないため、改行や整形が行われておらず、読み書きしづらい場合がある。 |
■ |
FrontPage 2003を利用すると、XMLファイルを容易に整形することができる。 |
■ |
さらにW3C勧告に基づいたXML形式であるかどうかを検証させることもできる。 |
|
|
XMLはコンピュータ同士のデータのやりとりに適したマークアップ言語だが、各種アプリケーションやミドルウェアの設定ファイルの形式に採用されていることも多い。各ベンダから販売されている高機能なXMLエディタもあるが、簡単なタグの編集程度の操作ならば、Microsoft Office SystemのFrontPage 2003を使うと思いのほか簡単に作業を進めることができる。本稿では、FrontPage 2003でXML形式の設定ファイルを編集、整形する方法を紹介する。
サンプルのXMLファイルとして、ここでは「Windows Update(自動更新)」の構成ファイルを取り上げる。Windows Update(Automatic Updatesサービス)では、インストールされた修正プログラムの履歴をXML形式のファイルで記録しており、この内容を調べることにより、各コンピュータにおけるインストールの履歴を確認できる。この情報自体は、Windows Updateを実行して、[その他のオプション]−[インストールの履歴を表示]から参照することもできる。だがもっと詳しい情報を知りたいとか、(ほかのコンピュータの)インストール履歴をすべて収集して、ローカルにファイルとして保存・管理しておきたいという場合には、このファイルを直接開いたり、コピーして保存したりしておけばよい。ファイルの内容を確認するには、次のフォルダ(デフォルトでは、C:\Program Files\WindowsUpdate\V4フォルダ)を開いてみるとよい。
%ProgramFiles%\WindowsUpdate\V4 |
このフォルダ中にあるiuhist.xmlには、修正プログラムの名称やインストールした日時、サポート技術情報へのリンクなどが記載されている。ただしこのWindowsUpdateフォルダは、デフォルトでは隠しフォルダに設定されているのでエクスプローラでは表示されない場合がある。その場合は、[ツール]メニューの[フォルダ・オプション]にある[表示]タブで、[ファイルとフォルダの表示]−[すべてのファイルとフォルダを表示する]を選択しておく。
それでは以下実際に、FrontPage 2003を使って、XMLファイルを操作してみよう。
XMLファイルをツリー表示する
まずiuhist.xmlというXMLファイルをメモ帳で開いてみよう。ファイルにもよるが、XMLファイルではこのように、改行や空白などが含まれていないものも多い。人間ではなく、コンピュータの可読性を考慮すれば、余計な制御記号などを入れないのが当然といえば当然であろう。しかし、このような形式では、XMLファイルの構造を正しく把握するのは難しい。
|
iuhist.xmlをメモ帳で開いた例 |
C:\Program Files\WindowsUpdate\V4にあるiuhist.xmlファイルをメモ帳で開いた例。このファイルにはWindows Updateによるインストール履歴が記録されている。だが改行やタブ、空白記号などが含まれておらず、まったく整形されていないので、そのままでは非常に読みにくい形式になっている。 |
このファイルは、1行目がXML宣言、2行目以降がXMLインスタンスだが、改行されることなく、すべて1行で記述されている。そのため、メモ帳で見ると、非常に読みづらくなっている。
そこで要素の階層構造が分かるように、インデントや改行を挿入したツリー表示にしてみよう。FrontPage 2003を起動後、[ファイル]メニューの[開く]を選択して、該当するXMLファイルを指定する。開いた直後のiuhist.xmlでは、ただ2行だけしか表示されてないはずである。そこでツール・バーにある[XML ビュー]から、[XML の整形]ボタンをクリックすると(このボタンが表示されていない場合は、ツール・バーを右クリックして、ポップアップ・メニューから[XML ビュー]を選択する)、次のように整形された形式で表示される。
|
FrontPage 2003でファイルを開いた例 |
上と同じiuhist.xmlファイルをFrontPage 2003で開き、ツール・バーの[XMLの整形]ボタンをクリックすると、内容が整形され、要素の階層構造に対応したツリー表示となる。 |
XMLファイル中の要素名はそれぞれのファイルごとに異なり、決まった名前が付いているわけではないが、iuhist.xmlファイル中では、以下のような要素名が使われている。
要素名 |
用途 |
items |
この設定ファイル全体をまとめるルート要素 |
itemStatus |
修正プログラム1回分をまとめる要素。属性「timestamp」にインストールした日時を保持 |
title |
修正プログラム名 |
details |
属性「href」に関連する情報が公開されたURIを保持 |
|
iuhist.xmlファイル中で使用されている主な要素 |
Windows Updateの履歴情報を記録するiuhist.xmlファイルでは、主にこのような要素が使われている。 |
もちろん、Internet ExplorerをはじめとするXML対応ブラウザで開き、同様に表示することもできるが、これはそれぞれのブラウザがXMLファイルの要素の構造を解釈して、読みやすいHTML形式に変換したものである。元のXMLファイルを直接操作して、改行やタブ記号などの制御文字を挿入しているわけではない。ファイルを見るだけならば、ブラウザでも用は足りるが、XMLファイルに新しい要素を加えたり、編集するにはエディタによる操作が必要になる。
XMLファイルを整形する
次はXMLファイルの編集方法について解説する。先ほどのiuhist.xmlファイルに対して、社内の各コンピュータの修正プログラムのインストール状況を集計するために、各コンピュータを特定するための要素を挿入してみよう。この後の操作は、Windows Update実行時に影響を及ぼさないようiuhist.xmlをコピーして行うことを勧める。
まずコード・ウィンドウに表示された<items>要素のすぐ下の行に、以下の内容を追加する(要素名、属性名、値ともに任意のもので構わない)。
<machine name="sales001" ver="XPPro"/> |
ここでは空要素<machine>に、コンピュータ名を保持する属性「name」と、OSバージョンの種別を保持する属性「ver」を定義した。
編集後のファイルは、W3C勧告に準拠した「整形式XML」ファイルであるかどうかを必ず確認する必要があるので、ツール・バーの[整形式のXMLの検証]をクリックする。ファイルが正しい整形式XMLである場合は、次のような確認メッセージが表示される。
|
XMLファイルの検証結果 |
正しい整形式XMLである場合は、このようなダイアログが表示される。 |
だが正しく整形されていない場合は、次のようなエラー内容が表示される。これは、追加した行の最後が「/>」になっていない場合のエラーの例である。
|
エラーが含まれる場合の例 |
<machine>は空要素として定義しているので、「/>」でタグを閉じる必要がある。この例では、最後の「/」が抜けているので、タグが一致していないというエラーになっている。 |
|
|
このボタンをクリックすると、XMLファイルのチェックが行われる。 |
|
|
エラーが発生するとこのように、エラーの内容と場所が表示される。 |
|
整形式XMLとは
整形式XMLとは、上の[XMLの整形]ボタンをクリックしたときのように、ただ単に表示形式が読みやすくなったという意味ではなく、XML 1.0のW3C勧告に定義されている整形式規約に基づいたファイルであることを意味する。整形式規約の代表的な条件を以下に挙げておく。
- ルート要素は1つだけである
- 開始タグと終了タグの対応が正しい
- 要素の親子・兄弟の関係が正しく設計されている
詳細な仕様は「Extensible Markup Language (XML) 1.0 (Third Edition)(英語)」(少し古いが1998年2月10日版の邦訳は「拡張可能なマーク付け言語 (XML) 1.0」)で確認できる。
以上の操作で、XMLファイルとして最低限守らなければいけない整形規約のチェックを行うことができる。FrontPage 2003では、さらに以下の形式のファイルも同様に操作することができる。
形式 |
拡張子 |
XMLスキーマ |
.xsd |
XSL(スタイルシート) |
.xsl、.xslt |
DTD(文書型定義) |
.dtd |
|
FrontPage 2003で利用可能なファイル形式 |
すべてのXMLファイルはこの整形式規約に従わなければならないが、この条件さえ満たしていれば、ベンダやプラットフォームに依存することなく、汎用性の高いデータ・ファイルとなる。データベースに格納してもよいし、XSLTやCSSなどのスタイルシートを作成して必要なデータのみを表示させることもできる。もちろん同じOfficeスイートでの操作も可能だ。Office System 2003では、Word、Excel、Accessが勧告に準拠したXMLに完全対応となったし、さらにInfoPathというXML形式のデータを扱うフォーム作成ツールも用意されている。InfoPathは、XMLスキーマとの妥当性の検証や、複数のXMLファイルの統合やデータの集計など、より高度なXMLオーサリング・ツールとして、活用することができるが、これについての解説はまたの機会としたい。
Windows Server Insider フォーラム 新着記事