3.XML の 記 述 3-1 XML の 記 述 の 決 まり 1 XML 文 章 であることを 宣 言 する 2 文 字 コードを 指 定 する 3 すべての 要 素 には 終 了 タグを 書 く 4 すべての 要 素 は 正 しく 入 れ 子 にする 5 XML 文 章 には 1 つのルート



Similar documents
XML形式の電子報告書作成に当たっての留意事項

■デザイン

■新聞記事

PowerPoint プレゼンテーション

4.5. < 参 加 表 明 書 を 提 出 する> 調 達 案 件 一 覧 の 表 示 対 象 となる 案 件 を 検 索 し 調 達 案 件 一 覧 に 表 示 させます 参 加 したい 案 件 の 調 達 案 件 名 称 行 - 入 札 参 加 資 格 確 認 申 請 / 技 術 資 料 /

目 次 1. 論 理 関 数 IF IF の 概 要 論 理 式 の 種 類 等 号 不 等 号 具 体 的 な 使 い 方 ネスト 複 数 の 条 件 を 記 述...

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

Ver 改 訂 日 付 改 訂 内 容 1

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 15ページに 汎 用 データ 受 入 に 関 する よくあるお 問 い 合 わせをご 紹 介 しています Step1 (

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

PowerPoint プレゼンテーション

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可

目 次 1 インストール 手 順 プログラム データファイルのインストール Microsoft Access2013Runtime SP1(32bit) 版 のインストール 基 本 操 作 ログイン メニュー...

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー

PowerPoint プレゼンテーション

■ディレクトリ

図 2 エクスポートによるシェープファイルの 新 規 保 存 新 規 保 存 するファイルは,より 分 かりやすい 名 前 をつけて 適 切 なフォルダ(shape フォル ダにまとめておくのがよい) 上 に 保 存 しておく 2 / 10

別冊資料-11

k_setumeikai_siryo

2. 研 究 者 / 評 価 者 情 報 修 正 この 画 面 では 研 究 者 が 自 分 自 身 の 情 報 の 修 正 を 行 います (A) 研 究 者 / 評 価 者 情 報 の 修 正 () 研 究 者 / 評 価 者 情 報 修 正 画 面 を 開 く HOME 画 面 メニューの 研

SPARQL Finder設置方法

<4D F736F F F696E74202D C90BF8F CC8DEC90AC97E181698A4F8D E8816A5F56322E707074>

Microsoft Word - mtdevguide1_for_sample.doc

Microsoft PowerPoint - INIS_Collection_Srh_Quickmamual(Japanese)

目 次 利 用 に 際 しての 注 意 事 項... ユーザー 登 録... ログイン... 課 題 申 請... 5 装 置 予 約... 6 ライセンス 取 得 方 法... 7 利 用 料 金 の 確 認 ( 準 備 中 ) 外 部 発 表 登 録 の 方 法... 5 < 附

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

経 理 上 くん db(version 8.001)の 変 更 点 概 要 Ⅰ. 消 費 税 /リバースチャージ 方 式 の 申 告 に 対 応 1 特 定 課 税 仕 入 特 定 課 税 仕 入 返 還 区 分 を 追 加 しました Ⅱ.その 他 の 改 良 修 正 詳 細 は 後 述 を 参 照

3. 選 任 固 定 資 産 評 価 員 は 固 定 資 産 の 評 価 に 関 する 知 識 及 び 経 験 を 有 する 者 のうちから 市 町 村 長 が 当 該 市 町 村 の 議 会 の 同 意 を 得 て 選 任 する 二 以 上 の 市 町 村 の 長 は 当 該 市 町 村 の 議

スライド 1

新 生産管理システム ご提案書 2002年10月15日 ムラテック情報システム株式会社

5-2.操作説明書(支店連携)_xlsx

CENTNET 導 入 の 手 引 き 変 更 履 歴 No. 変 更 日 変 更 番 号 変 更 枚 数 備 考 /07/ 版 発 行 - システムリプレースにより 全 面 刷 新 //07/ 版 発 行 3 誤 字 等 の 修 正 /

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

1/2

PowerPoint プレゼンテーション

<4D F736F F D AC90D1955D92E CC82CC895E DD8C D2816A2E646F63>

よりメンバーに 配 布 した 第 2 期 は 第 1 期 に 開 発 した 大 気 時 間 値 集 計 解 析 ツールをベースに 機 能 改 良 を 行 った 国 立 環 境 研 究 所 では メンバーから 寄 せられる 要 望 使 い 勝 手 に 関 する 意 見 感 想 不 具 合 発 生 など

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

税金読本(8-5)特定口座と確定申告

V-CUBE One

スライド 1

Microsoft PowerPoint - A07回目②.pptx

[2] 控 除 限 度 額 繰 越 欠 損 金 を 有 する 法 人 において 欠 損 金 発 生 事 業 年 度 の 翌 事 業 年 度 以 後 の 欠 損 金 の 繰 越 控 除 にあ たっては 平 成 27 年 度 税 制 改 正 により 次 ページ 以 降 で 解 説 する の 特 例 (

Microsoft Word - 第3章.doc

PowerPoint プレゼンテーション

第1回

CL509001追加訂正内容.indd

施 工 P お 気 に 入 り データを 活 用 するための 準 備 施 工 パッケージデータをお 気 に 入 りに 登 録 し 単 価 を 閲 覧 するための 方 法 を 説 明 します 1. 施 工 パッケージデータをダウンロードする 施 工 パッケージデータのダウンロードは 下 記 から 行

一般競争入札について

民 間 退 職 金 の 実 態

贈与税 faq

Taro-1-14A記載例.jtd

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

1. 目 次 1. 目 次 2.はじめに 2-1.メールテンプレート 編 集 機 能 とは? 2-2. 対 象 読 者 3. 用 語 一 覧 4. 利 用 の 流 れ 4-1.メールテンプレート 編 集 の 流 れ 5. 機 能 説 明 利 用 方 法 5-1.テキストメール 編 集 開 封 率 を

(Microsoft Word - \203A \225\345\217W\227v\227\314 .doc)

大田市固定資産台帳整備業務(プロポーザル審査要項)

電子申告直前研修会(所得税編)

Microsoft Word - 不正アクセス行為の禁止等に関する法律等に基づく公安

目 次 第 1 章 は じ め に... 3 第 2 章 基 本 的 な キ ー 操 作... 4 第 3 章 メ ニ ュ ー 画 面... 6 第 4 章 入 荷 業 務... 7 第 5 章 出 荷 業 務... 9 第 6 章 商 品 照 会...11 第 7 章 棚 卸 業 務...12 第

- 目 次 - 変 更 履 歴... i 1. はじめに 用 語 の 説 明 ツール 機 能 概 要 当 ツール 活 用 時 の 留 意 事 項 および 参 考 資 料 動 作 環 境 とツール 構 成 機 能 と

Table of Contents... 3 XML XSL... 4 CSS XML... 5 CSS... 5 HTML+CSS... 6 CSS XML... 7 CSS... 8 XSLT XML HTML(+CSS)... 9 IE5 XML... 9 IE5

特別徴収封入送付作業について

給与R4 年末調整のポイント

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

工 事 名 渟 城 西 小 学 校 体 育 館 非 構 造 部 材 耐 震 改 修 工 事 ( 建 築 主 体 工 事 ) 入 札 スケジュール 手 続 等 期 間 期 日 期 限 等 手 続 きの 方 法 等 1 設 計 図 書 等 の 閲 覧 貸 出 平 成 28 年 2 月 23 日 ( 火

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

c. 投 資 口 の 譲 渡 に 係 る 税 務 個 人 投 資 主 が 投 資 口 を 譲 渡 した 際 の 譲 渡 益 は 株 式 等 に 係 る 譲 渡 所 得 等 として 原 則 20%( 所 得 税 15% 住 民 税 5%)の 税 率 による 申 告 分 離 課 税 の 対 象 となりま

( 別 紙 ) 以 下 法 とあるのは 改 正 法 第 5 条 の 規 定 による 改 正 後 の 健 康 保 険 法 を 指 す ( 施 行 期 日 は 平 成 28 年 4 月 1 日 ) 1. 標 準 報 酬 月 額 の 等 級 区 分 の 追 加 について 問 1 法 改 正 により 追 加

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

(10) 本 工 事 の 契 約 締 結 日 において 現 場 代 理 人 を 工 事 現 場 に 常 駐 で 配 置 し 得 ること ただし 本 入 札 の 一 般 競 争 入 札 参 加 申 込 書 の 提 出 日 現 在 において 3カ 月 以 上 直 接 的 かつ 恒 常 的 な 雇 用 関

WEB版「新・相続対策マスター」(ご利用の手引き)

PowerPoint プレゼンテーション

Microsoft Word - 全国エリアマネジメントネットワーク規約.docx

Microsoft Word - マニュアル.doc

機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連 携 機 能 院 内 で 撮 影

スライド 1

PowerPoint Presentation

(Microsoft Word - Easy\203y\201[\203W\221\200\215\354\203K\203C\203h.doc)

シラバスの作成と管理用Webシステムの開発

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63>

生協法見直し

第1章 財務諸表

<4D F736F F D E95E CC816994A8926E82A982F182AA82A2816A2E646F63>

<4D F736F F D E598BC68A8897CD82CC8DC490B68B7982D18E598BC68A8893AE82CC8A C98AD682B782E993C195CA915B C98AEE82C382AD936F985E96C68B9690C582CC93C197E1915B927582CC898492B75F8E96914F955D89BF8F915F2E646F6

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

原薬等登録原簿(マスターファイル)制度について

工 事 名 能 代 南 中 学 校 体 育 館 非 構 造 部 材 耐 震 改 修 工 事 ( 建 築 主 体 工 事 ) 入 札 スケジュール 手 続 等 期 間 期 日 期 限 等 手 続 きの 方 法 等 1 設 計 図 書 等 の 閲 覧 貸 出 平 成 28 年 5 月 24 日 ( 火

「給与・年金の方」からの確定申告書作成編

設定フロー ★印は必須の設定です

2 一 般 行 政 職 給 料 表 の 状 況 ( 平 成 23 年 4 月 1 日 現 在 ) 1 級 2 級 3 級 4 級 5 級 6 級 7 級 1 号 給 の 給 料 月 額 最 高 号 給 の 給 料 月 額 135,600 円 185,800 円 222,900 円 261,900 円

VersionUP4.3.1

( 注 変 更 申 請 で 対 象 となる 項 目 と 郵 送 書 類 についての 詳 細 は 下 表 を 参 照 してください 東 京 電 子 自 治 体 共 同 運 営 電 子 調 達 サービス 6. 変 更 申 請 物 品 買 入 れ 等 変 更 申 請 項 目 及 び 郵 送 書 類 等 一

(Microsoft Word - \221\346\202P\202U\201@\214i\212\317.doc)

01_07_01 データのインポート_エクスポート_1

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

総合評価点算定基準(簡易型建築・電気・管工事)

労働時間と休日は、労働条件のもっとも基本的なものの一つです

Transcription:

XMLとXSLTについて 1.はじめに インターネットの 急 速 な 発 展 に 伴 い コンピ ュータを 介 して 組 織 や 個 人 を 結 びつけるよう になってきました これらの 情 報 は 主 に HTML 形 式 の 情 報 です しかし HTML 形 式 の 情 報 では 複 雑 なデー タ 構 造 が 記 述 できないなどといった 表 現 力 に 限 界 があります そこで 注 目 されたのが XML 形 式 の 情 報 です ここでは XML の 特 徴 及 びその 利 用 方 法 等 に ついて 紹 介 します 2.XML について 2-1 XML(eXtensible Markup Language) HTML のようなシンプルなフォーマット で 文 章 構 造 を 記 述 でき 独 自 にタグを 定 義 する ことができるマークアップ 言 語 です 2-2 XML の 特 徴 文 章 のデータに 意 味 づけが 出 来 る XMLでは データ 開 始 タグと 終 了 タグで 括 って 記 述 することで 各 データに 意 味 付 け を 行 います 記 述 規 則 が 比 較 的 簡 単 レイアウト 用 の 定 義 は 含 まない XML 文 書 には データをどうするか? というような 見 た 目 のデザインを 記 述 する ものは 含 まれません XML 文 書 をどう 表 示 するかはCSSやXML 専 用 のスタイルシ ートであるXSL 側 で 記 述 します プラットフォーム 独 立 XMLはテキストベースなので 特 定 のバ イナリフォーマットのデータ 形 式 と 比 較 す ると 異 なる 機 種 異 なるプラットフォーム 間 でのやりとりを 比 較 的 簡 単 に 行 うことが 出 来 ます 総 合 情 報 基 盤 センター 技 術 専 門 職 員 畑 hata@cns.toyama-u.ac.jp 2-3 利 用 分 野 Webサービス 例 えば ある 条 件 にあった 物 をネットワー クで 検 索 した 場 合 今 までは 利 用 者 自 身 が 各 サイトに 個 別 アクセスして 検 索 しましたが Webサービスが 提 供 されれば 各 サイトに アクセスした 結 果 をまとめ 利 用 者 の 条 件 に あった 物 を 探 しだすというサイトを 従 来 より も 簡 単 に 構 築 することができます EC(Electoric Commerce) ECとはインターネットなどのネットワー クを 介 した 電 子 商 取 引 のことです この 電 子 商 取 引 では 企 業 間 の 流 通 するデー タの 変 換 フォーマットとしてXMLが 利 用 さ れています また Webベースの 受 発 注 シ ステムはコンテンツ 配 布 とともに サーバサ イドのアプリケーションの 構 築 にもXMLが かかわっています 定 義 ファイル 定 義 ファイルとはアプリケーションが 動 作 する 条 件 を 記 述 したファイルです このフ ァイルの 内 容 を 書 き 換 えることによって ア プリケーション 自 身 を 変 更 することなく ア プリケーションの 実 行 内 容 を 変 更 することが 出 来 ます 定 義 ファイルとしてのXMLの 利 点 は 下 記 のとおりです 1) タグに 意 味 づけができるので 人 が 見 てわかりやすい 2) 定 義 ファイルを 読 み 込 んで 構 文 を 解 釈 するパーサを 作 成 する 必 要 がない 3) 複 雑 なデータ 構 造 を 記 述 できる 篤 - 102-

3.XML の 記 述 3-1 XML の 記 述 の 決 まり 1 XML 文 章 であることを 宣 言 する 2 文 字 コードを 指 定 する 3 すべての 要 素 には 終 了 タグを 書 く 4 すべての 要 素 は 正 しく 入 れ 子 にする 5 XML 文 章 には 1 つのルート 要 素 を 書 く 6 指 定 した 文 字 コードで 保 存 する 7 大 文 字 小 文 字 を 区 別 する 8 属 性 値 は 二 重 引 用 符 で 挟 む タグの 記 述 例 ( 開 始 タブ) タブ ( 終 了 タブ) 要 素 <title>xmlの 記 述 </title> 内 容 入 れ 子 構 造 の 例 要 素 名 < 要 素 a> < 要 素 b> < 要 素 c> </ 要 素 c> </ 要 素 b> < 要 素 d> </ 要 素 d> < 要 素 a> 要 素 c 要 素 b 要 素 d 要 素 a 3-2 XML の 記 述 例 <?xml version="1.0" encoding="shift_jis"?> <data> <code>9300221</code> <addres> 中 新 川 郡 立 山 町 前 沢 2440</addres> </mail> <code>9300282</code> <addres> 中 新 川 郡 舟 橋 村 仏 生 寺 55</addres> </mail> <code>9300353</code> <addres> 中 新 川 郡 上 市 町 法 音 寺 1</addres> </mail> <code>9301312</code> <addres> 上 新 川 郡 大 山 町 上 滝 523</addres> </mail> <code>9302105</code> <addres> 婦 負 郡 山 田 村 湯 780</addres> </mail> <code>9320057</code> <addres> 小 矢 部 市 本 町 1-1</addres> </data> - 103-

3-3 XML の Web 表 示 記 述 した XML を Web ページで 表 示 すると 図 1のように 表 示 されます 図 2 Excel2002 での XML 文 書 の 読 み 込 み 図 1 XMLの Web での 表 示 図 1のように XML だけでは Web で 表 示 し た 際 には XML で 記 述 したとおりにしか 表 示 さ れません レイアウト 表 示 する 場 合 は XSL と CSS を 使 って 表 示 させます また Microsoft Excel2002 以 降 では XML 形 式 データを 読 み 込 むこともできます Microsoft Excel2002 を 使 っ て XML 文 書 を 読 み 込 むと 図 2のように 各 列 の 項 目 毎 にデータが 読 み 込 めます 4.XSL を 使 って Web ページの 表 示 の 仕 方 XSL(eXtensible Stylesheet Language)は XML 文 書 からのデータを 取 り 出 し,レイアウ ト 処 理 を 行 います XSL を 使 って Web ページを 表 示 する 場 合 XML 文 書 と XSL を 関 連 付 ける 必 要 があります XML の 内 容 文 を 記 述 する 前 に <?xml-stylesheet type= text/xsl href= 使 用 する XSL のファイル 名?> を 追 加 します XSL の 記 述 内 容 例 については sample.xsl リストを 用 いて 紹 介 します 4-1 sample.htm ソース <?xml version="1.0" encoding="shift_jis"?> 1 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/tran sform" version="1.0"> 2 <xsl:template match="/"> 3-104-

<html lang="ja"> <head> <title>sample</title> <style type="text/css"> table{border:solid 1pt black;} th{border:solid 1pt black;padding:10;} td{border:solid 1pt black;padding:10;} </style> </head> <body> <div> <xsl:apply-templates select="data" /> 4 </div> </body> </html> </xsl:template> <xsl:template match="data"> 5 <table> <tr><th> 郵 便 番 号 </th><th> 市 町 </th></tr> <xsl:for-each select="mail"> 6 <tr><td><xsl:value-of select="code"/> </td> <td><xsl:value-of select="addres" /> </td></tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> 8 7 テンプレートルール XML 文 書 をどのように 変 換 させるかとい った 処 理 内 容 4 次 に 処 理 する 要 素 の 指 定 ( data 要 素 を 指 定 ) 5 要 素 名 が data であるときのテンプレー トルールの 定 義 ( 処 理 ) 6 select 属 性 で 指 定 した 式 で 選 択 した 要 素 名 がある 間 繰 り 返 し 処 理 を 行 う( mail 要 素 名 がある 間 処 理 を 繰 り 返 す) 7 要 素 名 が code のとき code の 要 素 内 容 を 取 り 出 す 8 要 素 名 が"addres"のとき"addres"の 要 素 内 容 を 取 り 出 す 4-2 sample.xsl ソースの 説 明 1 XML 文 章 の 宣 言 と 文 字 コードの 指 定 2 XSL のルート 要 素 と 名 前 空 間 の 明 記 1,2は XSL ファイルを 記 述 するための 決 まりごと 3 ルートノード(/)にマッチしたときのテンプ レートルールの 定 義 図 3 XSL を 利 用 しての Web 表 示 - 105-

5.XML と XSLT を 使 ってのデータ 処 理 5-1 XSLT(XSL Transformations) 任 意 の XML 文 書 を 読 み 込 んで それを 加 工 して 出 力 することができます 出 力 方 法 は XML 文 書 とは 限 らず プレーンテキストや HTML を 出 力 することができます ここでは XML と XSLT を 使 ってのデータ 処 理 例 として 郵 便 番 号 から 市 町 村 役 所 住 所 の 抽 出 または 市 町 村 役 所 住 所 から 郵 便 番 号 を 抽 出 する 例 を 使 って 紹 介 します mail.htm を 実 行 すると mail.xml が mail.xsl で 変 換 されて 表 示 されます HTML mail.htm XML XSL mail.xml mail.xsl 変 換 結 果 以 下 に mail.htm と mail.xsl ソースを 紹 介 し ます 5-2 mail.htm ソース <html lang="ja"> <head> <title> 郵 便 番 号 検 索 </title> <script type="text/vbscript"> <!-- option explicit dim useriddata,luser,n,itemdata dim stylesheet,filevalue dim variablenode,xmldoc,htmldata,chikan n = 1 sub rclick(n) if n =1 then itemdata="1" else itemdata="2" end sub 1 sub useridgo() useriddata=myform.setuser.value if len(useriddata)<=0 then msgbox " 郵 便 番 号 または 市 町 村 名 を 入 力 してください" myform.setuser.value="" exit sub else set stylesheet=createobject("msxml2.domdocument") 2 3-106-

stylesheet.async=false filevalue=stylesheet.load("mail.xsl") 3 if filevalue=true then set variablenode=stylesheet.selectnodes("//xsl:variable") variablenode(0).text=useriddata luser=len(useriddata) 4 variablenode(1).text=luser variablenode(2).text=itemdata set xmldoc=createobject("msxml2.domdocument") xmldoc.async=false xmldoc.load("mail.xml") 5 htmldata=xmldoc.transformnode(stylesheet) 6 chikan=replace(htmldata,"utf-16","shift_jis") htmldata=chikan document.write(htmldata) else exit sub end if end if end sub --> </script> <style type="text/css"> <!-- body{font-family:"ms Pゴシック",sans-serif;font-size:11pt;line-height:16pt;} h1{font-family:"ms Pゴシック",sans-serif;font-size:18pt;font-weight:bold;line-height:20pt;} h2{font-family:"ms Pゴシック ",sans-serif;font-size:14pt;font-weight:bold;line-height:18pt;color:dimgray;} label{font-family:ms Pゴシック;font-size:11pt;font-weight:bold;} input{font-family:ms Pゴシック; font-size:13pt;ime-mode:inactive;font-weight:bold;text-align:center;} button{font-family:ms Pゴシック;font-size:13pt;width:100px;} --> </style> </head> <body> - 107-

<h1> 郵 便 番 号 検 索 </h1> <div> <input type="radio" name="item" onclick="rclick(1)" checked> 郵 便 番 号 検 索 <input type="radio" name="item" onclick="rclick(2)"> 市 町 村 検 索 <form name="myform"> <p> <label> 検 索 :</label><input type="text" size="10" name="setuser"> <button onclick="useridgo()"> 検 索 実 行 </button> </form> </div> </body> </html> 5-3 mail.htm ソースの 説 明 1 郵 便 番 号 から 所 在 地 検 索 する 場 合 は itemdata に1, 所 在 地 からの 郵 便 番 号 を 検 索 する 場 合 は itemdata に2を 格 納 2 入 力 ボックスにデータが 未 入 力 であれば メッセージを 表 示 3 DOM オブジェクトを 生 成 し load メソッ ドを 使 って XSL ファイル(mail.xsl)の 読 み 込 み 4 DOM の selectnode メソッドを 使 って XSL ファイル 中 の xsl:variable 要 素 の 内 容 を 変 数 variablenod に 格 納 ( 検 索 内 容, 入 力 し た 文 字 数, 検 索 条 件 を variablenod に 格 納 ) 5 Load メソッドを 使 って XML ファイル (mail.xml)を 読 み 込 む 6 XML ファイルを XSL ファイルで 変 換 した 結 果 を 表 示 DOM(Document Object Model) DOM は 文 書 へのアクセス 方 法 を 定 義 する もので ノードを 作 成 したり ノードアクセ スして 内 容 を 抽 出 することを 可 能 にする 5-4 XSL ソース <?xml version="1.0" encoding="shift_jis"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method="html" version="4.01" encoding="shift_jis" indent="yes" /> <xsl:variable name="code">test</xsl:variable> <xsl:variable name="lcode">0</xsl:variable> <xsl:variable name="item">0</xsl:variable> <xsl:variable name="chk">2</xsl:variable> <xsl:template match="/"> 1-108-

<html lang="ja"> <head> <title> 郵 便 番 号 <xsl:value-of select="$code" />を 検 索 する</title> <style type="text/css"> table{border:solid 1pt black;} th{border:solid 1pt black;padding:10;} td{border:solid 1pt black;padding:10;} </style> </head> <body> <div> <h1> 郵 便 番 号 検 索 </h1> <h2><xsl:value-of select="$code" />を 検 索 します</h2> <xsl:apply-templates select="data" /> <h6></h6> <a href="mail.htm"> 戻 る</a> </div> </body> </html> </xsl:template> <xsl:template match="data"> <xsl:choose> 2 <xsl:when test ="$Item=$CHK"> <xsl:variable name="codecount" select="count(mail[substring(addres,1,$lcode) =$CODE])" /> 3 <h3><xsl:value-of select="$code" />に 該 当 する 郵 便 番 号 は <xsl:value-of select="$codecount" /> 件 です </h3> <table> <tr><th> 郵 便 番 号 </th><th> 市 町 村 名 </th></tr> <xsl:for-each select="mail"> <xsl:if test="substring(addres,1,$lcode)= $CODE"> <tr><td><xsl:value-of select="code" /></td> 4 <td><xsl:value-of select="addres" /></td></tr> </xsl:if> </xsl:for-each> </table> </xsl:when> - 109-

<xsl:otherwise> 2 <xsl:variablename="codecount" select="count(mail[substring(code,1,$lcode)= $CODE])" /> 3 <h3><xsl:value-of select="$code"/>に 該 当 する 市 町 村 は <xsl:value-of select="$codecount" /> 件 です </h3> <table> <tr><th> 郵 便 番 号 </th><th> 市 町 村 名 </th></tr> <xsl:for-each select="mail"> <xsl:if test="substring(code,1,$lcode)= $CODE"> <tr><td><xsl:value-of select="code" /></td> 4 <td><xsl:value-of select="addres" /></td></tr> </xsl:if> </xsl:for-each> </table> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> 5-5 mail.xsl ソースの 説 明 1 XSLT の xsl:variable 要 素 を 使 って 変 数 CODE,LCode,Item,CHK を 宣 言 し CHK 以 外 の 変 数 に 仮 の 値 を 格 納 2 Item が 2 の 場 合 所 在 地 での 検 索 処 理, 1 の 場 合 郵 便 番 号 での 検 索 処 理 3 xsl:variable 要 素 で 変 数 codecount を 宣 言 select 属 性 で 一 致 した 要 素 の 数 を codecount に 代 入 4 addres 要 素 または code 要 素 で 前 方 から 入 力 した 文 字 数 分 が 一 致 した 場 合 一 致 した 項 目 内 用 を 表 形 式 で 表 示 図 4 mail.htm の 表 示 画 面 - 110-

図 5 郵 便 番 号 での 所 在 地 検 索 図 7 所 在 地 での 郵 便 番 号 検 索 図 6 郵 便 番 号 で 所 在 地 の 検 索 表 示 例 図 8 所 在 地 での 郵 便 番 号 検 索 表 示 例 6.おわりに 以 上 のように XML はプラットフォームに 関 係 なくデータのやり 取 りができます それゆえに Web クライアントを 利 用 し 複 数 の 異 なるデー タベースの 情 報 を 組 み 合 わせることができます また XSL や XSLT を 利 用 することで 各 々の 利 用 者 に 応 じて 異 なるビューで 表 示 することや 利 用 者 のニーズに 応 じた 情 報 検 索 ならびに 情 報 をフィルタリングすることもできます 参 考 図 書 XML+XSLT 実 用 スーパーサンプル 集 CQ 出 版 社 Windows で 学 ぶ XML 技 術 評 論 社 - 111-