NewsML検索アプリケーションの デモンストレーション NewsMLワーキンググループ 日本ユニシス株式会社 小林 茂 読売新聞社 三宅 学 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 1 NewsML-WGの概要 メーカー、ベンダー、新聞社で組織するワーキンググループ XMLベースでの研究・問題点の洗い出し ツールキットの開発 アプリケーション構築と検証 データ構築、閲覧、データベース クライアント、サーバーサイド・アプリケーション 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 2 メンバー紹介 朝日新聞 日本アイ・ビー・エム 日本ユニシス 読売新聞 メディアフュージョン メディアフュージョン 日本電気 NECソフト その他、メーリングリスト・メンバー 竹原 藤原 小林 三宅 木下 北島 新田 矢川 大祐(リーダー) 隆弘(サブリーダー) 茂 学 正尚 聡 一樹 隆志 順不同 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 3 NewsMLとは 98年、ロイターのマーク・ハント氏、ジョウ・レイベン氏が定義 99年10月 IPTCがNewsMLを標準化 IPTC:世界約55社の通信社・新聞社・ベンダーが標準化と開発に参加 (ニューヨークタイムズ、AP、共同通信など) IInternational Press Telecommunication Council )国際新聞通信評議会 00年初 IPTCが機能定義、DTD作成 00年10月 IPTCでバージョン1.0発行 00年6月 NewsMLの分析と解説 「新データフォーマット策定チーム」 01年8月 NSK-NewsMLレベル1公開 新幹線ニュースの配信もNewsML形式で配信 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 4 ニュースを伝える世界標準フォーマット 収集 あらゆるフォーマット 統合 あらゆる素材 更新 最新の版 1. 素材の加工フローを効率化 2. 素材のパッケージ化 配信手 段や配信チャネルにあわせて GIF, JPEG, NSKNSK-TIFF etc AVI, AU, WAV etc. DOC, HTML etc. MPEG etc. JPEG, GIF etc. 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 5 NewsMLへの変換 JavaコンソーシアムのXMLニュースをNewsMLへ変換する。 XMLニュース NewsML <?xml version="1.0" encoding="UTF <?xml version="1.0" encoding="utf-16"? <news xmlns="http://www.javacons.gr.j <NewsML> … <newsdoc id="w2001030101"> … 変換 ... <NewsLines> <HeadLine>Synchronized Multim <headline>Synchronized Multimedia I <body> <div> SMIL2.0 は,対話的なマルチメディ 記述するためのXMLベースの言 SMIL2.0は,他の言語(XHTML,S 2002/2/7 ... <DataContent> <div>SMIL2.0 は,対話的なマル 記述するためのXMLベースの言 SMIL2.0は,他の言語(XHTML,S 機能ごとにモジュール化され提供 XMLコンソーシアム応用技術部会 NewsML-WG 6 XMLニュースとNewsMLの違い XMLニュースとNewsMLには、下記の差異がある。 XMLニュース NewsML 単一ファイル/複数ニュース 単一ファイル/単一ニュース※1 単一ファイル/複数ニュース 独自スキーマ IPTC標準のニュース配信スキ ーマ ※1 WGでは、XMLニュースを、単一ファイル/単一ニュースのNewsMLに変 換した。 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 7 XMLニュース → NewsML変換 変換は、 個別に作成した「分割」、「変換」をバッチで組み合わせ て、一括変換する。 分割 変換 分割 Javaプログラムで、ニュース単位にXMLニュースを分割 変換 スタールシートを作成して、XMLニュースをNewsMLに変換 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 8 NewsML変換 変換用のスタイルシート Stylus Studioを使用して、おおまかな変換用のスタイルシー トを作成後、スタイルシートをエディタで編集し微調整を行っ た。 XSLTプロセッサ Xerces-J/Xalan-J or MSXML DTD(今回は未使用) 書式に則っていない文書があった場合に正しく変換できない ため、変換元のXML文書のDTDを作成して、Valid XML文 書にする。 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 9 Stylus Studioを使用した変換 スタイルシート作成 XMLニュースとNewsMLのマッピングを作成して、スタイルシートを作成する。 NewsML XMLニュース 線で結ぶことでマッピング を設定する。 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 10 XMLニュースをNewsMLに変換した 結果 NewsComponent(親) <NewsML> <NewsEnvelope> <DateAndTime>20020131T142500+0900</DateAndTime> </NewsEnvelope> NewsComponent(子) <NewsItem> ... <NewsComponent> 日本語のXMLニュース内容 <NewsLines> <HeadLine>ヘッドライン</HeadLine> (Role/@FormalName=“Main”) <KeywordLine>キーワード</KeywordLine> </NewsLines> <NewsComponent xml:lang="ja"> <Role FormalName="Main"/> NewsComponent(子) <ContentItem> <DataContent> ... </DataContent> </ContentItem> XMLニュースのオリジナル </NewsComponent> (Role/@FormalName=“Supporti <NewsComponent xml:lang="en"> <Role FormalName="Supporting"/> ng”) <ContentItem> <DataContent> ... </DataContent> </ContentItem> </NewsComponent> </NewsComponent> XMLコンソーシアム応用技術部会 ... 2002/2/7 NewsML-WG 11 ニュース素材の検索 XMLを操作する手法の検討 XPATH スタイルシート(XSLT) 検索ツール 1XMLファイルの検索 複数XMLファイルの検索 Javaコンソーシアムの実験方式 実際のニュースは新規、変更されるものである 複数XMLファイルから検索するために、XMLデータ ベースを検討 2002/2/7 Yggdrasill(イグドラシル)で実験 XMLコンソーシアム応用技術部会 NewsML-WG 12 イグドラシルのXBath NewsLines以下のどこかに、対象となる文字列が存在す るNewsItemをすべて列挙する /NewsML/NewsItem[/NewsComponent/NewsLines/*= '文字列'] 対象となる文字列が存在するNewsItemの PublicIdentifierをすべて列挙する /NewsML/NewsItem[/NewsComponent/NewsLines/*= '文字列'] /Identification/PublicIdentifier DataContent以下のどこかに、対象となる文字列が存在 するNewsItemをすべて列挙する /NewsML/NewsItem[//NewsComponent/ContentItem /DataContent/*= '文字列'] 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 13 イグドラシルでの検索結果 検索結果はファイル名ではなく、XBathの結果がXMLのフ ラグメントで返ってくる 検索結果はNewsML以下ではなく、NewsItem以下を取り出すよう にした <NewsML> <NewsEnvelope> <DateAndTime>20020131T142500+0900</DateAndTime> </NewsEnvelope> <NewsItem> ... <NewsComponent> <NewsLines> <HeadLine>ヘッドライン</HeadLine> <KeywordLine>キーワード</KeywordLine> </NewsLines> <NewsComponent xml:lang="ja"> ... NewsMLは世界でユニークなIDがあるので、これをXPATHで結果 として返せば、別の利用も可能 <PublicIdentifier>urn:newsml:xmlconsortium.org:20020131:xmlnewsw2001030101:1 </PublicIdentifier> 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 14 「NewsML検索デモ」の 説明と実演 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 15 NewsML検索デモ HTML 検索画面 ASPファイル 検索用クエリ XSLT 検索結果 XBath VBScript XMLDB Yggdrasill 1.5 XML Document Fragment NewsML HTML 結果表示 XMLデータベースエンジンYggdrasill1.5 株式会社メディアフュージョン URL: www.mediafusion.co.jp Mail: [email protected] 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 16 ワーキンググループ開発量 デモプログラム開発作業時間 XMLWEBアプリケーションなので開発が容易 File 用途 File数 作業数 HTML XSLT 検索用Form、SVG、HTML HTML変換 4 6 5時間 14時間 ASP API操作用 6 7時間 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 17 ASPファイルの記述 XMLデータベースエンジンYggdrasill使用の場合 <%@Language=VBScript%> <% Set fxoBasket = Server.CreateObject("Yggdrasill_15.YgBasket") イグドラシルのインスタンス生成 fxoBasket.Login "", "d:¥DB¥NewsML15", "admin", "admin" セッション〜ポケットのオープン手続 fxoBasket.OpenPocket "NewsML15“ ‘querystring = Xpath記述部 Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM") ワーク用DOM生成 Set XSLDoc = Server.CreateObject("Microsoft.XMLDOM") XMLDoc.async = false XMLDoc.loadXML(fxoBasket.GetDocumentFragments(1,querystring)) イグドラシル検索結果取得 XSLDoc.async = false XSLDoc.load(Server.MapPath("xsl¥kensaku0.xsl")) response.write(XMLDoc.documentElement.transformNode(XSLDoc.documentElement)) HTML生成 fxoBasket.ClosePocket fxoBasket.Logout .…. 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 18 NewsMLのスタイル表示 ボタンの種類に応じたスタイルシートで体裁 を変えられる。 概要スタイル XSLT 概要 検索結果 XML 詳細 電光 詳細スタイル XSLT 電光スタイル XSLT タイトル ・・・・・・・・・・ ・・・・・ 名前 会社名 株式会社・・・・・ 記事 ニュースの内容・・・・ ・・・・・・・・・・・・・・・ Copyright 著作権表示 Identification 提供者 識別名 NewsManagement ニュース型 ・・・・・ ニュースのデータ XML データベース 2002/2/7 検索 XMLコンソーシアム応用技術部会 NewsML-WG ニュース1・・・・・・・・・ ニュース2・・・・・・・・・ ニュース3・・・・・・・・・ ニュース4・・・・・・・・・ 19 NewsMLのスタイルシート <xsl:template match="yggdrasill:result"> 検索結果のルートにたいする指示 <html> <head> <style type="text/css">・・・・・・ CSSによるスタイル指示 ・・・・・</style> <script>・・・・・・ スクリプトの記述 ・・・・・</script> </head> <body bgcolor="#FFFFFF" text="#000000"> <xsl:apply-templates/> </body> 必要な子要素にたいして他のテンプレートを適用 </html> </xsl:template> <xsl:template match="NewsItem"> <div class="para" check="1"> <div class="header"><xsl:value-of select=".//HeadLine"/></div> <div> <xsl:apply-templates /> </div> </div> </xsl:template> NewsItem に対するテンプレート ・・・・・・・・・ 後略 ・・・・・・・・・・・ 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 20 NewsML検索デモ 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 21 NewsML-WGの今後 新規登録 NewsMLデータを新規作成 XPathでの検索 Yggdrasill 1.5 からXpath対応 プログラム(出版をめざす) NewsMLツールキットやXSLTなど 更新に関係する操作 NewsML仕様に従った更新処理の実装 マルチメディア・ニュース WEBサービスとの連携 WEBサービスワーキンググループと検討 2002/2/7 XMLコンソーシアム応用技術部会 NewsML-WG 22
© Copyright 2024 Paperzz