第4回:XMLの出力環境 (1/3)

XMLで開発ドキュメント

【楽々デブドックを書こう!】XMLで開発ドキュメント

第4回:XMLの出力環境

著者:佐賀大学総合情報基盤センター 只木 進一

公開日:2008/02/27(水)

NetBeans 6について

ちょうど「第3回:情報システムの仕様をXMLで記述する!」の記事を書いた後で、日本語に対応したNetBeans 6.0.1がリリースされた。XMLに関連した編集環境が、5.5.1と比べると格段によくなっている。例えば、XMLスキーマをグラフィカルに、つまり木構造を見ながら設計することができる。また、XMLスキーマに応じたXML文書のテンプレートを作ることが可能だ。

これでXMLに関連した作業が楽になる。スキーマを基に読み込みや編集のJavaプログラムを生成してくれるとさらに嬉しいが、そこまで楽をさせてはくれない。楽をしたら技術の進歩は無いとあきらめよう。


(画像をクリックすると別ウィンドウに拡大図を表示します)

文書に出力する「HTML」

さて、情報システム仕様書がXML文書としてできたら、次は出力環境の整備である。XMLスキーマとXML文書は、XMLの閉じた世界に収まっている。しかし、表示は既存の方法との交渉である。つまり、ここから先は「表示」という、XMLにとって外部の世界との繋ぎを作ることとなる。これがすこしやっかいだ。しかし、仕様作成を共同作業で進めるのであれば、早めにHTMLへの出力環境を準備する必要がある。

XML文書を読める形の文書に素直に変換する標準的な方法は、XSL(eXtensible Stylesheet Language)である。XSLはXPath(XML Path Language)を使って、XMLの要素に応じて、出力を制御する言語だ。XSL自体がXMLであるので、適当な道具を使えばXML文書としての整合性を確認することができる。

XSLの基本的構造は、ある要素、例えば<Tag>があらわれたとき、行う印刷処理を書くことで構成する(リスト1)。

また、XSLではループ構造や条件分岐をあらわすことができる。例えば、要素<Chapter>を考える。その中の要素<Title>の内容をHTMLの<h2>タグで表示して、下層の要素<Section>をforループを使って順に処理する。この場合には、リスト2のようなXSLを書くことになる。

XML文書をHTML文書に変換する、あるいはWebサイトにおいて直接見せるためには、出力形式がHTMLであることを示す出力指定(リスト3)をXSLに加える。この行を加えることで、HTML4.01に対応したHTMLのヘッダ部が自動的に作成できる。

XML文書からHTML文書への変換は、Apacheプロジェクトのxalanや、xmlsoftのxsltprocがよく使われる。また、XML文書の先頭でXSLファイルを指定することで、Webブラウザから直接見ることもできる。 次のページ




佐賀大学総合情報基盤センター 只木 進一
著者プロフィール
佐賀大学総合情報基盤センター 只木 進一
センター長・教授
交通流やインターネットパケットの流れなど、自己駆動粒子系の研究を専門としている。並行して、情報システムの管理運用技術の研究開発も行っている。XMLやJavaなどを仕事道具として活用している。
http://www.cc.saga-u.ac.jp/


INDEX
第4回:XMLの出力環境
NetBeans 6について
 LaTeX出力その他
 データの活用
【楽々デブドックを書こう!】XMLで開発ドキュメント
第1回標準化と再利用
第2回情報システムにXMLが求められる背景
第3回情報システムの仕様をXMLで記述する!
第4回XMLの出力環境

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30