JP3974606B2 - Structured document conversion apparatus, structured document conversion method and program - Google Patents

Structured document conversion apparatus, structured document conversion method and program Download PDF

Info

Publication number
JP3974606B2
JP3974606B2 JP2004244119A JP2004244119A JP3974606B2 JP 3974606 B2 JP3974606 B2 JP 3974606B2 JP 2004244119 A JP2004244119 A JP 2004244119A JP 2004244119 A JP2004244119 A JP 2004244119A JP 3974606 B2 JP3974606 B2 JP 3974606B2
Authority
JP
Japan
Prior art keywords
structured document
document
xslt
xml
style sheet
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 - Fee Related
Application number
JP2004244119A
Other languages
Japanese (ja)
Other versions
JP2006065406A (en
Inventor
大 石丸
英昭 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004244119A priority Critical patent/JP3974606B2/en
Publication of JP2006065406A publication Critical patent/JP2006065406A/en
Application granted granted Critical
Publication of JP3974606B2 publication Critical patent/JP3974606B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、構造化文書を変換する構造化文書変換装置、構造化文書変換方法及びプログラムに関する。   The present invention relates to a structured document conversion apparatus, a structured document conversion method, and a program for converting a structured document.

近年、XML(eXtensible Markup Language:拡張性可能なマーク付言語)が標準的なデータ記述言語として広く普及している。XML文書は、その文書の見た目に関する記述を文書の内部に持たない。XMLをブラウザなどで閲覧したり、紙などの媒体に印刷したりするためのスタイルシート技術として、XSL(XML Stylesheet Language)が策定されている。XSLの中の構造変換に関する部分はXSLT(XSL Transformation)と呼ばれている。XSLTを用いると、XML文書を他の構造を持つXML文書に変換したり、HTML文書に変換したりすることができる。   In recent years, XML (eXtensible Markup Language) is widely used as a standard data description language. An XML document does not have a description about the appearance of the document inside the document. XSL (XML Stylesheet Language) has been formulated as a style sheet technology for browsing XML with a browser or printing on a medium such as paper. The part related to structural transformation in XSL is called XSLT (XSL Transformation). When XSLT is used, an XML document can be converted into an XML document having another structure, or converted into an HTML document.

あるXML文書に対してXSLT変換に用いるXSLT文書を指定する方法はいくつかある。まず、XML文書内にProcessing Instructions(PI)としてURIを記述する方法がある。ブラウザは、XML文書内にXSLTを指定するPIが存在するとき、そのXSLTを用いてXML文書をXSLT変換し、生成されたHTML(もしくはテキストやXML文書など)を表示する。また、XML文書内にXSLTを指定するPIが存在するかしないかにかかわらず、ブラウザ側で特定のXSLT文書を指定するようになっている場合もある。広く普及している幾つかのWebブラウザでは、XML文書を閲覧する場合、XML文書内のPIで指定されたXSLT文書を用いてXSLT変換した結果を表示する仕様となっている。   There are several methods for specifying an XSLT document to be used for XSLT conversion for an XML document. First, there is a method of describing a URI as Processing Instructions (PI) in an XML document. When a PI that specifies XSLT exists in the XML document, the browser performs XSLT conversion on the XML document using the XSLT, and displays the generated HTML (or text, XML document, etc.). In addition, there is a case where a specific XSLT document is designated on the browser side regardless of whether or not there is a PI that designates XSLT in the XML document. In some widely used Web browsers, when an XML document is browsed, the specification is such that the result of XSLT conversion is displayed using the XSLT document specified by the PI in the XML document.

このXSLT変換の処理は、XML文書を表示するごとに行う必要があり、処理コストがかかっていた。XSLT変換の処理コストを下げる技術も多く研究されている。例えば、XML文書の編集技術として開発されたIncremental XSLTと呼ばれる技術がある。この技術では、XSLT変換の処理フローを内部情報として持つ。編集処理により、XML文書に変更があると、対応する処理フローを更新した後、処理フローと変更後のXMLの情報よりHTMLを出力することで、XSLT変換にかかるコストを削減している。   This XSLT conversion process needs to be performed every time an XML document is displayed, and processing cost is high. Many techniques for reducing the processing cost of XSLT conversion have been studied. For example, there is a technique called Incremental XSLT developed as an XML document editing technique. This technology has a processing flow of XSLT conversion as internal information. If the XML document is changed by the editing process, the corresponding processing flow is updated, and then HTML is output from the processing flow and the changed XML information, thereby reducing the cost of the XSLT conversion.

しかしながら、Incremental XSLT技術は、1つのXML文書とそのXML文書に関連付けられたXSLT文書及びそのXML文書をそのXSLT文書でXSLT変換して生成されるHTML文書に閉じたものであった。つまり、決められたXML文書に対する編集処理を過去のXSLT変換で蓄積した情報を利用して決められたHTML文書に反映することはできるが、内容が類似する他のXML文書をXSLT変換するにあたり、過去のXSLT変換の情報を利用することはできなかった。このため、Webのように複数のコンテンツを扱う状況には適さなかった。
矢尾浩、外山春彦、白井智、金井達徳、「WebトップXMLエディタ −XSLTによる整形後の編集を可能とする情報整理ツール−」, デ-08, 情報処理学会第65回全国大会 Lionel Villard, Nabil Layaida, “An incremental XSLT Transformation Processor for XML Document Manipulation”, WWW2002, Hawaii, May 7-11, 2002.
However, the Incremental XSLT technology is a closed XML document generated by subjecting one XML document, the XSLT document associated with the XML document, and the XML document to XSLT conversion with the XSLT document. In other words, the editing process for the determined XML document can be reflected in the HTML document determined using the information accumulated in the past XSLT conversion. However, when the other XML documents having similar contents are subjected to the XSLT conversion, Information on past XSLT conversion could not be used. For this reason, it is not suitable for the situation where a plurality of contents are handled like the Web.
Hiroshi Yao, Haruhiko Toyama, Satoshi Shirai, Tatsunori Kanai, “Web Top XML Editor -Information Organizing Tool that Enables Editing after XSLT”, De-08, IPSJ 65th National Convention Lionel Villard, Nabil Layaida, “An incremental XSLT Transformation Processor for XML Document Manipulation”, WWW2002, Hawaii, May 7-11, 2002.

従来、複数の第1の構造化文書をXSLT変換して第2の構造化文書に変換するような場合(例えば、編集したXML文書コンテンツを、HTMLに変換して順に参照する場合、あるいは、内容が類似したXML文書コンテンツを送信側から転送し、受信側でHTMLに変換して順に参照する場合など)、同一のXSLTが関連付けられ且つ内容が類似する複数の第1の構造化文書があっても、その都度、XSLT変換処理を行わなければならず、変換処理の負荷が大きかった。   Conventionally, when a plurality of first structured documents are converted to a second structured document by XSLT conversion (for example, when edited XML document contents are converted to HTML and referred to in order, or contents If there is a plurality of first structured documents associated with the same XSLT and similar in content, for example, when the XML document content with the same content is transferred from the transmission side and converted into HTML on the reception side and referred to in order) However, each time, the XSLT conversion process had to be performed, and the load of the conversion process was heavy.

本発明は、上記事情を考慮してなされたもので、複数の第1の構造化文書をXSLT変換して第2の構造化文書に変換する場合に、XSLT変換処理を効率化することのできる構造化文書変換装置、構造化文書変換方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and can improve the efficiency of XSLT conversion processing when a plurality of first structured documents are converted to a second structured document by XSLT conversion. It is an object to provide a structured document conversion apparatus, a structured document conversion method, and a program.

本発明は、第1の構造化文書を記憶するための第1の記憶手段と、構造化文書の構造を変換するためのスタイルシートであって前記第1の構造化文書に関連付けられたスタイルシートに基づき前記第1の構造化文書を変換して、第2の構造化文書を生成する第1の生成手段と、この第1の生成手段により生成された第2の構造化文書を記憶するための第2の記憶手段と、第3の構造化文書と、前記第1の記憶手段に記憶されている、該第3の構造化文書に関連付けられたスタイルシートと同一のスタイルシートが関連付けられた第1の構造化文書との間の差分を示す差分構造化文書を生成する第2の生成手段と、前記第3の構造化文書に関連付けられた前記スタイルシートに基づき前記差分構造化文書を変換して、変換後差分構造化文書を生成する第3の生成手段と、前記第3の生成手段により生成された変換後差分構造化文書と、前記差分構造化文書のもととなった前記第1の構造化文書を前記第1の生成手段により前記スタイルシートに基づき変換して得られる前記第2の構造化文書とをもとにして、前記第3の構造化文書を前記スタイルシートにより変換して得られる構造化文書に相当する第4の構造化文書を生成する第4の生成手段とを備えたことを特徴とする。   The present invention provides a first storage means for storing a first structured document, a style sheet for converting the structure of the structured document, and a style sheet associated with the first structured document. A first generating means for converting the first structured document based on the above to generate a second structured document, and a second structured document generated by the first generating means for storing the first structured document. The second storage means, the third structured document, and the same style sheet as the style sheet associated with the third structured document stored in the first storage means are associated with each other. A second generating unit configured to generate a differential structured document indicating a difference from the first structured document; and converting the differential structured document based on the style sheet associated with the third structured document. To generate the difference structured document after conversion. The first generation means, the converted difference structured document generated by the third generation means, and the first structured document that is the basis of the difference structured document. Based on the second structured document obtained by conversion based on the style sheet by means, a third document corresponding to the structured document obtained by converting the third structured document by the style sheet. And fourth generation means for generating four structured documents.

なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読み取り可能な記録媒体としても成立する。
The present invention relating to the apparatus is also established as an invention relating to a method, and the present invention relating to a method is also established as an invention relating to an apparatus.
Further, the present invention relating to an apparatus or a method has a function for causing a computer to execute a procedure corresponding to the invention (or for causing a computer to function as a means corresponding to the invention, or for a computer to have a function corresponding to the invention It is also established as a program (for realizing) and a computer-readable recording medium on which the program is recorded.

本発明によれば、複数の第1の構造化文書をXSLT変換して第2の構造化文書に変換する場合に、XSLT変換処理を効率化することができる。   According to the present invention, when a plurality of first structured documents are converted into a second structured document by XSLT conversion, the XSLT conversion processing can be made efficient.

以下、図面を参照しながら本発明の実施形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

以下では、本実施形態に係る構造化文書変換装置につき、単独で構造化文書を編集・保存するようなエディタとして利用する場合を中心に説明し、その後でWebプロキシキャッシュと併用する場合について言及する。   In the following, the structured document conversion apparatus according to the present embodiment will be described with a focus on the case where it is used as an editor that edits and saves a structured document alone, and then refers to the case where it is used together with a Web proxy cache. .

本実施形態では、構造化文書として、XML文書を扱う場合を例にとって説明する。XML文書は、どのような大きさでも構わないが、本実施形態では、ある程度の大きさを持つものを想定している。各XML文書には、それぞれ、スタイルとして指定されたXSLT文書が関連付けられているものとする。また、本実施形態では、XML文書にXSLT文書を用いたXSLT変換を施してHTML文書を生成する場合を例にとって説明する。   In the present embodiment, a case where an XML document is handled as a structured document will be described as an example. The XML document may have any size, but in the present embodiment, an XML document is assumed to have a certain size. Assume that each XML document is associated with an XSLT document designated as a style. Further, in the present embodiment, a case where an HTML document is generated by performing XSLT conversion using an XSLT document on an XML document will be described.

図1に、本実施形態に係る構造化文書処理装置の構成例を示す。   FIG. 1 shows a configuration example of a structured document processing apparatus according to this embodiment.

図1に示されるように、本実施形態の構造化文書処理装置は、XML文書及びそのXML文書に関連付けられたXSLT文書を入力する入力部(図示せず)、入力したXML文書(入力XML文書とも呼ぶものとする)等の各文書を記憶する記憶部(図示せず)、該XSLTに基づきΔ−XSLT変換の可否を判定するXSLT判定部101、XML文書をキャッシュするXMLキャッシュ(図1では省略)(図6の201参照)、XMLキャッシュを参照して入力XML文書に対するΔXML文書を生成するΔXML生成部102、ΔXML文書に対して該XSLT文書を用いたΔ−XSLT変換を行うΔ−XSLT変換部103、入力XML文書に対して該XSLT文書を用いた通常のXSLTを行う通常XSLT変換部(以下、XSLT変換部)104、文書の表示等を行うブラウザ105を備えている。   As shown in FIG. 1, the structured document processing apparatus according to the present embodiment includes an input unit (not shown) for inputting an XML document and an XSLT document associated with the XML document, and an input XML document (input XML document). A storage unit (not shown) for storing each document such as XSLT, an XSLT determination unit 101 for determining whether Δ-XSLT conversion is possible based on the XSLT, and an XML cache for caching an XML document (in FIG. 1) (Omitted) (see 201 in FIG. 6), a ΔXML generation unit 102 that generates a ΔXML document for an input XML document with reference to the XML cache, and Δ-XSLT that performs Δ-XSLT conversion using the XSLT document for the ΔXML document The conversion unit 103, a normal XSLT conversion unit (hereinafter referred to as an XSLT conversion unit) that performs normal XSLT using the XSLT document on the input XML document Parts) 104, and a browser 105 for performing display of the document.

XMLキャッシュには、詳しくは後述するように、XML文書が、その識別情報に対応付けて蓄積されている。   As will be described later in detail, an XML document is stored in the XML cache in association with the identification information.

各モジュール間でのXML文書の受け渡しについては、XML文書を実際に受け渡ししてもよいし、XML文書を記憶している記憶部における当該XML文書のファイル名又はアドレス等を受け渡しするようにしてもよい。XSLT文書等、他の情報についても同様である。   As for the delivery of the XML document between the modules, the XML document may be actually delivered, or the file name or address of the XML document in the storage unit storing the XML document may be delivered. Good. The same applies to other information such as an XSLT document.

ここで、ΔXML文書は、対象となった入力XML文書を、当該入力XML文書に類似する他のXML文書(後述する類似XML文書)(ただし、入力XML文書に関連付けられているXSLT文書と同一のXSLT文書が関連付けられているもの)を参照して差分圧縮したもので、該或るXML文書の類似XML文書に対する差分を表す。ΔXML文書は、例えば、該或るXML文書は、いずれの(他の)XML文書をベースとしているか、該或るXML文書は、そのXML文書のいずれのノードに対してどのような変更(追加・削除など)を加えたものに相当するか、といったことを示す情報などを含む。   Here, in the ΔXML document, the target input XML document is changed to another XML document similar to the input XML document (similar XML document described later) (however, the same as the XSLT document associated with the input XML document). XSLT documents are associated with each other), and the difference is compressed with respect to similar XML documents of the certain XML document. The ΔXML document is, for example, which (other) XML document the certain XML document is based on, and what change (addition / addition) to which node of the XML document the certain XML document is. Information indicating whether it corresponds to the one to which (deletion etc.) is added.

また、ΔHTML文書は、詳しくは後述するが、概略的には、上記と同様、或るHTML文書(上記の対象となった或るXML文書に対応するHTML文書)の他のHTML文書(上記の類似XML文書に対応するHTML文書)に対する差分を表す。   Although the ΔHTML document will be described in detail later, generally, as described above, another HTML document (an HTML document corresponding to the above-described certain XML document) is similar to the above. This represents a difference with respect to an HTML document corresponding to a similar XML document.

Δ−XSLT変換は、詳しくは後述するが、概略的には、差分情報を用いたXSLT変換に関係するものであり、初回XSLT変換(後述)と差分XSLT変換(後述)とを含む。初回XSLT変換は、概略的には、必要な情報がキャッシュされていない場合に、XML文書とXSLT文書との対についてXSLT変換して、対応するHTML文書を生成するとともに、差分XSLT変換のベースとなる情報をキャッシュする処理を含むものである。差分XSLT変換は、概略的には、必要な情報がキャッシュされている場合に、ΔXML文書(を変換したもの)とXSLT文書(を変換したもの)についてXSLT変換するなどして、ΔHTML文書に相当するもの(後に用いるΔHTMLp文書)を生成し、これと類似XML文書に対応するHTML文書とから、もとのXML文書に対応するHTML文書を生成する処理を含むものである。   Although the Δ-XSLT transformation will be described in detail later, the Δ-XSLT transformation generally relates to the XSLT transformation using the difference information, and includes an initial XSLT transformation (described later) and a differential XSLT transformation (described later). The first XSLT transformation is generally performed by performing XSLT transformation on a pair of an XML document and an XSLT document to generate a corresponding HTML document when necessary information is not cached. Including the process of caching the information. The difference XSLT conversion is roughly equivalent to a ΔHTML document by performing XSLT conversion on a ΔXML document (which has been converted) and an XSLT document (which has been converted) when necessary information is cached. And a process of generating an HTML document corresponding to the original XML document from the HTML document corresponding to the similar XML document.

すなわち、本実施形態では、入力XML文書に類似する類似XML文書がキャッシュされており、類似XML文書に対応するHTML文書が利用可能である場合には、入力XML文書の類似XML文書に対する差分のみをXSLT変換することによって、XSLT変換の処理を削減するようにしたものである。   That is, in this embodiment, when a similar XML document similar to the input XML document is cached and an HTML document corresponding to the similar XML document is available, only a difference of the input XML document with respect to the similar XML document is obtained. The XSLT conversion process is reduced by performing the XSLT conversion.

以下、各モジュールについて入力XML文書に類似する文書がキャッシュされていない場合を中心に説明する。   Hereinafter, the case where a document similar to the input XML document is not cached for each module will be mainly described.

本実施形態の構造化文書処理装置では、入力部からXML文書を読み込んだときに、そのXML文書に関連付けられたXSLT文書をも入力部から読み込む。このXSLT文書は、例えば、XML文書のPIとして指定されていてもよいし、エディタ側等で指定していてもよい。   In the structured document processing apparatus of this embodiment, when an XML document is read from the input unit, the XSLT document associated with the XML document is also read from the input unit. This XSLT document may be specified as the PI of the XML document, for example, or may be specified on the editor side or the like.

入力部から読み込まれたXSLT文書は、XSLT判定部101に送信される。   The XSLT document read from the input unit is transmitted to the XSLT determination unit 101.

XSLT判定部101は、図2に示すように、XSLT文書を入力し、該XSLT文書について、Δ−XSLT変換の可能なXSLT文書であるか否かを判定し、この判定の結果(例えば、Δ−XSLT変換可能を示す第1の制御情報(例えばTrue)、又はΔ−XSLT変換不能を示す第2の制御情報(例えばFalse))を出力する。   As shown in FIG. 2, the XSLT determination unit 101 inputs an XSLT document, determines whether or not the XSLT document is an XSLT document that can be subjected to Δ-XSLT conversion, and the result of this determination (for example, Δ First control information indicating that XSLT conversion is possible (for example, True) or second control information indicating that Δ-XSLT conversion cannot be performed (for example, False) is output.

なお、ΔXML生成部102及びΔ−XSLT変換部103は、XSLT判定部101にてΔ−XSLT変換可能と判定された場合に、ΔXML生成処理及び当該XSLT文書を用いたΔ−XSLT変換処理を行う。また、XSLT変換部104は、XSLT判定部101にてΔ−XSLT変換不能と判定された場合に、当該XSLT文書を用いた通常のXSLT変換処理を行う。   The ΔXML generation unit 102 and the Δ-XSLT conversion unit 103 perform the ΔXML generation process and the Δ-XSLT conversion process using the XSLT document when the XSLT determination unit 101 determines that the Δ-XSLT conversion is possible. . In addition, when the XSLT determination unit 101 determines that the Δ-XSLT conversion is impossible, the XSLT conversion unit 104 performs a normal XSLT conversion process using the XSLT document.

ここで、Δ−XSLT変換が可能とは、入力XML文書に当該XSLT文書を適用して得られるHTML文書と同一の内容を、該入力ML文書に類似するXML文書に当該XSLT文書を適用して得られるHTML文書と、該入力XML文書の該類似するXML文書に対する差分及び当該XSLT文書から得られるHTML文書(より詳しくは、後述するように、該入力XML文書の該類似するXML文書に対する差分を修正したものに、当該XSLT文書を修正したものを適用して得られるHTML文書)とを用いて再現することが可能であることを意味する。   Here, Δ-XSLT conversion is possible by applying the same contents as an HTML document obtained by applying the XSLT document to the input XML document, and applying the XSLT document to an XML document similar to the input ML document. The obtained HTML document, the difference of the input XML document with respect to the similar XML document, and the HTML document obtained from the XSLT document (more specifically, the difference of the input XML document with respect to the similar XML document is calculated as described later. This means that it can be reproduced using a modified version and an HTML document obtained by applying a modified version of the XSLT document.

上記の判定においては、Δ−XSLT変換可能となる条件が全て分かっている場合には、XSLT文書が当該条件を満たすか否かを調べればよい。例えば、複数の条件があり、いずれかの条件が満たされれば、Δ−XSLT変換可能となる場合には、XSLT文書は、当該複数の条件のうち一つでも満たせば、Δ−XSLT変換可能と判定され、当該条件の全てを満たさなければ、Δ−XSLT不能と判定される。また、例えば、複数の条件が全て満たされれば、Δ−XSLT変換可能となる場合には、XSLT文書は、当該複数の条件の全てを満たせば、Δ−XSLT変換可能と判定され、当該条件のうち一つでも満たさなければ、当該XSLT文書はΔ−XSLT不能と判定される。   In the above determination, if all the conditions that enable Δ-XSLT conversion are known, it is sufficient to check whether the XSLT document satisfies the condition. For example, if there are a plurality of conditions and Δ-XSLT conversion can be performed if any one of the conditions is satisfied, the XSLT document can be converted to Δ-XSLT conversion if at least one of the plurality of conditions is satisfied. If all the conditions are not satisfied, it is determined that Δ-XSLT is not possible. Also, for example, if all of the plurality of conditions are satisfied and Δ-XSLT conversion is possible, the XSLT document is determined to be capable of Δ-XSLT conversion if all of the plurality of conditions are satisfied. If any one of them is not satisfied, it is determined that the XSLT document cannot be Δ-XSLT.

また、Δ−XSLT変換不能となる条件が全て分かっている場合には、XSLT文書がΔ−XSLT変換不能となる条件を満たすか否かを調べればよい(Δ−XSLT変換不能となる条件を満たさなければ、Δ−XSLT変換可能と判定される)。   In addition, when all the conditions that make Δ-XSLT conversion impossible are known, it is only necessary to check whether or not the XSLT document satisfies the condition that makes Δ-XSLT conversion impossible (the condition that makes Δ-XSLT conversion impossible is satisfied). Otherwise, it is determined that Δ-XSLT conversion is possible).

なお、ある条件がΔ−XSLT変換可能な場合に該当するか又はΔ−XSLT変換不能な場合に該当するかについて分からないときは、例えば、当該条件はΔ−XSLT変換不能な場合に該当するとみなして判定すればよい。   In addition, when it is not known whether a certain condition corresponds to a case where Δ-XSLT conversion is possible or a case where Δ-XSLT conversion is impossible, for example, the condition is regarded as applicable to a case where Δ-XSLT conversion is impossible. To determine.

図3に、XSLT判定部101の処理手順の一例を示す。   FIG. 3 shows an example of the processing procedure of the XSLT determination unit 101.

ステップS1〜S4に記載の条件、すなわち、
・XSLT文書内のXPath表記に、ancestor軸、ancestor-or-self軸を含まない。
・XSLT文書内のXPath表記に、/(document root)を含まない。
・XSLT文書内のXPath表記に、following-sibling軸、preceding-sibling軸を含まない。
・XSLT文書内のXPath表記に、述部([]で囲まれる条件部分)を含まない。
は、それぞれ、Δ−XSLT変換が不可能な条件であり、この手順例は、それら4つの条件を全て満たした場合に、Δ−XSLT変換可能と判定する例になっている、
本手順例では、XSLT判定部101は、上記条件を一つずつ調べ、ステップS1〜S4の全てにおいてYesとなった場合に、Δ−XSLT変換可能と判定する。また、ステップS1〜S4のいずれかにおいてNoとなった場合に、その時点で、Δ−XSLT変換不能と判定する。
Conditions described in steps S1 to S4, that is,
-The ancestor axis and ancestor-or-self axis are not included in the XPath notation in the XSLT document.
-The XPath notation in the XSLT document does not include / (document root).
-The XPath notation in the XSLT document does not include the following-sibling axis and the preceding-sibling axis.
-The XPath notation in the XSLT document does not include a predicate (condition part surrounded by []).
Are conditions in which Δ-XSLT conversion is impossible, and this procedure example is an example of determining that Δ-XSLT conversion is possible when all of these four conditions are satisfied.
In this example procedure, the XSLT determination unit 101 examines the above conditions one by one, and determines that Δ-XSLT conversion is possible when the result of step S1 to S4 is Yes. Moreover, when it becomes No in any of step S1-S4, it determines with (DELTA) -XSLT conversion impossible at that time.

前述のように、XSLT判定部101にてXSLT文書がΔ−XSLT変換不能と判定された場合に行われるのが、XSLT変換部104による通常のXSLT変換処理である。   As described above, when the XSLT determination unit 101 determines that the XSLT document cannot be Δ-XSLT converted, a normal XSLT conversion process by the XSLT conversion unit 104 is performed.

XSLT変換部104は、図4に示されるように、入力部から入力されたXML文書及びこれに関連付けられたXSLT文書を入力し、該XSLT文書を用いて、該XML文書に対し通常のXSLT変換を行って、HTML文書を生成し、これを出力する。生成されたHTML文書は、ブラウザ105に送信される。   As shown in FIG. 4, the XSLT conversion unit 104 inputs the XML document input from the input unit and the XSLT document associated with the XML document, and uses the XSLT document to perform normal XSLT conversion on the XML document. To generate an HTML document and output it. The generated HTML document is transmitted to the browser 105.

前述のように、XSLT判定部101にてXSLT文書がΔ−XSLT変換可能と判定された場合に行われるのが、ΔXML生成部102及びΔ−XSLT変換部103による当該XSLT文書についてのΔXML生成処理及びΔ−XSLT変換処理である。   As described above, when the XSLT determination unit 101 determines that the XSLT document can be Δ-XSLT converted, the ΔXML generation processing for the XSLT document by the ΔXML generation unit 102 and the Δ-XSLT conversion unit 103 is performed. And Δ-XSLT conversion processing.

ΔXML生成部102は、図5に示されるように、入力部から入力されたXML文書を入力し、該入力XML文書を差分圧縮したΔXML文書を生成して出力するか、又は該入力XML文書をそのまま出力する。   As shown in FIG. 5, the ΔXML generation unit 102 inputs the XML document input from the input unit, generates a ΔXML document obtained by differentially compressing the input XML document, and outputs the XML document, or outputs the input XML document. Output as is.

Δ−XSLT変換部103は、図5に示されるように、ΔXML生成部102から出力された入力XML文書又はΔXML文書と、これに対応するXSLT文書とを入力し、該XSLT文書を用いて、該入力XML文書又はΔXML文書に対する初回XSLT変換又は差分XSLT変換を行って、HTML文書を生成し、これを出力する。生成されたHTML文書は、ブラウザ105に送信される。   As shown in FIG. 5, the Δ-XSLT conversion unit 103 inputs the input XML document or ΔXML document output from the ΔXML generation unit 102 and the corresponding XSLT document, and uses the XSLT document, An initial XSLT transformation or a differential XSLT transformation is performed on the input XML document or ΔXML document to generate an HTML document and output it. The generated HTML document is transmitted to the browser 105.

なお、本実施形態では、XSLT判定部101やΔ−XSLT変換部103によるXSLT変換の結果としてHTML文書を生成しているが、これに限定されるものではなく、他のXML文書やテキストなど他の形態に係るものでも構わない。また、本実施形態では、変換結果の送信先をブラウザ105としているが、これに限定されるものではなく、他のモジュールもしくはアプリケーションなどでも構わない。   In this embodiment, an HTML document is generated as a result of the XSLT conversion by the XSLT determination unit 101 and the Δ-XSLT conversion unit 103, but the present invention is not limited to this, and other XML documents, texts, and the like are used. It may be related to the form. In this embodiment, the destination of the conversion result is the browser 105. However, the present invention is not limited to this, and another module or application may be used.

以下では、ΔXML生成部102及びΔ−XSLT変換部103についてより詳しく説明する。   Hereinafter, the ΔXML generation unit 102 and the Δ-XSLT conversion unit 103 will be described in more detail.

図6に、ΔXML生成部102の構成例を示す。   FIG. 6 shows a configuration example of the ΔXML generation unit 102.

図6に示されるように、本構成例に係るΔXML生成部102は、キャッシュ管理部121、XML差分圧縮処理部122、データ付加部123を含む。   As illustrated in FIG. 6, the ΔXML generation unit 102 according to this configuration example includes a cache management unit 121, an XML differential compression processing unit 122, and a data addition unit 123.

XMLキャッシュ201には、過去に差分圧縮せずに処理したXML文書が、その識別情報に対応付けて蓄積されている。   In the XML cache 201, an XML document processed in the past without differential compression is stored in association with the identification information.

なお、以下では、XML文書内にXSLT文書を指定する情報を記述する場合を例にとって説明するが、XML文書内にXSLT文書を指定する情報を記述しない方法をとる場合には、XSLT文書を指定する情報をもXML文書に対応付けてXMLキャッシュ201に蓄積すればよい。   In the following, an example in which information specifying an XSLT document is described in an XML document will be described as an example. However, in a case where information specifying an XSLT document is not described in an XML document, an XSLT document is specified. Information to be stored may be stored in the XML cache 201 in association with the XML document.

個々のXML文書を識別する方法としては種々の方法がある。以下では、XML文書(の内容)を一意に識別できるハッシュ値を、XML文書の識別情報として用いて説明するものとするが、もちろん、これに限定されるものではない(以下の説明で用いるハッシュ値を他の識別情報に変えてもよい)。   There are various methods for identifying individual XML documents. In the following description, a hash value that can uniquely identify an XML document (contents) is used as the identification information of the XML document. However, the present invention is of course not limited to this (the hash used in the following description). The value may be changed to other identification information).

なお、XML文書の識別情報としてハッシュ値を用いる場合にも、種々の具体的方法がある。その一例としては、例えば特開2002−268935公報に「フィンガープリント」が開示されており、これを利用することもできる。   Note that there are various specific methods for using a hash value as identification information of an XML document. As an example, for example, “Fingerprint” is disclosed in Japanese Patent Application Laid-Open No. 2002-268935, and this can also be used.

図7に、ΔXML生成部102の処理手順の一例を示す。   FIG. 7 shows an example of the processing procedure of the ΔXML generation unit 102.

まず、キャッシュ管理部121は、入力部から入力された入力XML文書のハッシュ値を求める(ステップS11)。   First, the cache management unit 121 obtains a hash value of the input XML document input from the input unit (step S11).

次に、キャッシュ管理部121は、入力XML文書と、XMLキャッシュ201に蓄積されているXML文書との比較を行って、入力XML文書(の内容)に類似する(内容を持つ)XML文書(類似XML文書とも呼ぶものとする)がXMLキャッシュ201に蓄積されているかどうか探索する(ステップS12)。   Next, the cache management unit 121 compares the input XML document with the XML document stored in the XML cache 201, and the XML document (similar to the input XML document) has (contents). It is searched whether or not the XML document is also stored in the XML cache 201 (step S12).

なお、XML文書間の類似の程度を示す指標、類似するか否かについての判断基準、類似探索の方法等は、特に限定されるものではなく、適宜、従来の技術を用いて構わない。   Note that the index indicating the degree of similarity between XML documents, the criteria for determining whether or not they are similar, the method of similarity search, and the like are not particularly limited, and conventional techniques may be used as appropriate.

入力XML文書に類似する類似XML文書がXMLキャッシュ201に蓄積されている場合(ステップS13でYes)、XML差分圧縮処理部122にて、入力XML文書と、これに類似する類似XML文書とから、入力XML文書を差分圧縮したΔXML文書を生成する(ステップS14)。そして、データ付加部123にて、入力XML文書に関連付けられたXSLT文書を示す情報と、当該類似XML文書のハッシュ値とを、生成されたΔXML文書に付加し、これをΔ−XSLT変換部103へ送信する(ステップS15)。   When similar XML documents similar to the input XML document are accumulated in the XML cache 201 (Yes in step S13), the XML differential compression processing unit 122 determines from the input XML document and similar XML documents similar thereto. A ΔXML document obtained by differentially compressing the input XML document is generated (step S14). Then, the data adding unit 123 adds information indicating the XSLT document associated with the input XML document and the hash value of the similar XML document to the generated ΔXML document, and adds this to the Δ-XSLT converting unit 103. (Step S15).

ところで、入力XML文書(の内容)と類似XML文書(の内容)とが同一である場合もあり得るが、この場合には、ΔXML文書の内容は、例えば、null或いは入力XML文書と類似XML文書とが同一である旨を示す情報などとすればよい。   Incidentally, the input XML document (contents) and the similar XML document (contents) may be the same. In this case, the content of the ΔXML document is, for example, null or the input XML document and the similar XML document. And the like indicating that they are the same.

一方、入力XML文書に類似する類似XML文書がXMLキャッシュ201に蓄積されていない場合(ステップS13でNo)、該入力XML文書を、Δ−XSLT変換部103へ送信する(ステップS16)。   On the other hand, when a similar XML document similar to the input XML document is not accumulated in the XML cache 201 (No in step S13), the input XML document is transmitted to the Δ-XSLT conversion unit 103 (step S16).

また、この場合に、これと相前後して若しくは並行して、キャッシュ管理部121は、入力XML文書を、そのハッシュ値と対応付けて、XMLキャッシュ201にキャッシュ(登録)する。例えば、入力XML文書のハッシュ値(例えば、フィンガープリント)を求め、該ハッシュ値をラベルにして該入力XML文書をXMLキャッシュ201にキャッシュする(ステップS17)。   In this case, the cache management unit 121 caches (registers) the input XML document in the XML cache 201 in association with the hash value before or after this. For example, a hash value (for example, fingerprint) of the input XML document is obtained, and the input XML document is cached in the XML cache 201 using the hash value as a label (step S17).

図8に、Δ−XSLT変換部103の構成例を示す。   FIG. 8 shows a configuration example of the Δ-XSLT conversion unit 103.

図8に示されるように、Δ−XSLT変換部103は、初回/差分判定部131、初回変換部132、差分変換部133を含む。また、後述するXSLT・XSLTp対応テーブル(303)、XSLT・XSLTd対応テーブル(302)、XSLTd用キャッシュ(202)、HTMLp用キャッシュ(203)、XML・XSLT・HTMLp対応テーブル(301)を含む(図11参照)。   As illustrated in FIG. 8, the Δ-XSLT conversion unit 103 includes an initial / difference determination unit 131, an initial conversion unit 132, and a difference conversion unit 133. Further, an XSLT / XSLTp correspondence table (303), an XSLT / XSLTd correspondence table (302), an XSLTd cache (202), an HTMLp cache (203), and an XML / XSLT / HTMLp correspondence table (301), which will be described later, are included. 11).

ΔXML生成部102からΔ−XSLT変換部103への入力は、入力XML文書(XMLキャッシュに類似するXML文書がなかった場合)、又は入力XML文書に関連付けられたXSLT文書を示す情報及び類似XML文書のハッシュ値を付加されたΔXML文書(XMLキャッシュに類似するXML文書があった場合)である。   The input from the ΔXML generation unit 102 to the Δ-XSLT conversion unit 103 is an input XML document (when there is no XML document similar to the XML cache), or information indicating a XSLT document associated with the input XML document and a similar XML document This is a ΔXML document to which the hash value is added (when there is an XML document similar to the XML cache).

図9に、Δ−XSLT変換部103の処理手順の一例を示す。   FIG. 9 shows an example of the processing procedure of the Δ-XSLT conversion unit 103.

まず、ステップS21において、初回/差分判定部131は、XML文書(入力XML文書)とΔXML文書のいずれが入力されたかを調べ、XML文書が入力されたのであれば、該XML文書のハッシュ値を求め、ΔXML文書が入力されたのであれば、該ΔXML文書に付加されている、類似XML文書のハッシュ値を取り出す。また、対応するXSLT文書を入力し、そのハッシュ値を求める。   First, in step S21, the initial / difference determining unit 131 checks whether an XML document (input XML document) or a ΔXML document is input. If an XML document is input, the hash value of the XML document is determined. If a ΔXML document is obtained, the hash value of the similar XML document added to the ΔXML document is extracted. Also, the corresponding XSLT document is input and its hash value is obtained.

なお、或る文書が、XML文書であるか、ΔXML文書であるかの区別については、例えば、文書中に、その文書の種類を示す情報を明示的に(例えば、特定のルート・エレメントの属性値として)含ませてもよい。あるいは、文書内に、ある種類の文書に固有の情報が存在するか否かを判断基準にしてもよい(例えば、類似XML文書のハッシュ値が含まれれば、ΔXML文書と判断し、含まれなければ、XML文書と判断する)。   In order to distinguish whether a certain document is an XML document or a ΔXML document, for example, information indicating the type of the document is explicitly included in the document (for example, an attribute of a specific root element). As a value). Alternatively, whether or not information unique to a certain type of document exists in the document may be used as a criterion (for example, if a hash value of a similar XML document is included, the document is determined to be a ΔXML document and must be included) For example, it is determined as an XML document).

次に、ステップS22において、XML文書(類似XML文書)のハッシュ値とXSLT文書のハッシュ値とHTMLp文書のハッシュ値とを対応付けて登録した対応テーブル(XML・XSLT・HTMLp対応テーブル)より、ステップS21で求められたXML文書のハッシュ値とXSLT文書のハッシュ値との対を検索する。   Next, in step S22, from the correspondence table (XML / XSLT / HTMLp correspondence table) in which the hash value of the XML document (similar XML document), the hash value of the XSLT document, and the hash value of the HTMLp document are registered in association with each other, A pair of the hash value of the XML document obtained in S21 and the hash value of the XSLT document is searched.

図10に、XML・XSLT・HTMLp対応テーブルの一例を示す。   FIG. 10 shows an example of an XML / XSLT / HTMLp correspondence table.

ステップS23で検索にヒットしなかった場合には、新規のXSLT変換となる。よって、入力XML文書又はΔXML文書とXSLT文書とを初回変換部132へ送信して、ステップS24の初回変換処理を行う。   If the search is not hit in step S23, a new XSLT transformation is performed. Therefore, the input XML document or the ΔXML document and the XSLT document are transmitted to the initial conversion unit 132, and the initial conversion process in step S24 is performed.

他方、ステップS23で検索にヒットした場合には、類似XML文書に対するXSLT変換の履歴があるので、ΔXML文書とXSLT文書とを差分変換部133へ送信して、ステップS25の差分変換処理を行う。   On the other hand, if the search is hit in step S23, since there is a history of XSLT conversion for the similar XML document, the ΔXML document and the XSLT document are transmitted to the difference conversion unit 133, and the difference conversion process in step S25 is performed.

以下、初回XSLT変換について詳しく説明する。   Hereinafter, the initial XSLT conversion will be described in detail.

初回変換部132は、入力XML文書に対して通常のXSLT変換を行って、対応するHTML文書を生成するとともに、次回以降に発生し得る、当該入力XML文書を類似XML文書とする差分XSLT変換のために必要な情報を生成し、キャッシュする。   The initial conversion unit 132 performs normal XSLT conversion on the input XML document to generate a corresponding HTML document, and the difference XSLT conversion that can be generated in the next time and that makes the input XML document a similar XML document. The information necessary for this is generated and cached.

図11に、初回変換部132の構成例を示す。   FIG. 11 shows a configuration example of the initial conversion unit 132.

図11に示されるように、初回変換部132は、XML伸長部1321、XSLTp生成部1323、XSLTd生成部1322、XSLT変換部1324、xpath除去フィルター1325を含む。   As illustrated in FIG. 11, the initial conversion unit 132 includes an XML decompression unit 1321, an XSLTp generation unit 1323, an XSLTd generation unit 1322, an XSLT conversion unit 1324, and an xpath removal filter 1325.

なお、XMLキャッシュ201は、ΔXML生成部102のXMLキャッシュ201(図6参照)である。   The XML cache 201 is the XML cache 201 (see FIG. 6) of the ΔXML generation unit 102.

初回変換部132への入力は、XML文書又はΔXML文書と、XSLT文書である。   The input to the initial conversion unit 132 is an XML document or ΔXML document and an XSLT document.

まず、XML伸長部1321にて、XML文書又はΔXML文書に対し伸長処理を行う。   First, the XML decompression unit 1321 performs decompression processing on the XML document or the ΔXML document.

図12に、XML伸長部1321の構成例を示す。   FIG. 12 shows a configuration example of the XML decompression unit 1321.

図12に示されるように、XML伸長部1321は、キャッシュ管理部13211、XML差分解凍処理部13212を含む。   As shown in FIG. 12, the XML decompression unit 1321 includes a cache management unit 13211 and an XML differential decompression processing unit 13212.

図13に、XML伸長部1321の処理手順の一例を示す。   FIG. 13 shows an example of the processing procedure of the XML decompression unit 1321.

まず、キャッシュ管理部12311は、XML文書(入力XML文書)とΔXML文書のいずれが入力されたかを調べ、XML文書が入力されたのであれば(ステップS31)、該XML文書のハッシュ値を求め(ステップS35)、該XML文書に、そのハッシュ値を関連付けてXMLキャッシュ201に登録する(ステップS36)。また、XML文書をそのまま出力する。   First, the cache management unit 12311 checks whether an XML document (input XML document) or a ΔXML document has been input, and if an XML document has been input (step S31), obtains a hash value of the XML document ( In step S35, the hash value is associated with the XML document and registered in the XML cache 201 (step S36). The XML document is output as it is.

ΔXML文書が入力されたのであれば(ステップS31)、ΔXML文書に付加されている類似XML文書のハッシュ値を取り出す(ステップS32)。次に、取り出した類似XMLのハッシュ値を用いて、XMLキャッシュ201の検索を行い、ベースとなる類似XMLを取り出す(ステップS33)。そして、取り出した類似XML文書とΔXML文書とをもとにしてデータの伸長を行い、もとのXML文書を復元する(ステップS34)。そして、この復元したXML文書を出力する。   If a ΔXML document has been input (step S31), a hash value of a similar XML document added to the ΔXML document is extracted (step S32). Next, the XML cache 201 is searched using the extracted hash value of the similar XML, and the base similar XML is extracted (step S33). Then, data expansion is performed based on the extracted similar XML document and ΔXML document, and the original XML document is restored (step S34). Then, the restored XML document is output.

次に、本実施形態では、この初回変換部132へ入力されたXSLT文書に対して、XSLTd生成部1322及びXSLTp生成部1323によりそれぞれデータ変換を施す。   Next, in the present embodiment, the XSLT document generation unit 1322 and the XSLTp generation unit 1323 perform data conversion on the XSLT document input to the initial conversion unit 132, respectively.

XSLTd部1322では、XSLT文書をデータ変換して、差分XSLT変換に用いるXSLTd文書を生成する。   The XSLTd unit 1322 performs data conversion on the XSLT document to generate an XSLTd document used for differential XSLT conversion.

ここで、メタXSLT文書について説明する。   Here, the meta XSLT document will be described.

XSLT文書は、XML文書の文法で記述されるので、XSLT文書自体も他のXSLT文書で構造変換することができる。すなわち、該他のメタXSLT文書により、データ変換対象とするXSLT文書に対して、新たな機能を追加することができる。このように、XSLT文書を変換して新たな機能を持つXSLT文書を生成するXSLT文書を、メタXSLT文書と呼ぶものとする。   Since the XSLT document is described in the grammar of the XML document, the structure of the XSLT document itself can be converted by another XSLT document. That is, a new function can be added to the XSLT document to be converted by the other meta XSLT document. In this way, an XSLT document that converts an XSLT document and generates an XSLT document having a new function is referred to as a meta XSLT document.

例えば、XSLTp文書は、このXSLTp文書によってXML文書を変換して出力されるHTML文書において、全てのHTML要素に出力時の変換元XMLノード(カレントノード)を指す情報を埋め込むための命令文を、元のXSLT文書に追加したXSLT文書である。言い換えると、この場合のメタXSLT文書は、上記の命令文を、元のXSLT文書に追加するもの(xpath埋め込み用メタXSLT文書)である。   For example, an XSLTp document is an HTML document that is output by converting an XML document using the XSLTp document, and includes an instruction statement for embedding information indicating a conversion source XML node (current node) at the time of output in all HTML elements. This is an XSLT document added to the original XSLT document. In other words, the meta XSLT document in this case is one in which the above-mentioned command statement is added to the original XSLT document (xpath embedding meta XSLT document).

同様に、XSLTd文書は、XML文書の持つxpath属性を変換後のHTML要素にコピーする命令文を、元のXSLT文書に追加したXSLT文書である。言い換えると、この場合のメタXSLT文書は、上記の命令文を、元のXSLT文書に追加するもの(差分ノード情報移行用メタXSLT文書)である。   Similarly, the XSLTd document is an XSLT document in which a command statement for copying the xpath attribute of the XML document to the converted HTML element is added to the original XSLT document. In other words, the meta XSLT document in this case is one in which the above-mentioned command statement is added to the original XSLT document (difference node information migration meta XSLT document).

なお、本実施形態においては、メタXSLT文書は、XSLTp生成用として汎用的に利用できるものと、XSLTd生成用として汎用的に利用できるものとが、それぞれ一つずつあればよい(必ずしもそれぞれ複数ずつ用意する必要はない)。   In this embodiment, one meta XSLT document may be used for general purposes for generating XSLTp and one for general use for generating XSLTd. There is no need to prepare).

ここで、図14にXML文書の一例、図15にXSLT文書の一例、図16にメタXSLT文書の一例(XSLT文書からXSLTp文書を生成するメタXSLT文書の場合)、図17にXSLTp文書の一例、図18にXSLTd文書の一例をそれぞれ示す。   14 shows an example of an XML document, FIG. 15 shows an example of an XSLT document, FIG. 16 shows an example of a meta XSLT document (in the case of a meta XSLT document that generates an XSLTp document from an XSLT document), and FIG. 17 shows an example of an XSLTp document. FIG. 18 shows an example of the XSLTd document.

図19に、XSLTd生成部1322の構成例を示す。   FIG. 19 shows a configuration example of the XSLTd generation unit 1322.

図19に示されるように、XSLTd生成部1322は、XSLT変換部13221、差分ノード情報移行用メタXSLT文書を保持する差分ノード情報移行用メタXSLT保持部13222を含む。なお、差分ノード情報移行用メタXSLT文書の保持の仕方は、特に限定されるものではなく、例えば、独立したファイルであってもよいし、プログラムに組み込まれていてもよい。   As illustrated in FIG. 19, the XSLTd generation unit 1322 includes an XSLT conversion unit 13221 and a difference node information migration meta XSLT holding unit 13222 that holds a difference node information migration meta XSLT document. The method of holding the difference node information migration meta-XSLT document is not particularly limited, and may be, for example, an independent file or may be incorporated in a program.

XSLTd文書は、図20に示すように、このXSLTd文書を用いたXSLT変換を擬似XML文書(後述)に対して施して擬似HTML文書(後述)を生成するにあたって、擬似XML文書から擬似HTML文書へと、差分のオペレータ及び元のXMLのノード情報を伝える機能を、元のXSLT文書に追加したものである。   As shown in FIG. 20, an XSLTd document is converted from a pseudo XML document to a pseudo HTML document when a pseudo HTML document (described later) is generated by performing XSLT conversion using the XSLTd document on the pseudo XML document (described later). And a function for transmitting the difference operator and the node information of the original XML are added to the original XSLT document.

XSLTd生成部1322のXSLT変換部13221では、差分ノード情報移行用メタXSLT文書を用いて、XSLT文書をXSLT変換することによって、XSLTd文書を生成する。   The XSLT conversion unit 13221 of the XSLTd generation unit 1322 generates an XSLTd document by performing XSLT conversion on the XSLT document using the meta-XSLT document for difference node information migration.

XSLTd生成部1322は、生成したXSLTd文書のハッシュ値を求め、元のXSLT文書のハッシュ値と、該XSLTd文書のハッシュ値とを対応付けて、XSLT・XSLTd対応テーブル302に登録するとともに、生成したXSLTd文書を、そのハッシュ値に対応付けてXSLTdキャッシュ202にキャッシュする。   The XSLTd generation unit 1322 obtains the hash value of the generated XSLTd document, associates the hash value of the original XSLT document with the hash value of the XSLTd document, registers the hash value in the XSLT / XSLTd correspondence table 302, and generates the hash value The XSLTd document is cached in the XSLTd cache 202 in association with the hash value.

図21に、XSLT・XSLTd対応テーブル302の一例を示す。   FIG. 21 shows an example of the XSLT / XSLTd correspondence table 302.

なお、擬似HTML文書に、擬似XML文書の持つ差分のオペレータと元のXMLのノード情報を保持させることができるものであれば、メタXSLT文書を用いる方法以外の方法によっても構わない。   Any method other than the method using the meta XSLT document may be used as long as the pseudo HTML document can hold the difference operator of the pseudo XML document and the original XML node information.

また、図20は一例であり、差分のオペレータと元のXMLのノード情報は図20に示す記述でなくても構わない。   FIG. 20 is an example, and the difference operator and the original XML node information may not be the descriptions shown in FIG.

一方、XSLTp生成部1323では、XSLT文書をデータ変換して、初回XSLT変換に用いるXSLTp文書を生成する。   On the other hand, the XSLTp generation unit 1323 converts the data of the XSLT document to generate an XSLTp document used for the first time XSLT conversion.

図22に、XSLTp生成部1323の構成例を示す。   FIG. 22 shows a configuration example of the XSLTp generation unit 1323.

図22に示されるように、XSLTp生成部1323は、XSLT変換部13231、xpath埋め込み用メタXSLT文書を保持するxpath埋め込み用メタXSLT保持部13232を含む。なお、xpath埋め込み用メタXSLT文書の保持の仕方は、特に限定されるものではなく、例えば、独立したファイルであってもよいし、プログラムに組み込まれていてもよい。   As illustrated in FIG. 22, the XSLTp generation unit 1323 includes an XSLT conversion unit 13231 and an xpath embedding meta XSLT holding unit 13232 that holds an xpath embedding meta XSLT document. Note that the method of holding the xpath embedding meta-XSLT document is not particularly limited, and may be, for example, an independent file or may be incorporated in a program.

図23に示すように、XSLTp文書は、元のXSLT文書にメタXSLT文書を適用して得られ、このXSLTp文書を用いたXSLT変換をXML文書に対して施してHTMLp文書を生成するにあたって、XSLT変換で出力するHTMLノードに、そのノードに対応したXML文書のノード情報を埋め込む機能を、元のXSLTに追加したものである。このように、XML文書のノード情報を埋め込まれたHTML文書をHTMLp文書と呼ぶものとする。   As shown in FIG. 23, an XSLTp document is obtained by applying a meta XSLT document to an original XSLT document, and an XSLT transformation using the XSLTp document is performed on the XML document to generate an HTMLp document. A function for embedding node information of an XML document corresponding to an HTML node output by conversion is added to the original XSLT. As described above, an HTML document in which node information of an XML document is embedded is referred to as an HTMLp document.

XSLTp生成部1323のXSLT変換部13231では、xpath埋め込み用メタXSLT13232を用いて、XSLT文書をXSLT変換することによって、XSLTp文書を生成する。   The XSLT conversion unit 13231 of the XSLTp generation unit 1323 generates an XSLTp document by performing XSLT conversion on the XSLT document using the xpath embedding meta XSLT 13232.

XSLTp生成部1323は、生成したXSLTp文書のハッシュ値を求め、元のXSLT文書のハッシュ値と、該XSLTp文書のハッシュ値とを対応付けて、XSLT・XSLTp対応テーブル303に登録する。   The XSLTp generation unit 1323 obtains the hash value of the generated XSLTp document, registers the hash value of the original XSLT document and the hash value of the XSLTp document, and registers them in the XSLT / XSLTp correspondence table 303.

図24に、XSLT・XSLTp対応テーブル303の一例を示す。   FIG. 24 shows an example of the XSLT / XSLTp correspondence table 303.

なお、XSLT変換で出力するHTMLノードに、そのノードに対応したXML文書のノード情報を保持させることがきるものであれば、メタXSLT文書を用いる方法以外の方法によっても構わない。   Any method other than the method using the meta XSLT document may be used as long as the HTML node output by XSLT conversion can hold the node information of the XML document corresponding to the node.

また、図23は一例であり、XML文書のノード情報の表記は、図23のものと異なっていても構わない。   Further, FIG. 23 is an example, and the notation of the node information of the XML document may be different from that of FIG.

次に、XSLT変換部1324では、XML伸長部1321から出力されたXML文書を、XSLTp生成部1323から出力されたXSLTp文書を用いて変換することによって、HTMLp文書を生成する。   Next, the XSLT conversion unit 1324 generates an HTMLp document by converting the XML document output from the XML decompression unit 1321 using the XSLTp document output from the XSLTp generation unit 1323.

このとき、XSLT変換部1324では、生成したHTMLp文書のハッシュ値を求め、当該XML文書のハッシュ値と、XSLT・XSLTp対応テーブル303より得られる当該XSLTp文書に対応するXSLT文書のハッシュ値と、生成したHTMLpのハッシュ値とを対応付けて、XML・XSLT・HTMLp対応テーブル301(図10参照)に追加する。また、生成したHTMLp文書を、そのハッシュ値に対応付けてHTMLpキャッシュ203にキャッシュする。   At this time, the XSLT conversion unit 1324 obtains the hash value of the generated HTMLp document, generates the hash value of the XML document, the hash value of the XSLT document corresponding to the XSLTp document obtained from the XSLT / XSLTp correspondence table 303, and the generation The hash value of the HTMLp is associated and added to the XML / XSLT / HTMLp correspondence table 301 (see FIG. 10). The generated HTMLp document is cached in the HTMLp cache 203 in association with the hash value.

次に、生成されたHTMLp文書をxpath除去フィルター1325にかけてxpathを除去する。   Next, the generated HTMLp document is subjected to an xpath removal filter 1325 to remove xpath.

xpath除去フィルター1325では、図25に示すように、(a)のHTMLp文書が持つ、そのHTMLp文書を生成したXSLT変換における元のXMLのノード情報を削除して、(b)のHTML文書を得る。この削除の方法は、特に限定されるものではなく、例えば、XSLTを用いてもよいし、置換処理を用いてもよい。   As shown in FIG. 25, the xpath removal filter 1325 deletes the original XML node information in the XSLT transformation that has generated the HTMLp document of the HTMLp document of (a) to obtain the HTML document of (b). . The deletion method is not particularly limited, and for example, XSLT may be used or a replacement process may be used.

生成されたHTMLは、ブラウザ105に送信され、表示画面(図示せず)に表示される。   The generated HTML is transmitted to the browser 105 and displayed on a display screen (not shown).

以下、各モジュールについて入力XML文書に類似する文書がキャッシュされている場合を中心に説明する。例えば、キャッシュされているXML文書に対してエディタを用いるなどして編集を施した場合が、これに該当する。   Hereinafter, the case where a document similar to the input XML document is cached for each module will be mainly described. For example, this applies to a case where editing is performed on a cached XML document by using an editor.

ここでは、一例として、図26(a)に示すXML文書(キャッシュされているXML文書)に対して、編集作業を行って、(b)に示すような編集後XML文書が得られたものとする。この編集例は、document rootであるroot要素において、2番目に「1.5」という値を持つdata要素を追加するという作業に該当する。   Here, as an example, it is assumed that an edited XML document as shown in (b) is obtained by performing an editing operation on the XML document (cached XML document) shown in FIG. To do. This editing example corresponds to the work of adding a data element having the second value of “1.5” in the root element which is the document root.

また、これら編集前後のXML文書は、図27に示すXSLT文書をスタイルシートとして利用することになっているものとする。   Further, it is assumed that the XML document before and after editing uses the XSLT document shown in FIG. 27 as a style sheet.

これらを具体例にとりながら差分XSLT変換等について説明する。   The differential XSLT conversion and the like will be described using these as specific examples.

まず、編集を施されたXML文書(図26(b))と、これに関連付けられたXSLT文書(図27)が入力されると、XML編集作業前と同様に、XSLT判定部101にてΔ−XSLT変換の可否についての判定を行う。   First, when an edited XML document (FIG. 26B) and an XSLT document associated with the XML document (FIG. 27) are input, the XSLT determination unit 101 performs ΔS as in the case before the XML editing work. -Determine whether or not XSLT conversion is possible.

本具体例では、XSLT文書は、Δ−XSLT変換可能なXSLTであると判定されるものとする。この結果、XML文書は、ΔXML変換部102に送信され、XSLT文書は、Δ−XSLT変換部103へ送信される。   In this specific example, it is assumed that the XSLT document is determined to be an XSLT that can be subjected to Δ-XSLT conversion. As a result, the XML document is transmitted to the ΔXML conversion unit 102, and the XSLT document is transmitted to the Δ-XSLT conversion unit 103.

ここで、編集前のXML文書(図26(a))が、XMLキャッシュ201にキャッシュされており、これが、類似XML文書として探索されたものとする。   Here, it is assumed that the XML document before editing (FIG. 26A) is cached in the XML cache 201 and searched for as a similar XML document.

この場合、ΔXML変換部102では、図26(b)のXML文書と、(a)のXML文書との差分であるΔXML文書が生成される。前述したように、ΔXML文書は、例えば、差分のオペレータ(挿入、削除など)と対象ノードの情報などを含む。   In this case, the ΔXML conversion unit 102 generates a ΔXML document that is a difference between the XML document in FIG. 26B and the XML document in FIG. As described above, the ΔXML document includes, for example, difference operators (insertion, deletion, etc.) and information on the target node.

図28に、図26に示す編集作業に対応する差分を示すΔXML文書の具体例を示す。本具体例においては、類似XML文書(図26(a))に対して/child::node[1]/child::node[2]の位置に<data>1.5</data>を挿入する(と、入力XML文書が得られる)という表現になっている。もちろん、図28は、一例であり、他の表記でも構わない。   FIG. 28 shows a specific example of a ΔXML document indicating a difference corresponding to the editing work shown in FIG. In this specific example, <data> 1.5 </ data> is inserted at the position of / child :: node [1] / child :: node [2] with respect to the similar XML document (FIG. 26A). (And an input XML document is obtained). Of course, FIG. 28 is an example, and other notations may be used.

生成されたΔXML文書は、Δ−XSLT変換部103へ送信される。   The generated ΔXML document is transmitted to the Δ-XSLT conversion unit 103.

Δ−XSLT変換部103の処理手順の一例は図9に示した通りである。   An example of the processing procedure of the Δ-XSLT conversion unit 103 is as shown in FIG.

本具体例の場合、類似XML文書(編集前の内容)がXML・XSLT・HTMLp対応テーブル301(図10参照)にキャッシュされているものとすると、図9の手順例に従えば、Δ−XSLT変換部103では、ステップS23でYesとなり、ステップS25で差分XSLT変換を行うことになる。   In the case of this specific example, assuming that a similar XML document (contents before editing) is cached in the XML / XSLT / HTMLp correspondence table 301 (see FIG. 10), according to the procedure example of FIG. 9, Δ-XSLT In the conversion unit 103, Yes in step S23, and differential XSLT conversion is performed in step S25.

以下、差分XSLT変換について詳しく説明する。   Hereinafter, the differential XSLT conversion will be described in detail.

差分変換部133には、ΔXML文書と、これに関連付けられたXSLT文書が入力される。差分変換部133は、ΔXML文書から生成した擬似XML文書に対して該XSLT文書に対応するXSLTd文書を用いたXSLT変換を施すなどして得たΔHTMLp文書と、類似XML文書(本具体例では、編集前のXML文書)に対応するHTMLp文書とから、該ΔXML文書のもととなったXML文書(本具体例では、編集後のXML文書)に対応するHTML文書を生成する。   The difference conversion unit 133 receives the ΔXML document and the XSLT document associated therewith. The difference conversion unit 133 includes a ΔHTMLp document obtained by performing XSLT conversion using a XSLTd document corresponding to the XSLT document on the pseudo XML document generated from the ΔXML document, and a similar XML document (in this specific example, From the HTMLp document corresponding to the XML document before editing), an HTML document corresponding to the XML document (in this specific example, the edited XML document) that is the basis of the ΔXML document is generated.

なお、前述したように、HTMLp文書は、XML文書のノード情報を埋め込まれたHTML文書である。ΔHTMLp文書(後述)も同様である。   As described above, the HTMLp document is an HTML document in which node information of the XML document is embedded. The same applies to ΔHTMLp documents (described later).

図29に、差分変換部133の構成例を示す。   FIG. 29 shows a configuration example of the difference conversion unit 133.

図29に示されるように、差分変換部133は、擬似XML生成部1331、ΔHTML抽出部1332、HTML伸長部1333、XSLT変換部1334、xpath除去フィルター1335を含む。   As illustrated in FIG. 29, the difference conversion unit 133 includes a pseudo XML generation unit 1331, a ΔHTML extraction unit 1332, an HTML decompression unit 1333, an XSLT conversion unit 1334, and an xpath removal filter 1335.

なお、初回変換部132のxpath除去フィルター1325と、差分変換部133のxpath除去フィルター1335とは、同一のものを兼用してもよい。   Note that the xpath removal filter 1325 of the initial conversion unit 132 and the xpath removal filter 1335 of the difference conversion unit 133 may be the same.

また、XSLT変換部104と、Δ−XSLT変換部103の初回変換部132のXSLT変換部1324と、初回変換部132のXSLTd生成部1322のXSLT変換部13221と、初回変換部132のXSLTp生成部1323のXSLT変換部13231との全部又は一部は、同一のものを兼用してもよい。   Also, the XSLT conversion unit 104, the XSLT conversion unit 1324 of the initial conversion unit 132 of the Δ-XSLT conversion unit 103, the XSLT conversion unit 13221 of the XSLTd generation unit 1322 of the initial conversion unit 132, and the XSLTp generation unit of the initial conversion unit 132 All or part of the 1323 XSLT conversion unit 13231 may be used in common.

図30に、差分変換処理の手順の一例を示す。   FIG. 30 shows an example of the procedure of difference conversion processing.

まず、ステップS41においては、ΔXML文書に付加されている、差分のベースとなるXML文書すなわち類似XML文書のハッシュ値を得る。また、ステップS42で、XSLT文書のハッシュ値を得る。次に、ステップS43で、それらのハッシュ値を用いてXML・XSLT・HTMLp対応テーブル301の検索を行い、HTMLpキャッシュ203の中から、対応するHTMLp文書(ベースHTMLp文書)(のハッシュ値)を特定する。   First, in step S41, a hash value of an XML document that is added to the ΔXML document and becomes a difference base, that is, a similar XML document is obtained. In step S42, a hash value of the XSLT document is obtained. Next, in step S43, the XML / XSLT / HTMLp correspondence table 301 is searched using those hash values, and the corresponding HTMLp document (base HTMLp document) (hash value) is specified from the HTMLp cache 203. To do.

他方、ΔXML文書は擬似XML生成部1331に送信される。ステップS44においては、擬似XML生成部1331にて、ΔXML文書が持つ、元のXML文書のノード情報から、XMLの構造を再現した擬似XML文書を生成する。   On the other hand, the ΔXML document is transmitted to the pseudo XML generation unit 1331. In step S44, the pseudo XML generation unit 1331 generates a pseudo XML document that reproduces the XML structure from the node information of the original XML document that the ΔXML document has.

擬似XML文書は、元のXMLデータの構造を模したXML文書であり、差分情報(オペレータ、ノード情報など)が埋め込まれている。本具体例においては、図31(a)のΔXML文書から、(b)の擬似XML文書が生成される。   The pseudo XML document is an XML document imitating the structure of the original XML data, and includes difference information (operator, node information, etc.). In this specific example, the pseudo XML document shown in FIG. 31B is generated from the ΔXML document shown in FIG.

また、ステップS45において、本差分変換部133に入力されたXSLT文書のハッシュ値をもとに、XSLT・XSLTd対応テーブル302から、対応する差分変換用のXSLTdのハッシュ値を求め、該XSLTdのハッシュ値をもとに、XSLTdキャッシュ202から、該当するXSLTdを取り出す。   In step S45, based on the hash value of the XSLT document input to the difference conversion unit 133, the corresponding XSLTd hash value for difference conversion is obtained from the XSLT / XSLTd correspondence table 302, and the hash of the XSLTd is obtained. Based on the value, the corresponding XSLTd is retrieved from the XSLTd cache 202.

次に、ステップS46において、XSLT変換部1334にて、生成した擬似XML文書を、取り出したXSLTd文書を用いてXSLT変換することによって、擬似HTMLp文書を生成する。   Next, in step S46, the XSLT conversion unit 1334 performs XSLT conversion on the generated pseudo XML document using the extracted XSLTd document, thereby generating a pseudo HTMLp document.

擬似HTMLp文書は、1つのHTML文書であるが、例えば、編集作業による影響を受けたノードには、その編集情報(オペレータと元のXMLノードの情報)が載っているという特徴がある。本具体例においては、図32(a)の擬似XML文書から、(b)の擬似HTMLp文書が生成される。   The pseudo HTMLp document is one HTML document. For example, the node affected by the editing operation has the feature that the editing information (information of the operator and the original XML node) is recorded. In this specific example, the pseudo HTMLp document of (b) is generated from the pseudo XML document of FIG. 32 (a).

次に、ステップS47において、ΔHTMLp抽出部1332により、擬似HTMLp文書から、編集情報を持つノードを抜き出し、ΔHTMLp文書を作成する。本具体例においては、図33(a)の擬似HTMLp文書から、(b)のΔHTMLp文書が生成される。なお、図33(b)は一例であり、ΔHTMLpの表記は他の形式であっても構わない。   Next, in step S47, the ΔHTMLp extraction unit 1332 extracts nodes having editing information from the pseudo HTMLp document to create a ΔHTMLp document. In this specific example, the ΔHTMLp document of (b) is generated from the pseudo HTMLp document of FIG. 33 (a). Note that FIG. 33B is an example, and ΔHTMLp may be expressed in other formats.

しかりて、ステップS48において、ΔHTMLp文書と、先ほどのHTMLp文書(ベースHTMLp文書)がHTML伸長部1333に入力され、HTML伸長部1333では、ΔHTMLp文書とHTMLp文書が持つ、元のXML文書のノード情報を利用して、HTML文書の伸長を行う。   Therefore, in step S48, the ΔHTMLp document and the previous HTMLp document (base HTMLp document) are input to the HTML decompression unit 1333, and the HTML decompression unit 1333 stores the node information of the original XML document that the ΔHTMLp document and the HTMLp document have. Is used to decompress an HTML document.

図34に、図26のデータに対する伸長処理の例を示す。この例では、(a)のΔHTMLp文書と、(b)のHTMLp文書(ベースHTMLp文書)から、(c)のHTML文書が得られる。   FIG. 34 shows an example of decompression processing for the data of FIG. In this example, the HTML document (c) is obtained from the ΔHTMLp document (a) and the HTMLp document (base HTMLp document) (b).

最後に、ステップS49において、初回変換時と同様に、xpath除去フィルター1325にて、伸長処理によって生成されたHTMLp文書から、元のXMLのノード情報を削除することによって、(入力XML文書に対応するXSLT文書を適用して得られるHTML文書と同じ内容の)HTML文書を生成する。   Finally, in step S49, as in the case of the first conversion, the xpath removal filter 1325 deletes the original XML node information from the HTMLp document generated by the decompression process (corresponding to the input XML document). An HTML document (with the same content as the HTML document obtained by applying the XSLT document) is generated.

このHTML文書は、ブラウザ105に送信される。   This HTML document is transmitted to the browser 105.

なお、以上において、差分変換をおこなった、編集後XML文書、XSLT文書、HTMLp文書、XSLTd文書をキャッシュして、その後の差分変換のベースとして用いることも可能である。   In the above, it is also possible to cache the edited XML document, XSLT document, HTMLp document, and XSLTd document that have undergone the difference conversion, and use them as a basis for the subsequent difference conversion.

本実施形態によれば、入力XML文書に類似する類似XML文書に対応するHTML文書が存在する場合、入力XML文書をXSLT変換する代わりに、入力XML文書と類似XML文書との差分をXSLT変換し、これと類似XML文書に対応するHTML文書から入力XML文書に対応するHTML文書を求めることができるので、XSLT変換処理を削減することができる。   According to this embodiment, when there is an HTML document corresponding to a similar XML document similar to the input XML document, the difference between the input XML document and the similar XML document is subjected to XSLT conversion instead of XSLT conversion of the input XML document. Since the HTML document corresponding to the input XML document can be obtained from the HTML document corresponding to the similar XML document, the XSLT conversion processing can be reduced.

以下では、本実施形態に係る構造化文書変換装置につき、Webプロキシキャッシュと組み合わせて使用する場合について説明する。   Hereinafter, the case where the structured document conversion apparatus according to the present embodiment is used in combination with a Web proxy cache will be described.

本実施形態に係る構造化文書変換装置は、Webキャッシュ技術と組み合わせることで、有効なシステムを構築することができる。   The structured document conversion apparatus according to the present embodiment can construct an effective system by combining with the Web cache technology.

ここでは、特開2002−268935公報、特開2003−268936公報、特開2003−268937公報に開示されているフィンガープリントキャッシュ(以下、FPキャッシュ)技術と併用する場合を例にとって説明する。   Here, a case where the fingerprint cache (hereinafter referred to as “FP cache”) technology disclosed in JP-A-2002-268935, JP-A-2003-268936, and JP-A-2003-268937 is used together will be described as an example.

フィンガープリントキャッシュ技術は、コンテンツのFP値(ハッシュ値)を利用して、サーバ・クライアント間のデータ転送量を削減する技術である。   The fingerprint cache technique is a technique for reducing the data transfer amount between the server and the client by using the FP value (hash value) of the content.

FPキャッシュ技術には、サーバ側とクライアント側の両方にFPキャッシュを実装したプロキシモジュールを設置するデュアルプロキシ版や、クライアント側をブラウザのプラグインとしてFPキャッシュを実装するクライアント版FPキャッシュなどがある。   The FP cache technology includes a dual proxy version in which a proxy module in which an FP cache is mounted on both the server side and the client side, and a client version FP cache in which an FP cache is mounted with the client side as a browser plug-in.

図35に、Webにおける、XML、XSLTの基本的な情報の流れを示す。なお、各装置は、例えばインターネットやLAN等のネットワークを介して接続されている。   FIG. 35 shows the basic information flow of XML and XSLT on the Web. Each device is connected via a network such as the Internet or a LAN.

クライアント(装置)1210からWebサーバ1200(装置)にXMLのGETリクエストを出すと、Webサーバ1200は、そのXMLを応答する。さらに、クライアント1210は、そのXMLに使用するXSLT文書のGETリクエストを出し、Webサーバ1200は、XSLT文書を応答する。   When an XML GET request is issued from the client (device) 1210 to the Web server 1200 (device), the Web server 1200 responds with the XML. Further, the client 1210 issues a GET request for the XSLT document used for the XML, and the Web server 1200 responds with the XSLT document.

ここでは、一例としてプラグイン版FPキャッシュの技術を用いて、通信システムを図36に示すように構築する。なお、各装置は、例えばインターネットやLAN等のネットワークを介して接続されている。図35との相違は、クライアント1400(装置)に、プラグイン1401が存在することと、Webサーバ(装置)1200とクライアント1400との間にサーバ側プロキシ1300(装置)が存在することである。なお、プラグイン版FPキャッシュ以外の技術を用いてもシステムは実現可能である。   Here, as an example, a communication system is constructed as shown in FIG. 36 using the technology of the plug-in version FP cache. Each device is connected via a network such as the Internet or a LAN. The difference from FIG. 35 is that the plug-in 1401 exists in the client 1400 (device) and that the server-side proxy 1300 (device) exists between the Web server (device) 1200 and the client 1400. Note that the system can also be realized by using a technique other than the plug-in version FP cache.

図37に、サーバ側プロキシ1300の構成例を示す。   FIG. 37 shows a configuration example of the server side proxy 1300.

サーバ側プロキシ1300の構成、動作について、図37を参照しながら説明する。   The configuration and operation of the server-side proxy 1300 will be described with reference to FIG.

サーバ側プロキシ1300には、Webサーバ1200から、XML文書とXSLT文書を受信する。   The server side proxy 1300 receives the XML document and the XSLT document from the Web server 1200.

XSLT文書に関しては、公知のFPキャッシュと同様の圧縮技術を用いた差分圧縮を行うXSLT−FP圧縮部1301とXSLT文書をキャッシュするWebキャッシュ1302を実装する。これによって、サーバ側プロキシ1300からクライアント1400へは、XSLT文書が適宜圧縮されて転送される。   For the XSLT document, an XSLT-FP compression unit 1301 that performs differential compression using a compression technique similar to a known FP cache and a Web cache 1302 that caches the XSLT document are implemented. As a result, the XSLT document is appropriately compressed and transferred from the server side proxy 1300 to the client 1400.

XML文書に関しては、これまで説明してきたΔXML生成部102とXMLキャッシュ201を実装する。Webサーバ1200から受信したXML文書(転送対象XML文書とも呼ぶものとする)とXSLT文書を受信する。転送対象XML文書に類似するXML文書がXMLキャッシュ201にキャッシュされている場合(すなわち、転送対象XML文書が、既にXMLキャッシュ201にキャッシュされているXML文書と類似するXML文書である場合)は、ΔXML生成部102により、それらの差分情報をΔXML文書として作成する。このとき、類似XML文書に関連付けられているXSLT文書を示す情報もΔXML文書に埋め込む。XMLキャッシュ201に類似するXML文書がない場合は、転送対象XML文書をクライアント210に送信するとともに、これをXMLキャッシュ201にキャッシュする。これによって、サーバ側プロキシ1300からクライアント1400へは、XML文書又はΔXML文書が転送される。   For the XML document, the ΔXML generation unit 102 and the XML cache 201 described so far are mounted. An XML document (also referred to as a transfer target XML document) and an XSLT document received from the Web server 1200 are received. When an XML document similar to the transfer target XML document is cached in the XML cache 201 (that is, when the transfer target XML document is an XML document similar to the XML document already cached in the XML cache 201), The ΔXML generation unit 102 creates the difference information as a ΔXML document. At this time, information indicating the XSLT document associated with the similar XML document is also embedded in the ΔXML document. When there is no XML document similar to the XML cache 201, the transfer target XML document is transmitted to the client 210 and cached in the XML cache 201. As a result, the XML document or the ΔXML document is transferred from the server side proxy 1300 to the client 1400.

図38に、クライアント1400の構成例を示す。   FIG. 38 shows a configuration example of the client 1400.

また、図39に、クライアント1400の処理手順の一例を示す。   FIG. 39 shows an example of the processing procedure of the client 1400.

クライアント1400の構成、動作について、図37を参照しながら説明する。   The configuration and operation of the client 1400 will be described with reference to FIG.

クライアント1400(のプラグイン1401)は、公知のFPキャッシュと同様の圧縮技術を用いた差分圧縮に対応する伸長を行うXSLT伸長部1411とXSLT文書をキャッシュするXSLTキャッシュ1412、前述の初回変換部132のXML伸長部1321と同様の機能を有するXML伸長部1413とXML文書をキャッシュするXMLキャッシュ1414、これまで説明してきたXSLT判定部101、Δ−XSLT変換部103、XSLT変換部104を実装する。   The client 1400 (the plug-in 1401) includes an XSLT decompression unit 1411 that decompresses corresponding to differential compression using a compression technique similar to that of a known FP cache, an XSLT cache 1412 that caches an XSLT document, and the initial conversion unit 132 described above. The XML decompression unit 1413 having the same function as the XML decompression unit 1321, the XML cache 1414 that caches the XML document, the XSLT determination unit 101, the Δ-XSLT conversion unit 103, and the XSLT conversion unit 104 described so far are mounted.

クライアント1400では、まず、サーバ側プロキシ1300から受信したXSLT文書をXSLT伸長部1411で伸長する(ステップS51)。XSLT文書は、従来のFPキャッシュ技術で圧縮されているので、クライアント1400もFPキャッシュ技術で伸長を行う。   In the client 1400, first, the XSLT document received from the server side proxy 1300 is decompressed by the XSLT decompression unit 1411 (step S51). Since the XSLT document is compressed with the conventional FP cache technology, the client 1400 also decompresses with the FP cache technology.

次に、伸長したXSLT文書がΔ−XSLT変換可能かどうかをXSLT判定部101にて判定する(ステップS52)。   Next, the XSLT determination unit 101 determines whether or not the expanded XSLT document can be subjected to Δ-XSLT conversion (step S52).

XSLT文書がΔ−XSLT変換不可である場合、Δ−XSLT変換が利用できないので、受信したXML情報を伸長する。XML文書は、ΔXML生成部102により圧縮されているので、XML伸長部1413(図12参照)を用いて伸長する(ステップS54)。   If the XSLT document cannot be Δ-XSLT converted, the Δ-XSLT conversion cannot be used, so the received XML information is expanded. Since the XML document is compressed by the ΔXML generation unit 102, the XML document is expanded using the XML expansion unit 1413 (see FIG. 12) (step S54).

伸長したXSLT文書と伸長したXML文書は、XSLT変換部104に送信され、通常のXSLT変換処理へ入る(ステップS55)。これらをXSLT変換して生成されたHTML文書をブラウザ(図示せず)に渡す。   The expanded XSLT document and the expanded XML document are transmitted to the XSLT conversion unit 104, and enter the normal XSLT conversion process (step S55). An HTML document generated by XSLT conversion of these is transferred to a browser (not shown).

一方、XSLT文書がΔ−XSLT変換可能である場合、Δ−XSLTに入る(ステップS53)。   On the other hand, if the XSLT document can be subjected to Δ-XSLT conversion, Δ-XSLT is entered (step S53).

まず、図8に示す処理フローと同様にΔ−XSLT変換部103の初回/差分判定部131にて、初回変換か差分変換かを判定する。判定には、図10のXML,XSLT,HTMLp対応テーブル301を用いる。既に登録済みであれば差分変換部133に送信され、差分変換処理に入る。未登録であれば、初回変換部132に送信され、初回変換処理に入る。既に説明したものと同様にして、HTML文書を生成する。そして、生成されたHTML文書をブラウザ(図示せず)に渡す。   First, similarly to the processing flow shown in FIG. 8, the initial / difference determining unit 131 of the Δ-XSLT converting unit 103 determines whether the initial conversion or the differential conversion. For the determination, the XML, XSLT, and HTMLp correspondence table 301 of FIG. 10 is used. If already registered, it is transmitted to the difference conversion unit 133 and the difference conversion process is started. If it is not registered, it is transmitted to the initial conversion unit 132 and the initial conversion process is started. An HTML document is generated in the same manner as already described. Then, the generated HTML document is transferred to a browser (not shown).

本実施形態によれば、サーバ・クライアント間において、XML文書およびXSLT文書のデータ送信が、ともに差分データだけの送信であるため、転送量を減らすことができ、細い回線を利用したネットでの転送にかかる時間を削減できる。また、XSLT変換を差分データで行うので、処理コストを下げることができる。   According to this embodiment, since the data transmission of the XML document and the XSLT document is only the transmission of the difference data between the server and the client, the transfer amount can be reduced, and the transfer over the network using a thin line is possible. Can reduce the time it takes. Moreover, since the XSLT conversion is performed with the difference data, the processing cost can be reduced.

以上では、本実施形態では、構造化文書として、XML文書にXSLT文書を用いたXSLT変換を施してHTML文書を生成する場合を例にとって説明したが、XML文書を他のXML文書に変換する場合や、HTML文書以外の構造化文書に変換する場合にも本発明は適用可能である。また、XML文書以外の構造化文書を、XML文書、HTML文書又はそれら以外の構造化文書に変換する場合にも本発明は適用可能である。   In the above, in the present embodiment, the case where an HTML document is generated by performing XSLT conversion using an XSLT document as an XML document as a structured document has been described as an example. However, when an XML document is converted into another XML document The present invention can also be applied to the case of converting to a structured document other than an HTML document. The present invention can also be applied to a case where a structured document other than an XML document is converted into an XML document, an HTML document, or another structured document.

なお、以上の各機能は、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。
また、本実施形態は、コンピュータに所定の手順を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
Each of the above functions can be realized even if it is described as software and processed by a computer having an appropriate mechanism.
The present embodiment can also be implemented as a program for causing a computer to execute a predetermined procedure, causing a computer to function as a predetermined means, or causing a computer to realize a predetermined function. In addition, the present invention can be implemented as a computer-readable recording medium on which the program is recorded.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the components without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

本発明の一実施形態に係る構造化文書処理装置の構成例を示す図1 is a diagram illustrating a configuration example of a structured document processing apparatus according to an embodiment of the present invention. 同実施形態に係るXSLT判定部について説明するための図The figure for demonstrating the XSLT determination part which concerns on the same embodiment 同実施形態に係るXSLT判定部の処理手順の一例を示すフローチャートThe flowchart which shows an example of the process sequence of the XSLT determination part which concerns on the embodiment 同実施形態に係るXSLT変換部について説明するための図The figure for demonstrating the XSLT conversion part which concerns on the same embodiment 同実施形態に係る差分XSLT変換について説明するための図The figure for demonstrating the differential XSLT conversion which concerns on the same embodiment 同実施形態に係るΔXML生成部の構成例を示す図The figure which shows the structural example of the (DELTA) XML production | generation part which concerns on the same embodiment. 同実施形態に係るΔXML生成部の処理手順の一例を示すフローチャートThe flowchart which shows an example of the process sequence of the (DELTA) XML production | generation part which concerns on the embodiment 同実施形態に係るΔ−XSLT変換部の構成例を示す図The figure which shows the structural example of the (DELTA) -XSLT conversion part which concerns on the same embodiment. 同実施形態に係るΔ−XSLT変換部の処理手順の一例を示すフローチャートThe flowchart which shows an example of the process sequence of the (DELTA) -XSLT conversion part which concerns on the embodiment 同実施形態に係るXML・XSLT・HTMLp対応テーブルの一例を示す図The figure which shows an example of the XML / XSLT / HTMLp correspondence table according to the embodiment 同実施形態に係る初回変換部の構成例を示す図The figure which shows the structural example of the first time conversion part which concerns on the same embodiment 同実施形態に係るXML伸長部の構成例を示す図The figure which shows the structural example of the XML expansion | extension part which concerns on the embodiment 同実施形態に係るXML伸長部処理手順の一例を示すフローチャートA flowchart showing an example of an XML decompression unit processing procedure according to the embodiment 同実施形態に係るXML文書の一例を示す図A diagram showing an example of an XML document according to the embodiment 同実施形態に係るXSLT文書の一例を示す図FIG. 4 is a diagram showing an example of an XSLT document according to the embodiment. 同実施形態に係るメタXSLT文書の一例を示す図FIG. 4 is a diagram showing an example of a meta XSLT document according to the embodiment. 同実施形態に係るXSLTp文書の一例を示す図FIG. 4 is a diagram showing an example of an XSLTp document according to the embodiment. 同実施形態に係るXSLTd文書の一例を示す図FIG. 4 is a diagram showing an example of an XSLTd document according to the embodiment. 同実施形態に係るXSLTd生成部の構成例を示す図The figure which shows the structural example of the XSLTd production | generation part which concerns on the same embodiment 同実施形態に係る差分ノード情報移行用メタXSLT文書によるXSLT文書からXSLTd文書への変換及びXSLTd文書による擬似XML文書から擬似HTML文書への変換について説明するための図FIG. 6 is a diagram for explaining conversion from an XSLT document to an XSLTd document by the meta-XSLT document for difference node information migration according to the embodiment and conversion from a pseudo XML document to a pseudo HTML document by the XSLTd document. 同実施形態に係るXSLT・XSLTd対応テーブルの一例を示す図The figure which shows an example of the XSLT and XSLTd correspondence table which concerns on the embodiment 同実施形態に係るXSLTp生成部の構成例を示す図The figure which shows the structural example of the XSLTp production | generation part which concerns on the same embodiment 同実施形態に係るxpath埋め込み用メタXSLT文書によるXSLT文書からXSLTp文書への変換及びXSLTp文書によるXML文書からHTMLp文書への変換について説明するための図FIG. 6 is a diagram for explaining conversion from an XSLT document to an XSLTp document by an xpath embedding meta-XSLT document according to the embodiment, and conversion from an XML document to an HTMLp document by the XSLTp document. 同実施形態に係るXSLT・XSLTp対応テーブルの一例を示す図The figure which shows an example of the XSLT * XSLTp correspondence table which concerns on the same embodiment 同実施形態に係るxpath除去フィルターによるxpath除去フィルター処理の手順の一例を示すフローチャート8 is a flowchart showing an example of the procedure of xpath removal filter processing by the xpath removal filter according to the embodiment. 同実施形態に係るXML文書の編集の一例について説明するための図The figure for demonstrating an example of the edit of the XML document which concerns on the embodiment 同実施形態に係るXML文書に関連付けられたXSLT文書の一例を示す図FIG. 4 is a diagram showing an example of an XSLT document associated with an XML document according to the embodiment. 同実施形態に係るΔXML文書の一例を示す図FIG. 5 is a diagram showing an example of a ΔXML document according to the embodiment. 同実施形態に係る差分変換部の構成例を示す図The figure which shows the structural example of the difference conversion part which concerns on the same embodiment 同実施形態に係る差分変換処理の手順の一例を示すフローチャートThe flowchart which shows an example of the procedure of the difference conversion process which concerns on the same embodiment 同実施形態に係るΔXML文書から擬似XML文書を生成する処理について説明するための図FIG. 6 is a diagram for explaining processing for generating a pseudo XML document from a ΔXML document according to the embodiment. 同実施形態に係る擬似XML文書から擬似HTMLp文書を生成する処理について説明するための図FIG. 6 is a view for explaining processing for generating a pseudo HTMLp document from a pseudo XML document according to the embodiment. 同実施形態に係る擬似HTMLp文書からΔHTMLp文書を生成する処理について説明するための図The figure for demonstrating the process which produces | generates (DELTA) HTMLp document from the pseudo | simulated HTMLp document which concerns on the embodiment 同実施形態に係る伸長処理の一例について説明するための図The figure for demonstrating an example of the expansion | extension process which concerns on the embodiment 一般的なクライアントとWebサーバとの間におけるXML文書及びXSLT文書の基本的な情報の流れについて説明するための図A diagram for explaining a basic information flow of an XML document and an XSLT document between a general client and a Web server 同実施形態に係るクライアント及びサーバ側プロキシ並びにWebサーバを含む通信システムの構成例を示す図2 is a diagram illustrating a configuration example of a communication system including a client, a server-side proxy, and a Web server according to the embodiment. 同実施形態に係るサーバ側プロキシの構成例を示す図The figure which shows the structural example of the server side proxy which concerns on the same embodiment 同実施形態に係るクライアントの構成例を示す図A diagram showing a configuration example of a client according to the embodiment 同実施形態に係るクライアントの処理手順の一例を示すフローチャートA flowchart showing an example of a processing procedure of a client according to the embodiment

符号の説明Explanation of symbols

101…XSLT判定部、102…ΔXML生成部、103…Δ−XSLT変換部、104…通常XSLT変換部、105…ブラウザ、121,12311…キャッシュ管理部、122…XML差分圧縮処理部、123…データ付加部、131…初回/差分判定部、132…初回変換部、133…差分変換部、201,1414…XMLキャッシュ、202…XSLTd用キャッシュ、203…HTMLp用キャッシュ、301…XML・XSLT・HTMLp対応テーブル、302…XSLT・XSLTd対応テーブル、303…XSLT・XSLTp対応テーブル、1321…XML伸長部、1323…XSLTp生成部、1322…XSLTd生成部、1324,13221,13231,1334…XSLT変換部、1325,1335…xpath除去フィルター、13212…XML差分解凍処理部、13222…差分ノード情報移行用メタXSLT保持部、13232…xpath埋め込み用メタXSLT保持部、1331…擬似XML生成部、1332…ΔHTML抽出部、1333…HTML伸長部、1200…Webサーバ、1210,1400…クライアント、1300…サーバ側プロキシ、1401…プラグイン、1301…XSLT−FP圧縮部、1302…Webキャッシュ、1411…XSLT伸長部、1412…XSLTキャッシュ、1413…XML伸長部   DESCRIPTION OF SYMBOLS 101 ... XSLT determination part, 102 ... (DELTA) XML production | generation part, 103 ... (DELTA) -XSLT conversion part, 104 ... Normal XSLT conversion part, 105 ... Browser, 121,12311 ... Cache management part, 122 ... XML difference compression process part, 123 ... Data Addition unit, 131 ... first time / difference determination unit, 132 ... first time conversion unit, 133 ... difference conversion unit, 201, 1414 ... XML cache, 202 ... cache for XSLTd, 203 ... cache for HTMLp, 301 ... compatible with XML / XSLT / HTMLp Table ... 302 ... XSLT / XSLTd correspondence table, 303 ... XSLT / XSLTp correspondence table, 1321 ... XML decompression unit, 1323 ... XSLTp generation unit, 1322 ... XSLTd generation unit, 1324, 13221, 13231, 1334 ... XSLT conversion unit, 1325 133 5 ... xpath removal filter, 13212 ... XML differential decompression processing unit, 13222 ... difference node information migration meta XSLT holding unit, 13232 ... xpath embedding meta XSLT holding unit, 1331 ... pseudo XML generation unit, 1332 ... ΔHTML extraction unit, 1333 ... HTML decompression unit, 1200 ... Web server, 1210,1400 ... Client, 1300 ... Server side proxy, 1401 ... Plug-in, 1301 ... XSLT-FP compression unit, 1302 ... Web cache, 1411 ... XSLT decompression unit, 1412 ... XSLT cache , 1413 ... XML extension part

Claims (13)

第1の構造化文書を記憶するための第1の記憶手段と、
構造化文書の構造を変換するためのスタイルシートであって前記第1の構造化文書に関連付けられたスタイルシートに基づき前記第1の構造化文書を変換して、第2の構造化文書を生成する第1の生成手段と、
この第1の生成手段により生成された第2の構造化文書を記憶するための第2の記憶手段と、
第3の構造化文書と、前記第1の記憶手段に記憶されている、該第3の構造化文書に関連付けられたスタイルシートと同一のスタイルシートが関連付けられた第1の構造化文書との間の差分を示す差分構造化文書を生成する第2の生成手段と、
前記第3の構造化文書に関連付けられた前記スタイルシートに基づき前記差分構造化文書を変換して、変換後差分構造化文書を生成する第3の生成手段と、
前記第3の生成手段により生成された変換後差分構造化文書と、前記差分構造化文書のもととなった前記第1の構造化文書を前記第1の生成手段により前記スタイルシートに基づき変換して得られる前記第2の構造化文書とをもとにして、前記第3の構造化文書を前記スタイルシートにより変換して得られる構造化文書に相当する第4の構造化文書を生成する第4の生成手段とを備えたことを特徴とする構造化文書処理装置。
First storage means for storing a first structured document;
A style sheet for converting the structure of the structured document, wherein the first structured document is converted based on a style sheet associated with the first structured document to generate a second structured document First generating means to:
Second storage means for storing the second structured document generated by the first generation means;
A third structured document and a first structured document stored in the first storage unit and associated with the same style sheet as the style sheet associated with the third structured document; Second generation means for generating a difference structured document indicating a difference between the two,
Third generation means for converting the difference structured document based on the style sheet associated with the third structured document and generating a converted difference structured document;
The converted difference structured document generated by the third generation unit and the first structured document that is the basis of the difference structured document are converted based on the style sheet by the first generation unit. Based on the second structured document obtained in this way, a fourth structured document corresponding to the structured document obtained by converting the third structured document with the style sheet is generated. A structured document processing apparatus comprising: a fourth generation unit.
前記第1の記憶手段は、前記第1の構造化文書と、該第1の構造化文書を識別する第1の識別情報とを対応付けて記憶するものであり、
前記第2の記憶手段は、前記第2の構造化文書と、該第2の構造化文書を識別する第2の識別情報とを対応付けて記憶するものであり、
前記構造化文書処理装置は、前記第2の記憶手段に記憶されている第2の構造化文書について、当該第2の構造化文書の第2の識別情報と、当該第2の構造化文書を生成するもととなった前記第1の構造化文書の第1の識別情報と、当該第2の構造化文書を生成するにあたって用いたスタイルシートを識別する第3の識別情報とを対応付けて記憶する第3の記憶手段を更に備え、
前記第4の生成手段は、前記差分構造化文書のもととなった前記第1の構造化文書の第1の識別情報と、前記スタイルシートの第3の識別情報とに基づいて、前記第3の記憶手段から、前記第2の構造化文書の第2の識別情報を求め、該第2の識別情報に基づき、前記第2の記憶手段から、前記第2の構造化文書を取得することを特徴とする請求項1に記載の構造化文書処理装置。
The first storage means stores the first structured document and first identification information for identifying the first structured document in association with each other.
The second storage means stores the second structured document in association with second identification information for identifying the second structured document;
For the second structured document stored in the second storage unit, the structured document processing device stores the second identification information of the second structured document and the second structured document. The first identification information of the first structured document that has been generated is associated with the third identification information that identifies the style sheet used to generate the second structured document. And further comprising third storage means for storing,
The fourth generation unit is configured to perform the first generation based on the first identification information of the first structured document that is the basis of the difference structured document and the third identification information of the style sheet. Second identification information of the second structured document is obtained from the third storage means, and the second structured document is obtained from the second storage means based on the second identification information. The structured document processing apparatus according to claim 1.
前記第3の構造化文書につき、前記第2、第3及び第4の生成手段により前記第4の構造化文書を生成することが可能か否かを、前記第3の構造化文書に関連付けられた前記スタイルシートに基づいて判定する判定手段を更に備え、
前記判定手段により可能であると判断された場合に、前記第2、第3及び第4の生成手段によりそれぞれ前記生成を行うことを特徴とする請求項1に記載の構造化文書処理装置。
Whether the fourth structured document can be generated by the second, third, and fourth generation means for the third structured document is associated with the third structured document. And a determination means for determining based on the style sheet,
2. The structured document processing apparatus according to claim 1, wherein when the determination unit determines that the determination is possible, the generation is performed by the second, third, and fourth generation units.
前記判定手段により可能でないと判断された場合に、前記第3の構造化文書を、該第3の構造化文書に関連付けられたスタイルシートにより変換する手段を更に備えたことを特徴とする請求項3に記載の構造化文書処理装置。   2. The apparatus according to claim 1, further comprising means for converting the third structured document by a style sheet associated with the third structured document when the determining means determines that the third structured document is not possible. 3. The structured document processing apparatus according to 3. 前記第3の構造化文書につき、前記第2、第3及び第4の生成手段により前記第4の構造化文書を生成することが可能か否かを、前記第3の構造化文書に関連付けられた前記スタイルシートに基づいて判定する判定手段を更に備え、
前記第2の生成手段は、前記判定手段による判定に先立って、前記差分構造化文書を生成するとともに、
前記判定手段により可能であると判断された場合に、前記第3及び第4の生成手段によりそれぞれ前記生成を行うことを特徴とする請求項1に記載の構造化文書処理装置。
Whether the fourth structured document can be generated by the second, third, and fourth generation means for the third structured document is associated with the third structured document. And a determination means for determining based on the style sheet,
It said second generating means, prior to the determination by the determining means, to generate a pre-Symbol differencing structured document,
The structured document processing apparatus according to claim 1, wherein the generation is performed by the third generation unit and the fourth generation unit, respectively, when it is determined by the determination unit.
前記判定手段により可能でないと判断された場合に、前記第2の生成手段により生成された前記差分構造化文書と前記第1の構造化文書とをもとにして復元した元の第3の構造化文書を、該第3の構造化文書に関連付けられたスタイルシートにより変換する手段を更に備えたことを特徴とする請求項5に記載の構造化文書処理装置。   The original third structure restored based on the difference structured document and the first structured document generated by the second generating means when it is determined by the determining means that it is not possible 6. The structured document processing apparatus according to claim 5, further comprising means for converting the structured document by a style sheet associated with the third structured document. 前記第2の生成手段は、前記第1の記憶手段に記憶されている第1の構造化文書のうち、前記第3の構造化文書に類似する第1の構造化文書を用いて、前記差分構造化文書を生成することを特徴とする請求項1に記載の構造化文書処理装置。   The second generation unit uses the first structured document similar to the third structured document among the first structured documents stored in the first storage unit, and uses the first structured document. The structured document processing apparatus according to claim 1, wherein the structured document is generated. 構造化文書を入力する手段を更に備え、
入力された前記構造化文書に類似する構造化文書が前記第1の記憶手段に記憶されている場合には、該入力された構造化文書を前記第3の構造化文書として処理し、記憶されていない場合には、該入力された構造化文書を前記第1の構造化文書として処理することを特徴とする請求項1に記載の構造化文書処理装置。
A means for inputting a structured document;
When a structured document similar to the input structured document is stored in the first storage means, the input structured document is processed and stored as the third structured document. 2. The structured document processing apparatus according to claim 1, wherein, if not, the inputted structured document is processed as the first structured document.
前記第4の生成手段により生成された前記第4の構造化文書を表示画面に表示させるための手段を更に備えたことを特徴とする請求項1に記載の構造化文書処理装置。   2. The structured document processing apparatus according to claim 1, further comprising means for displaying the fourth structured document generated by the fourth generating means on a display screen. 前記第2乃至第4の生成手段を同一の装置に設けたことを特徴とする請求項1に記載の構造化文書処理装置。   2. The structured document processing apparatus according to claim 1, wherein the second to fourth generation units are provided in the same apparatus. 前記第2の生成手段を第1の装置に設け、前記第3及び第4の生成手段を該第1の装置とは別の装置に設けたことを特徴とする請求項1に記載の構造化文書処理装置。   2. The structured structure according to claim 1, wherein the second generation unit is provided in a first device, and the third and fourth generation units are provided in a device different from the first device. Document processing device. 構造化文書処理装置の構造化文書処理方法であって、
前記構造化文書処理装置の備える第1の記憶手段が、第1の構造化文書を記憶する第1の記憶ステップと、
前記構造化文書処理装置の備える第1の生成手段が、構造化文書の構造を変換するためのスタイルシートであって前記第1の構造化文書に関連付けられたスタイルシートに基づき前記第1の構造化文書を変換して、第2の構造化文書を生成する第1の生成ステップと、
前記構造化文書処理装置の備える第2の記憶手段が、前記第1の生成手段により生成された第2の構造化文書を記憶する第2の記憶ステップと、
前記構造化文書処理装置の備える第2の生成手段が、第3の構造化文書と、前記第1の記憶手段に記憶されている、該第3の構造化文書に関連付けられたスタイルシートと同一のスタイルシートが関連付けられた第1の構造化文書との間の差分を示す差分構造化文書を生成する第2の生成ステップと、
前記構造化文書処理装置の備える第3の生成手段が、前記第3の構造化文書に関連付けられた前記スタイルシートに基づき前記差分構造化文書を変換して、変換後差分構造化文書を生成する第3の生成ステップと、
前記構造化文書処理装置の備える第4の生成手段が、前記第3の生成手段により生成された変換後差分構造化文書と、前記差分構造化文書のもととなった前記第1の構造化文書を前記第1の生成手段により前記スタイルシートに基づき変換して得られる前記第2の構造化文書とをもとにして、前記第3の構造化文書を前記スタイルシートにより変換して得られる構造化文書に相当する第4の構造化文書を生成する第4の生成ステップとを有することを特徴とする構造化文書処理方法。
A structured document processing method for a structured document processing apparatus, comprising:
First storage means provided in the said structured document processing apparatus, a first storage step of memorize the first structured document,
A first generation unit included in the structured document processing apparatus is a style sheet for converting the structure of the structured document, and the first structure is based on a style sheet associated with the first structured document. A first generation step of converting the structured document to generate a second structured document;
Second storage means provided in the said structured document processing apparatus, a second storage step of memorize the second structured document generated by said first generating means,
The second generation means included in the structured document processing apparatus is the same as the third structured document and the style sheet associated with the third structured document stored in the first storage means. A second generation step of generating a difference structured document indicating a difference from the first structured document associated with the style sheet;
Third generation means included in the structured document processing apparatus converts the differential structured document based on the style sheet associated with the third structured document, and generates a converted differential structured document. A third generation step;
The fourth generation unit included in the structured document processing apparatus includes the converted differential structured document generated by the third generating unit and the first structured source that is the basis of the differential structured document. Obtained by converting the third structured document using the style sheet based on the second structured document obtained by converting the document based on the style sheet by the first generating means. A structured document processing method, comprising: a fourth generation step of generating a fourth structured document corresponding to the structured document.
構造化文書処理装置としてコンピュータを機能させるためのプログラムにおいて、
前記プログラムは、
第1の構造化文書を第1の記憶手段に記憶する第1の記憶ステップと、
構造化文書の構造を変換するためのスタイルシートであって前記第1の構造化文書に関連付けられたスタイルシートに基づき前記第1の構造化文書を変換して、第2の構造化文書を生成する第1の生成ステップと、
この第1の生成ステップにより生成された第2の構造化文書を第2の記憶手段に記憶する第2の記憶ステップと、
第3の構造化文書と、前記第1の記憶手段に記憶されている、該第3の構造化文書に関連付けられたスタイルシートと同一のスタイルシートが関連付けられた第1の構造化文書との間の差分を示す差分構造化文書を生成する第2の生成ステップと、
前記第3の構造化文書に関連付けられた前記スタイルシートに基づき前記差分構造化文書を変換して、変換後差分構造化文書を生成する第3の生成ステップと、
前記第3の生成ステップにより生成された変換後差分構造化文書と、前記差分構造化文書のもととなった前記第1の構造化文書を前記第1の生成ステップにより前記スタイルシートに基づき変換して得られる前記第2の構造化文書とをもとにして、前記第3の構造化文書を前記スタイルシートにより変換して得られる構造化文書に相当する第4の構造化文書を生成する第4の生成ステップとをコンピュータに実行させることを特徴とするプログラム。
In a program for causing a computer to function as a structured document processing apparatus,
The program is
A first storage step of storing a first structured document in a first storage means;
A style sheet for converting the structure of the structured document, wherein the first structured document is converted based on a style sheet associated with the first structured document to generate a second structured document A first generating step,
A second storage step of storing the second structured document generated by the first generation step in a second storage means;
A third structured document and a first structured document stored in the first storage unit and associated with the same style sheet as the style sheet associated with the third structured document; A second generation step of generating a difference structured document indicating the difference between;
A third generation step of converting the differential structured document based on the style sheet associated with the third structured document to generate a converted differential structured document;
The converted difference structured document generated by the third generation step and the first structured document that is the basis of the difference structured document are converted based on the style sheet by the first generation step. Based on the second structured document obtained in this way, a fourth structured document corresponding to the structured document obtained by converting the third structured document with the style sheet is generated. A program for causing a computer to execute the fourth generation step.
JP2004244119A 2004-08-24 2004-08-24 Structured document conversion apparatus, structured document conversion method and program Expired - Fee Related JP3974606B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004244119A JP3974606B2 (en) 2004-08-24 2004-08-24 Structured document conversion apparatus, structured document conversion method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004244119A JP3974606B2 (en) 2004-08-24 2004-08-24 Structured document conversion apparatus, structured document conversion method and program

Publications (2)

Publication Number Publication Date
JP2006065406A JP2006065406A (en) 2006-03-09
JP3974606B2 true JP3974606B2 (en) 2007-09-12

Family

ID=36111883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004244119A Expired - Fee Related JP3974606B2 (en) 2004-08-24 2004-08-24 Structured document conversion apparatus, structured document conversion method and program

Country Status (1)

Country Link
JP (1) JP3974606B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5194936B2 (en) * 2008-03-27 2013-05-08 日本電気株式会社 File conversion apparatus, file conversion method, and program

Also Published As

Publication number Publication date
JP2006065406A (en) 2006-03-09

Similar Documents

Publication Publication Date Title
US5826025A (en) System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups
Laakko et al. Adapting web content to mobile user agents
TW571204B (en) Content publication system for supporting real-time integration and processing of multimedia content including dynamic data, and method thereof
US6848079B2 (en) Document conversion using an intermediate computer which retrieves and stores position information on document data
EP0753821B1 (en) Information management apparatus providing efficient management of multimedia titles in a client-server network
US20140033010A1 (en) Method and system for dynamic assembly of form fragments
US7171614B2 (en) Displaying plug-in derived content in an application&#39;s browser-embedded window with callbacks
JP2006024179A (en) Structured document processing device, structured document processing method and program
JPH08255155A (en) Device and method for full-text registered word retrieval
JP4388929B2 (en) Structured document structure conversion apparatus, structure conversion method, and recording medium
JP4216323B2 (en) Structured data conversion method
US6766350B1 (en) Shared management of data objects in a communication network
JP2000076118A (en) Distributed file processor and distributed file processing method
JPWO2006137563A1 (en) Data processing apparatus and data processing method
KR20020069229A (en) Method and apparatus for compressing textual documents
JP5347965B2 (en) XML data processing system, data processing method used in the system, and XML data processing control program
US20090094273A1 (en) Information processing apparatus and control method thereof, and document verification apparatus and control method thereof
WO2006137562A1 (en) Document processing device and document processing method
JP2008097215A (en) Data processor
US7143133B2 (en) System and method for appending server-side glossary definitions to transient web content in a networked computing environment
WO2007132568A1 (en) Data processing server and data processing method
JP2000066656A (en) Special character processing system for dynamic document and recording medium having recorded special character processing program thereon
US7814408B1 (en) Pre-computing and encoding techniques for an electronic document to improve run-time processing
US6714950B1 (en) Methods for reproducing and recreating original data
JP3974606B2 (en) Structured document conversion apparatus, structured document conversion method and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070320

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070518

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: 20070612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070614

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120622

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees