Webプログラミング演習

Similar documents
XMLとXSLT

スライド 1

Webプログラミング演習

XSLT 4-1

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

XML基礎

Webプログラミング演習

分散情報システム構成法

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

XMLの利用(XMLとXSL)

PowerPoint プレゼンテーション

橡SPA2000.PDF

xslt #xslt

1. スキーマを作成する チュートリアル : 簡単な日記帳を作る 最初のステップとして 簡単な日記帳を作ってみましょう 件名 と 本文 があるだけの簡単なものです 1. スキーマを作成する では まず 日記帳 のスキーマを定義します スキーマは XML ファイル として作成します コラム :XML

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 +

Microsoft Word - XML.doc

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

WEBシステムのセキュリティ技術

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

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

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

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

数のディジタル化

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

CSS


超簡単にWebページを作成

prg.indb

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

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

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

XSLの活用と技術内容の紹介

本日のテーマ Formatter って何? Formatter や XSL-FO 関連の話 DITA Open Toolkit って何? DITA OT がやってくれることカスタマイズの話 Formatter って何? Formatter は XSL-FO のレンダリングエンジンです XSL-FO

目次 1. 概要 2. サーバーへの設置 3. 設定 4. ユーザーアクセス記録の収集 5. 利用規定 6. 更新履歴

ppt

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

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

4. WIX アタッチエンジン 4. 1 FSDR 処理 システムの Web 資源結合動作であるアタッチ処理について 述べる. アタッチ処理は以下の 4 フェーズに分けられる. この一連の 流れを FSDR 処理とする. Find 処理 Select 処理 Decide 処理 Rewrite 処理

Lotus Domino XML活用の基礎!

intra-mart Accel Platform

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

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

XPath式を用いたApplication Profileに基づくメタデータスキーマとインスタンスの関連付け

Contents Contents( 目次 ) 1 重要 編集の際の注意事項 2 編集可能なページ 部分 3 トップページ 4 トップFlashの内容変更 ( 画像変更 ) 5 トップFlashの内容変更 ( 設定変更 ) 6 おすすめ情報 ( カタログギフト等 ) 7 サイドバー バナー部分 8

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

untitled

■新聞記事

情報システム 第6回講義資料

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

Si 知識情報処理

intra-mart Accel Collaboration — ファイルライブラリ 管理者操作ガイド   第6版  

Taro-02_Web_html自習テキストⅡ.

Microsoft PowerPoint _1b-HTML.pptx

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

■サイトを定義する

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

Semantic-Blog 環境を目指す xfy-blog 山口琢 株式会社ジャストシステム 社長室 xfy Blog Editor は 日付やイベントなど様々なタグ情報の埋め込みや 住所と地図情報を連携させるなど 拡張コマンドを追加 利用することができるので より表現力のある記事をブログから発信す

Shareresearchオンラインマニュアル

ITdumpsFree Get free valid exam dumps and pass your exam test with confidence

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

2. 動的コンテンツとは動的コンテンツとは Web ブラウザからの要求に応じて動的に Web ページや画像などを生成する Web コンテンツのことをいいます Web で利用するサーチエンジンやアクセスカウンタ等は この仕組みを用いています 動的コンテンツは大きく次の二つに分類されます (1) Web

intra-mart Accel Collaboration — アンケート 管理者操作ガイド   第2版  

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

2. 以下の設問に答えよ 第 11 問 アルファチャンネルの説明として適切なものを 以下より 1 つ選択しなさい 1. 画像の彩度を扱うためのデータ領域 2. 画像の透過度を扱うためのデータ領域 3. 画像の圧縮前のデータを保存した領域 4. 画像の圧縮後のデータを保存した領域 第 12 問 プロポ

CMS Designerインストール手順

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

Web のクライアントサーバモデル

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

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

ホームページ公開方法

画像の確認 ブラウザで確認しましょう 写真が表示されました ファイルは引き続き使用します 画像にリンク挿入 画像にリンクを指定する場合は <img> タグをアンカータグ <a> で囲います 通常のリンクと同じようにアンカータグに href="" や target="" などの属性を指定できます 画像

フォームとインナー HTML を使って動的にページ内の文章を変更しよう 問題 1. つぎの指示と画面を参考に HTML を組みなさい 仕様 テキストボックスに任意の文字を入力し [ コメント ] ボタンをクリックすると 下部の文章がテキストボックスの内容に置き換わる フォーム名 : f1 テキストボ

Microsoft Word - 2部-3.doc

Microsoft Word 基_シラバス.doc

競技課題|ホームページ

SmartBrowser_document_build30_update.pptx

Microsoft Word - CBSNet-It連携ガイドver8.2.doc

6 2 1

山梨県ホームページ作成ガイドライン

ウェブデザイン技能検定 1 級実技 平成 28 年度 第 4 回 ウェブデザイン技能検定 1 級 実技試験概要 試験にあたっての注意事項 試験者は本試験の留意事項 注意事項に留意して作業を行うこと ペーパー実技試験は 課題 1 から 5 までの 5 課題を 60 分間で行うこと 作業実技試験は 課題

Contents Contents( 目次 ) 1 重要 編集の際の注意事項 2 編集可能なページ 部分 3 トップページ 4 トップFlashの内容変更 5 おすすめ情報 ( カタログギフト等 ) 6 サイドバー バナー部分 7 サイドバー バナー部分事業会社レイアウト用 8 サイドバー バナー部

HTML5、きちんと。

コンテンツメディアプログラミング実習2

2

Webデザイン論

3.3 World Wide Web 26

JavaScript 演習 2 1

Microsoft Word - 検証結果まとめ_ doc

pdf

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

[1] 概略の流れ 概略の流れは 下図の通りです 1 本ソフトの環境設定 2 ホームページに 編集開始文 1 行を書き込む ( 例 ) <!-- start01 --> 3 管理者用パスワードでログイン 4 管理画面 で 必須データ3 項目を入力 (1) 編集名 (2) ホームページへの相対パス (

Another HTML-lint 導入マニュアル(JSP)版

PowerPoint Presentation

変更履歴 版数変更日変更内容 /9/1 初版設定

スライド 1

IBM Business Process Manager CSS による Coach レイアウト制御ガイド WebSphere 2014 IBM Corporation

E4X in Firefox nanto_vi (TOYAMA Nao)

おなじ変換を実現する XSLT スタイルシートを岩井が書いてみた それが下の例 2 である 例 2 <indexterm> 要素を <title> 要素の外に移動させる XSLT スタイルシート 1: <?xml version="1.0" encoding="utf-8"?> 2: <xsl:st

フォルダ構成例 (BIB-J) は必須ファイル は任意ファイル ( 電子付録等をアップロードする際に作成する ) 資料コード巻号記事識別子 XML ファイル { 記事識別子 }.xml { 記事識別子 }_{ 連番 }.{ 拡張子 } { 記事識別子 }.txt { 記事識別子 }_{ 連番 ].{

システム設置方法 ご購入いただきますと ご注文時のメールアドレス宛に専用のダウンロードアカウントをお送りしておりますので こちらの発行アカウントでダウンロードシステム にログインして頂きシステム一式をダウンロードしてください URL はご購入後のご案内となります ダウンロード後の設置手順は下記の通り

Transcription:

Web プログラミング演習 STEP11 XSLT を使った画面生成

XML:Extensible Markup Language コンピュータが扱うデータや文書を表現する技術 SGML(Standard Generalized Markup Language) の改良 利用者が自由に拡張可能なマークアップ言語を設計 HTML=SGML を利用して作成された Web ページ記述言語 XHTML=XML を利用して作成された Web ページ記述言語 開始タグ (< タグ名 >) と終了タグ (</ タグ名 >) で要素を挟む ( マークアップする ) ことで, 要素の意味を表す 使用するタグは利用者が自由に決めることができる タグの入れ子構造で木構造 ( 全体部分 親子などの関係 ) を表現

blog のエントリーを表現する XML <?xml version="1.0" encoding="utf-8"?> <entrylist> <entry id="10"> <date>2013.12.10 10:50</date> <title>step10:ajaxを利用したrssフィードの表示 </title> <category> 授業資料 </category> <body>ajaxを利用して,rssフィードの最新エントリをhtmlに埋め込む </body> </entry>...(entryの繰り返し)... </entrylist>

XML データ ( 文書 ) を構成する要素 entrylist entry entry entry... id date title category body............

XML 文書のスタイリング ( 表現の変換 ) 目的に応じて集められた XML 情報を利用者の用途 状況にあわせて適切にスタイリングする 表現 A ( ブラウザ ) 目的 情報情報情報情報情報 XML 文書 適切な表現への変換 用途 状況 One Source Multi Use 表現 C ( 印刷 ) 表現 B ( ブラウザ )

XSL (Extensible Stylesheet Language) XML 文書のためのスタイルシート言語 三つの技術から構成 XPath : XML 文書内の特定要素を識別 XSLT : XSL Transformations. 文書要素の置き換え規則 XSL-FO : 組み版指定 ( 印刷目的の表現 ) この演習では,XSLT( とXPath) を使って,XMLを HTMLに変換する XSLT XML HTML プロセッサ

XSLT の記述 テンプレート集合 XML 文書の特定パターン (XPath で指定 ) に対して, 表現の変換規則を適用する CSS と似た考え方 =HTML の特定パターン ( セレクタで指定 ) に対して, スタイリング規則を適用する XML 整形式 開始タグ 終了タグによる完全な入れ子構造

XPath / ドキュメントルート entrylist /entrylist/entry 全 entry ノードの集合 entry entry entry... title @id カレントノードの子要素の title カレントノードの id 属性 id date title category body............ / で始まる場合はドキュメントルートからの絶対パスそうでない場合はカレントノード ( 現在着目しているノード ) からの相対パス

XSLT のサンプル <?xml version="1.0" encoding="utf-8"?> UTF-8で記述されたXML 文書であることの宣言 <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="html" encoding="utf-8"/> 出力の書式と文字コード指定 <xsl:template match="/"> <html> <body> <xsl:apply-templates select="entrylist/entry"/> </body> </html> </xsl:template> <xsl:template match="entry"> <li> <xsl:value-of select="title"/> </li> </xsl:template> title 要素の値を出力する 対象要素を選択してテンプレートを適用する 処理対象の XML 文書全体に対して適用するテンプレート entry 要素に対して適用するテンプレート スタイルシートの範囲 </xsl:transform> ( ソースコード )

演習 % cd myblog 前ページのサンプル XSLT ファイルを作成し, 実行せよ ファイル名は index.xsl XSLT ファイルの適用実行 % /usr/bin/xsltproc index.xsl mng/entries.xml... (html でタイトルリストが出力されれば OK)...

演習 ( つづき ) index.xsl をブラウザから実行するための CGI を作成 ファイル名は indexxsl.cgi #!/usr/bin/perl use CGI qw(:standard); print header(-type=>"text/html; charset=utf-8"); system("/usr/bin/xsltproc index.xsl mng/entries.xml"); 実行許可を与える % chmod +x indexxsl.cgi デプロイ後, ブラウザからアクセス http://webdesign.center.wakayama-u.ac.jp/~ ユーザ ID/myblog/indexxsl.cgi

Blog トップページ用 XSLT の作成 index.xsl を改良する 文書全体に適用されるテンプレート <xsl:template match="/"> <html> <body> この部分にエントリーごとの処理以前の XHTML <xsl:apply-templates select="entrylist/entry"/> </body> </html> この部分にエントリーごとの処理以後の XHTML </xsl:template>

Blog トップページ用 XSLT の作成 ( つづき ) エントリーごとに適用されるテンプレート <xsl:template match="entry"> <div class="entry"> <h3><xsl:value-of select="date"/></h3> date 要素の値を出力 <h4> <a href="entry.php?id={@id}"><xsl:value-of select="title"/></a></h4> <div class="body"> <xsl:value-of select="body"/> </div> </div> </xsl:template> id 属性の値に置き換わる body 要素の値を出力 title 要素の値を出力 ( ソースコード )

XSLT のライブラリ化 汎用性の高いテンプレートを ファイルに記述しておく XSLTから外部ファイルをimportし そのファイルに記述されているテンプレートを使う import XSLT ライブラリ XML XSLT プロセッサ 利用 HTML

カレンダーライブラリ ファイル名は calendar.xsl 内容は下のリンクをクリック ライブラリに含まれているテンプレート <xsl:template name="calendar"> <xsl:template name="mymonth"> <xsl:template name="myweek"> calendar 利用 mymonth 利用 myweek ( ソースコード )

カレンダーライブラリの利用 index.xsl を変更 <?xml version="1.0" encoding="utf-8"?> <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:import href="calendar.xsl"/> ライブラリの読み込み <xsl:output method="html" encoding="utf-8"/>... <div class="calendar"> <xsl:call-template name="calendar"> <xsl:with-param name="year" select="'2015'"/> ライブラリテンプレート <xsl:with-param name="month" select="'1'"/> (calendar) の呼び出し </xsl:call-template> パラメータは年月 </div>...

参考 Web ページ サンプルで覚える XSLT プログラミング http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt00.html XSLT1.0 仕様書 ( 日本語訳 ) http://www.infoteria.com/jp/contents/xml-data/rec-xslt-19991116-jpn.htm

おまけ 1 エントリ本文で html タグを使う方法 index.xsl に以下の変更を適用 <xsl:value-of select="body"/> <xsl:copy-of select="body/* body/text()"/> indexxsl.cgi の最終行を以下に変更 system("/usr/bin/xsltproc index.xsl mng/entries.xml sed 's/ </</g;s/ >/>/g'"); index.php, entry.phpに以下の変更を適用 $body = mb_convert_encoding($entry->body, "utf-8", "auto"); $body = mb_convert_encoding($entry->body->asxml(), "utf-8", "auto");

おまけ 2 アクセスログ, エラーログの確認 https://webdesign.center.wakayama-u.ac.jp/log/access.cgi https://webdesign.center.wakayama-u.ac.jp/log/error.cgi セキュリティの警告を無視してアクセスすると, 本人の最近 20 行分のアクセスログ / エラーログが出力される

次回の予定 トラックバック機能の実装