Microsoft PowerPoint - 05XMLによるデータの表現.pptx

Similar documents
スライド 1

XMLとXSLT

分散情報システム構成法

Webプログラミング演習

XSLT 4-1

XMLの利用(XMLとXSL)

Microsoft PowerPoint - 04WWWとHTML.pptx

ppt

XML基礎

XSLT XSLT xsd XSLT XML xsd XPath <xsl:template ]

XML XML (Extensible Markup Language) ISO SGML (Standard Generalized Markup Language) W3C (World Wide Web Consortium) XML 1.0

XMLテクノロジを使いやすくする

競技課題|ホームページ

prg.indb

PowerPoint プレゼンテーション

情報C 4月スクーリング プリント

<4D F736F F D E835A A C98AD682B782E98E77906A89FC92F994C52E646F63>

■新聞記事

情報C 4月スクーリング プリント

PostgreSQL の XML 機能解説と将来拡張への提言


<48746D6C8AEE91628D758DC02E786C73>

数のディジタル化

第14回「LOD」

<4D F736F F D A957A A A8FEE95F18F88979D DEC90AC E646F63>

XMLプログラミング(DOM編)

橡SPA2000.PDF

Web データ管理 HTML+CSS (6) (2 章 ) 2011/11/9( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

Microsoft PowerPoint - CSS(Cascading Style Sheets)の基本.pptx

Microsoft Word - XML.doc

合宿事前講座 Web 開発の基本編その 2 情報研究会モブ 薗田海樹 The. H.30 情報研究会 1

Web プログラミング 1 HTML+CSS (6) (2 章 ) 2013/5/29( 水 ) 演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用

Web データ管理 JavaScript (3) (4 章 ) 2011/12/21( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/18

Microsoft PowerPoint _1b-HTML.pptx

第21章 表計算

DTD Reference Guide


Web プログラミング 1 JavaScript (3) (4 章 ) 2013/7/3( 水 ) 日時 講義内容 4/10 ( 水 ) ガイダンス Web (1 章 ) 4/17 ( 水 ) HTML+CSS (1) (2 章 ) 4/24 ( 水 ) HTML+CSS (2) (2 章 ) 5/


<4D F736F F F696E74202D208A778F708FEE95F197AC92CA82F08EC08CBB82B782E98B5A8F E97708B5A8F70816A5F94D196EC8D758E742E >

JavaScript カスタマイズ入門 kintone university アプリデザイナープラス JavaScript カスタマイズ入門編演習問題回答 演習問題 第 2 章サンプルで試そう 1 cybozu.com developer network の サンプルで試そう ( 以下 サンプル と

Web データ管理 HTML+CSS (3) (2 章 ) 2011/10/19( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/23

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

タグ付きPDFとは何か?

Web のしくみと応用 ('15) 回テーマ 1 身近なWeb 2 Webの基礎 3 ハイパーメディアとHTML 4 HTMLとCSS 5 HTTP (1) 6 HTTP (2) 7 動的なWebサイト 8 クライアントサイドの技術 回 テーマ 9 リレーショナルデータベース 10 SQL とデータ

xslt #xslt

目次 概要... 2 フォームレイアウトデザイナー機能の設定... 3 設定したフォームレイアウトデザイナーの確認...14 その他スタイルの設定...15 フォームレイアウトデザイナーをエクスポート...17 フォームレイアウトデザイナーをインポート...18 インポート時の制限事項...19 リ

ISコースプロジェクト実習 前期(第1回 ガイダンス)

XML Week Web 2.0 Day (1) SOA2.0 KM2.0? REST API + XSLT Amazon hon. hon.jp API XML Consortium XML ( ) REST(GET)API Amazon.co.jp hon.jp REST

メタデータスキーマレジストリ MetaBridge の概要

untitled

Web プログラミング 1 HTML+CSS (3) (2 章 ) 2013/5/8( 水 ) 演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用で

活用が広がる 共通語彙基盤 (IMI) イベント 技術セッション 公園への応用 加藤文彦 国立情報学研究所 2016 年 6 月 3 日

Web2.0 REST API + XSLT Amazon hon.jp API XML Consortium XML ( ) REST(GET)API hon.jp Amazon.co.jp Google Map Exif to RDF(kanzaki.com) REST +

XISによる効率良いシステム開発のポイント

Microsoft Word - manual.doc

スタイルシートでデザインを整えよう

2 / 16 HTML=HyperText Markup Language( ハイパーテキストマークアップランゲージ ) ブラウザ (Chrome) での表示 ソースの表示 ( メモ帳 /TeraPad) HTML <========= =========>

DMtoJPGISVer1.0 操作説明書 平成 19 年 3 月 国土交通省国土地理院

Microsoft PowerPoint - css-3days 互換モード

3.3 World Wide Web 26

コンピュータグラフィックス - 第4回 色彩の表現

Microsoft PowerPoint - css-3days.ppt [互換モード]

独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版

セマンティックWebの動向とメタデータ

改訂履歴 版 更新日 改訂内容 Ver 1.0b 2014 年 12 月 試行版 国土数値情報 API 仕様 ( 試行版 )

(3) 本文を書く 実際にページを開いたときに表示される本文を書いてみましょう から の間に書きます <html > <head > <title > 武のホームページ </title > </head > </html > (4) ページを保存する ここで一度ページを保存してみましょう テキストエ

位置参照情報 API 仕様 ( 試行版 ) 位置参照情報 API 仕様 ( 試行版 ) Ver 1.0b 平成 26 年 12 月 国土交通省国土政策局国土情報課

1/2

Microsoft PowerPoint kiso.ppt

XML Consortium XML XML Consortium Canon, Inc. Yoshikazu Yokomizo XML Consortium HTML CSS1 CSS2 XSL 1.0 XSLT V1.0 XPath 1.0 XML Base XML Sche

Oracle XDK(10.1.2)の技術概要

1. GML 変換メニュー メニュー GML 変換 の説明です 1.1. シェープファイルから GML へ変換 シェープファイルから GML(Geography Markup Language) 形式の XML ファイルを作成します BdLGutter.shp BridgeFactor.shp Br

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

Microsoft Word 基_シラバス.doc

JavaScript 演習 2 1

Microsoft PowerPoint - css-3days 互換モード

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

G-XML

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

ÿþÇ0¸0¿0ë0D}Hrn0úW,g(už−

インターネットマガジン2001年4月号―INTERNET magazine No.75

Chromeleon 7 for Chromeleon 7.2 全バージョン共通 Build: --- 新しいシーケンスの作成に使用できるワークリストファイル (.wlex) Doc. Nr: FAQ_CM7_2SS_00009 Doc. Ver.: Doc. Type

Microsoft Word - no06.doc

情報システム設計論II ユーザインタフェース(1)

Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

コードテンプレートフレームワーク 機能ガイド 基礎編

<4D F736F F D208AC888D B836A F C91808DEC837D836A B81698AC7979D8ED A E646F6

及び文字列を挿入してはならない 記述例 <?xml version="1.0" encoding="shift_jis"?> 2. スタイルシート適用記述スタイルシート適用記述は 当該 XML 文書のスタイルシートの形式及びファイル名を示す 記述例 <?xml-stylesheet type="te

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

やってみようINFINITY-製品仕様書 品質評価表 メタデータ 編-

超簡単にWebページを作成

国立国会図書館ダブリンコアメタデータ記述

World Wide Web =WWW Web ipad Web Web HTML hyper text markup language CSS cascading style sheet Web Web HTML CSS HTML

◎phpapi.indd

以下のソフトウェアに専用ライセンスを設定することで 変換機能が使えるようになります アプリケーション名バージョン日付 JPGIS-XML ビュー F 7.1.0α 以降 2013/06/27 以降 フリーウェア JPGIS-XML ビュー F のバージョン から XML の 筆 と 図郭

ucR/XML: XML によるucR graph のシリアライズ

人類の誕生と進化

Delphi/400を使用したWebサービスアプリケーション

Transcription:

九州大学工学府海洋システム工学専攻講義資料担当 : 木村船舶海洋情報学 05. XMLによるデータの表現 XML(Extensible Markup Language) 情報を保管 ラベル付け 構造化 または保護するための コンテナ のようなもの異なるシステムが相互にコミュニケーションするための手段 基盤 1) データは XML 文書 ( テキスト ) で表現される 2) タグによって情報は 要素 (element) に分割され 構造化 意味付けされる ( マークアップ ) 3) 要素の役割 順序 包含関係 位置 参照関係を決められたルールに従って表現 4) XML 文書で表されたデータが 決められたルールに則った書式かどうか判別 5) XML の書式のルールから そのデータの読み書きを行うプログラムを作成 参考文献 入門 XML, Eric T.Ray 著, 宮下尚 牧野聡訳, オライリージャパン

なぜ XML が必要か? データは優れた資産 データの価値は 保管の仕方や 必要な情報へのアクセス性によって左右される 旧式のデータ表現 例 :CSV 形式 53628, トクホコーラ, 165 データの配列順に意味付けがなされているデータ受け取り側のプログラムには別途配列順と意味付けの情報が必要 タグで囲まれた部分が 1 つの要素 XML 形式 < 商品 > < コード >53628 </ コード > < 品名 > トクホコーラ </ 品名 > < 価格 > 165 </ 価格 > </ 商品 > 要素として表現すると 要素の順番や数 包含関係などを詳細に表現可能 膨大なデータがあったとしても 配列順と意味付けの情報が失われたら利用できない 要素 (element) のタグが自由に設定でき タグに意味付けがされるのでデータ内容の把握が容易 この例は要素の属性 (attribute) として表現することも可能 < 商品 name= トクホコーラ code= 53628 price= 165 > </ 商品 >

前回の復習 :HTML (HyperText Markup Language) Web ページを記述するための言語 ( データ形式 ) タグ を用いて表示する要素やブラウザに対する命令を意味付け テキストファイルとして作成し 拡張子を.html とする XML より古く 設計思想が異なるなどの理由で文法が不完全 HTML ファイルの構成 文書型宣言 :HTML のバージョン等を示す省略可 <!DOCTYPE HTML PUBLIC.//W3C//DTD HTML 4.01 Transitional//EN HTTP://www.w3.org/TR/html4/loose.dtd> <html> ヘッダを示すタグ <head> </head> <title> ブラウザのタイトルバーに表示する文字列 </title> HTML 文書の始まりと終わりを示すタグ 本体を示すタグ </html> <body> </body> <p> ブラウザ本体に表示する文字列 1 段落目 </p> <p> ブラウザ本体に表示する文字列 2 段落目 </p>

XML はシステム間のデータ交換に用いられる IEEE1888(Ubiquitous Green Community Control Network) 商業施設やオフィスなどの電力 施設管理を目的とした IoT 通信規格 2015 年 3 月 ISO/IEC の国際標準としても承認 (ISO/IEC/IEEE 18880) ISO16425( 船内 LAN 装備指針 ) では 機器同士でやりとりする文字列を XML 形式にすることを推奨 ネットワーク I/O 機器 ネットワーク ストレージ 海事産業における製品情報の高度利用のための情報共有基盤 SPEEDS 3D データを XML で

複雑なデータを XML で表してみる グラフ構造 1 3 1 2 3 4 1 2 3 4 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 0 1) データ構造は 変更や追加などが容易な表現とする 2) データを処理するアルゴリズムとデータ構造は表裏一体であるので アルゴリズムに適した構造とすべき 2 4 行列によるノードの接続表現 1 2 3 4 2 1 4 3 1 4 1 2 <graph> </graph> <node pid= 1 > <link destination= 2 /> <link destination= 3 /> <link destination= 4 /> <node pid= 2 > <link destination= 4 /> <node pid= 3 > <node pid= 4 > <link destination= 2 /> リストによるノードの接続表現 XML によるノードの接続表現の例他にもっと良い表現方法があるかも

DTD による XML 文書の定義 品質管理 (1) DTD (Document Type Definition: 文書型定義 ) 記述できる要素のリストと内容 それぞれの要素に記述できる要素を定義 グラフの例 ) graph.dtd <!ELEMENT graph (node*)> Graph 要素は node 要素を 0 以上の複数個含む node 要素は属性として pid を有し 文字列で表す link 要素には他の要素を何も含まない link 要素は属性として destination を有し 文字列で表す DTD による XML 文書定義は DTD が読みにくい <!ELEMENT node (link*)> <!ATTLIST node pid CDATA #REQUIRED > <!ELEMENT link EMPTY> <!ATTLIST link destination CDATA #REQUIRED> 文字列 を意味する DTD では要素の構造や依存関係を表すがデータの型についての定義がない などの理由で次に説明する XML スキーマ による定義が主流 グラフの例における graph.dtd に従った XML 文書 <?xml version= 1.0?> <!DOCTYPE doc SYSTEM graph.dtd > <graph> </graph> <node pid= 1 > <link destination= 2 /> <link destination= 3 /> <link destination= 4 /> <node pid= 2 > <link destination= 4 /> <node pid= 3 > <node pid= 4 > <link destination= 2 />

スキーマによる XML 文書の定義 品質管理 (2) W3C XML Schema による文書型定義記述できる要素のリストと内容 データ型 それぞれの要素に記述できる要素を定義 グラフの例 ) graph.xsd Schema そのものも XML で記述される Schema の文法の詳細は専門書などを参照 <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema > <xs:element name = graph > <xs:complextype> <xs:sequence> <xs:element name= node" minoccurs="0" maxoccurs="unbounded"> <xs:complextype> <xs:sequence> <xs:element name= link" minoccurs="0" maxoccurs="unbounded > <xs:complextype> <xs:attribute name= destination" type="xs:int" use="required"/> </xs:complextype> </xs:element> </xs:sequence> <xs:attribute name= pid" type="xs:int" use="required"/> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> node 要素は 0 以上の複数個存在 <graph> </graph> グラフの例における graph.xsd に従った XML 文書 <node pid= 1 > <link destination= 2 /> <link destination= 3 /> <link destination= 4 /> <node pid= 2 > <link destination= 4 /> <node pid= 3 > <node pid= 4 > <link destination= 2 />

XML スキーマから Java のクラスを生成できる W3C XML 記述できる要素のリストと内容 データ型 それぞれの要素に記述できる要素を定義しているので そのまま java のクラスを生成可能 JAXB(Java Architecture for XML Binding) アノテーションと呼ばれる特殊な形式で表現される JAXB とは XML と Java オブジェクトを相互変換するための API 仕様のこと Java SE6 からは標準ライブラリに組み込まれているので 特に jar を追加することなく使える JDK (java Development Kit) をインストールして コマンドプロンプトにて > xjc speeds_3.xsd を実行すると XML スキーマファイル speeds_3.xsd から Java のクラスファイルを生成 XML ファイルを読み書きするためのライブラリも用意されている XML スキーマから Python のクラスを生成できる PyXB ("pixbee") は XMLSchema で定義されたデータ構造に対応するクラスのための Python ソースコードを生成する純粋な Python パッケージ

XML の例 :SVG (Scalable Vector Graphics) 図形を XML で表現ビットマップのような表現ではなく 座標や数式によって表現 XML の要素が形を 各要素の属性として色や座標を表す ビットマップ <svg xmlns="http://www.w3.org/2000/svg" > <desc> Three shapes </desc> <circle fill="red" cx="3cm" cy="2cm" r="4cm" /> <rect fill="green" x="1cm" y="1cm" width="3cm" height="3cm" /> <polygon fill="blue" points="110,160,50,300,180,290"/> </svg> SVG https://ferret-plus.com/7089 より画像を引用 <svg xmlns="http://www.w3.org/2000/svg" style="margin-left: calc(50% - 0.5em);" viewbox="0 0 1024 1024" width="1024" height="1024"> <g transform="scale(0.03125)"> <path d="m 128 128 h 768 v 768 h -768 Z" /> </g> </svg>

XML の例 :MathML (Mathematical Markup Language) 複雑な数式の意味を XML で表現 <math> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>&plusminus;</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mn>4</mn> <mo>&invisibletimes;</mo> <mi>a</mi> <mo>&invisibletimes;</mo> <mi>c</mi> </mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mo>&invisibletimes;</mo> <mi>a</mi> </mrow> </mfrac> </mrow> </math> https://ja.wikipedia.org/wiki/mathematical_markup_language より引用

スタイルシート :XML データの表示を指示 XML + XSL (Extensible Stylesheet Language) XML に格納されているデータを抽出し 決められた書式で表示する 身近な応用例 XML でデータを記述しておき HTML ファイルをブラウザで表示する場合にスキーマを利用して整形表示 XML データ Building.xml <?xml version="1.0" encoding="shift_jis"?> <?xml-stylesheet type="text/xsl" href="building1-2.xsl"?> <buildings title=" 東京情報大の建物一覧 "> <building id="1"> <name> 本館棟 </name> <floor>7</floor> <comment> 講義室 演習室 事務局 ゼミ室 </comment> </building> <building id="2"> <name> 体育館棟 </name> <floor>2</floor> <comment> アリーナ トレーニングルーム </comment> </building> <building id="3"> <name> フロンティア共同研究センター </name> <floor>3</floor> <comment> 国際共同研究の拠点 </comment> </building> </buildings> XSLT スタイルシート Building1-2.xsl <?xml version="1.0" encoding="shift_jis"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="html" /> <xsl:template match="/" > <html> XMLの要素を抽出して表示 <head> <title> <xsl:value-of select="buildings/@title" /> </title> </head> <h1><xsl:value-of select="buildings/@title" /></h1> <table border="1"> <tr> <th>no.</th> <th> 名前 </th> <th> 階数 </th> <th> 特徴 </th> </tr> <xsl:apply-templates select="buildings" /> </table> </html> </xsl:template> <xsl:template match="buildings"> <xsl:for-each select="building"> <tr> <td><xsl:value-of select="@id" /></td> <td><xsl:value-of select="name" /></td> <td><xsl:value-of select="floor" /></td> <td><xsl:value-of select="comment" /></td> </tr> </xsl:for-each> </xsl:template> </xsl:stylesheet> 京都大学工学研究科都市環境工学専攻須崎純一先生のサイトより引用 XML データ Building.xml をブラウザへ表示した結果

XML の暗号化 (XML Encryption) W3C に提案されている XML の暗号化技術で ツリー構造 XML 文章のうち ある要素以下を全て暗号化する仕組み ルートタグを暗号化すれば XML 文章全体の暗号化も可能 またデータ保護項目の優先度付けを行い 特定の要素のみ暗号化することも可能 W3C の XML Encryption Syntax and Processing に紹介されている XML エレメント暗号の例 <?xml version='1.0'?> <PaymentInfo xmlns='http://example.org/paymentv2'> <Name>John Smith</Name> <CreditCard Limit='5,000' Currency='USD'> <Number>4019 2445 0277 5567</Number> <Issuer>Example Bank</Issuer> <Expiration>04/02</Expiration> </CreditCard> </PaymentInfo> 公開鍵暗号を用いてクレジットカード情報を暗号化 <?xml version='1.0'?> <PaymentInfo xmlns='http://example.org/paymentv2'> <Name>John Smith</Name> <EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element' xmlns='http://www.w3.org/2001/04/xmlenc#'> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData> </PaymentInfo>

まとめ (1) XMLとは : 情報を保管 ラベル付け 構造化 または保護するための コンテナ タグを用いて情報を意味付け 構造化 ( マークアップ ) レポート課題 : (2) XML の構成 : 要素 (element) と属性 (attribute) (3) XML 文書の定義 : DTD: 要素間の関係を定義 / データの型は文字列か数字の区別のみ XML scheme: データ型も詳細に定義 / スキーマから Java や Python のクラス生成可能 (4) XML + XSL スタイルシート :XML からデータを抽出して整形表示 (5) XML 文書の暗号化 : XML encryption 教室あるいは自分の所属する講座をイメージしたロゴを SVG で作成し ブラウザで表示して確認せよ 少なくとも 3 種類以上の図形を組み合わせて構成すること 提出方法 上記のsvgファイルを直接メールに添付 あるいは九大全学ファイル共有システム http://www.m.kyushu-u.ac.jp/share/ で各自のフォルダへアップロードし メールに公開 URLを添付して kimura@nams.kyushu-u.ac.jp 宛てに 第 5 回船舶海洋情報学レポート とのタイトルで送信せよ