JP3692054B2 - 文書構造変換方法および文書構造変換装置およびプログラム - Google Patents
文書構造変換方法および文書構造変換装置およびプログラム Download PDFInfo
- Publication number
- JP3692054B2 JP3692054B2 JP2001151603A JP2001151603A JP3692054B2 JP 3692054 B2 JP3692054 B2 JP 3692054B2 JP 2001151603 A JP2001151603 A JP 2001151603A JP 2001151603 A JP2001151603 A JP 2001151603A JP 3692054 B2 JP3692054 B2 JP 3692054B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- conversion
- structured
- partial
- structured document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Description
【発明の属する技術分野】
本発明は、XML文書などの構造化文書の文書構造の変換技術に関する。
【0002】
【従来の技術】
近年の電化製品の普及にともない、1人のユーザが、デスクトップパソコン、ノートパソコン、PDA(Personal Digital Assistants)、携帯電話などの複数の異なる端末機器を保有するケースが増えてきている。これら複数の端末機器であつかう情報の中にはお互いに非常に関連姓のあるデータが多く含まれており、住所録はその代表例である。
【0003】
複数の端末機器で管理される住所録の情報の中には姓、名、住所、電話番号、電子メールアドレスなどが含まれることが多いと考えられるが、これらの情報はたとえ端末機器ごとにデータ形式が異なっていたとしても、それらが表す内容は同一である。したがって、住所録に登録されている人が引越しを行い電話番号が変更になった場合には、この人の情報をデスクトップパソコンで参照する場合でも、ノートパソコンで参照する場合でも、PDAで参照する場合でも、携帯電話で参照する場合でも、すべての場合において新しくなった電話番号が参照されるべきである。もしデスクトップパソコン、ノートパソコン、PDA、携帯電話で完全に独立に住所録が管理されているとすると、登録されている個人情報が変更になった場合、すべての端末機器ごとに情報の更新を行わなければならず、端末機器が増えれば増えるほど管理が煩雑になり、情報の一貫姓を保つことが難しくなる。
【0004】
そこで、今までデスクトップパソコン、ノートパソコン、PDA、携帯電話などの複数の異なる端末機器によって個別に独立に管理されていた情報を、サーバ計算機で集中的に一括管理し、必要に応じてサーバ計算機から個別の端末機器に読み出して利用するさまざまなシステムが考えられている。このようなシステムを導入する利点は、情報がサーバ計算機上で一元的に管理されるため、情報の一貫姓を保つことが比較的容易である点が挙げられる。もし、住所録の情報がサーバ計算機で一括管理されていたとすると、個人情報が変更になった場合でも、(端末機器を通して)サーバ計算機上の情報のみを更新しておけば、個々の端末機器はサーバ計算機から住所録情報を読み出すことによって、端末機器ごとにユーザが情報の更新を行うことなく、一貫姓のある最新の情報を取得することが可能であるからである。
【0005】
サーバ計算機に集中的に格納されているデータは、複数の端末機器で利用するデータをまとめあげたものである。一般に、すべての端末機器で利用するデータがすべて同一のデータ形式にしたがっていることは稀である上に、すべての端末で利用するデータがすべて同一であることも稀である。例えば、携帯電話とPDAでは住所録を扱うデータ形式は異なっており、さらに、携帯電話では住所録の情報のうち名前と電話番号のみを利用するのに対して、別のPDAでは名前と電話番号に加えて、住所や電子メールアドレスを利用するといった違いもある。
【0006】
そこで、サーバ計算機に格納されている情報を読み出し端末機器で利用するためには、各端末機器に適した形式と内容に変換しなければならない。
【0007】
このように、複数の端末機器で利用する情報をサーバ計算機上で一元管理し、必要に応じてサーバ計算機から端末機器に情報を読み出して利用するシステムでは、ユーザが利用することが可能な端末機器が特定の機器に限定されており、サーバ計算機に格納されている情報を端末機器で利用可能な形式に変換したり、端末機器に格納されている情報をサーバ計算機に格納可能な形式に変換するためには、機器ごとに特化された変換プログラムを用いている。この方法だと、新しく端末機器が追加されるごとに新たなプログラムを新規作成しなければならず、システムの保守が煩雑である。
【0008】
また、XML文書形式で表現される構造化文書に場合には、その構造化文書の文書構造を変換するために、スタイルシート(XSL(Extesible Stylesheet Laguage ))を用いた変換(XSLT)がよく用いられている。
【0009】
上記のような、複数の端末機器で利用する情報をサーバ計算機上で一元管理し、必要に応じてサーバ計算機から端末機器に情報を読み出して利用するシステムにおいて、構造化文書をターゲットにした場合、XSLTを用いるとプログラムを新たに作成しなくても、新しく変換規則のみを作成すれば、XML文書を変換し別の構造化文書を得る仕組みを提供することが可能である。しかし、XSLTはXML文書を変換し別の構造化文書に得る目的には適しているが、変換規則が複雑であり、変換に用いた規則を利用して新たに得られた構造化文書から変換を行う前のXML文書がしたがっていた文書構造にしたがうXML文書へ逆方向の変換を行うことは非常に困難である。
【0010】
【発明が解決しようとする課題】
このように、サーバクライアントシステムにより、サーバにて一元管理されている文書情報をクライアントとしての各種端末装置から読み出して利用する場合、サーバでは、1つの文書情報として管理していても、クライアント側で当該文書情報を利用する際には、当該文書情報の形式(文書構造)が端末装置毎に異なる。このような場合に、サーバ側対応の文書形式(文書構造)と各クライアント対応の文書形式(文書構造)との間で変換プログラムなどを用いて相互変換する場合には、新規にクライアントとして端末装置を追加する度に、そのための新たな変換プログラムを作成しなければならず、また、このような変換プログラム作成の制約上、利用できる端末装置の種類が制限されることもあり、クライアントとして端末装置を追加するための保守が容易ではないという問題点があった。
【0011】
また、処理対象をXMLなどで記述された構造化文書とし、サーバ側対応の文書構造と各クライアント対応の文書構造への変換は、XSLTで可能だが、逆変換が容易に行えないという問題点があった。
【0012】
そこで、本発明は、上記問題点に鑑み、サーバクライアントシステムにより、サーバにて一元管理されている文書情報をクライアントとしての各種端末装置から読み出して利用する場合、サーバ側対応の文書構造と各クライアント対応の文書構造との間の相互変換が容易に行える文書構造変換方法およびそれを用いた文書構造変換装置およびプログラムを提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明は、異なる文書構造の複数の構造化文書のうち所望の構造化文書を、文書構造毎に予め定められた構造化文書の利用形態対応の変換規則に従って、前記利用形態対応の文書構造に変換し、その際、前記構造化文書中の前記変換規則を適用した領域とその領域に適用した変換規則とを変換記録として記録し、前記利用形態対応の文書構造に変換された前記構造化文書に対し編集を行った結果得られた構造化文書を前記変換記録と前記変換規則とに基づき、元の文書構造に変換することを特徴とする。
【0014】
本発明によれば、1つの文書構造の構造化文書を、その構造化文書の利用形態対応の複数の異なる文書構造に変換したり、利用形態対応の異なる文書構造を元の同じ1つの文書構造へ変換したりすることが容易に行える。例えば、サーバクライアントシステムにより、サーバにて一元管理されている構造化文書をクライアントとしての各種端末装置から読み出して利用する場合、サーバ側対応の文書構造と各クライアント対応(利用形態対応)の文書構造との間の相互変換が容易に行える。
【0015】
また、前記変換規則は、前記構造化文書に対する、前記構造化文書中の少なくとも1つの構成要素からなる部分文書の文書構造の変更や、前記部分文書の削除・移動などの操作内容を記述したものであることを特徴とする。
【0016】
また、前記変換記録には、前記構造化文書の各構成要素の持つ識別子を用いて前記変換規則を適用した領域が示されていることを特徴とする。
【0017】
また、前記構造化文書中の少なくとも1つの構成要素からなる部分文書に対し前記変換規則を適用することにより、その部分文書の文書構造が変更されたとき、変更前の前記部分文書中の少なくとも1つの構成要素の識別子が、変更後の前記部分文書中の少なくとも1つの構成要素の識別子として継承されることを特徴とする。
【0018】
また、前記利用形態対応の文書構造の構造化文書に対しなされた編集は、該利用形態対応の文書構造に適合する範囲内の編集であることを特徴とする。
【0019】
また、前記構造化文書中の少なくとも1つの構成要素からなる異なる複数の部分文書のそれぞれに、該構造化文書の文書構造を前記利用形態対応の文書構造に変換する際に削除するか否かを予め設定し、この設定に基づき前記利用形態対応の文書構造に変換する際に削除されずに残された部分文書が前記編集により削除された部分文書で書き換えられたとき、前記削除された部分文書が次回から削除されないように設定し直す(微調整)ことを特徴とする。
【0020】
また、前記構造化文書中の少なくとも1つの構成要素からなる異なる部分文書のそれぞれに対し異なる変換規則を適用することにより該部分文書の文書構造が変換されて、前記利用形態対応の文書構造に変換された構造化文書中に同一の文書構造の部分文書が生成されるとき、前記利用形態対応の文書構造の構造化文書を元の文書構造に変換する際には、前記異なる変換規則のそれぞれに予め設定されている優先度に基づき、前記元の文書構造への変換のために適用する変換規則を選択することを特徴とする(変換規則グループ)。
【0021】
【発明の実施の形態】
以下、本発明の実施形態について、図面を参照して説明する。
【0022】
(第1の実施形態)
近年インターネットやイントラネットなどの通信路を介して交換される標準的な文書形式の1つに、HTML文書やXML文書などがある。HTML文書に関しては、HTML 4.01 Specification W3C Recommendation 24 December 1999 に、XML文書に関しては、Extensible Markup Language (XML) 1.0 (Second Edition) W3C Recommendation 6 October 2000 に詳細に書かれている。これらの文書はともに構造化文書の一例である。以下の本発明の実施形態では、構造化文書の一例であるXML文書を処理対象とした場合を例にとり説明する。
【0023】
まず、XML文書について、簡単に説明を行う。
【0024】
XML文書は要素(あるいは構成要素とも呼ぶ)から構成された階層構造の文書構造を持つ。根(ルート)と呼ばれる特別な要素以外のXML文書のすべての要素は、ただ1つの親要素を保持し、XML文書のすべての要素は、1つまたは複数の子要素を保持することもある。要素の親子関係がXML文書の階層構造を形成する。
【0025】
たとえば、「住所録」情報をXMLで記述したもの(XML文書)を以下に示す。
【0026】
上記XML文書は、「住所録」という構成要素の子要素に複数の「メンバ」という子要素があり、さらに、各「メンバ」要素は、「名前」、「メール」、「勤務先」という子要素から構成された文書構造を持つ。各構成要素は、その要素名を表したタグ(<要素名>)で囲まれてなる。
【0027】
例えば、上記「住所録」情報というXML文書の持つ上記したような文書構造の識別情報を「住所録」とする。
【0028】
XMLは、文書の構造の表現にタグが用いられる。タグには、開始タグと終了タグがあり、文書構造を構成する構成要素を開始タグと終了タグで囲むことにより、文書中の文字列(テキスト)区切りと、そのテキストが構造上どの構成要素に属するのかを明確に記述することができる。
【0029】
ここで開始タグとは要素名を記号「<」、「>」で閉じたものであり、終了タグとは要素名を記号「</」と「>」で閉じたものである。タグに続く構成要素の内容が、テキスト(文字列)または子供の構成要素の繰り返しである。また開始タグには「要素名 属性=“属性値”」などのように属性情報を設定することができる。
【0030】
ここでは、「住所録」タグの子要素の1つである「メンバ」要素およびその子要素を含むデータ範囲を指定するために、「住所録/メンバ」と表し、さらに、「メンバ」の子要素である「名前」要素を指定するために「住所録/メンバ/名前」と表す。このような構造化文書中の特定のエリアをその文書構造に基づき指定するものをパスと呼び、「住所録/メンバ」、「住所録/メンバ/名前」などをパス名と呼ぶ。
【0031】
また、「神奈川ガス」という要素値を持つ要素を指定する場合のパスも上記同様にして、「住所録/メンバ/勤務先/神奈川ガス」と表すことができる。
【0032】
また、パスにより指定される構造化文書中の特定のエリアを当該構造化文書の部分文書と呼ぶ。部分文書には、要素とその値も含まれる。例えば、「メンバ」要素からなる部分文書と呼ぶとき、この部分文書には「メンバ」要素の子孫要素とそれらの値を含む範囲をさす。
【0033】
図1は、本発明の一実施形態である構造化文書管理システムの構成例を示す。構造化文書としてはXML文書を考える。
【0034】
図1の構造化文書管理システムは、大きく分けて、構造化文書配信装置1、構造化文書変換装置5、構造化文書閲覧・編集装置12の3つの装置からなる。
【0035】
構造化文書配信装置1と構造化文書変換装置5は、単一の装置の中に組み込まれて機能する場合と、別個の装置として、ネットワークを通じて結合されている場合との両方の構成が考えられる。
【0036】
また、構造化文書変換装置5と構造化文書閲覧・編集装置12に関しても同様に、1つの装置の中に組み込まれている場合と、それぞれ別個の装置としてネットワークを通じて結合されている場合の両方の構成が考えられる。
【0037】
例えば、構造化文書配信装置1と構造化文書変換装置5の機能をサーバ装置に持たせ、構造化文書閲覧・編集装置12の機能をクライアント端末に持たせる構成であってもよい。この場合、サーバ装置の構成には、構造化文書配信装置1と構造化文書変換装置5の構成を含み、クライアント端末には、構造化文書閲覧・編集装置12の構成を含む。
【0038】
また、構造化文書配信装置1の機能をサーバ装置に持たせ、構造化文書変換装置5と構造化文書閲覧・編集装置12の機能をクライアント端末に持たせるような構成であってもよい。この場合、サーバ装置の構成には、構造化文書配信装置1の構成を含み、クライアント端末には、構造化文書変換装置5と構造化文書閲覧・編集装置12の構成を含む。
【0039】
構造化文書配信装置1は、格納部2、読み出し部3、書き込み部4とから構成される。
【0040】
格納部2は、異なる文書構造の複数のXML文書を格納するようになっている。
【0041】
読み出し部3は、XML文書を格納部1から読み出し、読み出したXML文書を構造化文書変換装置5へ送信する。格納部2には一般に複数のXML文書が格納されているので、それら複数のXML文書の中から(構造化文書閲覧・編集装置12を用いてユーザから要求されたXML文書であって)構造化文書変換装置5へ送信すべき適切なXML文書を選択し、読み出す。ただし、読み出し部3で読み出すものは、XML文書全体である場合と、前回格納部2から読み出したXML文書と今回読み出したXML文書との差分のみである場合のいずれであってもよい。読み出し部3は、読み出すべき情報がXML文書全体であるかそれともXML文書の差分のみであるかを適切に判断する。
【0042】
書き込み部4は、構造化文書変換装置2から送信されてきたXML文書を受信し、受信したXML文書を格納部2に格納する。ただし、書き込み部で受信するものは、XML文書全体である場合と、前回格納部2から読み出したXML文書との差分のみである場合のいずれであってもよい。
【0043】
書き込み部4は、受信した情報が、XML文書全体であるかそれともXML文書の差分のみであるかに応じて、適切な書き込みを行う。格納部2には一般に複数のXML文書が格納されているので、それら複数のXML文書の中から構造化文書変換装置5から送信されてきたXML文書に対応する適切なXML文書を選択し、このXML文書を構造化文書変換装置5から送信されてきたXML文書の内容にしたがって更新する。
【0044】
なお、図1の構造化文書管理システムでは、格納部2に格納されるXML文書のすべての構成要素は、各構成要素を一意に識別するための識別子が付与される。構造化文書変換装置5から送信されてきたXML文書の構成要素のうち、ユーザによって後述の構造化文書閲覧・編集装置12上で新規作成されたものには識別子が付与されていないので、書き込み部4が、それらの識別子が付与されていない要素に識別子を付与する。
【0045】
構造化文書変換装置5は、変換実行部6、逆変換実行部7、一時格納部8、解析部9、変換規則管理部10、変換記録管理部11から構成され、構造化文書配信装置1から配信された構造化文書を構造化文書閲覧・編集装置12で閲覧・編集する目的に適した形式(文書構造)に変換したり、構造化文書閲覧・編集装置12から送信されてきた構造化文書を構造化文書配信装置1に格納する目的に適した形式(文書構造)に逆方向の変換を行うなど、構造化文書配信装置1と構造化文書閲覧・編集装置12の中間に位置し構造化文書を仲介する役割を果たす。
【0046】
一時格納部8は、構造化文書変換装置5によって変換される前の構造化文書を一時格納する。構造化文書の逆方向の変換を行う際に、変換を行う前の構造化文書の内容を参照する必要が生じたら、一時格納部8から構造化文書を取り出し、参照することが可能である。
【0047】
解析部9は、構造化文書を解析し、解析結果は、変換実行部6,逆変換実行部7で構造化文書の文書構造の変換・逆変換時に利用される。
【0048】
XML文書は、ある要素が別の要素と親子関係を持つという階層構造を保持し、この階層構造によって意味のまとまりを形成している。
【0049】
図1のシステムでは、構造化文書配信装置1に格納されているXML文書の持つすべての要素に識別子が付与されており、それらの識別子のうち一部またはすべては変換、編集、逆変換後のXML文書に継承されることを特徴としているが、以下の説明において、特に混乱がない限り、識別子が付与されていないXML文書を用いて説明を行う。
【0050】
例えば、次に示すような「名簿」情報をXMLで記述したXML文書を考える。
【0051】
上記XML文書において、「名前」要素は、「姓」要素と「名」要素の組という意味のまとまりを形成している。したがって、「名前」要素を削除する変換を行うと、
となってしまうため意味のまとまりが崩れてしまい、どの姓とどの名が対応するか明確でなくなってしまう。また、「名前」要素を2要素に分割し、「姓」要素と「名」要素を別の要素の子要素にする変換を行うと、
となってしまい、この場合も意味のまとまりが崩れて、どの姓とどの名が対応するか明確でなくなってしまう。
【0052】
一方、「名簿」情報を管理する上記XML文書とは異なる下記XML文書を考える。
【0053】
このXML文書において、「住所」要素を削除する変換を行うと、
となる。この場合には、「住所」要素が削除された後であってもどの「郵便番号」要素とどの「市町村」要素が対応するかは明確であり、その意味において意味のまとまりは崩れていない。また、「住所」要素を2要素に分割し、「郵便番号」要素と「市町村」要素を別の要素の子要素にする変換を行うと、
となり、この場合も変換後のXML文書において意味のまとまりは明確である。
【0054】
このように、XML文書中の要素の中には、それを削除したり、複数要素に分割することによって、XML文書の意味のまとまりが不明確になるものと、削除したり、複数要素に分割しても、XML文書の意味のまとまりが明確であるものの2種類が存在する。
【0055】
構造化文書配信装置1から送信されたXML文書を構造化文書閲覧・編集装置12で閲覧・編集する目的に適した形式に変換する際には、構造化文書配信装置1内に格納されているXML文書が保持する意味のまとまりを崩さない範囲で変換することが必要である。
【0056】
解析部9は、構造化文書を解析し、上記2種類の要素を検出するためのものである。
【0057】
変換規則管理部10は、XML文書を変換する際の変換規則を管理する。
【0058】
変換規則には、例えば以下に示す規則が考えられる。
【0059】
(1)XML文書中のパス名を別のパス名に変更する。すなわち、構成要素名の変更のみを行う場合と、文書構造の変更のみを行う場合と、文書構造の変更と構成要素名の変更とを行う場合とがある。ここで、パス名の変更によってパスに含まれる要素数が変化しても構わない。パス名の変更という変換規則を用いれば、例えば、「メンバ/名前/電話番号」というパス名を「member/name/tel」という英字のパス名に変更したり、「名簿/名前/自宅/電話番号/$1」というパス名を「名簿/名前/電話番号/$1」と「自宅」要素を削除して文書構造を変更したり、さらに、「名簿/名前/連絡先/$1」と「電話番号」要素の要素名を「連絡先」と変更することができる。このようにして、パス名の変更という変換規則の実行された構造化文書は、この変換規則にて指定された(変更前の)パスにより特定される当該構造化文書中の領域(部分文書)の文書構造が(変換規則で指定された変更後のパスで表されるような文書構造に)変更されることになる。
【0060】
(2)XML文書のパスを削除する。パスを削除するとは、そのパスにて指定される部分文書を削除するということである。なお、XML文書のパスの最終要素が子孫要素を保持する場合には、それらも合わせて削除することになる。また、パスの最終要素とは、例えばパス「メンバ/住所」であるときの最終要素は、「住所」要素である。また、「住所」要素以下に、子要素として「郵便番号」「都道府県」などの子要素があるときは、それらも削除する。
【0061】
(3)XML文書のパスを移動する。パスの移動という変換規則の実行された構造化文書は、この変換規則にて指定されたパスにより特定される当該構造化文書中のエリア(部分文書)が変換規則で指定された位置に移動することになる。ここで、XML文書のパスの移動によって、XML文書が保持する意味のまとまりを崩してはいけないという制約がある。
【0062】
より詳細に変換の種類を定義するならば、上記パス(名)の変更にも、
(4)新たな部分文書を追加する。
【0063】
(5)異なるパスにて指定される複数の部分文書を1つのパスにて指定することのできる1つの部分文書に併合する。
【0064】
(6)1つのパスにて指定される1つの部分文書を複数の異なるパスを用いて指定される別個の部分文書に分割する。
【0065】
(7)部分文書中に別の部分文書の複製を追加する。
【0066】
というような種類の変更もありえるだろう。これらをパスの変更とは別個の種類の変換規則として定義するようにしてもよい。
【0067】
なお、変換規則は、上記のみに限るものではなく、必要に応じて、必要な変換規則を用いればよい。ここでは、例えば、上記(1)〜(3)に示したような種類の変換規則を例にとり説明する。
【0068】
XSLTにおけるXML文書の文書構造の変換が、一般にある条件に合致する文書構造を表す「木」から新規の「木」を作成する操作を基本にしているのに対して、本発明におけるXML文書の文書構造の変換は、「パス」にて特定される部分文書に対する操作を基本にしている。このため、本発明における文書構造の変換は、XSLTにおける変換よりも単純であり、変換に対応する逆方向の変換を自動的に行うことが容易である。
【0069】
1つの構造化文書中のあるパスにて特定される部分文書を別のパス名になるような文書構造に変換するパス名の変更といった変換では、要素名や要素数が変化するため、変換を行う前の要素と変換を行った後の要素を1対1に対応付けることは不可能である。したがって、変換前の要素が保持する識別子をすべて変換後の要素に継承することも不可能である。そこで、変更前の部分文書中の少なくとも1つの構成要素の識別子が、変更後の当該部分文書中の少なくとも1つの構成要素の識別子として継承するようにする。例えば、ここでは、変換前のパスの最終要素が保持する識別子を変換後のパスの最終要素に継承させる。この方法を取ることによって、変換を行う前の要素と変換を行った後の要素を1対1に対応付けることは不可能であるが、変換を行う前の部分文書と変換を行った後の部分文書を1対1に対応付けることが可能となる。
【0070】
また、後述するように、変換記録では、変換前のパスの最終要素の保持する要素識別子は、変換規則が実行された構造化文書中の領域(位置)を特定するためにも用いられる。
【0071】
次に、上記複数の変換規則のうち、パス名の変更、パスの削除、パスの移動という3つの変換規則を例にとり、変換規則により文書構造が変換される様子と、要素識別子の継承について、具体的に説明する。例えば、以下に示す「名簿」情報をXMLで記述したXML文書を考える。ただし、ここでは、要素の識別子(要素識別子)は、その要素の属性情報として、各要素の開始タグ内に「id=“要素識別子”」と書き込まれている。
【0072】
変換規則管理部10で管理されている変換規則の1つが、「パス「会社/住所/$1」をパス「会社住所/$1」に変更する」というものであったとする。ただし、ここで「$1」は変数を表すものとする。この場合、「会社」要素からなる部分文書(より詳しく表現すると、「会社」要素とその子要素である「住所」要素からなる部分文書)の文書構造を変更する。すなわち、上記XML文書にこの変換規則を適用すると、部分文書「<会社 id=”pi3”><住所 id=”pi4”>A2</住所></会社>」が、部分文書「<会社住所 id=”pi4”>A2</会社住所>」と変換される。
【0073】
そして、この場合、変換前のパスの最終要素(「住所」要素)が保持する要素識別子「pi4」を変換後のパスの最終要素(「会社住所」要素)に承継させる。よって、以下に示すXML文書が得られる。
【0074】
変換規則管理部10で管理されている別の変換規則の1つが、「パス「自宅/住所/$1」を削除する」というものであったとする。この場合、「自宅」要素からなる部分文書(より詳しくは、「自宅」要素とその子要素からなる「住所」要素からなる部分文書)を削除する。上記XML文書にこの変換規則を適用すると、以下に示すXML文書が得られる。
【0075】
<個人情報 id=”pi1”>
<名前 id=”pi2”>A1</名前>
<会社住所 id=”pi4”>A2</住所>
<電子メール id=”pi7”>A4</電子メール>
</個人情報>
さらに、変換規則管理部10で管理されている別の変換規則の1つが、「パス「電子メール/$1」を「名前」要素の直後に移動する」というものであったとする。この場合、「電子メール」要素からなる部分文書を「名前」要素からなる部分文書の直後に移動する。すなわち、上記XML文書にこの変換規則を適用すると以下に示すXML文書が得られる。
【0076】
<個人情報 id=”pi1”>
<名前 id=”pi2”>A1</名前>
<電子メール id=”pi7”>A4</電子メール>
<住所 id=”pi4”>A2</住所>
</個人情報>
例えば、上記3種類の変換規則が登録されて、管理するのが変換規則管理部10である。
XML文書に対して変換規則を適用したら、どの変換規則を当該XML文書中のどの領域(どの部分文書)に対して適用したかを表す変換記録を変換記録管理部11に記録される。「どの領域(部分文書)に対して適用したか」という情報を、ここでは、当該部分文書を示すパス名にある最終要素の要素識別子にて示している。
【0077】
逆変換実行部7は、構造化文書閲覧・編集装置12から送信されたXML文書を構造化文書配信装置1に格納する目的に適した形式に変換する際に、構造化文書配信装置1から送信されたXML文書を構造化文書閲覧・編集装置12に表示する目的に適した形式に変換した際の変換記録を用い、記録されている変換の逆変換を行う。
【0078】
逆変換実行部7は、構造化文書閲覧・編集装置12から送信されてきたXML文書を受信し、受信したXML文書に対して、変換実行部6で行った変換の逆変換を行うものである。逆変換を行う際には、変換記録管理部11で管理されている変換記録を1つずつ取得し、取得した変換記録を順番に、当該XML文書に適用する。この際、変換規則や変換実行部6で変換を行う前のXML文書を参照する必要がある場合には、適宜、変換規則管理部10や一時格納部8に問い合わせて必要な情報を取得する。
【0079】
構造化文書変換装置5で変換されXML文書は、構造化文書閲覧・編集装置12に送信され、ここで、当該XML文書が編集された場合には、構造化文書閲覧・編集装置12から構造化文書変換装置5に送信されるXML文書は、構造化文書変換装置5から構造化文書閲覧・編集装置12に送信されたXML文書と異なっている。
【0080】
この場合には、逆変換実行部7で行う逆変換は変換実行部6で行われた変換と完全に対称になっている訳ではない。すなわち、構造化文書閲覧・編集装置12における編集によって削除された部分文書(パス)は変換の対象であったにもかかわらず逆変換の対象にはならない。また、構造化文書閲覧・編集装置12における編集によって新規作成された部分文書(パス)は変換の対象でなかったにもかかわらず逆変換の対象になる。
【0081】
例えば、以下に示すXML文書を考える。ただし、ここでも、要素識別子は、その要素の属性情報として、各要素の開始タグ内に「id=“要素の識別子”」と書き込まれている。
【0082】
この場合、変換規則管理部10に、上記XML文書の文書構造を変換するための、例えば、以下示すような2つの変換規則が登録・管理されているとする。
変換規則R101:パス「会社/住所/$1」を「会社住所/$1」に変更する。
【0083】
変換規則R102:パス「自宅/住所/$1」を「自宅住所/$1」に変更する。
【0084】
ただし、ここで「$1」は変数を表すものとする。上記XML文書に、この変換規則R101、R102を適用し、変換実行部6で変換を行うと、変換規則R101のみが適用され、以下に示すXML文書が得られる。
【0085】
また、この際、変換記録管理部11に記録される変換記録は以下の2つである。
【0086】
変換記録M101:要素識別子「pi4」の要素を最終要素として保持するパスに、変換規則R101を適用
変換記録M102:変換規則R102を適用するパスは存在しない。
【0087】
上記変換記録は、逆変換実行部7でXML文書の文書構造の逆変換を行う際に用いる。
【0088】
このXML文書を構造化文書閲覧・編集装置12で編集し、「会社住所」要素が削除され、「自宅住所」要素が新規追加され、以下に示すXML文書が得られたとする。
【0089】
上記XML文書に上記変換記録M101、M102を適用し、構造化文書変換装置5の逆変換実行部7で逆変換を行うと、上記XML文書中には、もはや要素識別子「pi4」の要素を最終要素として保持するパス「会社住所/A2」は存在せず、かわってパス「自宅住所/A3」が存在するので、変換記録M101は適用できずに、変換記録M102が適用される。この場合、変換規則R102の操作の逆の操作を、パス名「自宅住所/$1」に対して行い、その結果、このパスは、「自宅/住所/$1」に変更され、以下に示すXML文書が得られる。
【0090】
このように、変換記録は、構造化文書中のどの位置に(最終要素の識別子にて判断されるエリア)、どの変換規則を適用したかを記録したものである。なお、逆変換に対し、変換記録に沿った変換を順方向変換と呼ぶこともある。
【0091】
また、文書構造の逆変換とは、変換記録を基に、変換規則にて定義されている変換の逆の変換を行うものである。
【0092】
パス名の変更を行う変換規則対応の逆変換とは、パス名の変更という順方向変換のなされた部分文書の文書構造を順方向変換を行う前の文書構造に戻す変換である。その際、当該部分文書に要素識別子や、後述するようなポインタ属性のような属性情報が与えられているときはそれらの設定も含めて復元される。
【0093】
パスの削除を行う変換規則対応の逆変換とは、パスの削除という順方向変換で削除された部分文書を復元する変換である。
【0094】
パスの移動を行う変換規則対応の逆変換とは、パスの移動という順方向変換のなされた部分文書の位置を順方向変換を行う前の位置に戻す変換である。
【0095】
パスAをパスBに変更する、パス名の変更という変換規則対応の逆変換は、変換記録で最終要素の識別子にて指定される部分文書(パスBにて示されているような文書構造を持つ部分文書)に対し、パスAにて示されるような文書構造に変換する操作である。また、これから逆変換しようとする処理対象の構造化文書中に、変換記録で最終要素の識別子にて指定される部分文書以外に、パスBに対応する(一致する)パス(部分文書)が存在するときは、そのパス(部分文書)に対してもパスAにて示されるような文書構造に変更する。その際、当該部分文書に、後述するようなポインタ属性のような属性情報を設定することができる。さらに、パス名の変換を行う変換規則を適用しなかったという変換記録である場合にも、パスBに対応する(一致する)パス(部分文書)が、これから逆変換しようとする処理対象の構造化文書中に存在するときは、そのパス(部分文書)をパスAにて示されるような文書構造に変更するという逆変換を行う。その際、当該部分文書に後述するようなポインタ属性のような属性情報を設定することができる。
【0096】
パスAを削除する、パスの削除という変換規則の逆変換は、変換記録で最終要素の識別子にて指定される部分文書を、一時格納部8に格納されている順方向変換を行う前の構造化文書から抽出し、この抽出した部分文書を、これから逆変換しようとする処理対象の構造化文書中の削除した位置に追加する操作である。その際、当該部分文書に要素識別子や、後述するようなポインタ属性のような属性情報が与えられているときはそれらの設定も含めて復元される。また、これから逆変換しようとする処理対象の構造化文書中に、変換記録で最終要素の識別子にて指定される部分文書以外に、パスAに対応する(一致する)パス(部分文書)が存在するときは、その部分文書に後述するようなポインタ属性のような属性情報を設定するような操作もできる。さらに、パスを削除する変換規則を適用しなかったという変換記録である場合にも、パスAに対応する(一致する)パス(部分文書)が、これから逆変換しようとする処理対象の構造化文書中に存在するときは、その部分文書に後述するようなポインタ属性のような属性情報を設定するような操作もある。
【0097】
パスAを(位置x1から)位置x2へ移動する、パスの移動という変換規則対応の逆変換は、変換記録で最終要素の識別子にて指定される部分文書の移動前の位置を、一時格納部8に格納されている順方向変換を行う前の構造化文書を参照して検出し、この検出した位置に当該部分文書を移動させる操作である。また、これから逆変換しようとする処理対象の構造化文書中に、変換記録で最終要素の識別子にて指定される部分文書以外に、パスAに対応する(一致する)部分文書が位置x2に存在するときは、その部分文書も位置x1へ移動させる。その際、部分文書に後述するようなポインタ属性のような属性情報を設定するような操作もできる。さらに、パスを移動する変換規則を適用しなかったという変換記録である場合にも、パスAに対応する(一致する)部分文書が、これから逆変換しようとする処理対象の構造化文書の位置x2に存在するときは、その部分文書も位置x1へ移動させる。その際、部分文書に後述するようなポインタ属性のような属性情報を設定するような操作もできる。
【0098】
逆変換が施されたXML文書は、構造化文書格納装置1に送信される。ここで、構造化文書格納装置1へ送信するものは逆変換が終了したXML文書全体である場合と、逆変換が終了したXML文書と一時格納部8に格納されているXML文書との差分である場合とのいずれであってもよい。
【0099】
構造化文書閲覧・編集装置12は、解析部13と閲覧・編集実行部14とからなる。
【0100】
構造化文書閲覧・編集装置12でXML文書の編集が行われる際、構造化文書変換装置5でXML文書の変換を行った際と同様、XML文書が保持する意味のまとまりを崩す編集は避けるべきである。また、編集が終了したXML文書は、編集を行う前のXML文書がしたがっていた文書構造と同一の文書構造にしたがっているべきである。
【0101】
解析部13は、閲覧・編集実行部14にて編集されたXML文書の文書構造に対して、編集前の文書構造と同一の文書構造に従っているか、当該XML文書が保持する意味のまとまりを崩すような編集はおこなっていないかなどをチェックする。これは、当該XML文書の文書構造の種類(と端末の種別)に対応して予め用意されたDTD(Document Type Definition)を用いて、パーサ(Parser)という検証プログラムを使って、編集後の当該XML文書が当該DTDに従っているかどうかをチェックすることにより実現することができる。このように、解析部13により、閲覧・実行部14にて構造化文書に対しなされる編集は、当該構造化文書の利用形態対応の文書構造に適合する範囲内の編集のみが許され、その範囲外の編集は拒否される。
【0102】
閲覧・編集実行部14は、構造化文書変換装置5から送信されてきたXML文書を受信し、構造化文書をユーザに対して表示し、ユーザの編集を受け付け、編集の終了したXML文書を構造化文書変換装置5に対して送信する。前述したように、編集を行った後のXML文書は、しかるべき文書の構造にしたがっていなければならない。文書構造にしたがっているかどうかの検査は、解析部13を利用して行われる。
【0103】
閲覧・編集実行部14は、ユーザの編集と同時進行に解析部13で解析を行いながら、始めから文書構造を崩さない編集のみを受け付けるものであってもよいし、一度ユーザの編集を受け付けた上で、その編集が文書構造に違反しているかどうか解析部13を通して検査するようになっていてもよい。例えば、ここでは、前者の場合を例にとり説明するが、後者の場合であっても、閲覧・編集実行部14、解析部13の処理動作は基本的には同じである。
【0104】
次に、XML文書を構造化文書配信装置1から構造化文書変換装置5を経由して、構造化文書閲覧・編集装置12へ送信するまでの処理動作について説明する。
【0105】
構造化文書配信装置1は、構造化文書閲覧・編集装置12からの文書読み出し要求を受けて、構造化文書配信装置1内の格納部2に格納されている、当該読み出し要求にて指定されたXML文書を読み出し部3を経由して読み出し、それを構造化文書変換装置5へ送信する。
以下、図2に示すフローチャートを参照して、構造化文書変換装置5の主に変換実行部6の処理動作について説明する。
【0106】
変換実行部6は、構造化文書配信装置1から送信されてきたXML文書を受信すると(ステップS2)、受信したXML文書の複写を一時格納部8に格納する(ステップS3)。受信したXML文書に対し、以下に続く変換規則を用いた変換に適した形式に変換する。そのために、まず、当該XML文書に対し前処理を行う(ステップS4)。前処理とは、解析部9による当該XML文書の解析結果を参照し(当該XML文書の文書構造を定義したDTDをチェックしながら)、XML文書が保持する意味のまとまりを崩さないように、当該XML文書の記述形式を、変換規則を用いた変換に適した形式に変換する処理である。
【0107】
次に、変換規則管理部10で登録・管理されている変換規則を1つずつ先頭から取得し、取得した変換規則を順番に適用して、当該XML文書の文書構造を変換する。また、変換規則を適用したら、当該XML文書のどのパスに対してどの変換規則を適用したかを表す変換記録を、変換記録管理部11に記録する。この手続きをすべての変換規則に関して行う(ステップS5、ステップS8〜ステップS15)。
【0108】
すなわち、変換規則管理部10から取り出した変換規則の種類が、XML文書のパス名の変更に関するものである場合は(ステップS8)、ステップS9へ進み、そうでない場合にはステップS10へ進む。
【0109】
ステップS10において、変換規則管理部10から取り出した変換規則の種類が、XML文書のパスの削除に関するものである場合にはステップS11へ進み、そうでない場合はステップS12へ進む。
【0110】
ステップS12において、変換規則管理部10から取り出した変換規則が、XML文書のパスの移動に関するものである場合にはステップS13へ進み、そうでない場合に、上記パス名の変更、パスの削除、パスの移動以外の変換規則(例えば、先述したような、パスの新規作成、パスの併合、パスの分割など)であるときには、さらに、ステップS14へ進む。
【0111】
ステップS14において、変換規則管理部10から取り出した変換規則が、上記パス名の変更、パスの削除、パスの移動以外の変換規則(例えば、先述したような、パスの新規作成、パスの併合、パスの分割など)である場合には、ステップS15へ進み、そうでない場合、例えば、予め用意された変換の種類に該当しないような場合には、異常終了する。
【0112】
ステップS9では、変換実行部6が、XML文書のパス名を変換規則にしたがって変更する。
【0113】
ステップS11では、変換実行部6が、XML文書のパスを変換規則にしたがって削除する。また、その際、当該削除するパスにて指定される要素の子孫要素もすべて削除する。
【0114】
ステップS13では、変換実行部6が、XML文書のパスを変換規則にしたがって移動する。
【0115】
ステップS15では、上記パス名の変更、パスの削除、パスの移動以外の変換規則の種類対応の変換、すなわち、例えば、前述したような、パスの新規作成、パスの併合、パスの分割などがあるときには、それぞれの種類対応の変換を行う。
【0116】
ステップS5において、当該XML文書に対し適用可能な全ての変換規則を適用したなら、次に、ステップS6へ進み、変換が終了したXML文書に対し後処理を施す(ステップS6)。後処理とは、解析部9による当該XML文書の解析結果を参照し(当該XML文書の文書構造を定義したDTDをチェックしながら)、変換後のXML文書を構造化文書閲覧・編集装置12で閲覧・編集する目的に適した記述形式に変換することである。その後、構造化文書閲覧・編集装置12に送信する(ステップS7)。
【0117】
なお、変換規則は、上記したような、パス名の変更、パスの削除、パスの移動、パスの新規作成、パスの併合、パスの分割に限定するものではなく、上記以外の種類の変換規則ももちろん存在するであろう。しかし、本発明では、どのような変換規則が存在しても、どのように組み合わせて用いても、適用可能である。実際、XML文書を閲覧、編集するクライアント側に合わせて、これらのうちのいくつかを組み合わせて適宜用いればよい。
【0118】
次に、図3〜図4を参照して、構造化文書変換装置5から送信されるXML文書を構造化文書閲覧・編集装置12で受信し、構造化文書閲覧・編集装置12でXML文書の閲覧・編集後、構造化文書閲覧・編集装置12から構造化文書変換装置5へXML文書を送信するまでの処理手順を示す。
【0119】
図3は、構造化文書閲覧・編集装置12の処理動作を説明するためのフローチャートである。
【0120】
構造化文書変換装置5から送信されてくるXML文書は、閲覧・編集実行部14で受信され、所定の表示のための処理が行われて、ディスプレイなどの表示装置に表示される(ステップS21)。
【0121】
ユーザからの編集要求が終了するまで、ステップS23〜ステップS24の処理を繰り返す。
【0122】
閲覧・編集実行部14は、解析部13から得られる情報を利用しながら、ユーザにより行われた編集内容が、当該XML文書の文書構造を崩すものであるかどうか調べ(当該XML文書の文書構造対応のDTDにあっているか否かを調べ)、文書構造を崩すものである場合には、そのような編集を拒否し、そうでない場合には、ステップS24へ進み、当該編集内容を受け付ける。
【0123】
ステップS24では、閲覧・編集実行部14は、ユーザからの編集要求にしたがったXML文書更新を行い、ステップS22へ戻り、上記ステップS23〜ステップS24の処理を編集要求が終了するまで繰り返す。
【0124】
ユーザからの編集要求が終了したら、編集した結果であるXML文書を閲覧・編集実行部14から構造化文書変換装置5へ送信する(ステップS25)。
【0125】
図4は、構造化文書変換装置5の主に逆変換実行部7の処理動作を説明するためのフローチャートである。
【0126】
構造化文書閲覧・編集装置12から構造化文書変換装置5へ、編集のなされたXML文書が送信されると、逆変換実行部7でそれを受信する(ステップS32)。解析部9が当該XML文書を解析し、逆変換実行部7は、当該XML文書に対し前処理を行う(ステップS33)。前処理とは、解析部9による当該XML文書の解析結果を参照し(当該XML文書の文書構造を定義したDTDをチェックしながら)、当該XML文書の記述形式を、変換記録を用いた逆変換に適した形式に変換する処理である。
【0127】
変換記録管理部11で管理されている変換記録のうち、当該XML文書に適用されていない変換記録がまだ存在する場合は、その変換記録を例えば、最後から1つずつ取り出し、取り出した変換記録を順番に適用して、当該XML文書の文書構造を逆変換する。この手続きをすべての変換記録に関して行う(ステップS34、ステップS38〜ステップS45)。
【0128】
すなわち、ステップS38において、変換記録管理部11から取り出した変換記録に記録されている変換の種類が、パス名の変更に関するものである場合は、ステップS39へ進み、そうでない場合にはステップS40へ進む。
【0129】
ステップS39において、変換記録管理部11から取り出した変換記録に記録されている変換の種類が、パスの削除に関するものである場合は、ステップS41へ進み、そうでない場合にはステップS42へ進む。
【0130】
ステップS42において、変換記録管理部11から取り出した変換記録に記録されている変換の種類が、パスの移動に関するものである場合は、ステップS43へ進み、そうでない場合に、上記パス名の変更、パスの削除、パスの移動以外の変換(例えば、先述したような、パスの新規作成、パスの併合、パスの分割など)でがあるときには、さらに、ステップS44へ進む。
【0131】
ステップS44において、変換記録管理部11から取り出した変換記録に記録されている変換の種類が、上記パス名の変更、パスの削除、パスの移動以外の変換規則(例えば、先述したような、パスの新規作成、パスの併合、パスの分割など)である場合には、ステップS45へ進み、そうでない場合、例えば、予め用意された変換の種類に該当しないような場合には、異常終了する。
【0132】
ステップS39では、逆変換実行部7が、XML文書のパス名を変換記録にしたがって変更する。
【0133】
ステップS41では、逆変換実行部7が、変換記録に従って、削除されたパスと、当該削除されたパスにて指定される領域内にある子孫要素もすべて削除する前の状態に戻す。
【0134】
ステップS43では、逆変換実行部7が、変換記録に従って、移動したパスを元の位置に移動する。
【0135】
ステップS45では、上記パス名の変更、パスの削除、パスの移動以外の変換の種類対応の逆変換、すなわち、例えば、前述したような、パスの新規作成、パスの併合、パスの分割などがあるときには、それぞれの種類対応の逆変換を行う。
【0136】
ステップS34において、当該XML文書に対し全ての変換記録を適用したなら、次に、ステップS35へ進み、逆変換が終了したXML文書に対し後処理を施す(ステップS36)。後処理とは、解析部9による当該XML文書の解析結果を参照し(当該XML文書の文書構造を定義したDTDをチェックしながら)、逆変換後のXML文書を構造化文書配信装置1の格納部2に格納する目的に適した記述形式に変換することである。その後、構造化文書配信装置1に送信する(ステップS37)。
【0137】
構造化文書変換装置5から構造化文書配信装置1に送信されたXML文書は、書き込み部4で受信し、格納部2へ格納される。
【0138】
次に、構造化文書変換装置5における、XML文書の文書構造の変換処理、逆変換処理について、具体的に説明する。
【0139】
構造化文書配装置1に格納されているXML文書を構造化文書閲覧・編集装置12で閲覧・編集する目的に達したXML文書に変換する際には、変換に先立ち、複数の子要素を保持する要素を子要素の数と同じ要素に分割する前処理を行っている。これは、複数の子要素を保持する要素を含むパスのパス名の変更を伴う変換を行った際に、変換に曖昧さを残さないために行なわれる。
【0140】
例えば、下記のXML文書(Doc1)を例に取る。
【0141】
上記XML文書に下記変換規則を適用する場合を考察する。
【0142】
変換規則:パス「名前/姓/$1」をパス「姓/$1」に変換する。
【0143】
この変換規則を上記XML文書に適用すると、「名前」要素が複数の子要素すなわち、「姓」要素、「名」要素を保持するが、パス「名前/姓/A1」に変換規則を適用した結果得られるパス「姓/$1」は、「名前」要素を含んでいないために、変換実行後の「名」要素に関して曖昧さが残る。
【0144】
変換実施後の「名」要素に関して、例えば下記の二例が考えられる。
【0145】
上記は、パス「名前/姓/A1」に変換規則を適用した結果得られるパス「姓/$1」が「名前」要素を含んでいないために、「名」要素は親要素を失って、XML文書から削除されるべきであるという立場に立った場合に得られるXML文書である。
【0146】
上記は、「パス「名前/姓/$1」をパス「姓/$1」に変換する」という変換規則を、「「名前」要素の子要素から「姓」要素を削除して、「「個人情報」要素の子要素として同一の要素値「A2」を保持する「「姓」要素を追加する」という変換規則であると解釈する立場に立った場合に得られるXML文書である。
【0147】
上記曖昧さを取り除くためには、構造化文書変換装置5に対して付加的な規則を与えなければならず、システム管理や、変換の処理が複雑になる。
【0148】
しかしながら、上記のXML文書に複数の子要素を保持する要素をその子要素の数の要素に分割する前処理を施した結果得られる以下のXML文書(Doc2)に対して行なうと、パス名の変更を伴う変換は、上記の曖昧さを残さない。
【0149】
上記の通り、前処理は変換に曖昧さを残さない目的で行なわれるもので、文書構造自体が変更されるものではなく、順方向変換、逆変換といった文書構造の変換の際に処理し易いように文書構造の記述形式を変更するだけの処理であり、本願発明の要旨ではない。よって、以下の本願発明の実施形態の説明中では、前処理、後処理については、簡単な説明のみとする。
【0150】
なお、構造化文書閲覧・編集装置12で閲覧・編集しているXML文書を構造化文書配信装置1に格納する目的に適したXML文書に変換する際に行う後処理は、上記前処理とは逆の処理であって、XML文書(Doc2)をXML文書(Doc1)に示した形式に変換することである。
【0151】
さて、構造化文書配信装置1の格納部2から読み出され、構造化文書変換装置5へ、図7に示すような「住所録」情報のXML文書が送信されてきたとする。
【0152】
図7に示したXML文書は、「住所録」という要素の子要素に複数の「メンバ」要素があり、さらに、各「メンバ」要素は、「名前」、「自宅」、「会社」という子要素から構成され、さらに、「名前」という要素は、「姓」「名」という子要素から構成され、「会社」という要素は「電話番号」「住所」という子要素から構成され、「自宅」という要素は「電話番号」「住所」という子要素から構成され、「住所」という要素は「郵便番号」「都道府県」「市町村」「丁目番地号」という子要素から構成された文書構造を持つ。図7に示す「住所録」情報には、現在のところ、2人分のメンバ情報がある。
【0153】
図10は、図7の「住所録」情報の文書構造(木構造)を模式的に示したもので、ここでは、主に、1人分のメンバ情報の文書構造を構成する構成要素にて示している。各要素名の( )内の記述は、要素識別子である。
【0154】
構造化文書変換装置5で受信したXML文書は、変換規則を用いて変換を行うのに先立ち、変換規則を用いた変換に適した記述形式に書き換える前処理を行う。ただし、前処理を行う際、元のXML文書が保持する意味のまとまりを崩さない様にする必要がある。前処理を行った結果のXML文書を図8に示す。
【0155】
図7に示すXML文書は、複数の「メンバ」情報からなるので、前処理として、ここでは、各「メンバ」情報を構成する文書構造を、例えば、親子関係にある構成要素間の関係が明確になるようにタグを重複させた記述形式に書き換えている。が、文書構造自体は、図7、すなわち、図10と同様である。
【0156】
こうして得られた前処理済のXML文書に対して、変換規則を適用し、文書構造の変換されたXML文書を得る。変換規則として、例えば図5に示すように、7つの変換規則があるとする。ただし、ここで「$+数字」は変数を表すものとする。XML文書に、図5の変換規則を適用した結果得られる変換記録を図6に示す。また、変換された結果得られるXML文書を、図9に示す。図11は、図9のXML文書の文書構造を模式的に示したものである。
【0157】
この場合の、順方向変換について、図10、図11を参照して簡単に説明する。すなわち、図5の変換規則R1〜R5をこの順番に適用することにより、図11に示すように、「メンバ」要素の子要素として、「姓」「名」「会社電話番号」「住所」「自宅電話番号」がこの順に並べられて、さらに、変換規則R6を適用して、「自宅電話番号」要素からなる部分文書を「会社電話番号」要素からなる部分文書の直後に移動させて、最後に、変換規則R7を適用して、パス名「自宅/住所」にて指定される部分文書を削除することにより、図11に示すような文書構造に変換される。
【0158】
文書構造の変換されたXML文書は、構造化文書閲覧・編集装置12で閲覧・編集する目的に適した記述形式に書き換える後処理が施され、その結果、図12に示すようなXML文書が得られる。
【0159】
後処理の施されたXML文書は構造化文書閲覧・編集装置12上でユーザによって閲覧・編集され、編集された結果新たなXML文書が得られる。ここでは、要素識別子が「member1」である「メンバ」要素の子要素である「住所」要素の持つ値を変更する編集と、新たに「メンバ」情報(「姓」「名」「会社電話番号」「自宅電話番号」「住所」要素から構成される情報)を2人分追加する編集を考える。編集を行った結果得られたXML文書を図13に示す。
【0160】
構造化文書閲覧・編集装置12で編集されたXML文書は構造化文書変換装置5へ送信される。構造化文書変換装置5は、XML文書を受信後、変換記録を用いて逆変換を行うのに先立ち、変換記録を用いた変換に適した記述形式へ書き換える前処理が施される。この前処理は、前述した順方向変換の際の前処理と同様である。
【0161】
XML文書の前処理が終了したら、変換記録管理部11で管理されている変換記録を後から順番に1つずつ調べ、変換記録に記録されている変換に対応する逆変換を行う。以下、図6に示した変換記録を1つずつ適用して逆変換を行い、XML文書が変更される様子を図14〜図16を参照して説明する。なお、図14〜図16では、要素識別子「member1」の情報と、編集により追加された「メンバ」情報1人分に対する操作のみを示しているが、実際には、要素識別子「member1」の情報と同様、要素識別子「member2」の情報に対しても操作を行っているし、もう一つの「メンバ」情報に対しても同様である。
【0162】
(1)変換記録M7に対応する逆変換を行う。具体的には要素識別子「member1−13」、「member2−13」を持つ要素をそれぞれ最終要素として保持するパスにて指定される部分文書を挿入する(図14参照)。この挿入する部分文書は「郵便番号」「都道府県」「市町村」「丁目番地号」要素から構成される「住所」要素を持つ「自宅」要素からなる部分文書である。
【0163】
(2)変換規則M6に対応する逆変換を行う。この際、要素識別子「member1−12」、「member2−12」をもつ要素をそれぞれ最終要素として保持する部分文書に加えて、編集により追加された2人分の「メンバ」情報についても逆変換が行われる。すなわち、図14に示すように、各「メンバ」情報中の「メンバ」要素の子要素の「自宅電話番号」要素からなる部分文書を、同じく「メンバ」要素の子要素である「住所」要素からなる部分文書の次の位置に移動する。
【0164】
(3)変換記録M5に対応する逆変換を行う。この際、要素識別子「member1−12」、「member2−12」をもつ要素を最終要素として保持する部分文書に加えて、編集により追加された2人分の「メンバ」情報についても逆変換が行われる。すなわち、図15に示すように、各「メンバ」情報中の「メンバ」要素の子要素の「自宅電話番号」要素からなる部分文書を、「自宅」要素とその子要素としての「電話番号」要素からなる部分文書に変更する。
【0165】
(4)変換記録M4に対応する逆変換を行う。この際、要素識別子「member1−6」、「member2−6」をもつ要素を最終要素として保持する部分文書に加えて、編集により追加された2人分の「メンバ」情報についても逆変換が行われる。すなわち、図15に示すように、各「メンバ」情報中の「メンバ」要素の子要素の「住所」要素からなる部分文書を、「会社」要素とその子要素としての「住所」要素からなる部分文書に変更する。
【0166】
(5)変換記録M3に対応する逆変換を行う。この際、要素識別子「member1−5」、「member2−5」をもつ要素を最終要素として保持する部分文書に加えて、編集により追加された2人分の「メンバ」情報についても逆変換が行われる。すなわち、図16に示すように、各「メンバ」情報中の「メンバ」要素の子要素の「会社電話番号」からなる部分文書を、「会社」要素とその子要素としての「電話番号」要素からなる部分文書に変更する。
【0167】
(6)変換記録M2に対応する逆変換を行う。この際、要素識別子「member1−3」「member2−3」をもつ要素を最終要素として保持する部分文書に加えて、編集により追加された2人分の「メンバ」情報についても逆変換が行われる。すなわち、図16に示すように、各「メンバ」情報中の「メンバ」要素の子要素の「名」要素からなる部分文書を、「名前」要素とその子要素としての「名」要素からなる部分文書に変更する。
【0168】
(7)変換記録M1に対応する逆変換を行う。この際、要素識別子「member1−2」、「member2−2」をもつ要素を最終要素として保持する部分文書に加えて、編集により追加された2人分の「メンバ」情報についても逆変換が行われる。すなわち、図16に示すように、各「メンバ」情報中の「メンバ」要素の子要素の「姓」要素からなる部分文書を、「名前」要素とその子要素としての「姓」要素からなる部分文書に変更する。
【0169】
変換記録を利用したXML文書の文書構造の逆変換が終了したので、次に、XML文書を構造化文書配信装置1に格納する形式に適した記述形式に書き直す後処理を施す。この後処理は、たとえば、重複するタグをまとめるといったような処理を行う。
【0170】
後処理の施されたXML文書が構造化文書配信装置1に送信され、構造化文書閲覧・編集装置12で行った編集内容を構造化文書配信装置1に格納してあるXML文書に反映させる。その際、本実施形態では、XML文書全体を構造化文書変換装置5から構造化文書配信装置1に送信するのではなく、編集のために読み出した際のXML文書との差分のみを図17に示すような形式の差分情報として送信する。
【0171】
図17に示した差分情報では、編集により書き換えられた要素識別子「member1」の「メンバ」要素の子要素の「会社」要素の子要素の「住所」要素からなる部分文書と、追加された2人分の「メンバ」情報に対応する部分文書とから構成されている。このように、差分文書には、1つの文書中の書き換えられた部分文書、追加された部分文書が含まれている。
【0172】
図17に示した差分情報を受信した構造化文書配信装置1は、受信内容を構造化文書配信装置1に格納されているXML文書に反映させる。その際、差分情報のうちユーザの編集によって新規作成された要素には識別子が付与されていない。そこで、識別子が付与されていない要素に対しては、構造化文書配信装置1でそのXML文書内でユニークな識別子を付与した上で、XML文書に反映させる。
【0173】
(第2の実施形態)
上記第1の実施形態では、主に、本発明の主要な部分を説明するために、1つの構造化文書閲覧・編集装置12により、1つの構造化文書を閲覧・編集する場合を示したが、本発明の構造化文書管理システムは、一般的には、複数の構造化文書閲覧・編集装置12が、それぞれ異なる構造化文書を閲覧・編集するような利用形態で用いられるものである。そこで、第2の実施形態では、前述した第1の実施形態の説明を補足する意味で、より一般的な利用形態で用いられる構造化文書管理システムについて説明する。
【0174】
ます、第2の実施形態として、以下の3点を新たに追加して説明を行う。
【0175】
(1)変換規則管理部10は、文書構造と構造化文書閲覧・編集装置12(の種別)対応、すなわち、構造化文書の利用形態対応に1または複数の変換規則からなる変換規則の集合を記憶・管理する。ある1つの構造化文書の利用形態は、クライアントが携帯電話か、PDAかなどの端末機器の種別により異なる。一般に、すべての端末機器で利用するデータがすべて同一のデータ形式にしたがっていることは稀である上に、すべての端末で利用するデータがすべて同一であることも稀である。さらに、携帯電話では住所録の情報のうち名前と電話番号のみを利用するのに対して、PDAでは名前と電話番号に加えて、住所や電子メールアドレスを利用するといった違いもある。そこで、本実施形態のシステム構成において、ある構造化文書の文書構造をどの様な(利用形態の)文書構造に変換するかを記述した当該構造化文書の変換規則を、当該構造化文書を実際に利用する(閲覧・編集など)構造化文書閲覧・編集装置12の種別に対応させて記憶・管理する場合について説明する。
【0176】
(2)完全に同じ1つのパス(部分的な文書構造)を生成する可能性がある複数の変換規則をまとめた変換規則グループを定義し、変換規則管理部10は、変換規則の集合に、この変換規則グループが存在する場合には、変換規則の集合と、変換規則グループとを対応付けて記憶・管理する。なお、各変換規則グループには、逆変換の際に優先的に用いる変換規則はどれであるかが予め設定されている。
【0177】
(3)XML文書の構成要素のもつ属性として、要素識別子とポインタ属性を付与する。
【0178】
図18は、本発明の第2の実施形態に係る構造化文書管理システムの構成例を示したものである。なお、図18において、図1と同一部分には同一符号を付し、異なる部分についてのみ説明する。すなわち、構造化文書配信装置1の格納部2には、文書構造の異なる複数の構造化文書が格納されていて、複数の構造化文書閲覧・編集装置12が、この格納部2に格納されている構造化文書へアクセス可能なようになっている。
【0179】
図19は、格納部2の構造化文書の格納例を模式的に示したもので、複数の構造化文書のデータファイルが、そのそれぞれが持つ文書構造にて分類されて格納部2に格納されている。例えば、図19に示すように、異なる文書構造のそれぞれの識別情報(例えば、「住所録」、「スケジュール」など)と、それに対応する構造化文書のデータファイル(例えば、「住所録A」「住所録B」、「スケジュールA」、「スケジュールB」などのファイル名を持つデータファイル)とが対応付けて記憶されている。
【0180】
また、ある1つの構造化文書の文書構造を変換するために用いられる1または複数の変換規則を変換規則の集合と呼ぶ。例えば、図5に示した7つの変換規則を1つの変換規則の集合と呼ぶ。
【0181】
構造化文書変換装置5で構造化文書の文書構造を変換する際、一般的に、変換対象となる構造化文書が、構造化文書配信装置1に格納されている複数のXML文書のうちどれであるか(どの文書構造をもつ構造化文書であるか)、また、構造化文書を閲覧・編集する構造化文書閲覧・編集装置12は、例えば、携帯電話、PDA、パーソナルコンピュータなどのうちのどの種別に対応するかによって、適用する変換規則の集合は異なる。そこで、変換規則管理部10は、例えば、図20に示すように、文書構造と、構造化文書を閲覧・編集する構造化文書閲覧・編集装置12とに対応付けて、それらに対応する変換規則の集合を予め記憶・管理するようになっている。
【0182】
例えば、図20では、各変換規則の集合(図20では、簡単のため、変換規則の集合を、R(文書構造の識別情報、構造化文書閲覧・編集装置の種別の識別情報)と記述している)を、文書構造の識別情報と、構造化文書閲覧・編集装置12の(例えば種別)の識別情報とに対応付けて記憶するようになっている。
【0183】
変換規則管理部10は、例えば、図20に示すようなテーブルを記憶・管理し、構造化文書の文書構造の変換を行う際には、変換対象のXML文書の文書構造は何であるか、変換後のXML文書を閲覧・編集する構造化文書閲覧・編集装置12の種別が何であるかに応じて、適切な変換規則の集合を選択するようになっている。
【0184】
また、構造化文書閲覧・編集装置12から構造化文書配信装置1に対し文書の読み出し要求を行う場合には、例えば、読み出したい構造化文書のファイル名の他に、その文書の文書構造の識別情報と要求元の構造化文書閲覧・編集装置12の種別を表す識別情報とが含まれていることが望ましい。
【0185】
次に、変換規則グループについて説明する。
【0186】
例えば、「住所録」という識別情報を持つ文書構造のXML文書を「TE1」という識別情報をもつ構造化文書閲覧・編集装置12にて閲覧・編集するために、当該XML文書の文書構造を変換するめに用いる変換規則の集合が図20から、R(住所録、TE1)であったとする。この変換規則の集合のうち、XML文書中のパス名を別のパス名に変更する2つの変換規則が、完全に同じパス名を生成する場合がある。
【0187】
例えば、その2つの変換規則が、以下に示す2つであったとする。
【0188】
変換規則R201:パス「会社/住所/$1」を「住所/$1」に変更する。
【0189】
変換規則R202:パス「自宅/住所/$1」を「住所/$1」に変更す。
【0190】
また、以下に示すXML文書が構造化文書配信装置1に格納されているとする。
【0191】
上記XML文書に上記変換規則R201、R202を適用した結果得られるXML文書は下記の通りである。
【0192】
上記の例からも分かる通り、2つの変換規則が完全に同じパスを生成する場合が存在する。
【0193】
逆に、構造化文書閲覧・編集装置12で下記のXML文書を新規作成した場合を考える。
【0194】
上記XML文書を上記変換規則R201、R202(より厳密には、上記変換規則を適用して文書構造を変換した際に用いた変換記録)を用いて、逆変換を行おうとすると、パス「住所/A2」は、変換規則R201に対応する逆変換を行うことも、変換規則R202に対応する逆変換を行うことも可能であるので、2種類存在する変換規則のうちどちらを適用するかを決定しないと逆変換を行うことができない。そこで、完全に同じ1つのパスを生成する可能性がある複数の変換規則をまとめた変換規則グループを定義し、同一の変換規則グループに属する変換規則のうち、逆変換を行う際に優先的に利用されるものを定める。
【0195】
例えば、上記2種類の変換規則を1つの変換規則グループにまとめて、その識別情報を、例えば「変換規則グループG1」とし、上記2つの変換規則のうち、変換規則R201を逆変換の際に優先的に用いると予め定めるものとする。また、この「変換規則グループG1」は、変換規則の集合R(住所録、TE1)に存在するものとする。この場合、変換規則管理部10は、例えば、図21に示すようなテーブルを予め記憶する。
【0196】
図21に示すように、ある変換規則の集合に、完全に同じ1つのパスを生成する可能性がある複数の変換規則が存在する場合は、それらを変換規則グループとしてまとめ、逆変換の際に、この変換規則グループ中のどの変換規則を優先的に用いるかという優先度を予め設定して管理することにより、XML文書を逆変換する際に適用可能な変換規則が複数存在する場合であっても、どの変換規則を適用するか自動的に決定することが可能である。上記のXML文書を逆変換した結果は下記の通りである。
【0197】
次に、XML文書の要素のもつ属性について説明する。すなわち、要素属性には、識別子属性と、ポインタ属性とがある。
【0198】
識別子属性は、第1の実施形態ですでに説明を行っているので、ここではポインタ属性について説明を行う。ポインタ属性は複数の要素の中から特定の要素を指し示す目的で用いられる。
【0199】
例えば、要素にポインタ属性を与える場合、その要素の開始タグに属性情報として「表示=“true”」あるいは「表示=“false”」を書き込みこととする。構造化文書変換装置5において、部分文書要素を削除するような文書構造の変換を行う必要のある構造化文書閲覧・編集装置12において、ポインタ属性値が「true(T)」である要素からなる部分文書は残し、「false(F)」である要素からなる部分文書を削除するといった制御の目的で用いられる。
【0200】
次に、このポインタ属性の用途について説明する。
【0201】
構造化文書配信装置1から送信されてきたXML文書を構造化文書変換装置5において、変換規則を用いて文書構造を変換すると、変換によって得られたXML文書は、変換時に削除された部分文書を含んでいない。したがって、構造化文書配信装置1から送信されたXML文書に含まれる情報は、文書構造の変換後のXML文書にも含まれる情報と、変換後のXML文書には含まれない情報とに分類できる。
【0202】
変換後のXML文書を構造化文書閲覧・編集装置12において編集して新たなXML文書を得た際、実際に編集されるのは、構造化文書配信装置1から送信されたXML文書に含まれる情報のうち、変換後のXML文書にも含まれる情報のみであるが、編集を行ったユーザの意図は、構造化文書配信装置1から送信されたXML文書に含まれる情報のうち、変換後のXML文書にも含まれる情報の変更である場合と、構造化文書配信装置1から送信されてきたXML文書に含まれる情報のうち現在は変換後のXML文書には含まれない情報を、次回から構造化文書配信装置1から送信されたXML文書を構造化文書変換装置で変換する際には、変換後の構造化文書にも含まれる情報にする変更である場合の2種類が存在する。
【0203】
以下、図22を参照しながら説明する。
【0204】
例えば、以下に示す個人情報を表したXML文書を考える。
【0205】
このXML文書は、図22(a)に示すように、「名前」「電子メール」「電話番号」要素を子要素として持つ文書構造であり、「電子メール」要素にはポインタ属性値「true」(以下、簡単に「T」と表す)が与えられ、「電話番号」要素にはポインタ属性値「false」(以下、簡単に「F」と表す)が与えられているので、「電子メール」要素からなる部分文書と「電話番号」要素からなる部分文書のうち、後者を削除することが予め設定されている。
【0206】
このXML文書に対し以下に示す変換規則を用いて変換したとする。
【0207】
変換規則R301:パス「電子メール(表示=“true”)/$1」をパス「電子メール/$1」に変更する。
【0208】
変換規則R302:パス「電子メール(表示=“false”)/$1」を削除する。
【0209】
変換規則R303:パス「電話番号(表示=“true”)/$1」をパス「電話番号/$1」に変更する。
【0210】
変換規則R304:パス「電話番号(表示=“false”)/$1」を削除する。
【0211】
ただし、ここで、変換規則の記述において、要素に付与される属性情報を( )内で記述した。すると、上記ポインタ属性値から、「電話番号」要素からなる部分文書が削除され、図22(b)に示すような文書構造のXML文書が得られる。このときのXML文書は、以下の通りである。
【0212】
また、上記変換規則R301〜R304を用いて、XML文書の文書構造の変換を行った際に得られる変換記録は下記の通りである。
【0213】
変換記録M301:変換規則R301を要素識別子「pi3」の要素を最終要素に持つパスに適用した。
【0214】
変換記録M302:変換規則R302を適用しなかった。
【0215】
変換記録M303:変換規則R303を適用しなかった。
【0216】
変換記録M304:変換規則R304を要素識別子「pi4」の要素を最終要素に持つパスに適用した。
【0217】
引き続き変換後のXML文書を構造化文書閲覧・編集装置12上で、下記のような、「電子メール」要素からなる部分文書を「電話番号」要素からなる部分文書に書き換えるような編集を行ったとする(図22(c)参照)。
【0218】
上記XML文書に変換記録M301〜M304を後から順番に1つずつ適用し、逆変換を行う様子を以下に示す。
【0219】
(1)変換記録M304を参照し、変換規則M304適用時に削除した部分文書(<電話番号 id=”pi4” 連絡先=”false”>111-1111</電話番号>)を元に戻す。この結果、図22(d)に示すように、順方向変換時に削除した「電話番号」要素からなる部分文書が復元されて(このとき、要素識別子、ポインタ属性値もそのままの状態で復元される)、得られるXML文書は下記の通りである。
【0220】
(2)変換記録M303を参照する。ここで、順方向の変換時には変換規則R303は適用しなかったが、上記XML文書中には、変換規則R303対応の順方向変換を行うことによって生成されるはずの「電話番号」要素が存在する。しかし、「電話番号」要素には、変換規則R303で示しているようなポインタ属性値が与えられていない。そこで、ここでは、当該「電話番号」要素にポインタ属性(「表示する=“true”」)が追加設定される(図22(e)参照)。ここで、順方向の変換時には変換規則R303は適用しなかったが、逆変換時には変換規則R303を利用している。この結果得られるXML文書は下記の通りである。
【0221】
(3)変換記録M302を参照する。ここでは、変換規則R302は適用していないので、実際には何もしない。
【0222】
(4)変換記録M301を参照し、逆変換を行う。ただし。上記XML文書中に変換規則R301対応の順方向変換を行うことによって生成されるはずの「電子メール」要素が存在しないし、要素識別子「id3」を持つ要素も存在しないので、実際には何もしない。
【0223】
変換記録M301〜M304を全て用いてXML文書の逆変換を行った結果は下記の通りである(図22(e)参照)。
【0224】
上記XML文書には、「電話番号」要素という、ポインタ属性を有し、しかも同じ値を持つ同じ要素名の構成要素からなる2つの部分文書が存在する(<電話番号 表示=”true”>111-1111</電話番号>と、<電話番号 id=”pi4” 表示=”false”>111-1111</電話番号>)。
【0225】
このように、逆変換を実行した結果、1つのXML文書中に、ポインタ属性をもつとともに、同じ値を持つ同じ要素名の構成要素からなる複数の部分文書が存在する場合には、上記XML文書は構造化文書配信装置1に最終的に反映されるべきXML文書ではなく、構造化文書閲覧・編集装置12上で行った編集の意図は以下に示すXML文書を構造化文書配信装置1に最終的に反映することであるとみなす。
【0226】
すなわち、上記のような編集を行ったユーザからすれば、順方向変換時に削除せずに残してほしい部分文書は「電子メール」要素からなる部分文書から、「電話番号」要素からなる部分文書に変更したいので、ポインタ属性値を変更するような処理(これを微調整、あるいは微調整処理と呼ぶ)を行う必要性があると判断する。すなわち、この微調整処理を行うことによって、「電子メール」要素に属性情報「表示=”true”」を与え、「電話番号」要素に属性情報「表示=”true”」を与える。
【0227】
図23は、第2の実施形態に係る構造化文書変換装置5の主に逆変換実行部7の処理動作を説明するためのフローチャートである。なお、図23において、図4と異なる部分についてのみ説明する。すなわち、図4のステップS35が図23では、ステップS35aに置き換わっている。
【0228】
図23のステップS35aでは、逆変換実行部7では、逆変換を終了した時点で、逆変換を実行した結果、1つにXML文書中に、ポインタ属性をもつとともに、同じ値を持つ同じ要素名からなる部分文書が複数存在する場合には、上記のようなユーザの意図を察し、ポインタ属性値を変更する微調整を行うようになっている。
【0229】
次に、図24に示すフローチャートを参照して、上記微調整処理について説明する。
【0230】
逆変換後の構造化文書中に、順方向変換実行時に、パスの削除により削除された(逆変換により追加された)部分文書と同じ部分文書(文書構造と要素名と各要素の値が同じ部分文書)が存在するときは(ステップS51)、この逆変換により追加された部分文書中のポインタ属性値を変更する(ステップS52)。
【0231】
次に、編集された部分文書を編集前の状態に戻し、その中のポインタ属性値を変更する(ステップS53)。
【0232】
先に示したXML文書、すなわち、下記に示すXML文書を用いて、上記の微調整が行われる様子を説明する。
【0233】
上記XML文書に対し編集を行われた後、変換記録M301〜M304を用いて逆変換がなされ、下記に示したXML文書が得られることは前述のとおりである。
【0234】
さて、このXML文書において、順方向変換時に削除された(逆方向の変換時に追加された)部分文書、すなわち、パス「電話番号/111−1111」に合致するものを探索する。探索を行った結果、これと同じ部分文書が存在することが確認される。確認された部分文書は、
<電話番号 表示=”true”>111-1111</電話番号>
である。
【0235】
そこで、逆変換により追加(復元)された方の部分文書、すなわち、
<電話番号 id=”pi4” 表示=”false”>111-1111</電話番号>
のポインタ属性を「true」に変更する。
【0236】
さらに、構造化文書閲覧・編集部14で編集された部分文書、すなわち、
<電話番号 表示=”true”>111-1111</電話番号>
を編集が行われる前の元の状態、すなわち、
<電子メール id=”pi3” 表示=”true”>A2</電子メール>
に戻す。また、さらに、ポインタ属性の値を「false」に変更する。
【0237】
その結果、構造化文書配信装置1から読み出されたときに、「電子メール」要素と「電話番号」要素とに設定されていたポインタ属性値が書き換えられた以下に示すようなXML文書が得られる。
【0238】
このように、変換記録を用いた逆変換を行う際に、XML文書中の特定のパスに対して複数の構造化文書変換記録が適用可能である場合には、変換規則グループにて定義される優先順位に従った適用を行う点や、構造化文書閲覧・編集装置12上でポインタ属性に関連する要素が編集された場合には微調整が必要である点に注意を要する。
【0239】
次に、具体的なXML文書に即して、XML文書が構造化文書変換装置5で順方向変換される様子と逆変換される様子を説明する。
【0240】
格納部2から構造化文書変換装置5へ、図27に示すようなXML文書が送信されたとする。
【0241】
構造化文書変換装置5で受信したXML文書は、変換規則を用いて変換を行うのに先立ち、変換規則を用いた変換に適した形式に前処理の変換を行う。ただし、前処理を行う際、元のXML文書が保持する意味のまとまりを崩さない範囲で変換を行う必要がある。
【0242】
前処理済のXML文書に対して変換規則を適用し、構造化文書閲覧・編集装置12で利用する目的に適した形式のXML文書を得る。ここで用いる変換規則の集合を図25に示す。図25に示すように、変換規則R405とR406とは変換規則グループG5として定義されていて、逆変換の際には、変換規則R405を優先的に用いるように予め設定されている。なお、図25の変換規則の記述において、「$+数字」は変数を表すものとする。
【0243】
図27に示した「住所録」情報を表したXML文書は、図28に示すような2人分の「メンバ」情報から構成された文書構造を持つ。なお、図28において、各構成要素のもつ要素識別子、ポインタ属性値を( )内に示している。
【0244】
図27に示したXML文書に対し、図25に示した変換規則の集合を適用した結果得られる変換記録を図26に示す。
【0245】
図25に示した変換規則の集合を用いた順方向変換について簡単に説明する。図25の変換規則R401〜R404をこの順番に適用することにより、各「メンバ」情報中のパス名「会社/住所」にて指定される部分文書と、パス名「自宅/住所」にて指定される部分文書とのうちポインタ属性値が「true」と設定されている方を残して、他方は削除する。また、ポインタ属性は削除する。そして、変換規則R405を適用して、「電子メール」要素からなる部分文書を「連絡先」要素からなる部分文書に変更し、次に、変換規則R406を適用して、「携帯電話番号」要素からなる部分文書を「連絡先」要素からなる部分文書に変更する。その結果、図30に示すような文書構造のXML文書に変換される。
【0246】
変換規則を用いて文書構造の変換された図30に示したXML文書は、構造化文書閲覧・編集装置12で閲覧・編集する目的に適した形式に後処理の変換が施される。
【0247】
後処理の施されたXML文書は構造化文書閲覧・編集装置12上でユーザによって閲覧・編集され、編集された結果新たなXML文書が得られる。ここでは、図31に示すように、要素識別子が「member1」である要素からなる部分文書中の「住所」要素の値「A2」を「A3」に変更する編集と、新たにメンバを2人追加する編集がなされたとする。
【0248】
構造化文書閲覧・編集装置12で編集されたXML文書は構造化文書変換装置5へ送信される。構造化文書変換装置5は、XML文書を受信後、変換記録を用いて逆変換を行うのに先立ち、変換記録を用いた変換に適した形式に前処理の変換を行う。
【0249】
XML文書の前処理が終了したら、変換記録管理部11で管理されている図26に示したような変換記録を後から順番に1つずつ調べ、変換記録に記録されている変換に対応する逆変換を行う。以下、変換記録を1つずつ適用した際に、XML文書が変更される様子を図32〜図34を参照して説明する。
【0250】
(1)変換記録M405に対応する逆変換を行う。変換記録M405には、変換規則R405の適用に関する記録と、変換規則M406の適用に関する記録の両方が含まれており、これら2つの変換規則のうち、変換規則M405を優先的に用いることが定められている(図25参照)。そこで、要素識別子「member1−6」をもつ要素に対して変換規則M405の逆変換を行い、次に、要素識別子「member2−6」に対して変換規則M406の逆変換を行う(図32参照)。
【0251】
次に、「名前」要素に値「C1」を持つ「メンバ」情報中の「連絡先」要素からなる部分文書と、「名前」要素に値「D1」を持つ「メンバ」情報中の「連絡先」要素からなる部分文書に対し、逆変換を行う。逆変換を行う場合、これら部分文書は、変換規則R405に対応する逆方向の変換、変換規則R406に対応する逆方向の変換の両方に合致するが、これら2通りの変換規則のうち、優先的に用いることが予め指定されている変換規則R405の逆変換を行う。その結果、双方の「メンバ」情報中の「連絡先」要素からなる部分文書は「電子メール」要素からなる部分文書に変更される(図32参照)。
【0252】
(2)変換記録M404に対応する逆変換を行う。すなわち、図33に示すように、要素識別子「member1−4」からなる部分文書を復元する。
【0253】
(3)変換記録M403に対応する逆変換を行う。この場合、図33に示すように、要素識別子「member2−5」を最終要素として持つ部分文書に加えて、「名前」要素に値「D1」を持つ「メンバ」情報も逆変換の対象になる。その結果、要素識別子「member2−4」を持つ「自宅」要素にポインタ属性「true」が設定され、さらに、編集により新たに追加された「メンバ」情報中の「自宅」要素にもポインタ属性「true」が設定される。
【0254】
(4)変換記録M402に対応する逆変換を行う。すなわち、図34に示すように、要素識別子「member2−2」からなる部分文書を復元する。
【0255】
(5)変換記録M401に対応する逆変換を行う。この場合、図34に示すように、要素識別子「member1−3」を最終要素として持つ部分文書に加えて、「名前」要素に値「C1」を持つ「メンバ」情報も逆変換の対象になる。その結果、要素識別子「member1−2」を持つ「会社」要素にポインタ属性「true」が設定され、さらに、編集により新たに追加された「メンバ」情報中の「会社」要素にもポインタ属性「true」が設定される。
【0256】
以上で、変換記録を利用したXML文書の逆変換が終了した。
【0257】
図34からもわかるように、このXML文書には、ポインタ属性をもつとともに、同じ値をもつ同じ要素名からなる部分文書が2つ存在する。すなわち、図35に示すように、要素識別子「member1」をもつ構成要素からなる「メンバ」情報中にある「会社」要素からなる部分文書中の「住所」要素からなる部分文書と、「自宅」要素からなる部分文書中の「住所」要素からなる部分文書である。
【0258】
そこで、最後に、XML文書の微調整を行う。図24に従って説明を行う。まず、逆変換により追加(復元)された部分文書、すなわち図35に示すように、「自宅」要素からなる部分文書中のポインタ属性値を「true」に変更し(ステップS52)、次に、構造化文書閲覧・編集部14で編集された部分文書、すなわち、「会社」要素から部分文書を編集が行われる前の元の状態、すなわち「住所」要素の値を「A3」から「A2」に戻す。さらに、ポインタ属性の値を「false」に変更する(ステップS53)。
【0259】
このように、微調整の施されたXML文書は、次に、構造化文書配信装置1に格納する形式に適した形式に後処理の変換を行う。
【0260】
この段階において、ユーザの編集によって新規作成された要素には識別子が付与されていない。識別子が付与されていない要素に対して、書き込み部4が、一意な識別子を付与する。図36に示したXML文書はすべての要素に識別子が付与されたXML文書である。このXML文書が最終的に構造化文書配信装置に格納されるべきものである。
【0261】
以上説明しように、上記第1〜第2の実施形態によれば、異なる文書構造の複数の構造化文書のうち所望の構造化文書を、文書構造毎に予め定められた構造化文書の利用形態対応の変換規則に従って、利用形態対応の文書構造に変換し、その際、当該構造化文書中の変換規則を適用した部分文書とその部分文書に適用した変換規則とを変換記録として記録しておく。そして、当該利用形態対応の文書構造に変換された構造化文書に対し編集を行った結果得られた構造化文書を変換記録と変換規則とに基づき、元の文書構造に変換することにより、1つの文書構造の構造化文書を、その構造化文書の利用形態対応の複数の異なる文書構造に変換したり、利用形態対応の異なる文書構造を元の同じ1つの文書構造へ変換したりすることが容易に行える。
【0262】
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。すなわち、構図化文書配信装置1の格納部2を除く全ての構成部、構造化文書変換装置5の全ての構成部、構造化文書閲覧、編集装置12の全ての構成部は、コンピュータに実行させることのできるプログラムとして実現可能である。
【0263】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題(の少なくとも1つ)が解決でき、発明の効果の欄で述べられている効果(のなくとも1つ)が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0264】
【発明の効果】
以上説明したように、本発明によれば、1つの文書構造の構造化文書を、その構造化文書の利用形態対応の複数の異なる文書構造に変換したり、利用形態対応の異なる文書構造を元の同じ1つの文書構造へ変換したりすることが容易に行える。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る構造化文書管理システムの構成例を示した図。
【図2】構造化文書変換装置の主に変換実行部の処理動作について説明するためのフローチャート。
【図3】構造化文書閲覧・編集装置の処理動作を説明するためのフローチャート。
【図4】構造化文書変換装置の主に逆変換実行部の処理動作を説明するためのフローチャート。
【図5】変換規則の集合の一例を示した図。
【図6】変換記録の一例を示した図。
【図7】 XML文書の具体例を示した図。
【図8】図7のXML文書に対し、変換規則を用いた変換に適した記述形式に書き換える前処理を施した結果を示した図。
【図9】変換規則を適用して文書構造の変換された結果を示した図。
【図10】図7のXML文書の文書構造を示した図。
【図11】図9のXML文書の文書構造を示した図。
【図12】文書構造の変換されたXML文書に対し、構造化文書閲覧・編集装置で閲覧・編集する目的に適した記述形式に書き換える後処理を施さした結果のXML文書を示した図。
【図13】要素識別子が「member1」である要素の子要素である「住所」要素の持つ値を変更する編集と、新たにメンバを2人追加する編集を行った結果得られたXML文書を示した図。
【図14】図6に示した変換記録を1つずつ適用して逆変換を行い、XML文書が変更される様子を説明するための図。
【図15】図6に示した変換記録を1つずつ適用して逆変換を行い、XML文書が変更される様子を説明するための図。
【図16】図6に示した変換記録を1つずつ適用して逆変換を行い、XML文書が変更される様子を説明するための図。
【図17】構造化文書変換装置から構造化文書配信装置に送信される差分文書の一例を示した図。
【図18】本発明の第2の実施形態に係る構造化文書管理システムの構成例を示した図。
【図19】格納部2の構造化文書の格納例を模式的に示した図。
【図20】変換規則の集合の記憶例を示した図。
【図21】変換規則グループの記憶例を示した図。
【図22】ポインタ属性の用途を説明するための図。
【図23】構造化文書変換装置の主に逆変換実行部の処理動作を説明するためのフローチャート。
【図24】微調整処理について説明するためのフローチャート。
【図25】変換規則の集合の記憶例を示した図。
【図26】変換記録の記憶例を示した図。
【図27】格納部に格納されているXML文書の具体例を示した図。
【図28】図27のXML文書の文書構造を示した図。
【図29】図27に示したXML文書に対し、図25に示した変換規則の集合を適用して文書構造を変換した結果得られたXML文書を示した図。
【図30】図29のXML文書の文書構造を示した図。
【図31】図29のXML文書の編集内容を説明するための図。
【図32】変換記録を1つずつ適用した際に、XML文書が変更される様子を説明するための図。
【図33】変換記録を1つずつ適用した際に、XML文書が変更される様子を説明するための図。
【図34】変換記録を1つずつ適用した際に、XML文書が変更される様子を説明するための図。
【図35】微調整処理について説明するための図。
【図36】最終的に構造化文書配信装置に格納される、すべての要素に識別子が付与されたXML文書の例を示した図。
【符号の説明】
1…構造化文書配信装置
2…格納部
3…読み出し部
4…書き込み部
5…構造化文書変換装置
6…変換実行部
7…逆変換実行部
8…一時格納部
9…解析部
10…変換規則管理部
11…変換規則管理部
12…構造化文書閲覧・編集装置
13…解析部
14…閲覧・編集実行部
Claims (16)
- 複数の要素で構成された文書構造をもつ第1の構造化文書を第1の記憶手段に記憶する第1のステップと、
前記第1の構造化文書を、当該第1の構造化文書を利用する種別の異なる複数の端末のうちの1つである第1の端末での利用形態に対応する文書構造に変換するための変換規則の集合であって、当該第1の構造化文書中の前記複数の要素のうちの少なくとも1つの要素からなる第1の部分文書をそれとは文書構造が異なる第2の部分文書に変換する第1の変換規則と、当該複数の要素のうちの第1の要素を削除する第2の変換規則とを含む前記変換規則の集合を第2の記憶手段に記憶する第2のステップと、
前記第1の構造化文書を前記変換規則の集合に従って第2の構造化文書に変換する第3のステップと、
前記第1の端末で、前記第2の構造化文書を更新する第4のステップと、
前記第1の端末で更新された前記第2の構造化文書中の前記第2の部分文書を前記第1の部分文書に変換するとともに、当該第2の構造化文書中に追加された新たな前記第2の部分文書を前記第1の部分文書に変換し、当該第2の構造化文書に前記第1の要素を挿入して、当該更新された第2の構造化文書を第3の構造化文書に変換する第5のステップと、
前記第1の記憶手段に記憶された前記第1の構造化文書を当該第1の構造化文書と前記第3の構造化文書との間の差分で更新する第6のステップと、
を有することを特徴とする文書構造変換方法。 - 前記変換規則の集合は、前記構造化文書中の前記複数の要素のうちの少なくとも1つの要素からなる第3の部分文書の当該構造化文書中の位置を移動する第3の変換規則をさらに含み、
前記第5のステップは、前記更新された前記第2の構造化文書中の前記第3の部分文書の位置を元の位置に戻して、前記更新された第2の構造化文書を前記第3の構造化文書に変換することを特徴とする請求項1記載の文書構造変換方法。 - 前記第3のステップで前記第1の構造化文書を前記第2の構造化文書に変換する際には、前記第1の変換規則を適用した前記第1の構造化文書中の前記第1の部分文書の位置と、前記第2の変換規則を適用した前記第1の構造化文書中の前記第1の要素の位置を変換記録として第3の記憶手段に記憶する第7のステップをさらに有し、
前記第5のステップは前記変換記録を基に、前記更新された第2の構造化文書を前記第3の構造化文書に変換することを特徴とする請求項1記載の文書構造変換方法。 - 前記第1の構造化文書中の前記第1の部分文書と前記第1の要素の位置は、当該第1の部分文書中のいずれか1つの要素の識別子と当該第1の要素の識別子をそれぞれ用いて表されていることを特徴とする請求項3記載の文書構造変換方法。
- 前記第1の部分文書中のいずれか1つの要素の識別子を前記第2の部分文書中のいずれか1つの要素の識別子として用いることを特徴とする請求項4記載の文書構造変換方法。
- 前記第4のステップでは、前記利用形態に対応する文書構造に適合する範囲内で前記第2の構造化文書が前記第1の端末で更新されることを特徴とする請求項1記載の文書構造変換方法。
- 前記第1の要素に前記第2の変換規則により削除するか否かを予め設定し、この設定に基づき前記第3のステップで前記第1の要素が削除され、かつ、前記第4のステップで前記第2の構造化文書中の第3の要素が前記第1の要素に書き換えられたとき、次回から前記第1の要素が前記第3のステップで削除されないように設定し直すことを特徴とする請求項1記載の文書構造変換方法。
- 前記変換規則の集合には、前記第1の構造化文書中の前記複数の要素のうちの少なくとも1つの要素からなる第4の部分文書を前記第2の部分文書に変換する第4の変換規則をさらに含み、
前記第5のステップでは、前記更新された第2の構造化文書中の前記第2の部分文書の前記第1の部分文書への変換と前記第2の部分文書の前記第4の部分文書への変換のうち、予め設定された優先度の高い変換から先に行うことを特徴とする請求項1記載の文書構造変換方法。 - 複数の要素で構成された文書構造をもつ第1の構造化文書を記憶する第1の記憶手段と、
前記第1の構造化文書を、当該第1の構造化文書を利用する種別の異なる複数の端末のうちの1つである第1の端末での利用形態に対応する文書構造に変換するための変換規則の集合であって、当該第1の構造化文書中の前記複数の要素のうちの少なくとも1つの要素からなる第1の部分文書をそれとは文書構造が異なる第2の部分文書に変換する第1の変換規則と、当該複数の要素のうちの第1の要素を削除する第2の変換規則とを含む前記変換規則の集合を記憶する第2の記憶手段と、
前記第1の構造化文書を前記変換規則の集合に従って第2の構造化文書に変換する第1の変換手段と、
前記第1の端末で更新された前記第2の構造化文書中の前記第2の部分文書を前記第1の部分文書に変換し、当該第2の構造化文書中に追加された新たな前記第2の部分文書を前記第1の部分文書に変換し、当該第2の構造化文書に前記第1の要素を挿入して、前記更新された第2の構造化文書を第3の構造化文書に変換する第2の変換手段と、
前記第1の記憶手段に記憶された前記第1の構造化文書を当該第1の構造化文書と前記第3の構造化文書との間の差分で更新する更新手段と、
を具備したことを特徴とする文書構造変換装置。 - 前記変換規則の集合は、前記構造化文書中の前記複数の要素のうちの少なくとも1つの要素からなる第3の部分文書の当該構造化文書中の位置を移動する第3の変換規則をさらに含み、
前記第2の変換手段は、前記更新された前記第2の構造化文書中の前記第3の部分文書の位置を元の位置に戻し、前記更新された第2の構造化文書を前記第3の構造化文書に変換することを特徴とする請求項9記載の文書構造変換装置。 - 前記第1の変換手段で前記第1の構造化文書を前記第2の構造化文書に変換する際に、前記第1の変換規則を適用した前記第1の構造化文書中の前記第1の部分文書の位置と、前記第2の変換規則を適用した前記第1の構造化文書中の前記第1の要素の位置を変換記録として記憶する第3の記憶手段をさらに具備し、
前記第2の変換手段は、前記変換記録を基に、前記更新された第2の構造化文書を前記第3の構造化文書に変換することを特徴とする請求項9記載の文書構造変換装置。 - 前記第1の構造化文書中の前記第1の部分文書と前記第1の要素の位置は、当該第1の部分文書中のいずれか1つの要素の識別子と当該第1の要素の識別子をそれぞれ用いて表されていることを特徴とする請求項11記載の文書構造変換装置。
- 前記第1の部分文書中のいずれか1つの要素の識別子を前記第2の部分文書中のいずれか1つの要素の識別子として用いることを特徴とする請求項12記載の文書構造変換装置。
- 前記第1の要素に前記第2の変換規則により削除するか否かを予め設定し、この設定に基づき前記第1の変換手段で前記第1の要素が削除され、かつ、前記第1の端末で前記第2の構造化文書中の第3の要素が前記第1の要素に書き換えられたとき、次回から前記第1の要素が前記第1の変換手段で削除されないように設定し直すことを特徴とする請求項9記載の文書構造変換装置。
- 前記変換規則の集合には、前記第1の構造化文書中の前記複数の要素のうちの少なくとも1つの要素からなる第4の部分文書を前記第2の部分文書に変換する第4の変換規則をさらに含み、
前記第2の変換手段は、前記更新された第2の構造化文書中の前記第2の部分文書の前記第1の部分文書への変換と前記第2部分文書の前記第4の部分文書への変換のうち、予め設定された優先度の高い変換から先に行うことを特徴とする請求項9記載の文書構造変換装置。 - 複数の要素で構成された文書構造をもつ第1の構造化文書を第1の記憶手段に記憶する第1のステップと、
前記第1の構造化文書を、当該第1の構造化文書を利用する種別の異なる複数の端末のうちの1つである第1の端末での利用形態に対応する文書構造に変換するための変換規則の集合であって、当該第1の構造化文書中の前記複数の要素のうちの少なくとも1つの要素からなる第1の部分文書をそれとは文書構造が異なる第2の部分文書に変換する第1の変換規則と、当該複数の要素のうちの第1の要素を削除する第2の変換規則とを含む前記変換規則の集合を第2の記憶手段に記憶する第2のステップと、
前記第1の構造化文書を前記変換規則の集合に従って第2の構造化文書に変換する第3のステップと、
前記第2の構造化文書中の前記第2の部分文書を前記第1の部分文書に変換するとともに、当該第2の構造化文書中に追加された新たな前記第2の部分文書を前記第1の部分文書に変換し、当該第2の構造化文書に前記第1の要素を挿入して、前記更新された第2の構造化文書を第3の構造化文書に変換する第4のステップと、
前記第1の記憶手段に記憶された前記第1の構造化文書を当該第1の構造化文書と前記第3の構造化文書との間の差分で更新する第5のステップと、
をコンピュータに実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001151603A JP3692054B2 (ja) | 2001-05-21 | 2001-05-21 | 文書構造変換方法および文書構造変換装置およびプログラム |
US10/151,164 US7073120B2 (en) | 2001-05-21 | 2002-05-21 | Structured document transformation method, structured document transformation apparatus, and program product |
US11/387,849 US7228498B2 (en) | 2001-05-21 | 2006-03-24 | Structured document transformation apparatus for managing document information transfers between a server and a client |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001151603A JP3692054B2 (ja) | 2001-05-21 | 2001-05-21 | 文書構造変換方法および文書構造変換装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002342316A JP2002342316A (ja) | 2002-11-29 |
JP3692054B2 true JP3692054B2 (ja) | 2005-09-07 |
Family
ID=18996414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001151603A Expired - Lifetime JP3692054B2 (ja) | 2001-05-21 | 2001-05-21 | 文書構造変換方法および文書構造変換装置およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (2) | US7073120B2 (ja) |
JP (1) | JP3692054B2 (ja) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042888B2 (en) * | 2001-09-24 | 2006-05-09 | Ericsson Inc. | System and method for processing packets |
JP3725084B2 (ja) * | 2002-02-22 | 2005-12-07 | 株式会社東芝 | 構造化文書編集システム、構造化文書編集方法及びプログラム |
US7428544B1 (en) | 2002-06-10 | 2008-09-23 | Microsoft Corporation | Systems and methods for mapping e-mail records between a client and server that use disparate storage formats |
US7031973B2 (en) * | 2002-06-10 | 2006-04-18 | Microsoft Corporation | Accounting for references between a client and server that use disparate e-mail storage formats |
US20030236842A1 (en) * | 2002-06-21 | 2003-12-25 | Krishnamurti Natarajan | E-mail address system and method for use between disparate client/server environments |
KR100472458B1 (ko) | 2002-06-26 | 2005-03-10 | 삼성전자주식회사 | 외부 xml유효성 검증 장치를 이용하는 xml파싱 장치및 방법 |
JP2004062600A (ja) * | 2002-07-30 | 2004-02-26 | Fujitsu Ltd | 構造型文書の変換方法、復元方法、変換及び復元方法及びプログラム |
US8051188B2 (en) | 2002-09-05 | 2011-11-01 | Canon Kabushiki Kaisha | Method of proposing a service via a description document of such a service |
US20040177315A1 (en) * | 2003-03-03 | 2004-09-09 | International Business Machines Corporation | Structured document bounding language |
FR2852177B1 (fr) * | 2003-03-03 | 2005-06-24 | Canon Kk | Procede de proposition d'un service fourni par un ordinateur serveur dans un reseau de communication |
GB0307714D0 (en) * | 2003-04-03 | 2003-05-07 | Ibm | System and method for information collation |
US7409673B2 (en) * | 2003-06-24 | 2008-08-05 | Academia Sinica | XML document editor |
US7302678B2 (en) * | 2003-09-10 | 2007-11-27 | Sap Aktiengesellschaft | Symmetric transformation processing system |
JP4177218B2 (ja) | 2003-09-24 | 2008-11-05 | 株式会社エヌ・ティ・ティ・ドコモ | 文書変換装置 |
FR2860315A1 (fr) | 2003-09-30 | 2005-04-01 | Canon Kk | Procede et dispositif d'edition de documents graphiques numeriques du type svg notamment a partir d'un butineur |
US20050193326A1 (en) * | 2004-02-26 | 2005-09-01 | International Business Machines Corporation | Tool for configuring available functions of an application |
JP2005284522A (ja) | 2004-03-29 | 2005-10-13 | Nec Corp | 構造化文書派生システム、構造化文書派生方法及び構造化文書派生用プログラム |
US20050223316A1 (en) * | 2004-04-01 | 2005-10-06 | Sun Microsystems, Inc. | Compiled document type definition verifier |
CN1977259A (zh) * | 2004-04-08 | 2007-06-06 | 佳思腾软件公司 | 文档处理装置和文档处理方法 |
EP1768034A1 (en) * | 2004-04-08 | 2007-03-28 | JustSystems Corporation | Document processing device and document processing method |
JP2008504719A (ja) * | 2004-05-25 | 2008-02-14 | サムスン エレクトロニクス カンパニー リミテッド | Mpvプロファイルを利用したマルチメディアデータの再生方法及びその再生装置 |
US7536634B2 (en) * | 2005-06-13 | 2009-05-19 | Silver Creek Systems, Inc. | Frame-slot architecture for data conversion |
JP2006185408A (ja) * | 2004-11-30 | 2006-07-13 | Matsushita Electric Ind Co Ltd | データベース構築装置及びデータベース検索装置及びデータベース装置 |
US20060168511A1 (en) * | 2005-01-21 | 2006-07-27 | International Business Machines Corporation | Method of passing information from a preprocessor to a parser |
US7496612B2 (en) * | 2005-07-25 | 2009-02-24 | Microsoft Corporation | Prevention of data corruption caused by XML normalization |
JP4701040B2 (ja) * | 2005-08-12 | 2011-06-15 | キヤノン株式会社 | 通信装置及び当該装置におけるメッセージ送信方法 |
JP4899476B2 (ja) * | 2005-12-28 | 2012-03-21 | 富士通株式会社 | 分割プログラム、連結プログラム、情報処理方法 |
US20070168857A1 (en) * | 2006-01-17 | 2007-07-19 | Oracle International Corporation | Transformation of Source Data in a Source Markup Language to Target Data in a Target Markup Language |
US8286075B2 (en) * | 2006-03-07 | 2012-10-09 | Oracle International Corporation | Reducing resource requirements when transforming source data in a source markup language to target data in a target markup language using transformation rules |
US8423226B2 (en) | 2006-06-14 | 2013-04-16 | Service Solutions U.S. Llc | Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan |
US9081883B2 (en) | 2006-06-14 | 2015-07-14 | Bosch Automotive Service Solutions Inc. | Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan |
US8762165B2 (en) | 2006-06-14 | 2014-06-24 | Bosch Automotive Service Solutions Llc | Optimizing test procedures for a subject under test |
US8428813B2 (en) | 2006-06-14 | 2013-04-23 | Service Solutions Us Llc | Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan |
US7643916B2 (en) | 2006-06-14 | 2010-01-05 | Spx Corporation | Vehicle state tracking method and apparatus for diagnostic testing |
US20080028302A1 (en) * | 2006-07-31 | 2008-01-31 | Steffen Meschkat | Method and apparatus for incrementally updating a web page |
FR2906382B1 (fr) * | 2006-09-25 | 2008-11-14 | Canon Kk | Procedes et dispositifs pour optimiser le traitement xml |
US20080320000A1 (en) * | 2007-06-21 | 2008-12-25 | Sreedhar Gaddam | System and Method for Managing Data and Communications Over a Network |
US8566338B2 (en) * | 2007-09-21 | 2013-10-22 | International Business Machines Corporation | Automatically making changes in a document in a content management system based on a change by a user to other content in the document |
US8909635B2 (en) | 2007-09-21 | 2014-12-09 | International Business Machines Corporation | Profiling content creation and retrieval in a content management system |
US8739022B2 (en) * | 2007-09-27 | 2014-05-27 | The Research Foundation For The State University Of New York | Parallel approach to XML parsing |
US8239094B2 (en) | 2008-04-23 | 2012-08-07 | Spx Corporation | Test requirement list for diagnostic tests |
US8280964B2 (en) * | 2008-06-04 | 2012-10-02 | Accenture Global Services Limited | System and method for communicating an air travel message |
US8782514B1 (en) * | 2008-12-12 | 2014-07-15 | The Research Foundation For The State University Of New York | Parallel XML parsing using meta-DFAs |
US8275779B2 (en) * | 2009-01-22 | 2012-09-25 | International Business Machines Corporation | Data tranformations for applications supporting different data formats |
US8301647B2 (en) * | 2009-01-22 | 2012-10-30 | International Business Machines Corporation | Data tranformations for a source application and multiple target applications supporting different data formats |
US8856154B2 (en) * | 2009-01-22 | 2014-10-07 | International Business Machines Corporation | Data tranformations between a source application and service-oriented target applications supporting different data formats |
JP5478936B2 (ja) * | 2009-05-13 | 2014-04-23 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
US8648700B2 (en) | 2009-06-23 | 2014-02-11 | Bosch Automotive Service Solutions Llc | Alerts issued upon component detection failure |
EP2558959A1 (en) | 2010-04-12 | 2013-02-20 | Google, Inc. | Collaborative cursors in a hosted word processor |
CA2795917A1 (en) | 2010-04-12 | 2011-10-20 | Google Inc. | Real-time collaboration in a hosted word processor |
US8996985B1 (en) | 2011-03-16 | 2015-03-31 | Google Inc. | Online document processing service for displaying comments |
JP5613118B2 (ja) | 2011-07-22 | 2014-10-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 変換規則生成支援装置、方法、およびプログラム |
US9336137B2 (en) | 2011-09-02 | 2016-05-10 | Google Inc. | System and method for performing data management in a collaborative development environment |
US8812946B1 (en) | 2011-10-17 | 2014-08-19 | Google Inc. | Systems and methods for rendering documents |
US20150199308A1 (en) | 2011-10-17 | 2015-07-16 | Google Inc. | Systems and methods for controlling the display of online documents |
US8266245B1 (en) | 2011-10-17 | 2012-09-11 | Google Inc. | Systems and methods for incremental loading of collaboratively generated presentations |
US8397153B1 (en) | 2011-10-17 | 2013-03-12 | Google Inc. | Systems and methods for rich presentation overlays |
US8434002B1 (en) | 2011-10-17 | 2013-04-30 | Google Inc. | Systems and methods for collaborative editing of elements in a presentation document |
US10430388B1 (en) | 2011-10-17 | 2019-10-01 | Google Llc | Systems and methods for incremental loading of collaboratively generated presentations |
US8471871B1 (en) | 2011-10-17 | 2013-06-25 | Google Inc. | Authoritative text size measuring |
US8738706B1 (en) | 2011-11-16 | 2014-05-27 | Google Inc. | Systems and methods for collaborative document editing |
US9626368B2 (en) | 2012-01-27 | 2017-04-18 | International Business Machines Corporation | Document merge based on knowledge of document schema |
US9367522B2 (en) | 2012-04-13 | 2016-06-14 | Google Inc. | Time-based presentation editing |
US9141596B2 (en) * | 2012-05-02 | 2015-09-22 | Google Inc. | System and method for processing markup language templates from partial input data |
US9529785B2 (en) | 2012-11-27 | 2016-12-27 | Google Inc. | Detecting relationships between edits and acting on a subset of edits |
US10956667B2 (en) | 2013-01-07 | 2021-03-23 | Google Llc | Operational transformations proxy for thin clients |
US9462037B2 (en) | 2013-01-07 | 2016-10-04 | Google Inc. | Dynamically sizing chunks in a partially loaded spreadsheet model |
EP3008588A4 (en) * | 2013-06-11 | 2017-01-18 | Smart Research Limited | Method and computer program for generating or manipulating source code |
US9971752B2 (en) | 2013-08-19 | 2018-05-15 | Google Llc | Systems and methods for resolving privileged edits within suggested edits |
US9348803B2 (en) | 2013-10-22 | 2016-05-24 | Google Inc. | Systems and methods for providing just-in-time preview of suggestion resolutions |
US10482165B2 (en) | 2015-03-18 | 2019-11-19 | Microsoft Technology Licensing, Llc | Declarative cascade reordering for styles |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10232868A (ja) | 1997-02-20 | 1998-09-02 | Fuji Xerox Co Ltd | 文書処理装置 |
US6574644B2 (en) * | 1997-11-26 | 2003-06-03 | Siemens Corporate Research, Inc | Automatic capturing of hyperlink specifications for multimedia documents |
CA2223953A1 (en) * | 1997-12-05 | 1999-06-05 | Colin Gajraj | Transformation of marked up documents |
JP2000339307A (ja) | 1999-05-31 | 2000-12-08 | Dainippon Screen Mfg Co Ltd | 組版装置 |
US20020032706A1 (en) * | 1999-12-23 | 2002-03-14 | Jesse Perla | Method and system for building internet-based applications |
US6687873B1 (en) * | 2000-03-09 | 2004-02-03 | Electronic Data Systems Corporation | Method and system for reporting XML data from a legacy computer system |
EP1139231A1 (en) * | 2000-03-31 | 2001-10-04 | Fujitsu Limited | Document processing apparatus and method |
US20020016801A1 (en) * | 2000-08-01 | 2002-02-07 | Steven Reiley | Adaptive profile-based mobile document integration |
US6795868B1 (en) * | 2000-08-31 | 2004-09-21 | Data Junction Corp. | System and method for event-driven data transformation |
JP4657432B2 (ja) * | 2000-09-28 | 2011-03-23 | 富士通株式会社 | 階層構造の構造化文書を変換する装置 |
US6684222B1 (en) * | 2000-11-09 | 2004-01-27 | Accenture Llp | Method and system for translating data associated with a relational database |
-
2001
- 2001-05-21 JP JP2001151603A patent/JP3692054B2/ja not_active Expired - Lifetime
-
2002
- 2002-05-21 US US10/151,164 patent/US7073120B2/en not_active Expired - Lifetime
-
2006
- 2006-03-24 US US11/387,849 patent/US7228498B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002342316A (ja) | 2002-11-29 |
US20030084078A1 (en) | 2003-05-01 |
US20060168519A1 (en) | 2006-07-27 |
US7228498B2 (en) | 2007-06-05 |
US7073120B2 (en) | 2006-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3692054B2 (ja) | 文書構造変換方法および文書構造変換装置およびプログラム | |
JP4907936B2 (ja) | ウェブベースのデータフォーム | |
KR101608099B1 (ko) | 문서의 동시적인 협업적 검토 | |
KR101310988B1 (ko) | 애플리케이션들 사이의 xml 데이터의 실시간 동기화 | |
US7140536B2 (en) | Method and system for highlighting modified content in a shared document | |
US5758361A (en) | Document editor for linear and space efficient representation of hierarchical documents | |
US7590939B2 (en) | Storage and utilization of slide presentation slides | |
US7480664B2 (en) | Composite user interface and framework | |
JP4141556B2 (ja) | 構造化文書管理方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
US20090113282A1 (en) | Automatic Linking of Documents | |
US20060259524A1 (en) | Systems and methods for document project management, conversion, and filing | |
JP5072845B2 (ja) | 文書用のxmlデータストアのためのプログラム可能性 | |
US6915303B2 (en) | Code generator system for digital libraries | |
NZ273983A (en) | Data storage and retrieval comprising key field that includes numeric concatenation of at least two identifiers | |
US20150193382A1 (en) | Word Processor Data Organization | |
US20100162096A1 (en) | Techniques for Utilizing Dynamic Components with Wikis | |
JP5063877B2 (ja) | 情報処理装置およびコンピュータプログラム | |
JP3673189B2 (ja) | 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム | |
US20170242836A1 (en) | Architecture, system and method for storing files and data in organized grid format | |
JPH05113975A (ja) | 共同文書処理システム | |
WO2006046664A1 (ja) | 時間共有管理装置、文書作成装置、文書閲覧装置、時間共有管理方法、文書作成方法および文書閲覧方法 | |
JP2003288365A (ja) | 付加情報管理方法及び付加情報管理システム | |
US20040164989A1 (en) | Method and apparatus for disclosing information, and medium for recording information disclosure program | |
JP3478070B2 (ja) | 文書の参照制御方法 | |
JP7251876B1 (ja) | サーバ装置、サーバ装置の制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050617 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3692054 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090624 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090624 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100624 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100624 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110624 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120624 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120624 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130624 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |