1 / 8

源氏物語の世界 再編集版

2007/12/21 宮脇文経. 源氏物語の世界 再編集版. オリジナル - http://www.sainet.or.jp/~eshibuya/index.html 高千穂大学 渋谷栄一教授 作成、無償公開 V1 - HTML版 、CSV版、CHM版 2003 年 4 月~ 2004 年 10 月 趣味で作成。 V2 - XML 版 http://genji.nce.buttobi.net/xml/ 2004 年 12 月~ 2005 年 8 月 IPA 未踏プロジェクトで作成。 クライアント側で動的再編集する基本方式を確立した。

marina
Télécharger la présentation

源氏物語の世界 再編集版

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. 2007/12/21 宮脇文経 源氏物語の世界 再編集版 • オリジナル - http://www.sainet.or.jp/~eshibuya/index.html 高千穂大学 渋谷栄一教授 作成、無償公開 • V1 - HTML版、CSV版、CHM版 2003年4月~2004年10月 趣味で作成。 • V2 - XML版 http://genji.nce.buttobi.net/xml/ 2004年12月~2005年8月 IPA未踏プロジェクトで作成。 クライアント側で動的再編集する基本方式を確立した。 背景:高負荷CGI禁止  (現在は動作しない。∵サーバ:PHP4⇒PHP5) • V3 - XML版 http://www.genji-monogatari.net/xml/ 2005年12月~2006年8月 IPA未踏プロジェクトで作成。 機能強化、構造整備、実用性向上

  2. (V2)

  3. V1の既存機能 凡例 目標とする新機能

  4. 固定 固定 HTML HTML HTML イメージ 挿絵 V1 - HTML版 の 仕掛け 本文 注釈 渋谷栄一訳 ローマ字版 与謝野晶子訳 オリジナルHTMLファイル 静的再編集プログラム • 一括生成 • 一括アップロード 再編集結果

  5. 本文 注釈 挿絵リンク 朗読リンク 渋谷栄一訳 本文 注釈 渋谷栄一訳 ローマ字版 与謝野晶子訳 ひらがな版 文節情報 与謝野晶子訳 オリジナルHTMLファイル ルビ 本文と朗読の対応関係 ・・・ XMLデータ イメージ・音声 挿絵 朗読 V3 - XML版 の 仕掛け 静的再編集プログラム • 動的再編集(XSLT) • クライアント側で実行 XMLデータと再編集プログラムは追加可能 固定 動的再編集 プログラム1 (横書き表示) 動的再編集 プログラム2 (縦書き表示) 動的再編集 プログラム3 (縦書き印刷用文書作成) ・・・ HTML HTMLIE6以降 WordMLMS-Word 2003以降

  6. 本文 注釈 挿絵リンク 朗読リンク 渋谷栄一訳 与謝野晶子訳 ひらがな版 文節情報 ルビ 本文と朗読の対応関係 ・・・ XMLデータ V3 - 再編集プログラムの構造 再編集仕様設定ページ(PHP) 実行 動的再編集処理ページ生成(PHP) MySQLデータベース(会員情報、フォルダ情報等) サーバ側で実行する部分 書式設定 再編集形式 毎に作成 クッキー(書式情報等) OK PHPで生成された動的再編集処理ページ (HTML/HTA & JavaScript) 動的再編集処理ページのテンプレート(HTML & JavaScript) 再編集結果 再編集書式設定ページ(HTML & JavaScript) XMLスタイルシート 動的再編集プログラム • WordMLのようにHDDに保存する必要がある場合等でHTAを使用する。 • ただし、HTAではクッキー使用不可。

  7. PHPで生成された動的再編集処理ページ縦書き印刷用Word 2003文書を生成する場合 <HTML xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:my="http://www.genji-monogatari.net"> <META http-equiv="Content-Type" content="text/html; charset=EUC-jp"/> <HEAD> <hta:application ID="myApp"> <TITLE>源氏物語の世界 再編集版 (XML形式) 縦書き印刷用Word 2003文書作成</TITLE> </HEAD><BODY> <SCRIPT> …(中略)… var xmlInput = new Array(); …(中略)… xmlInput[xmlInput.length] = xmlLoad('http://www.genji-monogatari.net/xml/eshibuya/text/text09.1.xml'); xmlInput[xmlInput.length] = xmlLoad('http://www.genji-monogatari.net/xml/eshibuya/notes/notes09.1.xml'); xmlInput[xmlInput.length] = xmlLoad('http://www.genji-monogatari.net/xml/eshibuya/sources/sources09.1.xml'); xmlInput[xmlInput.length] = xmlLoad('http://www.genji-monogatari.net/xml/eshibuya/revices/revices09.1.xml'); xmlInput[xmlInput.length] = xmlLoad('http://www.genji-monogatari.net/xml/eshibuya/version/version09.1.xml'); xmlInput[xmlInput.length] = xmlLoad('http://www.genji-monogatari.net/xml/mywkfmnr/yosano/yosano09.1.xml'); …(中略)… var xslCnv2 = xmlLoad("http://www.genji-monogatari.net/xml/mywkfmnr/tate4Word/tate4Word.xsl.xml"); </SCRIPT> <SCRIPT type="text/xml" id="xmlInput2"> XMLのヒアドキュメント。クッキーに保存されていた書式情報の取り込み等に使用する。 IE6(MSXML3)では <XML>タグ (XML island) も使えるが、MSXML4 で非サポートになったので、使用しない。 </SCRIPT> <SCRIPT> 処理内容は以下のとおり。 ●使用する3つの文字コード(シフトJIS、EUC、UTF-8)の相違を乗り越えるための処理 ●xmlLoadした複数のXMLデータとXMLのヒアドキュメントを1つのXMLに連結する。 ●連結したXMLをXSLTで変換 ●変換結果をファイルに保存 ●Word 2003起動 </SCRIPT> </BODY></HTML> 参考リンク連結したXMLXSLT変換結果(XML)

  8. 開発を振り返って • <msxsl:script>タグ(非標準)を多用した。 • 基本: シンタックス⇒XSLT、セマンティック⇒JavaScript • XSLTでどう書けば良いか、すぐにはわからなかった所もJavaScript化した。ただ、安易に走ったところがあり、そこは反省点。(慣れるにつれて減った) • JavaScriptの方が書き易い所は多い。文字列操作、正規表現、グローバル変数、変数値の更新、XML-DOM、関数、try~catch、エラー処理、… • <msxsl:script>タグ相当機能を XSLT で標準化して欲しい。 • XSLTのデバッグに苦労した。 (無償ツールばかりだったから?) • Java Scriptなら、MS-Officeのスクリプトエディタ付属デバッガでデバッグできるが、<msxsl:script>タグ内のデバッグはサポートされていない。 • Visual Studio 2005のXSLTデバッグ機能も Express ~ Standard Editionには無い。Professional Editionでも、<msxsl:script>タグには対応していない? • グチ • PHP・ASP・JSPの<%=式%>のような文字列埋め込み機能が欲しい。 • namespaceの扱いが難しい。本当は<源:帖>などとしたかったのだが… • XMLの連結をXSLTで書いたらエラー処理できずボツ。JavaScriptで書き直した。 • "&lt;"はそのまま書けるのに"&nbsp;"をそのまま書けないのはなぜ?。

More Related