1 / 33

XML と JavaScript 全 2 回

XML と JavaScript 全 2 回. 情報理工学部 情報システム工学科 H106096 肥田 百合恵 監修  h106044 木町 拓矢. 目次. 目標: XML を JavaScript で読み込んで表示する 基本:種類 , 詳細は自分で調べる. XML. XML とは. e X tensible M arkup L anguage (※eXtensible = 広げることができる ) データを表す形式の一つ タグと文章で構成 ツリー構造 拡張子 「 .xml 」. 例). ルートノード. XML 宣言. 何ができるのか.

Télécharger la présentation

XML と JavaScript 全 2 回

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XMLとJavaScript全2回 情報理工学部 情報システム工学科 H106096 肥田 百合恵 監修 h106044木町 拓矢

  2. 目次 目標:XMLをJavaScriptで読み込んで表示する 基本:種類,詳細は自分で調べる

  3. XML

  4. XMLとは • eXtensible Markup Language (※eXtensible = 広げることができる) • データを表す形式の一つ • タグと文章で構成 • ツリー構造 • 拡張子 「 .xml 」

  5. 例) ルートノード XML 宣言

  6. 何ができるのか • XMLファイルを表示 • 「DTD」,「XML Schema」を使用してデータを交換 • 作成者,タグの名前が違っても平気 • XSLで整形して表示(後述) • JavaScriptでデータを読み込み、HTML上で表示 • DOMを利用 • 詳細は次回!

  7. 種類 • 整形式文書(well-formed XML document) • 最も簡単 • XMLの文法を守っている • 妥当な文書(valid XML document) • 「検証済みXML文書」とも言う • 整形式文書に従っている • DTD(文書型定義。Document Type Definition)が記述されている

  8. DTD データを扱う人同士で、どのようなタグを使ってXML文書で データを表すのかを取り決める 1:  <?xml version="1.0" encoding="Shift_JIS" ?> 2:  <!DOCTYPE fruit-list[ 3:    <!ELEMENT fruit-list (fruit)> 4:    <!ELEMENT fruit (name, price)>5:    <!ATTLIST fruit place CDATA  #REQUIRED> 6:    <!ELEMENT name   (#PCDATA)> 7:    <!ELEMENT price  (#PCDATA)> 8:  ]> 9:  10:  <fruit-list>11:    <fruit place="青森">12:      <name>りんご</name>13:      <price>100</price>14:    </fruit>15:  </fruit-list> 属性の指定を必須にする fruitの属性に placeを設定する

  9. 整形式文書の作り方 • 宣言を最初に記述 • 好きな名前のタグを考える • 属性を付ける(任意) →DOMで取得

  10. XSLスタイルシート • XSL = Extensible Stylesheet Language -XSLT(XSL Transformation)   ←例はこちら -XSLF(XSL Formatting Objects) • XMLをどのように変換するかという情報を記述したもの • XML文書をXSL用のファイル(HTML用のXSLなど)に従ってXSLプロセッサが構造変換することにより、まったく別の構造を持ったデータに変換 • 拡張子 「 .xsl 」 • XPathで細かく設定・特定の値を取得したりできる • 詳細は次のスライドで説明

  11. XSLTでソート • 昇順,降順で要素をソートして表示 • <xsl:sort>要素を使用 • 通常<xsl:apply-templates>や<xsl:for-each>要素と組み合わせて利用 • 例 <メモ>F:\ゼミまとめ\XML_lecture\sort\sort.xml • 参考URLhttp://www.stackasterisk.jp/tech/java/xml03_06.jsp#6_5

  12. Let’s really make it! Part1 1. Let‘s make a figure to show for the next slide data with XML and DTD. 2. In a cosmetic surgery-type document, let's make an original XML document subject example: car, music, space, book, game(※Please think about a subject becoming is-a and the has-a relations)  * The number can’t be used in the beginning of the tag ex) X <1book>... </1book> * The small and capital letter is distinguished * There are instructions else! (Next) 3. Let's display 2. data in XSLT.

  13. 注意事項 • 普通に書くとエラーになる文字がある →実体参照を使う →CDATAセクションを使う <タグ><![CDATA[  文章   ]]></タグ>

  14. 実際に作ってみよう!Part1 1.次のスライドに示す図を、XMLとDTDを用いてデータ化しましょう。 2.整形式文書で、オリジナルのXML文書を作成してみましょう。  題材例:車,音楽,宇宙,本,ゲーム (※is-aやhas-a関係になっているものを考える)  ・タグの最初に数字は使えない  例)×<1book>...</1book> ・大文字と小文字は区別される ・他にも注意事項あり!(次のページ) 3.2.のデータをXSLTで表示しましょう。

  15. JavaScript

  16. JavaScriptとは • 以前木町君が紹介 • できること • XMLデータの読み込み • 時計の表示 • アンケートフォームの作成 • ボタンクリック時のアクション付加 • オリジナルのプログラムを動作させる ...等、サイトを充実したものに

  17. 例) • <SCRIPT language="JavaScript"> • <!-- • // ○秒後に指定ページに自動で移動(ジャンプ)する • mnt = 5; // 移動するまでの時間(秒) • url = "http://www.st.chukyo-u.ac.jp/h106096/"; //移動先のアドレス • function jumpPage() { • location.href = url; • } • setTimeout("jumpPage()",mnt*1000) • //--> • </SCRIPT> <SCRIPT language="JavaScript"> <!-- // ○秒後に指定ページに自動で移動(ジャンプ)する mnt = 5; // 移動するまでの時間(秒) url = "http://www.st.chukyo-u.ac.jp/h106096/"; //移動先のアドレス function jumpPage() { location.href = url; } setTimeout("jumpPage()",mnt*1000) //--> </SCRIPT> </head> <body class="mar"> <center><h1>(例)5秒後にジャンプするページ</h1></center> <pre> <table align="center"><font size="11"> このサイトは移転しました。 新URLは <a href="http://www.st.chukyo-u.ac.jp/h106096/"><font color="red">http://www.st.chukyo-u.ac.jp/h106096/</font></a> です。 5秒後に自動的にジャンプします。 (もしも移動しないときは、お手数ですが上のURLからお進み下さい。) </font></table> </body> </html> <html> <!--css定義--> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" href="webcom.css" type="text/css"> <!--cssのリンク先--> <head> <title> (例)5秒後にジャンプするページ </title>

  18. JavaScriptの特徴 HTMLを操作可能 プログラムの中にHTMLを記述することもできる クライアント実行一度ブラウザに読み込まれた後は、そのクライアントコンピュータ上で処理される。サーバーに負荷をかけることなく、高いレスポンスで実行される インタープリタ言語 HTMLファイルの中に直接記述する事が出来る 変数の型が柔軟   変数の型が数値と論理型,文字列の3つの基本型しかなく、数値間の型変換は自動的に行われる

  19. 構文 • <scripttype="text/javascript">..</script> scriptタグで囲む。 <head></head>内に記述  通常その中を、<!-- -->でコメントアウトする • document.write( ) 括弧でくくられた中身を、HTMLとして出力 • for( 初期設定 ; 条件式 ; 処理後の式 ){ 繰り返す処理 ; } • if(条件式){}else{} • switch(整数,文字列){case } • do { 繰り返す処理 ; } while ( 条件式 ) • continue , break , label

  20. • 数値を表す Number 型 • 文字列を表す String 型 • 真偽を表す Boolean 型 (trueとfalseのみの値) 変数の宣言はvarで行う 例) var x = 1; // Number 型 var y = “Hello!”; // String 型 var z = true; // Boolean 型

  21. 関数 • 関数の定義 function 関数名() { .... }   ・引数を配列で受け取り、arguments.length    回分回したりできる ・外部から読み込むこともできる • 通常classを作るために使う 例は後述

  22. オブジェクト それぞれプロパティ(変数)とメソッド(関数)を持つ。 (※例外あり) • ナビゲータオブジェクト • ブラウザの各部品や情報 • 例)document.lastModifiedで更新時間を取得 • ビルドインオブジェクト • 言語仕様レベルでの文字列や時間等 • 例1)getDateで日付を取得 • 例2)sort(sort関数)でソート(Arrayオブジェクト内) • ユーザ独自のオブジェクト • オブジェクト指向に従って作成

  23. イベント ボタンクリックなどに応じた動きをする。 適用方法は以下の2種類↓ a.イベント属性にイベントハンドラを指定する b.イベントメソッドにイベントハンドラをオーバーライドする a.の例) onClickイベント function test(parts){ document.TestForm.Msg.value = parts.value; } <INPUT TYPE="button" VALUE="緑ボタン" CLASS="fs1" onClick="test(this)"><br> button , checkbox , link , radio , reset , submit に対して反応。

  24. var Person = function(name,age) { this.name = name;  this.age= age;this.toString = function() {    window.alert("名前:" + this.name + " , 年齢:" + this.age);  };}var person = new Person("ヒダ", "21");person.toString(); // 「名前:ヒダ , 年齢:21」 =例= <メモ>F:\ゼミまとめ\XML_lecture\JStest.html

  25. Let’s really make it!Part2 • 1. Make simple HTML • 2. A JavaScript describes a program there • 3. Confirm movement • <A problem example program> • Try to make a questionnaire form • Let’s make it with an original, and try it in various ways

  26. 実際に作ってみよう!Part2 • 1.簡単なHTMLを作成 • 2.そこにJavaScriptでプログラムを記述 • 3.動作を確認 <課題プログラム> ・アンケートフォームを作成してみる ・オリジナルで作って色々と試してみる

  27. DOM

  28. XMLをJavaScriptで読みこむ • XMLを読み込んでHTMLで表示 • DOM…Document Object Model(ドキュメント・オブジェクト・モデル)を利用 • Javaでもできるが、今回はJavaScriptで

  29. DOM • Document Object Model • HTML,XMLの文書へのアクセス方法を標準化 …要素の選択,置換,追加,削除などができる • W3Cによる標準化が行われている…Level1(0)~3が存在。主力はLevel2 • ツリー状の構造(ドキュメントツリー)で管理 • 参考URL http://www6.airnet.ne.jp/manyo/xml/   =このサイトで紹介されている例= <メモ>F:\ゼミまとめ\XML_lecture\poem

  30. 課題 • 前回作ったXMLのルートノード,属性値などを取得するプログラムを作成し、HTMLで表示してみましょう。 • ラシキアゼミのホームページに載せる、自分を紹介するページを作成して下さい。   ⇒集めて実際に載せるので、そのつもりで。

  31. 参考サイトとURL • オブジェクトなJavaScriptの基礎講座(http://chaichan.web.infoseek.co.jp/src/2ndthema.htm) • TAG<index> (http://www.tagindex.com/index.html) • WEB for biginner 作成支援(http://www.scollabo.com/banban/) • JavaScriptでオブジェクト指向プログラミング(http://www.atmarkit.co.jp/fdotnet/ajaxjs/ajaxjs04/ajaxjs04_01.html) • はじめてのプログラミング (http://www.rfs.jp/sb/javascript/01/01.html) • JavaScript例文時点(http://www.openspc2.org/reibun/javascript/) • はじめてのXML(http://www.stackasterisk.jp/tech/java/xml03_06.jsp#6_5)

More Related