気象庁XMLとは～気象庁XML利活用セミナー ～２０１３／７／１１
気象庁予報部業務課
杉山 善昭

【目標】
 資料はどこにある。
 XMLの構造を読めるようになろう。
 ここをみれば基本的に使える。
 タイトル・時間・見出しの表示

 発展編に行く前に
 資料はここにある。

2

【気象庁XMLの基本構造】
導入編
 とにかく、仕様書を見れば分かります（たぶん）。
http://xml.kishou.go.jp/specifications.html

仕様書はココ
辞書はココ

3

導入編
 気象庁XMLの基礎資料は３点
 気象庁防災情報XMLフォーマット仕様
 辞書
 スキーマ 仕様書は、辞書作成の基本ルールを記載

4

導入編
 辞書とスキーマは１対１対応
 辞書

１対１
 スキーマ（ただし、若干スキーマの方が制限がゆるいが解釈上の差は無い）

 辞書の読み方さえマスターしてしまえば、気象庁XMLの読み方はどれも同じ。
5

【気象庁XMLの基本構造】
 電文例<?xml version="1.0" encoding="utf-8" ?>- <Report xmlns="http://xml.kishou.go.jp/jmaxml1/" xmlns:jmx="http://xml.kishou.go.jp/jmaxml1/"
xmlns:jmx_add="http://xml.kishou.go.jp/jmaxml1/addition1/">- <Control><Title>府県気象情報</Title><DateTime>2008-09-06T12:37:03Z</DateTime><Status>通常</Status><EditorialOffice>鹿児島地方気象台</EditorialOffice><PublishingOffice>鹿児島地方気象台</PublishingOffice></Control>- <Head xmlns="http://xml.kishou.go.jp/jmaxml1/informationBasis1/"><Title>大雨に関する鹿児島県（奄美地方を除く）気象情報</Title><ReportDateTime>2008-09-06T21:37:00+09:00</ReportDateTime><TargetDateTime>2008-09-06T21:37:00+09:00</TargetDateTime><EventID>JPKG080046</EventID><InfoType>発表</InfoType><Serial>3</Serial><InfoKind>同一現象用平文情報</InfoKind><InfoKindVersion>1.0_0</InfoKindVersion>- <Headline><Text>鹿児島・日置、出水・伊佐、川薩・姶良、大隅地方では、大雨のおそれはなくなりました。</Text></Headline></Head>- <Body xmlns="http://xml.kishou.go.jp/jmaxml1/body/meteorology1/"><Notice />- <Comment><Text type="本文"> ６日２１時の気象レーダー観測によると、発達した雨雲は鹿児島・日置、出水・伊佐、川薩・姶良、大隅地方から遠ざかっています。 このため大雨のおそれはなくなりましたので、大雨・洪水注意報を解除しました。 これで「大雨に関する鹿児島県（奄美地方を除く）気象情報」は、終了します。</Text></Comment></Body></Report>

6

基本構造


基本は３段構造<Report><Control>・・・管理部・・・ </Control><Head>・・・・ヘッダ部・・・・ </Head><Body>・・・・・内容部・・・・・ </Body></Report>

管理部
 電文を選別し、処理系、及び配信系に対して制御情報を与えると共に、電文の基本的な情報を提供。＜各電文共通＞
ヘッダ部
 情報における防災気象情報の基本項目を提供するのに用いる。全ての電文に共通のものであり、標題、有効時間（いつ）、事項種別（何が）、対象地域（どこに）などを統一的に処理。 ＜各電文共通＞
内容部
 量的予想など、ヘッダ部で共通化できない内容。 ＜電文固有＞
7

XMLスキーマ
 XMLスキーマは7種類
 全体構造と管理部のスキーマ （１個目）

・・・共通辞書（管理部） （接頭辞:jmx）<Report xmlns="http://xml.kishou.go.jp/jmaxml1/">

 ヘッダ部のスキーマ （２個目）

・・・共通辞書（ヘッダ部） （接頭辞：jmx_ib）<Head xmlns="http://xml.kishou.go.jp/jmaxml1/body/informationBasis1/">

8

内容部は３種類
 内容部の構造と名前空間
 内容部は<Body>をルート要素名として各名前空間に属する。
 気象分野（接頭辞：jmx_mete） （３個目）<Body xmlns="http://xml.kishou.go.jp/jmaxml1/body/meteorology1/">
 地震分野（接頭辞：jmx_seis） （４個目）<Body xmlns="http://xml.kishou.go.jp/jmaxml1/body/seismology1/">
 火山分野個別辞書（接頭辞：jmx_volc） （５個目）<Body xmlns="http://xml.kishou.go.jp/jmaxml1/body/volcanology1/">9

要素の辞書 要素辞書（部品の辞書） （６個目）
 各情報間で共通に使われる気象要素や地理空間情報等

は、別の辞書・名前空間にまとめて、共通の構造、共通の意味をもって利用する。
 （例） 風向・風速<jmx_eb:WindDegree type="風向" unit="３６方位数字" description="1/36度“>1</jmx_eb:WindDegree><jmx_eb:WindSpeed type="最大風速" unit="m/s" description="最大風速15.3m/s“>15.3</jmx_eb:WindSpeed> マグニチュード<jmx_eb:Magnitude type="Mj" description="Ｍ６．６">6.6</jmx_eb:Magnitude> 緯度・経度<jmx_eb:Coordinate description="北緯３４．８度 東経１３８．５度 深さ ２０ｋｍ“
datum="日本測地系" >+34.8+138.5-20000/</jmx_eb:Coordinate>10追加辞書の説明は省略
 追加辞書 （７個目）
 xsd:anyを利用した拡張のための辞書（今のところ利用していないので今回は省略）

11

【個々の要素の読み方】
 タイトル系要素の使い分け
管理部
タイトル

ヘッダ部
タイトル

ヘッダ部
Headline/Text

意味

情報の種類を分類するキー

情報の見出しとしてのタイトル

情報のサマリー XMLの構造にを文章で表現おけるフォー
マット形式名称

情報単位で固定？可変？

固定可変可変

使い方

電文の判別や制御に用いる表示する見出しに利用

短文章で概要を 電文の処理アお知らせ
ルゴリズムの決定「キー」になる？ ○××

○××

○

×

/jmx:Report/jmx:Co
ntrol/jmx:Title/jmx:Report/jmx_ib:
Head/jmx_ib:Title/jmx:Report/jmx_ib:
Head/jmx_ib:Headli
ne/jmx_ib:text/jmx:Report/jmx_ib:
Head/jmx_ib:InfoKind

無いことがある？

ヘッダ部
InfoKindName

固定12【気象庁XMLの基本構造】
 時刻系要素の使い分け<?xml version="1.0" encoding="utf-8" ?>- <Report xmlns="http://xml.kishou.go.jp/jmaxml1/"
xmlns:jmx="http://xml.kishou.go.jp/jmaxml1/"
xmlns:jmx_add="http://xml.kishou.go.jp/jmaxml1/addition1/">- <Control><Title>○○気象情報</Title><DateTime>2008-09-06T12:37:03Z</DateTime>：</Control>- <Headxmlns="http://xml.kishou.go.jp/jmaxml1/informationBasis1/"><Title> ○○に関する△ △県気象情報</Title><ReportDateTime>2008-09-06T21:37:00+09:00</ReportDateTime><TargetDateTime>2008-09-06T21:37:00+09:00</TargetDateTime><TargetDTDubious>分頃</TargetDTDubious><ValidDateTime>2008-09-08T21:37:00+09:00</ValidDateTime>：</Head>：</Report>

予測

観測13

気象庁XML資料の見方・使い方
 重要な情報はここをみる
 jmx_ib:Head/jmx_ib:Headlineに重要な情報は全部まとめてある。
<?xml version="1.0" encoding="utf-8" ?><Report xmlns="http://xml.kishou.go.jp/jmaxml1/"
xmlns:jmx="http://xml.kishou.go.jp/jmaxml1/"（中身がない場合もある）
xmlns:jmx_add="http://xml.kishou.go.jp/jmaxml1/addition1/"><Control> Textに見出し（テロップ）：</Control>
xmlns="http://xml.kishou.go.jp/jmaxml1/informationBasis1/">
 Information要素単位で警報的 <Head：<Headline>
事項を種類別にとりまとめ<Text>津波注意報を発表しました。</Text> Item単位で
 Kindが警報的事項

 Nameが要素名
 Areasが地域
 Area/Nameが地域の名称<Information type="津波予報領域表現"><Item><Kind><Name>津波注意報</Name><Code>62</Code></Kind><Areas codeType="津波予報区"><Area><Name>北海道太平洋沿岸</Name><Code>191</Code></Area><Area><Name>東北地方太平洋沿岸</Name><Code>291</Code></Area>：</Head>：</Report> この基本構造は変わらないので情報共通に利用可能。

14

【資料のありか】 「仕様」

これから頑張ります．．．

仕様書は一回は読んでね

15辞書・スキーマ 「辞書」は良く見るようになるので、ダウンロードして手元に。
 「スキーマファイル」はシステム利用の際にどうぞ。
 「バージョン管理表」は各電文に対応した最新の辞書・スキーマのバージョンを知りたい場合に。

16

コード管理表・コード表
 電文に出てくる“Code”が何のコードか分からない。
 解説資料を見てみる コード管理表から探してみる

 “Code”が何のコードか分かった。
 「個別コード表」を利用してシステムで使ってみよう。

17

解説資料
 「解説資料」を見ないと個々の情報がどのように運用されるか不明。
 「整理表」をみれば、どの情報がどの解説資料になるか一目了然。

18

サンプルデータ
 サンプルデータ（XML）
 とにかくまずは生XMLの見本が欲しい。
 XMLの電文と文章化した気象情報を比較してみたい。
 自分の作った処理が正しく動いているかどうか知りたい。
 実際の発表事例に近いサンプルが欲しい。

 整理表から欲しい情報の実運用例をXMLとテキストデータとして入手。
19

サンプルコード スタイルシート（XSLT）
 スタイルシートを書くための見本が欲しい。
 見慣れない気象情報をどう使っていいか分かりづらい。
 要素値・属性値の使い方をコード例で見たい。
 任意の電文でも、自分の作った処理が正しく動いているかどうか比較確認したい。

 気象庁が用意したアプリケーション的処理を入手可能。
20気象庁防災情報XMLフォーマット運用指針
 運用指針 「仕様」だけだと仕様と仕様の隙間のような場所が分からない。
 バージョンアップが良く判らない。
 気象業務法（予報との関係）が良く判らない。

21

気象庁防災情報XMLフォーマット運用指針
 別紙１：辞書・スキーマバージョン管理表
 各電文に対応した最新の辞書・スキーマのバージョンを知りたい場合に。
 別紙２：運用整理表
 管理部の○○の要素には実際に何が入るの？
 △ △の情報とどうしてこんなに形式が違うの？

22

気象庁防災情報XMLフォーマットを読み込んでいく．．．
 で、資料をどうやってみていく？
 どの資料からみていけばよい？
 参考にみる程度でも大丈夫そうな資料は？
 スタイルシートは読めるようにならないとダメ？

実際の読み方は、「天気予報XMLを読み解こう」
をイメージに進めていきます．．．つづく
23