JP3857663B2 - 構造化文書編集装置、構造化文書編集方法及びプログラム - Google Patents

構造化文書編集装置、構造化文書編集方法及びプログラム Download PDF

Info

Publication number
JP3857663B2
JP3857663B2 JP2003081213A JP2003081213A JP3857663B2 JP 3857663 B2 JP3857663 B2 JP 3857663B2 JP 2003081213 A JP2003081213 A JP 2003081213A JP 2003081213 A JP2003081213 A JP 2003081213A JP 3857663 B2 JP3857663 B2 JP 3857663B2
Authority
JP
Japan
Prior art keywords
document
xslt
node
xml
update data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003081213A
Other languages
English (en)
Other versions
JP2004030582A (ja
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 JP2003081213A priority Critical patent/JP3857663B2/ja
Priority to US10/424,727 priority patent/US7146565B2/en
Publication of JP2004030582A publication Critical patent/JP2004030582A/ja
Application granted granted Critical
Publication of JP3857663B2 publication Critical patent/JP3857663B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Description

【0001】
【発明の属する技術分野】
本発明は、構造化文書を表示画面上で編集するための構造化文書編集装置、構造化文書編集方法及びプログラムに関する。
【0002】
【従来の技術】
近年、インターネット技術、特にWeb技術が普及し、HTML(Hyper Text Markup Language)で記述された文書は、OSやWebブラウザの種類にかかわらずどこでも閲覧できるようになった。
【0003】
そして、HTML文書では、文章と、スタイル情報(フォントサイズ、フォント種類、文字の色、背景の色、テーブルの幅などの画面への表示の仕方に関係する情報)とが混在しており、また、文章中のテキストを囲うタグは画面上での構造に関する情報しかもてないため、HTML文書の内容は計算機で利用する情報としては活用しづらかった。このため、意味を持たせたタグでテキストを囲って構造化する技術である構造化文書技術の一つとして、XML(Extensible Markup Language)(例えば、非特許文献1参照)が標準化され、広く使われるようになった。
【0004】
一方、XML文書そのものは人間にとって読みづらいため、XML文書を、スタイル情報を追加するなどしたHTML文書に変換することによって、見やすい形に整形した上で、Webブラウザ上で閲覧可能にする、スタイル技術の一つとして、XSLT(XSL Transformation)(例えば、非特許文献2参照)が開発され、標準化された。
【0005】
XSLTは、XMLで記述されたXML文書を変換するためのプログラム言語であり、XSLTで記述されたXSLT文書を実行し、XML文書を変換するプログラムは、XSLTプロセッサと呼ばれ、そして、XSLTプロセッサを内蔵したWebブラウザが現在普及しつつある。
【0006】
そして、このXML文書を編集する手段としては、テキストエディタで直接データを編集する方法や、専用のエディタで階層構造上で操作する方法の他に、特定の用途向けのXML文書のようにデータ項目が決まっている場合には、その用途専用のHTMLフォームを作成し、そのフォームに入力された内容により、Webサーバで元のXML文書を更新する方法などがある。
【0007】
一方、XSLT文書を編集するには、専用の編集装置を用いる方法や、XSLT文書を直接テキストエディタで編集する方法がある。また、XSLT文書での変換が正しく動くかどうかデバッグする方法としては、専用のデバッガを用いるか、XSLT文書を書き換え、Webブラウザ上で結果を確認しながら行う方法があった。
【0008】
なお、XSLT文書によりXML文書を変換して得られる構造化文書としては、HTML文書の他に、例えば、XHTML(The Extesible Hyper Text Markup Language)文書(例えば、非特許文献3参照)、SVG(Standard Vector Graphics)文書(例えば、非特許文献4参照)、MathML(Mathematical Markup Language)文書(例えば、非特許文献5参照)などがある。
【0009】
【非特許文献1】
http://www.w3.org/TR/REC−xml
【0010】
【非特許文献2】
http://www.w3.org/TR/xslt
【0011】
【非特許文献3】
http://www.w3.org/TR/xhtml1/
【0012】
【非特許文献4】
http://www.w3.org/TR/SVG/
【0013】
【非特許文献5】
http://www.w3.org/TR/REC−MathML
【0014】
【発明が解決しようとする課題】
しかしながら、上記のような従来技術では、XML文書の編集手段としては、以下に述べるような問題点があった。
【0015】
すなわち、XML文書を任意のXSLTでHTML文書に変換すると、Webブラウザ上で表示した画面イメージの上で、元のXML文書を編集することはできない。つまり、XML文書を編集する手段は、テキストのままの読みづらい状態で編集するか、あるいは、階層構造などの専用の画面を持つエディタで編集する必要がある。または、特定用途のXML文書のデータ構造ごとに、専用の入力画面を作成する必要がある。
【0016】
また、XML文書をHTML文書に変換するXSLTプロセッサを修正して、画面イメージとXML文書のノードとの対応付けを記憶し、画面イメージ上での編集を元のXML文書に反映させることを可能にする方法も考えられるが、この方法では、特殊なXSLTプロセッサを持つ特別なWebブラウザが必要になるため、どのWebブラウザでも閲覧できるというWeb技術の特徴が阻害される大きな問題点がある。
【0017】
また、同様に、HTML文書への変換に用いられるXSLT文書も、Webブラウザ上で編集することができないため、XSLTで追加されるスタイル情報などをWebブラウザ上で変更することもできない。
【0018】
また、同様に、Webブラウザ上のHTML文書のノードがXSLT文書中のどのテンプレートで作成されたものかを調べることができないため、Webブラウザ上で表示された画面イメージ上で、XSLTのデバッグを行うことは困難である。
【0019】
さらに、XML文書を編集する際には、権限などに応じてXML文書の一部のみ編集可能なことが望まれる場合がある。また、編集方法もテキストボックスでの入力や、選択ボックスで選択入力などから指定できることが望まれる。しかし、XML文書やXSLT文書には、このような編集機能を記述することはできない。
【0020】
以上の点は、変換後の構造化文書がHTML文書以外の構造化文書になる場合も同様である。
【0021】
本発明は、上記事情を考慮してなされたもので、構造化文書をXSLTで変換した画面イメージのままで、元の構造化文書や変換で用いられるXSLT文書の編集やデバッグを行うことを可能にした構造化文書編集装置、構造化文書編集方法及びプログラムを提供することを目的とする。
【0022】
また、本発明は、構造化文書をXSLTで変換した画面イメージのままで、画面イメージ上の指定個所に入力ボックスや選択ボックスなどを選択的に追加し、多様な操作方法で構造化文書編集を可能にした構造化文書編集装置、構造化文書編集方法及びプログラムを提供することを目的とする。
【0023】
【課題を解決するための手段】
本発明は、XMLノードを有するXML文書を編集対象とし、該XML文書と、該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、前記XSLT文書中に、前記XML文書の構造の要素を用いて前記構造化文書の構造の要素を生成するための要素が存在する場合に、前記構造化文書の構造の要素と、該要素を生成するのに用いられる前記XML文書の構造の要素との対応関係を示す第1のデータを生成させるためのXSLTプロセス命令である第1の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、表示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、前記表示画面上で前記構造化文書に対する編集の内容を示す更新データの入力を受け付けるための更新データ入力部と、前記更新データ入力部により受け付けられた前記更新データ及び前記XSLTプロセッサにより生成された前記第1のデータに基づいて、前記XML文書の内容を更新する更新処理を行う文書更新部とを備えたことを特徴とする。
また、本発明は、XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書を編集対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、前記XSLT文書中に、前記XSLT文書の構造の要素を用いて前記構造化文書の構造の要素を生成するための要素が存在する場合に、前記構造化文書の構造の要素と、該要素を生成するのに用いられる前記XSLT文書の構造の要素との対応関係を示す第6のデータを生成させるためのXSLTプロセス命令である第6の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、表示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、前記表示画面上で前記構造化文書に対する編集の内容を示す更新データの入力を受け付けるための更新データ入力部と、前記更新データ入力部により受け付けられた前記更新データ及び前記XSLTプロセッサにより生成された前記第6のデータに基づいて、前記XSLT文書の内容を更新する更新処理を行う文書更新部とを備えたことを特徴とする。
本発明によれば、XSLT変換部によって変換後XSLT文書中に追加された命令に基づいて、XSLTプロセッサが、構造化文書の構造の要素と、該要素を生成するのに用いられるXML文書の構造の要素との対応関係を示す第1あるいは第6のデータ(例えば、構造化文書の或るノードに対応する変換元のXML文書中のノードを特定可能とする情報)、あるいは該要素を生成するのに用いられるXSLT文書の構造の要素との対応関係を示す第6のデータ(例えば、構造化文書の或るノードに対応する変換前のXML文書中のノードを特定可能とする情報)を生成し、保持される(例えば、構造化文書中に挿入する)ことで、構造化文書に対する編集をすることができるようになる。例えば、変換元のXML文書中のノード、あるいは変換前のXSLT文書中のノードを取得することなどが可能になるので、画面イメージ上で(例えば構造化文書編集装置がWebブラウザに組み込まれたものである場合にはWebブラウザ上で表示された画面イメージ上で)整形された表示画面のままで、XML文書を編集すること(すなわち、構造化文書を編集し、その編集内容を変換元のXML文書へ反映させること)、あるいはXSLT文書を編集すること(すなわち、構造化文書を編集し、その編集内容を変換前のXSLT文書へ反映させること)などが可能になる。
また、本発明は、XMLノードを有するXML文書を編集対象とし、該XML文書と、該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、前記XSLT文書中にノード値出力命令が存在する場合に、該ノード値出力命令により生成される前記構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになる前記XML文書中のノードを特定可能とする第2のデータを生成させるためのXSLTプロセス命令である第2の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、表示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、前記表示画面上で前記構造化文書のノードに対する編集の内容を示す更新データの入力を受け付けるための更新データ入力部と、前記更新データ入力部により前記構造化文書の或るノードに対する前記更新データが受け付けられた場合に、前記第2のデータに基づいて、該或るノードのもととなった前記XML文書中のノードを特定し、該更新データに基づいて、該特定されたノードに関する更新処理を行う文書更新部とを備えたことを特徴とする。
本発明によれば、例えば、変換される前のXML文書中のノードを取得できることを用いて、既存のWebブラウザ上で変換された構造化文書を通して、変換元のXML文書のデータを編集する、というようなことが可能になる。
また、本発明は、XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書を編集対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、前記XSLT文書中に、そのノードと同名のノードを前記構造化文書中に出力するノード出力命令が存在する場合に、該ノード出力命令により生成される前記構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになる前記XSLT文書中のノードを特定可能とする第3のデータを生成させるためのXSLTプロセス命令である第3の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、表示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、前記表示画面上で前記構造化文書のノードに対する編集の内容を示す更新データの入力を受け付けるための更新データ入力部と、前記更新データ入力部により前記構造化文書の或るノードに対する前記更新データが受け付けられた場合に、前記第3のデータに基づいて、該或るノードのもととなった前記XSLT文書中のノードを特定し、該更新データに基づいて、該特定されたノードに関する更新処理を行う文書更新部とを備えたことを特徴とする。
本発明によれば、例えば、変換される前のXSLT文書中のノードを取得できることを用いて、既存のWebブラウザ上で変換された構造化文書を通して、変換元のXSLT文書のデータを編集する、というようなことが可能になる。
また、例えば、XSLTプロセッサへ入力されるXSLT文書へいくつかの命令を追加し、出力される構造化文書にXSLT文書中の出力命令への参照を示すデータを挿入することで、既存のWebブラウザ上で、変換に用いたXSLT文書中の出力命令を取得する、というようなことが可能になる。
また、例えば、変換に用いたXSLT文書中の出力命令を取得できることを用いて、既存のWebブラウザ上で変換された構造化文書を通して、XSLT文書で定義されたフォントやテーブルの幅などのスタイル情報を編集する、というようなことが可能になる。
また、本発明は、前記XSLT変換部は、前記ノードに対する編集方法を指定する第4のデータを生成させるためのXSLTプロセス命令である第4の命令をも、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換することを特徴とする。
また、本発明は、前記XSLT変換部は、前記ノードに対する編集方法を指定する第4のデータを生成させるためのXSLTプロセス命令である第4の命令をも、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するものであり、前記更新データ入力部は、前記表示画面上で前記構造化文書のノードに対する編集の内容を示す前記更新データの入力を受け付けるにあたって、前記第4のデータに基づいて、該ノードに対して指定された前記編集方法によって前記更新データの入力を受け付けることを特徴とする。
本発明によれば、構造化文書をXSLTで変換した画面イメージのままで、画面イメージ上の指定個所に入力ボックスや選択ボックスなどを追加し、さまざまな編集操作を追加することにより、構造化文書編集を行うことが可能になる。
また、本発明は、XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書をデバッグ対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、前記XSLT文書中にテンプレートが存在する場合に、前記構造化文書中のノードの全部又は一部について、当該ノードを生成するにあたって適用された前記XSLT文書中のテンプレートを特定可能とする第5のデータを生成させるためのXSLTプロセス命令である第5の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、表示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、前記表示画面上で前記構造化文書のノードに対する選択指示を受け付けるための更新データ入力部と、前記更新データ入力部により前記構造化文書の或るノードに対する前記選択指示が受け付けられた場合に、前記第5のデータに基づいて、該或るノードに適用された前記XSLT文書中のテンプレートを特定し、該特定されたテンプレートに関する情報を前記表示画面に表示させるための制御を行う第2の表示制御手段とを備えたことを特徴とする。
本発明によれば、例えば、XSLTプロセッサへ入力されるXSLT文書へいくつかの命令を追加し、出力される構造化文書にXSLT文書中のテンプレートへの参照を示すデータを挿入することで、既存のWebブラウザ上で、変換に用いたXSLT文書中のテンプレートを取得する、というようなことが可能になる。
また、例えば、変換に用いたXSLT文書中のテンプレートを取得できることを用いて、既存のWebブラウザ上で変換された構造化文書を通して、変換に用いられたXSLT文書中のテンプレートを表示することでXSLT文書をデバッグする、というようなことが可能になる。
また、本発明は、XMLノードを有するXML文書と、該XMLノードを参照して該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とを用いて、該XMLノードを表示するためのHTML文書を生成し、該HTML文書に基づく画像を参照したユーザからの該HTML文書に対する更新の内容を示す更新データの入力を受け付ける構造化文書編集装置において、前記XML文書のXMLノードを参照する前記XSLT文書のXSLTノードに、前記XML文書におけるXMLノードの位置を識別する情報を付与するXSLTプロセス命令である位置識別情報付与命令を追加して、変換後XSLT文書を生成するXSLT変換部と、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記位置識別情報付与命令により位置識別情報が付与されたHTMLノードを有するHTML文書を生成するXSLTプロセッサと、前記HTML文書のHTMLノードに対する更新の内容を示す更新データの入力を受け付ける更新データ入力部と、受け付けられた前記更新データと、更新対象となった前記HTMLノードに付与された前記位置識別情報とを用いて、前記XML文書において前記位置識別情報が示す位置の前記XMLノードを、前記更新データに基づいて更新するXML文書更新部と、前記HTML文書を表示する表示手段とを備え、前記更新データ入力部は、前記表示手段に表示された前記HTML文書の画像上で前記更新データの入力を受け付けるものであることを特徴とする。
また、本発明は、XMLノードを有するXML文書と、該XMLノードを参照して該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とを用いて、該XMLノードを表示するためのHTML文書を生成する第1の装置と、該HTML文書に基づく画像を参照したユーザからの該HTML文書に対する更新の内容を示す更新データの入力を受け付ける第2の装置とからなる構造化文書編集装置において、前記第1の装置は、前記XML文書のXMLノードを参照する前記XSLT文書のXSLTノードに、前記XML文書におけるXMLノードの位置を識別する情報を付与するXSLTプロセス命令である位置識別情報付与命令を追加して、変換後XSLT文書を生成するXSLT変換部と、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記位置識別情報付与命令により位置識別情報が付与されたHTMLノードを有するHTML文書を生成するXSLTプロセッサと、生成された前記HTML文書を、前記第2の装置へ送信する送信手段と、前記第2の装置から送信された、前記HTML文書のHTMLノードに対する更新の内容を示す更新データと、更新対象となった前記HTMLノードに付与された前記位置識別情報とを受信する受信手段と、受信した前記更新データと前記位置識別情報とを用いて、前記XML文書において前記位置識別情報が示す位置の前記XMLノードを、前記更新データに基づいて更新するXML文書更新部とを備え、前記第2の装置は、前記第1の装置から送信された前記HTML文書を受信する受信手段と、前記HTML文書のHTMLノードに対する更新の内容を示す更新データの入力を受け付ける更新データ入力部と、受け付けられた前記更新データと、更新対象となった前記HTMLノードに付与された前記位置識別情報とを、前記第1の装置へ送信する送信手段と、前記HTML文書を表示する表示手段とを備え、前記更新データ入力部は、前記表示手段に表示された前記HTML文書の画像上で前記更新データの入力を受け付けるものであることを特徴とする。
【0040】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【0041】
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0042】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0043】
図1に、本実施形態に係る構造化文書編集システムの構成例を示す。
【0044】
図1に示されるように、本システムでは、Webサーバ11が計算機1上で実現され、Webブラウザ21が計算機2上で実現され、計算機1と計算機2とがネットワーク3で接続され、(計算機1上の)Webサーバ11と(計算機2上の)Webブラウザ21との間で、データであるXML文書101とXSLT文書102とを送受信可能に設定されている。
【0045】
また、ユーザが計算機2に配置されたWebブラウザ21上で(該Webブラウザ21に搭載された)XML文書編集装置(構造化文書編集装置)22を操作することにより、ネットワーク3とWebサーバ11とを介して、計算機1に配置されたXML文書101とXSLT文書102を閲覧し、編集できるように、設定がなされている。
【0046】
なお、ネットワーク3は、有線ネットワークであっても、無線ネットワークであっても、有線の部分と無線の部分とを含むネットワークであってもよい。また、ネットワーク3は、インターネットであってもよいし、家庭網や企業網であってもよいし、通信事業者網であってもよいし、Webサーバがインターネット上にあり、WebブラウザがLAN上にあるようなものであってもよい。
【0047】
また、図1ではWebブラウザ21を配置した計算機2が1台のみ示されているが、Webブラウザ21を配置した計算機2と同様のものが複数台あっても構わない。
【0048】
また、計算機1のWebサーバ11とXML文書101とXSLT文書102とを計算機2側に配置し、計算機1とネットワーク3が省略された構成も可能である。
【0049】
また、計算機2は、CPUを内蔵する携帯電話端末やネットワーク家電等であってもよい。
【0050】
なお、以下で説明する各機能や各処理は、所定のソフトウェアがコンピュータ及び周辺機器を制御することで実現されるものとして、各機能や各処理に対応する仮想的回路ブロックを想定して説明しており、各ブロックに対して、各ハードウェア要素やソフトウェア要素が必ずしも1対1に対応しなくても構わない。また、以下で説明する各機能や各処理の全部又は一部を(あるいは以下で説明する各機能や各処理を搭載したWebブラウザ自体を)半導体チップなどのハードウェアで構成することも可能である。
【0051】
さて、XML文書編集装置22では、対象となるXML文書を、所定のXSLT文書をもとに、他の構造化文書に変換するが、変換後の構造化文書としては種々の形態が使用可能であり、例えば、XHTML(The Extesible Hyper Text Markup Language)文書、SVG(Standard Vector Graphics)文書、MathML(Mathematical Markup Language)文書、他のXML文書(例えば元のXML文書に修正が加えられたもの)などがある。変換後の構造化文書として、どのようなものを使用するかについては、例えば、当該Webブラウザがどのような構造化文書をサポートしているかによって決定される。
【0052】
以下では、変換後の構造化文書として、HTML文書を用いるものとして説明する。
【0053】
ここで、図2に以下の説明で用いるXML文書の一例を、図3に同XSLT文書の一例を、図4に同HTML文書をブラウザ上で閲覧した場合の画面の一例をそれぞれ示す。以下の説明において、HTML文書やXML文書やXSLT文書等の構造化文書中の「ノード」とはタグやテキストや属性などのことを指し、「タグ」とは例えば図2や後に示す図7中の<book>や<TABLE>などの部分を指す。
【0054】
(従来技術によるWebブラウザによるXML文書の閲覧システムの構成)
ここで、XML文書をXSLT文書によりHTML文書に変換して、整形した上でWebブラウザで閲覧する従来システムについて説明する。
【0055】
図43は、その従来システムの機能ブロック構成である。従来システムでは、Webサーバ上のXML文書1201(図2参照)は、XSLTプロセッサ1200により、図44に例示するようなHTML文書1204に変換され、変換されたHTML文書1204はWebブラウザ1200上の表示装置205に表示される(図4参照)。このとき、HTML文書への変換方法は、Webサーバ上のXSLT文書1202(図3参照)で定義される。
【0056】
なお、XSLTプロセッサ1203を、Webブラウザ1200上に配置し、Webブラウザ1200でHTML文書に変換して表示する構成の他に、XSLTプロセッサ1203を、Webサーバ側の計算機上に配置して、Webサーバ上でHTML文書への変換を行い、Webブラウザ1200に変換後のHTML文書を送信する構成もある。
【0057】
いずれにしてもこれら従来システムでは、変換された画面に表示されるHTML文書1204中のノードと、元のXML文書1201中のノードとの対応が分からないため、元のXML文書201をWebブラウザ1200上で編集することはできない。
【0058】
また、図45は、従来システムのHTMLエディタの機能ブロック構成である。HTML表示配置部1402は、HTML文書1401を読み込み、画面上のグラフィックス1403を生成し、表示画面1405に表示する。その際、画面上のグラフィックスとHTML文書中のノードの対応関係を対応関係記憶部1404に記憶する。ユーザが更新データ入力部1406を介して更新データを入力すると、HTML更新部1407は、上記の対応関係を参照して、HTML1401の該当する部分を更新する。このように対応関係記憶部1404に記憶されている対応関係を用いることで、HTMLエディタでは画面イメージの上で、変換される前のHTML文書を編集する機能を実現しているが、この構成をXML文書編集装置に応用するには、対応関係を記憶するようにXSLTプロセッサを変更する必要があり、既存のWebブラウザ上での編集を実現することはできない。
【0059】
(XML編集装置の構成について)
図5に、本実施形態に係るXML文書編集装置(構造化文書編集装置)の構成例を示す。
【0060】
図5に示されるように、本実施形態のXML文書編集装置(図1の22)は、XSLTプロセッサ904、XSLT変換部902、変換後文書記憶部906、更新データ入力部908、XML文書更新部909を備えている。
【0061】
XML文書905は、例えば図1のWebサーバ11から取得したものであり、その一例が先に示した図2である。ただし、XML文書905の内容は、ユーザの編集等の操作により更新されることによって変化していく。
【0062】
XSLT文書901は、例えば図1のWebサーバ11から取得したものであり、その一例が先に示した図3である。
【0063】
XSLT変換部902は、XSLT文書901を入力として、他のXSLT文書である変換されたXSLT文書903への変換処理を行う。すなわち、本実施形態では、元のXSLT文書901の代わりに、変換されたXSLT文書903がXSLTプロセッサ904に渡される。
【0064】
なお、図5では、XSLT変換部902をXSLTプロセッサ904と同じ計算機(図1の2)に配置した場合の一例を示しているが、XSLT変換部902をWebサーバの配置された計算機(図1の1)に配置しても構わない。また、Webブラウザ21上のスクリプトなどで実現しても構わない。
【0065】
XSLTプロセッサ904は、XML文書905を、(変換された)XSLT文書903に記載されている命令にしたがって変換し、その結果を変換後文書記憶部906に渡すものである。XSLTプロセッサ904の仕様は、例えば、標準化団体であるW3Cで規格化されたものに従って構わない(具体的には、例えば、Webブラウザに付属する機能などで実現される)。
【0066】
変換後文書記憶部906は、表示装置907上で画面表示を生成するためのデータと、画面構成要素から元のXML文書905中のノードを参照するデータとを保持する。
【0067】
表示装置907は、Webブラウザ21のWindowなどで実現される部分で、変換後文書記憶部906の画面表示を生成するためのデータを表示する。
【0068】
更新データ入力部908は、更新するデータをWebブラウザ21上で入力する部分で、具体的には、例えば、Webブラウザ21上のスクリプトとWebブラウザ21上のテキスト入力ボックスなどで実現される。
【0069】
XML文書更新部909は、例えばWebブラウザ21上のスクリプトなどで実現されたものであり、変換後文書記憶部906からは元のXML文書905中のノードへの参照を、更新データ入力部908からは入力データを受取り、XML文書905を更新する機能を持つ。
【0070】
(サーバ側にXSLTプロセッサを配置する構成について)
図6に、本実施形態に係るXML文書編集装置(構造化文書編集装置)の他の構成例を示す。図6は、図5の構成例と基本的な機能は同じであるが、Webサーバの配置された計算機(図1の1)にXSLTプロセッサを配置する場合の構成例を示している。
【0071】
図6では、XSLTプロセッサ904、XSLT変換部902、変換後文書記憶部906がWebサーバ(図1の11)側に配置され、表示装置907、更新データ入力部908、XML文書更新部909がWebブラウザ(図1の21)側に配置される。また、サーバ側XML文書更新部912がWebサーバ側に配置される。
【0072】
さらに、送信部913及び更新データ受信部914と、受信部915及び更新データ送信部916が、それぞれ、Webサーバ側とWebブラウザ側に配置され、それらを用いてデータ送受信を行う。
【0073】
この場合、Webサーバ側で変換後文書が作成され、この変換後文書に関するデータは、変換後文書記憶部906に一旦記憶された後に、Webサーバ側の送信部913とWebブラウザ側の受信部915を介して、Webブラウザ側の表示装置909、更新データ入力部908あるいはXML文書更新部909へ転送される。
【0074】
Webブラウザ側のXML文書更新部909は、更新データ入力部908からの入力に応じて、元のXML文書の更新内容を示す更新情報(例えば、元のXML文書で更新されるノードを指示する情報、更新の内容(例えば、ノードの追加、ノードの削除、ノードの値の変更等)を指示する情報など)を生成する。
【0075】
生成された更新情報は、XML文書更新部909から、Webブラウザ側の更新データ送信部916とサーバ側の更新データ受信部914を介して、サーバ側XML文書更新部912へ転送される。
【0076】
サーバ側XML文書更新部912は、受け取った更新情報に従って元のXML文書を更新する。
【0077】
なお、図6において、Webブラウザ側の受信部915の後段に、さらに、ブラウザ側変換後文書記憶部を設け、Webサーバ側の変換後文書記憶部906から、Webサーバ側の送信部913とWebブラウザ側の受信部915を介して、ブラウザ側変換後文書記憶部へ、変換後文書に関するデータを転送して記憶させておき、その後で、図5と同様の方法で、ブラウザ側変換後文書記憶部から、Webブラウザ側の表示装置909、更新データ入力部908あるいはXML文書更新部909へ転送するようにしてもよい。
【0078】
(変換後文書記憶部のデータ構造について)
次に、上記のような本実施形態において、変換後文書記憶部906に記憶されるデータ構造の例を説明する。
【0079】
変換後文書記憶部906は、表示装置907上で画面表示を生成するためのデータと、画面構成要素から元のXML文書905中のノードを参照するデータとを保持する。図7に、この変換後文書記憶部906に記録されるデータの一例を示す。図7は、図2のXML文書と図3のXSLT文書とを処理した場合の例であり、一つのHTML文書で全体を構成したもの(すなわち、元のXML文書ノードへの参照を持つHTML文書)である。なお、図7は、その破線1001で示す部分以外は図44と同じ構造の例である。
【0080】
図7の破線1001で示す部分は、XML文書中のノードから生成されるテキストを、他のテキストと区別し、さらに、元のXML文書905中のノードへの参照(1002)を保持する部分であり、HTML文書中のノードと元のXML文書中のノードとの対応付けを記憶し、表示装置907上の画面構成要素と元のXML文書中のノードとを対応付ける部分である。
【0081】
元のXML文書中のノードへの参照は、XML文書中のノードの個数を数えたものを符号化する方法や、XPathを用いる方法などがある。図7中の実線1002で囲まれた部分「1.1.1」が前者の例であり、元のXML文書中のノードを各階層ごとにかぞえたものをピリオド「.」で連結した文字列としたものである。例えば、「1.2.1」は、元のXML文書中の第一階層の1番目のノード(<booklist>)の、2番目の子どものノード(2番目めの<book>)の、1番目の子どものノード(<title>)の中のテキストノード(徒然草)を指し示すことを意味する。
【0082】
ここで、図7のタグ<SPAN>は、Webブラウザ21上では表示されないタグであるものとする。図7の破線1001で示す部分以外は図44と同じ構造の例であり、図7の破線1001で示す部分はWebブラウザ21上では表示されないタグ<SPAN>を用いているため、図7のHTML文書は、Webブラウザ21上で図44のHTML文書を表示した場合と、同一あるいはほぼ同一に表示される(図4参照)。
【0083】
なお、元のXML文書中のノードへの対応付けの記憶方法としては、上記のようなタグや属性値を用いる方法の他に、HTMLのコメントとして追加する方法もある。
【0084】
また、それらの他の記憶方法として、元のXML文書中のノードへの参照をHTML文書の中に埋め込むのではなく、表示装置907に渡すHTML文書(例えば図44)とは別に記憶する機能ブロックを設ける方法もあり、そのデータ構造には、図7と同等のデータを用いる方法や、対応関係を図8のようなテーブルで保持する方法などがある。図9に、参照情報(対応関係のデータ)を他の機能ブロックに記憶させる場合のXML文書編集装置の構成例を示す。図5の構成例と比較して、XSLTプロセッサが2個用意され、それぞれ表示装置907に渡すHTML文書910を生成するものと、対応関係のデータ911を生成するものとからなる。なお、図9はXSLTプロセッサを2個用意するものとしたが、1個のみ用意しこれを2つのデータ生成に兼用してもよい(すなわち、実際にプログラム上XSLTプロセッサが2個必要なわけではなく、2組のXML文書とXSLT文書から、表示装置に渡すHTML文書と対応関係のデータの2個のデータが得られればよい)。もちろん、図9の場合も、図6を参照しながら説明したように、Webサーバの配置された計算機(図1の1)にXSLTプロセッサを配置する構成例が可能である。
【0085】
(変換されたXSLTの構造について)
次に、変換されたXSLT文書903の構造の一例を説明する。
【0086】
変換されたXSLT文書903は、それ自体、XSLTの規格に従うもので、XSLT変換部902でXSLT文書901の一部を別の命令に置き換えたものである。
【0087】
ここで、XSLT文書のデータ構造と、XSLTプロセッサ904の動作について説明する(これらは、基本的には、W3Cで定められた規格に従うものである)。
【0088】
図10に、XSLT文書のデータ構造の構成例を示す。
【0089】
XSLT文書401は、1以上のXSLTテンプレート402の集りで構成され、XSLTテンプレート402は、条件部403と出力部404で構成され、出力部404は、0個以上の出力命令405の集まりで構成される。
【0090】
XSLTプロセッサ904は、入力されたXML文書905中のノードを順に調べ、XSLTテンプレートの条件部に適合するかどうかを調べる。条件に適合した場合、出力部の出力命令にしたがって、XML文書やHTML文書等の所定の構造化文書(本例では、HTML文書)のノードを出力に追加していき、全部のXML文書905中のノードを調べ終るまで上記の手順を繰り返すものである。
【0091】
XSLTの出力命令には、入力されたXML文書905中のノードのテキスト値を出力する命令がある。以下、この命令を「ノード値出力命令」と呼ぶ。具体的には、XSLTの命令のxsl:value−of(図3の501)などである。
【0092】
XSLT変換部902は、入力されたXSLT文書901の出力命令のうち、上述したノード値出力命令を一連の命令に置き換える。図11は、ノード値出力命令を置き換える一連の命令の構成例である。
【0093】
図12に、変換されたXSLT文書903の一例を示す。この例は、図3のXSLT文書をXSLT変換部902で変換した例である。なお、図13は、図12の文書の一部分を拡大したもので、図11の4種類の変換命令に対応する部分を破線で囲って示している。
【0094】
以下、図11の置き換える一連の命令を、図12および図13の例を用いて説明する。
【0095】
まず、図11において、残りの3つの「ノード値を囲う要素を出力する」命令は、出力されたHTML文書(図7参照)上で、置き換えた命令群が一つのかたまりである情報であることを示すためのものであり、具体的には、他の3つの命令の出力されるノードを特定のHTMLのタグで囲う命令で、図13の例では、出力されたHTML文書中のノードは<SPAN>タグで囲われている。
【0096】
次の「入力XMLノードへの参照を求める」命令は、現在処理中のXML文書905中のノードへの参照を求めるための命令で、具体的には、現在処理中のXML文書905中のノードを先頭から数える命令であるxsl:numberと、その値を変数に代入して次の命令で参照できるようにするxsl:variable命令からなる。
【0097】
次の「求めた値を属性値として、一つ前の出力要素に追加する」命令は、「ノード値を囲う要素を出力する」命令で生成される<SPAN>タグに対して、「入力XMLノードへの参照を求める」命令で求めた値を、属性値として追加するxsl:attribute命令からなる。
【0098】
次の入力XSLTノードの「ノード値出力」命令は、前述した通りである。
【0099】
なお、変換されたXSLT文書903の記述方法は、上記の他にも種々のものが可能である。その一例として、図14に、変換後のXSLT文書903を、xsl:variableを用いないで記述した例を示す。この例の場合、「入力XMLノードへの参照を求める」命令は、「求めた値を属性値として、一つ前の出力要素に追加する」命令の中に埋め込まれる。
【0100】
以下、本実施形態の動作についてより詳しく説明する。
【0101】
(XSLT変換部における変換の手順について)
まず、図5のXML文書編集装置のXSLT変換部902について説明する。
【0102】
図15に、XSLT変換部902の変換手順の一例を示す。
【0103】
すなわち、XSLT変換部902は、XSLT文書901を受け取り、図15に示す手順を実行し、変換されたXSLT文書903を出力し、XSLTプロセッサ904へXSLT文書として渡す。
【0104】
この手順では、まず、XSLT変換部902は、入力されたXSLT文書901からXSLT文書中のノードを一つ読み込む(ステップS1)。
【0105】
続いて、読み込んだノードの種類によって処理を分岐させる(ステップS2)。この結果、XSLT文書901にそれ以上読み込むノードがなければ処理を終了する(ステップS3)。
【0106】
また、ステップS2の判定において、ノードの種類が「ノード値出力」命令で無い場合には、入力されたノードをそのまま出力に追加する(ステップS4)。そして、ステップS1に戻り、XSLT文書901中の次のノードを読み込む処理に戻る。
【0107】
また、ステップS2の判定において、ノードの種類が「ノード値出力」命令である場合には、例えば図12に示すノード値出力命令が置き換えられた部分の命令を、「ノード値出力」命令の代わりに出力に追加する(ステップS5〜S9)。
【0108】
このステップS5〜S9の手順を、具体的に、図13の例で説明する。
【0109】
すなわち、ノードの種類が「ノード値出力」命令(図3の501参照)である場合には、まず、「ノード値を囲う要素を出力する」命令(1301)のうち開始タグ(1306)を出力に追加する(ステップS5)。
【0110】
次に、「入力XMLノードへの参照を求める」命令(1302)を出力に追加する(ステップS6)。
【0111】
次に、「求めた値を属性値として一つ前の出力要素に追加する」命令(1304)を出力に追加する(ステップS7)。
【0112】
次に、入力された「ノード値出力」命令(1305)をそのまま出力に追加する(ステップS8)。
【0113】
最後に、「ノード値を囲う要素を出力する」命令(1301)のうち終了タグ(1307)を出力に追加する(ステップS9)。
【0114】
ステップS5〜ステップS9にて、図12に示す命令を「ノード値出力」命令の代わりに出力に追加したならば、ステップS1に戻り、XSLT文書901中の次のノードを処理する。
【0115】
(入力データを受付けXML文書を更新する手順について)
次に、図5のXML文書編集装置の更新データ入力部908およびXML文書更新部909において、Webブラウザ21上で、更新データの入力を受付け、元のXML文書905を更新する手順について説明する。
【0116】
ここでは、図2のデータをXML文書905に、図3のデータをXSLT文書901にそれぞれ用いた場合を例にとって説明する。
【0117】
まず、表示装置907は、XSLTプロセッサ904の出力である変換後文書記憶部906から、例えば、図7のデータを受け取り、図4のような画面を表示する。
【0118】
また、更新データ入力部908は、例えば、あらかじめ、Webブラウザ21のイベント機能などを用いて、マウスで表示をクリックされたら通知を受け取れるように設定しておく。
【0119】
ここで、操作者が画面の文字列、例えば、図4の「紫式部」の文字列をマウスでクリックすると、Webブラウザ21はこのクリックを更新データ入力部908へ通知する。
【0120】
更新データ入力部908は、通知を受け取るとWebブラウザ21の機能を用いるなどして、マウスポインタの下にあるHTML文書(図7)中のノードで、かつ、変換元のXML文書905中のノードへの参照を持つノードを検索する。
【0121】
もし、当該のノードがない場合には、そのまま何もせず、次のイベントを待つ。
【0122】
当該のノードが見つかった場合には、更新データ入力部908は、Webブラウザ21のテキストボックスあるいはテキストエリアなどをHTML文書中のノード上に表示し、テキストとしてHTML文書中のノードの現在の値を入れ、操作者からの更新データ入力を受け付ける。図16に、図7のHTML文書が表示された場合において、「紫式部」のテキスト入力を受け付けている画面の例を示す。
【0123】
そして、XML文書更新部909は、更新データ入力部908が表示したテキストボックスなどに入力されたテキストで、対応する元のXML文書905中の対応するノードを更新する。
【0124】
(XSLT変換器における他の変換手順について)
以下では、本実施形態のXSLT変換部902における他の変換手順の例として、これまでの参照に加えて、「XSLT以外の要素出力」命令の場合にも、元のXML文書中のノードへの参照を追加する手順について、図2のXML文書の例と、図3のXSLT文書の例とを用いて説明する。
【0125】
ここで、XSLT命令の「XSLT以外の要素出力」命令とは、例えば、図3のXSLT文書例では、<TR>,<TD>,<TABLE>,<TH>を指し、出力に同名のタグを追加する命令のことを指す。
【0126】
図17に、XSLT変換部902の他の変換手順の例を示す。
【0127】
図18に、図3のXSLT文書を図17の手順に従ってXSLT変換部902で変換して得られるXSLT文書の例(ただし、一部を抜粋したもの)を示す。また、図19に、図2のXML文書例および図18の変換後XSLT文書例によりXSLTプロセッサ904から出力される変換後文書記憶部906のデータ(この場合、HTML文書)の例を示す。
【0128】
図17の手順は、図15の手順のステップS2の判定において、ノードの種類が「XSLT以外の要素出力」命令の場合に、単に出力するのではなく、図18の破線で示す部分を追加して出力する点が、図15の手順とは相違している。例えば、<TR>タグをみつけると(ステップS2)、まず、図18中の2101で示すように<TR>タグそのものを出力し(ステップS10)、次に、「入力XMLノードへの参照を求める」命令を出力に追加し(ステップS11)、「求めた値を属性値として一つ前の出力要素に追加する」命令を出力に追加する(ステップS12)。これにより、例えば図18中の2102で示すように命令が追加される。そして、XSLT文書901中の次のノードの検索へ戻る。
【0129】
このように図18における破線で示す部分(2102,2104,2106)が、図12に追加された部分すなわち本手順で新たに追加される命令であり、これら命令によって、図19における破線で示す部分のデータが追加される(図19における破線で示す部分が、図7の変換後XSLT文書に追加された部分である)。
【0130】
図19においては、破線で示す部分が、図7の変換後XSLT文書に追加されたデータであり、これらの出力されたノードを生成したときに用いた元のXML文書201中のノードへの参照が追加されている。
【0131】
Webブラウザ21上で、このノードが付加されているノードを複製あるいは削除などする操作をした場合、XML文書更新装置909は、この参照の示すXML文書905中の対応するノードを複製あるいは削除などする。
【0132】
(XSLTスタイル編集の手順について)
これまでは、画面イメージと元のXML文書のノードとの対応関係を保持して、画面上でなされた編集を元のXML文書へ反映させる処理について説明してきたが、同様にして、画面イメージと元のXSLT文書のノードとの対応関係を保持して、画面上でなされたスタイル(例えば、フォントサイズ、フォント種類、テーブルの幅、文字の色など)についての編集を元のXSLT文書へ反映させる処理も可能である。
【0133】
以下では、図5のXML文書編集装置のXSLT変換部902の手順を変更して、変換後文書記憶部906に保持する参照を、変換前の元のXSLT901文書中のノードへの参照に置き換えた手順について説明し、さらに、この参照を用いて、Webブラウザ21上でXSLT文書901を編集し、テーブルの幅やフォントなどの編集を行う手順について説明する。
【0134】
なお、この場合、図5のXML文書編集装置において、XML文書更新部909に加えてあるいはXML文書更新部909の代わりに、XSLT文書更新部を備えればよい。なお、図6を参照しながら説明した構成例の場合には、XML文書更新部909及びサーバ側XML文書更新部912に加えてあるいは代わりに、(Webブラウザ側の)XSLT文書更新部及び(Webサーバ側の)サーバ側XSLT文書更新部を備えればよい。
【0135】
まず、XSLT変換部902において、変換後文書記憶部906にXSLT文書中のノードへの参照を追加するための手順は、例えば、図15あるいは図17のフローチャートにおいて、「入力XMLノードへの参照を求める」命令の代わりに、「現在のXSLTの入力ノードへの参照を求める」命令に置き換えたものである。
【0136】
図20に上記のような手順で出力される変換されたXSLT文書の一例を示し、図21にこの変換されたXSLT文書によりXSLTプロセッサ904から出力される変換後文書記憶部906のデータの一例(ただし、図12と相違する部分)を示す。なお、図20において、破線で示す部分(2301〜2305)が図18と相違する部分である。
【0137】
例えば、図21において、<TR>タグ(2202)に埋め込まれた参照“1.1.1”は、このタグが図3のXSLT文書の<TR>タグにより出力されたことを表す。
【0138】
次に、このXSLT文書中のノードへの参照を利用して、Webブラウザ21上で、指定した画面要素にスタイル属性を追加する操作を行う手順を例を用いて説明する。例えば、Webブラウザ21上でテーブル要素の色を赤への変更を更新データ入力部908から入力されると、入力データ更新部909は、対応するHTML文書中のノード(2201)を検索し、そのHTML文書中のノード(2201)に埋め込まれたXSLT文書中のノードへの参照“1.2.1”を用いて、図3のXSLT文書中の<TABLE>タグを検索し、このXSLT文書中の<TABLE>タグに、更新データ入力部908で入力されたスタイル属性値「style=“color:red”」を追加することで、テーブルの色を赤に変更する。
【0139】
さらに、画面上に更新するために、一連の変換手順を繰り返すことで画面の表示が更新され、テーブルの色が赤にかわる。
【0140】
(XSLTデバッグ機能の手順について)
これまでは、XML文書やXSLT文書を編集する機能について説明してきたが、同様にして、画面イメージと元のXSLT文書中のテンプレートとの対応関係を保持して、XSLTテンプレートを検索し、XSLT文書のデバッグを補助する機能も可能である。
【0141】
以下では、図5のXML文書編集装置のXSLT変換部902の手順を変更して、変換後文書記憶部906にXSLT文書901中のテンプレートへの参照を保持する手順について説明する。さらに、このXSLT文書中のテンプレートへの参照を用いて、変換に用いたXSLT文書中のXSLTテンプレートを検索し、XSLT文書のデバッグを補助する機能の手順を具体例を用いて説明する。
【0142】
なお、この場合、図5のXML文書編集装置において、XML文書更新部909及び又はXSLT文書更新部に加えてあるいはXML文書更新部909及びXSLT文書更新部の代わりに、XSLTデバッグ処理部を備えればよい。また、図6を参照しながら説明した構成例の場合にも、XML文書更新部909/サーバ側XML文書更新部912及び又はXSLT文書更新部/サーバ側XSLT文書更新部に加えてあるいは代わりに、(Webブラウザ側の)XSLTデバッグ処理部及び(Webサーバ側の)サーバ側XSLTデバッグ処理部を備えればよい。
【0143】
図22に、変換後文書記憶部906にXSLT文書901中のテンプレートへの参照を保持する場合のXSLT変換部902の処理手順の一例を示す。図22において、破線で示す部分は、図15の手順と異なる部分を示している。
【0144】
図23に、本手順で出力される変換されたXSLT文書の一例(ただし、一部を抜粋したもの)を示す。図23において破線で示す部分(2502〜2506)が、図15の手順で生成される図12のXSLT文書例と異なる部分である。
【0145】
図24に、図23の変換されたXSLT文書によりXSLTプロセッサ904から出力される変換後文書記憶部906のデータの一例を示す。
【0146】
例えば、図24の2601で示す部分は、「templatepath=“1.1”」の部分が、図3のXSLT文書の1番目のXSLTテンプレートを参照し、「xpath=“1.2”」の部分が、図2のXML文書の2番目の<book>ノードを参照している例である。
【0147】
そして、2601で示す開始タグと2602で示す終了タグとの組みは、これらのタグに囲まれた部分を、図2のXML文書の2番目の<book>ノードを図3のXSLT文書の1番目のXSLTテンプレートで生成したことを示している。
【0148】
次に、図22の破線で示す部分を説明する。
【0149】
すなわち、XSLTノードを読み込んだ後(ステップS1)、読み込みノードが「XSLTテンプレート」命令の場合には(ステップS2)、まず、「XSLTテンプレート」命令の開始タグ(2501)を出力に追加する(ステップS30)。その際、開始タグに含まれる属性は、そのまま出力に追加する。ここで、「XSLTテンプレート」命令とは、具体的には、本例では<xsl:template>ノードを示す。
【0150】
次に、「入力ノードを囲う要素を出力する」命令の開始タグ(2502)を出力に追加する(ステップS31)。具体的には、例えば<debug:templateresult>のような別のXMLの名前空間のタグを追加する。
【0151】
さらに、「入力XSLTノードへの参照を、一つ前の出力要素に追加する」命令(2503)を出力に追加する(ステップS32)。この命令は、例えば図24の2601で示す「templatepath=“1.1”」の部分を生成する命令である。
【0152】
次に、「入力XMLノードへの参照を求める」命令(2504)と「求めた値を属性値として、一つ前の出力要素に追加する」命令(2505)を出力に追加する(ステップS33,S34)。これらの命令により、例えば、図24の2601で示す「xpath=“1.2”」の部分が生成される。
【0153】
次に、「ノード値を囲う要素を出力する」命令の終了タグ(2506)を出力に追加する(ステップS35)。この命令は、例えば、図24の2602で示す終了タグを生成する命令である。
【0154】
最後に、「XSLTテンプレート」命令の終了タグ(2507)を出力に追加する(ステップS35)。
【0155】
このようにして生成された、本例における変換後文書記憶部906のデータは、表示装置907上に表示すると、図4と同一あるいはほぼ同一にWebブラウザ21上に表示される。
【0156】
このXSLTテンプレートへの参照を用いた例について説明する。図25は、この参照を用いたデバッグ機能の例による表示例である。この例は、表示された、変換後文書記憶部906に保持されたデータにおける特定の文字列…例えば「吉田 兼好」…をマウスでクリックしたときの表示の例である。
【0157】
この例の画面について説明する。まず、2701で示すXSLTテンプレートに、2703で示すXML文書のノードが適用されたことにより、「吉田 兼好」のテキストノードが生成されたことを表している。さらに、2701で示すXSLTテンプレートは、2702で示すXSLTテンプレート中の<xsl:apply−templates>命令から呼び出されたことを表している。そして、2702で示すXSLTテンプレートには、2704で示すXML文書のノードが適用されたことを表している。
【0158】
次に、このクリックした後から、図25の表示が得られるまでの動作手順を説明する。
【0159】
操作者がWebブラウザ21上で特定の文字列をマウスでクリックしたとすると、そのマウス位置に対応するHTML文書中のノードを検索し、次に、親ノードがXSLT文書中のテンプレートへの参照を保持しているHTML文書中のノードを検索する。この例では、templatepath属性を保持しているノードを検索する。
【0160】
次に、見つかった参照に対応する、XSLT文書中のテンプレートをXSLT文書901から取り出し、表示装置907に表示する。さらに、XML文書のノードへの参照を取り出す。この例では、templatepath属性を持つノードから、xpath属性の値を取り出す。このXML文書のノードへの参照に対応したノードを、XML文書から取り出し、表示装置907に表示する。
【0161】
以上の処理をルートノードに対して完了するまで、繰り返すことで、図25の表示が得られる。
【0162】
(組み合わせについて)
ところで、これまで説明してきた(1)XML文書のノードへの参照と、(2)XSLT文書のノードへの参照と、(3)XSLTテンプレートへの参照は、それぞれ独立して実施することも可能であるし、任意の2つまたは3つ全てを組み合わせて実施することも可能である。
【0163】
それらを組み合わせて実施する場合には、ノードのクリック等の操作者の操作をどの機能に割り付けるかを決定する仕組みを設けると好ましい。
【0164】
この簡単な方法の一つとしては、切替えにより行うことが考えられる。この方法としては、例えば、ツールボタンにより切替える方法や、キーボードのシフトキーなどを押しているかなどや、右ボタンでのコンテキストメニューでの切替えなどが考えられる。
【0165】
あるいは、画面上のツールパレットなどのウィンドウを別に複数、用意し、画面上で選択されたノードに対する操作メニューやテキスト入力ボックスなどを同時に別々のウィンドウに表示するなどして、切替えなくても済む方法も考えられる。
【0166】
また、XSLTデバッグ機能において、XSLTテンプレートへの参照と、XSLT文書のノードへの参照を組み合わせて利用することで、テンプレートを呼び出した呼び出し命令をデバッグ画面上で、枠線で囲む、ハイライト表示するなどして表すことも可能である。ここで、テンプレートを呼び指す命令とは、例えば、<xsl:apply−templates>タグなどを指す。
【0167】
(XSLT文書のノードに応じた編集機能を付加する構成例)
これまでは、XSLT変換部902が単一の機能を付加する場合について説明してきたが、XSLT変換部902が付加する機能を定義文書として外部から制御する方法も考えられる。ここで、機能とは、例えば、テキストボックスでの入力や、選択ボックスからの候補選択によってXML文書を更新するものなどが考えられる。
【0168】
以下では、定義文書を使ってXSLT変換部902で付加される機能を制御する構成例について説明する。
【0169】
(定義文書を含んだ構成について)
図26に、定義文書でXSLT変換部902を制御する場合のXML文書編集装置(構造化文書編集装置)の構成例を示す。
【0170】
図26に示されるように、図5の構成に加えて、定義文書920を追加する。また、図26のXSLT変換部902は、XSLT文書901と定義文書920を入力するものになっている。
【0171】
定義文書920は、XSLT変換部902で付加される「機能」と、付加される「場所」とを指定するものである。定義文書920は、XSLT変換部902に入力として与えられる。
【0172】
XSLT変換部902は、入力された定義文書920の記述に従って、入力されたXSLT文書901の変換を行う。次に、変換されたXSLT文書903がXSLTプロセッサ904に渡される。XSLTプロセッサ904は、変換されたXSLT文書903で、XML文書905を変換し、変換後文書を生成する。
【0173】
更新データ入力部908は、更新するデータをWebブラウザ21上で入力する部分で、例えば、Webブラウザ21上のスクリプトとWebブラウザ21上のテキスト入力ボックス、選択ボックスなどで実現される。
【0174】
XML文書更新部909は、例えばWebブラウザ21上のスクリプトなどで実現されたものであり、変換後文書記憶部906からは元のXML文書905中のノードへの参照を、更新データ入力部908からは入力データを受取り、XML文書905を更新する機能を持つ。
【0175】
もちろん、図26の場合も、図6を参照しながら説明したように、Webサーバの配置された計算機(図1の1)にXSLTプロセッサを配置する構成例が可能である。
【0176】
(定義文書の構造について)
ここで、定義文書920のデータ構造について説明する。
【0177】
図27に、定義文書920のデータ構造の概略的な構成例を示す。
【0178】
図27に示されるように、定義文書920は、1又は複数のルール3001からなる。各ルールは、機能を付加する「場所」を示す付加対象要素指定部3002と、付加する「機能」を示す付加要素部3003からなる。
【0179】
付加対象要素指定部3002では、変換するXSLT文書901のノード位置を指定する。ノード位置の指定は、例えば、XPath式などを用いて記述する。
【0180】
付加要素部3003では、付加対象要素指定部3002で指定したノード位置に対して付加したい機能を指定する。
【0181】
また、ルール3001には、機能を付加する条件を記述した付加条件部3004があってもよい。
【0182】
以上の構成で、XSLT文書901に対して、どのノード位置に、どのような機能を付加するかを定義文書に記述する。
【0183】
図28に、定義文書920の一例を示す。
【0184】
図28中の破線は、図27に示した定義文書の構成要素に対応している。この例では、二つのルール3001が定義されている。図28中、一つ目のルールは、match属性で記述されたXPath式で指定されるXSLT文書のノード位置に、テキストボックスによる入力機能を付加するように記述されている。また、二つ目のルールは、match属性で記述されたXPath式で指定されるXSLT文書のノード位置に、選択ボックスによる入力機能を付加するように記述されている。
【0185】
また、一つ目のルールには、付加条件部3004が存在し、機能を付加する場合の条件が指定されている。付加条件部が存在する場合には、付加条件部の条件を満たす場合にのみ、指定された機能が付加される。
【0186】
(変換されたXSLTの構造について)
次に、変換されたXSLT文書903の構造の一例を説明する。
【0187】
図29に、変換されたXSLT文書903の一例を示す。
【0188】
この例は、図3のXSLT文書を、図28の定義文書を使ってXSLT変換部902で変換した例である。図29中の破線部分が、定義文書の記述に従ってXSLT変換部902で変換された部分である。なお、図30及び図31に、図29のXSLT文書のうち、図3のXSLT文書から変換された部分だけを抜き出したものを示す。図30は、図29の3010の部分に対応し、図31は、3011の部分に対応する。
【0189】
以下、図28〜図31の例を用いて、定義文書の記述が、変換されたXSLT文書に対して、どのように反映されるのかについて説明する。
【0190】
XSLT変換部902は、定義文書920の各ルール(3001)中で指定した場所に対して、指定した機能を付加する。
【0191】
変換されたXSLT文書903(図29)は、定義文書920(図28)の付加対象要素指定部(3002)で指定されたXSLT文書901の要素を、付加要素指定部(3003)で指定された要素に従って置き換えたものである。
【0192】
前述のように、図29の破線部分が置き換えられた部分であり、それぞれの破線部分の詳細が図30及び図31に示されている。
【0193】
まず、定義文書920の一つ目のルールについて説明する。
【0194】
図30が、定義文書920の一つ目のルールによって置き換えられた、テキストボックスによる入力機能を付加する部分である。
【0195】
図28の定義文書の一つ目のルールには条件部(3004)が存在するので、条件を判定し、条件が成立した場合の処理する要素(図29中の、<XSL:when>タグ以下)と、条件が不成立のときに、XSLT文書にもともと記述されていた処理を行う部分(図29中の<XSL:otherwise>タグ以下)が出力される。
【0196】
条件が成立する場合には、ルールの記述にしたがって、テキストボックスによる入力機能を付加する。具体的には、条件を判定する要素の子要素として、<textarea>要素と、その要素に元のXML文書905への参照を属性として埋め込むXSLT命令が挿入される。さらに、元々存在したXSLT命令が挿入される。この例では、XML文書の値を抽出する<XSL:value−of>命令が挿入されるので、変換前のXSLT文書でXML文書を変換したときと同様に、この変換後XSLT文書でXML文書を変換した場合も、対象とするXML文書の値が抽出されることになる。
【0197】
次に、定義文書920の二つ目のルールについて説明する。
【0198】
図31が、定義文書920の二つ目のルールによって置き換えられた、選択ボックスによる入力機能を付加する部分である。
【0199】
二つ目のルールでは、条件部が存在しないので、条件を判定する要素は出力されない。
【0200】
ルールの記述に従って、選択ボックスによる入力機能を付加する。具体的には、<select>要素と、元のXML文書905への参照を属性として埋め込む要素、選択ボックス中の各候補を表示するための<option>要素、XML文書の値によって選択候補を選ぶ命令が挿入される。
【0201】
(変換後文書の構造について)
次に、変換されたXSLT文書903によって、XML文書901を変換した変換後文書の構造の一例を説明する。
【0202】
図32に、変換後文書の一例を示す。この例は、図2のXML文書を、図29の変換されたXSLT文書を使ってXSLTプロセッサ904で変換した例である。
【0203】
XSLTプロセッサ904は、XSLT文書の命令に従って、XML文書901を変換する。
【0204】
変換されたXSLT文書903は、元のXSLT文書901に対して、定義文書920の記述に従って、命令が追加、変更されている。その部分がXSLTプロセッサ904で解釈されることで、変換後文書に定義文書920の記述に従った機能を付加することになる。
【0205】
図32の変換後文書において、破線部分が、機能が付加された部分である。テキストボックスによる入力を実現する部分(3020)、選択ボックスによる入力を実現する部分(3021)が、それぞれ、図29の変換されたXSLT文書903の破線部分(3010,3011)の命令から生成されている。
【0206】
テキストボックスによる入力機能を付加する部分では、変換後XSLT文書903の命令に従って、<TEXTAREA>タグに、元のXML文書905への参照が属性として追加されたものが挿入されている。
【0207】
選択ボックスによる入力を実現する部分では、変換後XSLT文書903の命令に従って、<SELECT>タグに、元のXML文書905への参照が属性として挿入されたものと、選択候補を表示するための<OPTION>タグが挿入されている。
【0208】
図29の変換されたXSLT文書903の破線部分は、上述のように図28の定義文書920の記述によって生成されているので、結局、定義文書920の記述に従って、変換後文書に機能が付加されることになる。
【0209】
図33に、図32の生成結果文書をブラウザ表示した場合の画面の一例を示す。図4の表示に比べて、機能が追加されている。
【0210】
(XSLT変換部における変換の手順について)
図34に、この場合のXSLT変換部902の変換手順の一例を示す。
【0211】
すなわち、XSLT変換部902は、XSLT文書901と定義文書920を受け取り、図34に示す手順を実行し、変換されたXSLT文書903を出力し、XSLTプロセッサ904へXSLT文書として渡す。
【0212】
この手順例では、まず、XSLT変換部902は、入力されたXSLT文書901からXSLT文書中のノードを一つ読み込む(ステップS101)。
【0213】
この結果、XSLT文書901にそれ以上読み込むノードがなければ(ステップS102)、処理を終了する。
【0214】
続いて、入力された定義文書920からルールを一つ読み込む(ステップS103)。
【0215】
この結果、入力された定義文書920にそれ以上読み込むルールがなければ(ステップS104)、読み込んだノードをそのまま出力し(ステップS105)、ステップS101に戻る。
【0216】
他方、XSLT文書901からノードを一つ読み込むことができ、かつ、定義文書920からルールを一つ読み込むができた場合には、読み込んだノードと、読み込んだルールの付加対象要素指定部とを比べ、付加対象かどうかを判定する(ステップS106)。
【0217】
この結果、付加対象でない場合には、ステップS104に戻る。
【0218】
付加対象である場合には、まず、ルール中に付加条件部があるかどうか判定し(ステップS107)、付加条件部が存在するときは、「付加条件部が保持している条件を判定する」命令の開始タグと条件文を出力する(ステップS108)。付加条件部が存在しないときは、ステップS108の処理は行わない。
【0219】
次に、読み込んだルール中の付加要素部の種類によって分岐する(ステップS109)。
【0220】
この例では、付加要素部の種類としてテキストボックスでの入力と選択ボックスでの入力を想定しているので、テキストボックスでの入力か、選択ボックスでの入力かで分岐するものとしている。
【0221】
テキストボックスでの入力の場合、ステップS110〜S113で当該要素の処理を行い、選択ボックスでの入力の場合、ステップS114〜S119で当該要素の処理を行う。
【0222】
テキストボックスでの入力の場合におけるステップS110〜S113の処理は、図15のXSLT変換部902の手順例におけるステップS5〜S9の処理とほぼ同様であるので、ここでは、説明を省略する。
【0223】
以下では、選択ボックスでの入力の場合におけるステップS114〜S119の処理について説明する。
【0224】
この場合、まず、「選択ボックスを出力する」命令の開始タグを出力に追加する(ステップS114)。
【0225】
次に、「元XMLノードへの参照を属性として一つ前の要素に追加する」命令を出力に追加する(ステップS115)。
【0226】
次に、ルールの付加要素部のOPTION要素を一つ読み込み、出力に追加する(ステップS116)。
【0227】
次に、「ノード値に対応した選択か判定する命令」を出力に追加する(ステップS117)。
【0228】
ここで、すべてのOPTION要素を追加したかどうか判定し(ステップS118)、残っていれば、ステップS116へ戻る。
【0229】
他方、残っていなければ、「選択ボックスを出力する」命令を出力に追加する(ステップS119)。
【0230】
以上で、読み込んだルールの付加要素部が選択ボックスで入力する種類だった場合の処理が行われる。
【0231】
次に、ルールの中に付加条件部が存在したかどうかを再び判定し(ステップS120)、存在している場合には、「付加条件部が保持している条件を判定する」命令の閉じタグと「条件不成立時に実行する」命令として、入力XSLTノードをそのまま出力する(ステップS121)。存在していない場合には、ステップS121の処理は行わない。
【0232】
そして、ステップS101に戻り、入力XSLT文書901の次のノードを処理する。
【0233】
以上の処理を繰り返し実行し、ステップS102でループを抜ければ、処理が終了となる。
【0234】
もちろん、他の種類の付加要素部の処理をステップS109の分岐先に追加することによって、付加する機能のバリエーションを増やすことができる。
【0235】
(XML文書のノードに応じた編集機能を付加する構成例)
上記では、定義文書の付加対象要素指定部でXSLT文書の場所を指定し、当該XSLT文書中の指定された場所に編集機能を付加する例を示したが、以下では、XML文書中の場所を指定することで、XML文書のノードの種類に応じた編集機能を付加する場合の構成例について説明する。
【0236】
(定義文書を含んだ構成について)
この場合、XML文書中のノード種類に応じた編集機能を付加する構成例は、図26と基本的には同様であり、定義文書920の付加対象要素指定部と、変換されたXSLT文書の構造と、XSLT変換部902の手順を変更すればよい。
【0237】
(定義文書の構造について)
定義文書920のデータ構造について説明する。
【0238】
データ構造の概略は、基本的には図27と同様であり、定義文書は1又は複数のルール(3001)からなり、各ルール(3001)は付加対象要素指定部(3002)と付加要素部(3003)を含む。
【0239】
図35に、この場合の定義文書920の一例を示す。
【0240】
図28では、付加対象要素指定部でXSLT文書中のノード位置を指定したのに対し、図35では、例えば、「match=“author”」、「match=“title[position()=1]”」のように、XML文書中のノード位置を指定する。
【0241】
また、この例では、XML文書中のtitle要素を編集するときは、テキストボックスによる入力機能を付加し、author要素を編集するときは、選択ボックスによる入力機能を付加するように、ルールが記述されている。この定義文書の例は、図33に示した画面と同じ、機能付加をするための例である。
【0242】
XML文書中のノード位置の指定は、例えば、XPath式などを用いて記述する。なお、この場合、図28の付加条件部で指定した「position()=1」などを付加対象要素指定部のXPath式に含められる。この例では、title要素は第1要素のみテキストボックスで編集し、それ以外は編集不可とすることを指定している。
【0243】
(変換されたXSLTの構造について)
次に、変換されたXSLT文書903の構成について説明する。
【0244】
図36に、変換されたXSLT文書903の例を示す。この例は、図3のXSLT文書901を、図35の定義文書920を使ってXSLT変換部902で変換した例である。
【0245】
変換されたXSLT文書903の構造は、先に説明した構成例の場合とは異なり、「XSLT文書のテンプレートに対応する部分」(3030)と「定義文書のルールをXSLTテンプレートに変換した部分」(3031)と「編集不可のデフォルトテンプレート」(3033)との3つの部分で構成される。
【0246】
まず、「XSLT文書のテンプレートに対応する部分」(3030)は、XSLT文書901のテンプレートのうち、「ノード値出力命令」を「テンプレート呼出し命令」に置き換えたものである。ここで、「テンプレート呼出し命令」とは、「xsl:apply−templates」などのことを差す。
【0247】
置き換えを行うとき、ノード値出力命令のノード選択部分であるselect属性を、テンプレート呼出し命令のノード選択部分であるselect属性に対応させる。これにより、ノードの値を直接HTML文書に変換出力するのではなく、XML文書のノードに応じたテンプレートに記述された命令によって変換して出力することができる。また、テンプレート呼出し命令に、mode属性を付けることで、呼出すテンプレートのグループを指定し、XSLT文書に対応したテンプレートと区別し、ノード値を出力するテンプレートだけを呼出すことができる。
【0248】
「定義文書のルールをXSLTテンプレートに変換した部分」(3031)と「編集不可のデフォルトテンプレート」(3032)の部分は、テンプレート呼出し命令で呼出されるテンプレートである。このため、これらのテンプレート宣言「xsl:template」にも、同じmode属性が指定されている。
【0249】
次に、「定義文書のルールをXSLTテンプレートに変換した部分」(3031)の構造について説明する。
【0250】
「定義文書のルールをXSLTテンプレートに変換した部分」(3031)は、定義文書920のルールを、それぞれ、XSLTテンプレートに変換したものである。XSLTのテンプレート宣言のmatch属性には、ルールの付加対象要素指定部のmatch属性を代入する。mode属性には、テンプレート呼出しで用いたmode属性を代入する。なお、この場合、mode属性には「customize−rule」を代入する。テンプレートの出力部には、ルールの付加要素部で指定された機能に従ったXSLT命令に置き換えられる。
【0251】
図37〜図39に、「定義文書のルールをXSLTテンプレートに変換した部分」(3031)の例を示す。
【0252】
図37は、図35の定義文書920の一つ目のルールが変換された、テキストボックスによる入力機能を付加するテンプレートの例である。この例は、XSLT文書のノード値出力命令を置き換えたテンプレート呼出し命令で、postion()=1のtitle要素のときに呼出され、<textarea>要素と、その要素に元XML文書への参照を属性として、title要素の値をtextareaの値として出力する。
【0253】
図38は、図35の定義文書920の二つ目のルールが変換された、選択ボックスによる入力機能を付加するテンプレートの例である。このテンプレートの例は、同様にして、XML文書のauthor要素のノード値出力命令の代りに、呼出され、単にノード値を出力する代わりに、選択ボックスによる入力機能と元XML文書への参照を属性として埋め込む。
【0254】
図39は、定義文書のルールで付加要素部が編集不可を指定しているルールが変換されたテンプレートの例で、単にノード値を出力するテンプレートの例である。定義文書での編集不可の指定は、付加要素部を省略するか、編集不可を示す命令(例えば、<no−edit>要素)などで行う。
【0255】
「編集不可のデフォルトテンプレート」(3032)の部分は、定義文書920を変換したテンプレートに適合しなかった場合に呼出されるテンプレートで、XSLT文書や定義文書によらないテンプレートの例で、単にノード値を出力する命令のみ含まれる。
【0256】
本構成例における変換されたXSLT文書903は、以上のような構造を持ち、XSLTプロセッサ904で解釈されると、XML文書905のノード値を出力する代りに、定義文書920のルールに従って、テキストボックスの入力機能や選択ボックスによる入力機能などを出力する。
【0257】
(XSLT変換部における変換の手順について)
次に、本構成例のXSLT変換部902における変換の手順例について説明する。
【0258】
図40〜図42に、この場合のXSLT変換部902の変換手順の一例を示す。すなわち、XSLT変換部902は、XSLT文書901と定義文書920を受け取り、図40〜図42に示す手順を実行し、変換されたXSLT文書903を出力し、XSLTプロセッサ904へXSLT文書として渡す。
【0259】
図40は全体の手順例であり、図41と図42はそれぞれ図40のステップS202とS203をより詳しくした手順例である。
【0260】
まず、図40の全体の概略の手順を説明し、その後で、図41と図42の手順を説明する。
【0261】
この手順例では、まず、XSLT変換部902は、変換後XSLT文書903のXML宣言「<?xml version=“1.0”?>」と、xsl:stylesheet要素の開始タグを出力する(ステップS201)。
【0262】
次に、図41で示す手順に従って、XSLT文書901を読み込み、XSLT文書のテンプレートを出力に追加する(ステップS202)。この処理で、図36の変換後XSLT文書903の「XSLT文書のテンプレートの変換部分」(3030)が生成される。
【0263】
次に、図42で示す手順に従って、入力された定義文書920のルールをそれぞれXSLTテンプレートに変換し、出力に追加する(ステップS203)。この処理で、図36の変換後XSLT文書903の「定義文書のルールをXSLTテンプレートに変換した部分」(3031)が生成される。
【0264】
次に、入力によらない「編集不可のデフォルトテンプレート」(3032)を出力に追加する(ステップS204)。
【0265】
次に、xsl:stylesheet要素の終了タグを出力し(ステップS205)、処理を終了する。
【0266】
次に、図41を参照しながら、図40のステップS202の処理の詳細を説明する。
【0267】
ステップS202では、XSLT文書のテンプレートを出力に追加する。その際、「ノード値出力命令」を「テンプレート呼出し命令」に置き換えて出力する。
【0268】
すなわち、まず、XSLT文書からノードを一つ読み込み(ステップS206)、読み込んだノードが「ノード値出力命令」ならば(ステップS207)、「テンプレート呼出し命令」を出力に追加し(ステップS208)、入力されたXSLT文書の「ノード値出力命令」のselect属性をそのテンプレート呼び出し命令のselect属性として出力に追加する(ステップS209)。例えば、読み込んだノードが、「<xsl:value−ofselect=“author”/>」ならば、「<xsl:apply−templates select=“author”mode=“customize−rule”/>」を出力する。
【0269】
読み込んだノードがそれ以外ならば(ステップS207)、読み込んだノードをそのまま出力に追加する(ステップS210)。
【0270】
ステップS206からステップS210までを、入力されたXSLT文書のすべてのノードを処理するまで繰り返し、ステップS202を終了する。
【0271】
次に、図42を参照しながら、図40のステップS203の処理の詳細を説明する。
【0272】
ステップS203では、入力された定義文書のルールをそれぞれXSLTテンプレートに変換し、出力に追加する。
【0273】
すなわち、まず、入力された定義文書からルールを一つ読み込み(ステップS211)、この結果、定義文書にそれ以上読み込むノードがなければ(ステップS212)、このステップ203の処理を終了する。
【0274】
次に、ルールを読み込んだら、対応するテンプレート宣言の開始タグを出力に追加し(ステップS213)、読み込んだルールの付加要素指定部のmatch属性を出力したテンプレート宣言のmatch属性として追加する(ステップS214)。例えば、ルールが「<rule target=“xml”match=“author[position()=1]”>」で始まるならば、「<xsl:template match=“author[position()=1]”mode=“customize−rule”>」を出力する。
【0275】
次に、ルールの出力部を読み込み、その種類で分岐する(ステップS215)。
【0276】
この例では、ルールの出力部の種類としてテキストボックスでの入力と選択ボックスでの入力を想定しているので、テキストボックスでの入力か、選択ボックスでの入力かで分岐するものとしている。もちろん、他の種類をステップS215の分岐先に追加することによって、付加する機能のバリエーションを増やすことができる。
【0277】
なお、図42の手順例において、テキストボックスでの入力の場合におけるステップS216〜S219の処理は、図34のステップS110〜S113の処理と同じであり、選択ボックスでの入力の場合におけるステップS221〜226の処理は、図34のステップS114〜S119の処理と同じである。
【0278】
他方、編集不可のノードの場合、単に入力XSLTノードの「ノード値出力命令」を出力に追加する(ステップS226)。このとき、select属性はカレントノードを指定する。すなわち、例えば、「<xsl:value−of select=“.”/>」を出力する。
【0279】
以上で分岐の処理を行ったあと、テンプレート宣言の終了タグ「</xsl:template>」を出力に追加し(ステップS220)、入力された定義文書の次のルールを処理するためステップS211に戻る。
【0280】
以上の処理を繰り返し実行し、ステップS212でループを抜ければ、このステップS203の処理が終了となる。
【0281】
本実施形態では、XML文書を対象としたが、本発明はその適用がXML文書のみに限定されるものではなく、XML文書と同様の性質を有する他の構造化文書についても本発明は適用可能である。
【0282】
なお、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0283】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0284】
【発明の効果】
本発明によれば、構造化文書をXSLTで変換した画面イメージのままで、元の構造化文書や変換で用いられるXSLT文書の編集やデバッグを行うことが可能になる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係る構造化文書文書編集システムの構成例を示す図
【図2】 XML文書の一例を示す図
【図3】 XSLT文書の一例を示す図
【図4】 ブラウザ上での表示例を示す図
【図5】 同実施形態に係るXML文書編集装置の構成例を示す機能ブロック図
【図6】 同実施形態に係るXML文書編集装置の他の構成例を示す機能ブロック図
【図7】 同実施形態に係るXML文書編集装置のXSLTプロセッサで生成されるデータの一例を示す図
【図8】 XML文書ノード対応表の一例を示す図
【図9】 同実施形態に係るXML文書編集装置の他の構成例を示す機能ブロック図
【図10】 XSLT文書のデータ構造の構成例を示す図
【図11】 ノード値出力命令を置き換える一連の命令の構成例を示す図
【図12】 変換後XSLT文書の一例を示す図
【図13】 変換後XSLT文書の一例を示す図
【図14】 変換後XSLT文書の他の例を示す図
【図15】 同実施形態に係るXML文書編集装置のXSLT変換部の処理手順の一例を示すフローチャート
【図16】 同実施形態に係るXML文書編集装置の更新データ入力部がブラウザ上でのデータ入力を受け付ける表示画面の一例を示す図
【図17】 同実施形態に係るXML文書編集装置のXSLT変換部の処理手順の他の例を示すフローチャート
【図18】 変換後XSLT文書のさらに他の例を示す図
【図19】 同実施形態に係るXML文書編集装置のXSLTプロセッサで生成されたデータの他の例を示す図
【図20】 変換後XSLT文書のさらに他の例を示す図
【図21】 同実施形態に係るXML文書編集装置のXSLTプロセッサで生成されるデータの一例を示す図
【図22】 同実施形態に係るXML文書編集装置のXSLT変換部の処理手順のさらに他の例を示すフローチャート
【図23】 変換後XSLT文書のさらに他の例を示す図
【図24】 同実施形態に係るXML文書編集装置のXSLTプロセッサで生成されるデータの一例を示す図
【図25】 XSLTデバッグ機能によるXSLTテンプレートのブラウザ上での表示例を示す図
【図26】 同実施形態に係るXML文書編集装置のさらに他の構成例を示す機能ブロック図
【図27】 定義文書のデータ構造の構成例を示す図
【図28】 定義文書の一例を示す図
【図29】 変換後XSLT文書さらに他の例を示す図
【図30】 変換後XSLT文書さらに他の例を示す図
【図31】 変換後XSLT文書さらに他の例を示す図
【図32】 変換後文書(定義文書で指定された機能を付加されたHTML文書)の一例を示す図
【図33】 同実施形態に係るXML文書編集装置の更新データ入力部がブラウザ上でのデータ入力を受け付ける表示画面の一例を示す図
【図34】 同実施形態に係るXML文書編集装置のXSLT変換部の処理手順のさらに他の例を示すフローチャート
【図35】 同実施形態に係るXML文書編集装置のさらに他の構成例を示す機能ブロック図
【図36】 変換後XSLT文書の一例を示す図
【図37】 変換後XSLT文書の一例を示す図
【図38】 変換後XSLT文書の一例を示す図
【図39】 変換後XSLT文書の一例を示す図
【図40】 同実施形態に係るXML文書編集装置のXSLT変換部の処理手順のさらに他の例を示すフローチャート
【図41】 同実施形態に係るXML文書編集装置のXSLT変換部の処理手順のさらに他の例を示すフローチャート
【図42】 同実施形態に係るXML文書編集装置のXSLT変換部の処理手順のさらに他の例を示すフローチャート
【図43】 従来技術について説明するための図
【図44】 従来技術について説明するための図
【図45】 従来技術について説明するための図
【符号の説明】
1,2…計算機、3…ネットワーク、11…Webサーバ、21…Webブラウザ、22…XML文書編集装置、902…XSLT変換部、904…XSLTプロセッサ、906…変換後文書記憶部、907…表示装置、908…更新データ入力部、909…XML文書更新部、912…サーバ側XML文書更新部、913…送信部、914…更新データ受信部、915…受信部、916…更新データ送信部

Claims (36)

  1. XMLノードを有するXML文書を編集対象とし、該XML文書と、該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、
    前記XSLT文書中に、前記XML文書の構造の要素を用いて前記構造化文書の構造の要素を生成するための要素が存在する場合に、前記構造化文書の構造の要素と、該要素を生成するのに用いられる前記XML文書の構造の要素との対応関係を示す第1のデータを生成させるためのXSLTプロセス命令である第1の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、
    前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、
    示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、
    前記表示画面上で前記構造化文書に対する編集の内容を示す更新データの入力を受け付けるための更新データ入力部と、
    前記更新データ入力部により受け付けられた前記更新データ及び前記XSLTプロセッサにより生成された前記第1のデータに基づいて、前記XML文書の内容を更新する更新処理を行う文書更新部とを備えたことを特徴とする構造化文書編集装置。
  2. 前記XSLT変換部は、前記XSLT文書中に指定された条件を満たすノードが存在する場合に、該ノードに対して、該満たすべき条件に対応して指定された前記第1の命令を追加するものであることを特徴とする請求項1に記載の構造化文書編集装置。
  3. 前記条件は、前記構造化文書のノードのうちで編集可能にするノードを生成するもととなる前記XML文書のノードに関係する前記XSLT文書のノードを指定するものであるであることを特徴とする請求項2に記載の構造化文書編集装置。
  4. XMLノードを有するXML文書を編集対象とし、該XML文書と、該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、
    前記XSLT文書中にノード値出力命令が存在する場合に、該ノード値出力命令により生成される前記構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになる前記XML文書中のノードを特定可能とする第2のデータを生成させるためのXSLTプロセス命令である第2の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、
    前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、
    示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、
    前記表示画面上で前記構造化文書のノードに対する編集の内容を示す更新データの入力を受け付けるための更新データ入力部と、
    前記更新データ入力部により前記構造化文書の或るノードに対する前記更新データが受け付けられた場合に、前記第2のデータに基づいて、該或るノードのもととなった前記XML文書中のノードを特定し、該更新データに基づいて、該特定されたノードに関する更新処理を行う文書更新部とを備えたことを特徴とする構造化文書編集装置。
  5. 前記更新データは、前記構造化文書のノードの持つ値に対する編集の内容を示すものであることを特徴とする請求項4に記載の構造化文書編集装置。
  6. XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書を編集対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、
    前記XSLT文書中に、そのノードと同名のノードを前記構造化文書中に出力するノード出力命令が存在する場合に、該ノード出力命令により生成される前記構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになる前記XSLT文書中のノードを特定可能とする第3のデータを生成させるためのXSLTプロセス命令である第3の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、
    前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、
    示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、
    前記表示画面上で前記構造化文書のノードに対する編集の内容を示す更新データの入力を受け付けるための更新データ入力部と、
    前記更新データ入力部により前記構造化文書の或るノードに対する前記更新データが受け付けられた場合に、前記第3のデータに基づいて、該或るノードのもととなった前記XSLT文書中のノードを特定し、該更新データに基づいて、該特定されたノードに関する更新処理を行う文書更新部とを備えたことを特徴とする構造化文書編集装置。
  7. 前記更新データは、前記構造化文書のノードの持つスタイル属性に対する編集の内容を示すものであることを特徴とする請求項6に記載の構造化文書編集装置。
  8. 前記スタイル属性は、フォントサイズ、フォント種類、テーブルの幅、文字の色又は背景の色であることを特徴とする請求項7に記載の構造化文書編集装置。
  9. 前記XSLT変換部は、前記ノードに対する編集方法を指定する第4のデータを生成させるためのXSLTプロセス命令である第4の命令をも、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換することを特徴とする請求項またはに記載の構造化文書編集装置。
  10. 前記XSLT変換部は、前記ノードに対する編集方法を指定する第4のデータを生成させるためのXSLTプロセス命令である第4の命令をも、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するものであり、
    前記更新データ入力部は、前記表示画面上で前記構造化文書のノードに対する編集の内容を示す前記更新データの入力を受け付けるにあたって、前記第4のデータに基づいて、該ノードに対して指定された前記編集方法によって前記更新データの入力を受け付けることを特徴とする請求項またはに記載の構造化文書編集装置。
  11. 前記編集方法は、テキストボックスによる編集方法又は選択ボックスによる編集方法であることを特徴とする請求項または10に記載の構造化文書編集装置。
  12. XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書をデバッグ対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、
    前記XSLT文書中にテンプレートが存在する場合に、前記構造化文書中のノードの全 部又は一部について、当該ノードを生成するにあたって適用された前記XSLT文書中のテンプレートを特定可能とする第5のデータを生成させるためのXSLTプロセス命令である第5の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、
    前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、
    示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、
    前記表示画面上で前記構造化文書のノードに対する選択指示を受け付けるための更新データ入力部と、
    前記更新データ入力部により前記構造化文書の或るノードに対する前記選択指示が受け付けられた場合に、前記第5のデータに基づいて、該或るノードに適用された前記XSLT文書中のテンプレートを特定し、該特定されたテンプレートに関する情報を前記表示画面に表示させるための制御を行う第2の表示制御手段とを備えたことを特徴とする構造化文書編集装置。
  13. XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書を編集対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置において、
    前記XSLT文書中に、前記XSLT文書の構造の要素を用いて前記構造化文書の構造の要素を生成するための要素が存在する場合に、前記構造化文書の構造の要素と、該要素を生成するのに用いられる前記XSLT文書の構造の要素との対応関係を示す第6のデータを生成させるためのXSLTプロセス命令である第6の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するXSLT変換部と、
    前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するXSLTプロセッサと、
    示装置の表示画面上に前記構造化文書を表示させるための制御を行う表示制御手段と、
    前記表示画面上で前記構造化文書に対する編集の内容を示す更新データの入力を受け付けるための更新データ入力部と、
    前記更新データ入力部により受け付けられた前記更新データ及び前記XSLTプロセッサにより生成された前記第のデータに基づいて、前記XSLT文書の内容を更新する更新処理を行う文書更新部とを備えたことを特徴とする構造化文書編集装置。
  14. 前記XSLT変換部は、前記XSLT文書中に指定された条件を満たすノード又はテンプレートが存在する場合に、該ノード又はテンプレートに対して、該満たすべき条件に対応して指定された前記第の命令を追加するものであることを特徴とする請求項13に記載の構造化文書編集装置。
  15. 前記条件は、前記構造化文書のノードのうちで編集を可能にするノードを生成するもととなる前記XSLT文書のノードまたはテンプレートを指定するものであるであることを特徴とする請求項14に記載の構造化文書編集装置。
  16. 前記XSLTプロセッサは、生成した前記データを、前記構造化文書中に記録することを特徴とする請求項1ないし15のいずれか1項に記載の構造化文書編集装置。
  17. 前記XSLTプロセッサは、生成した前記データを前記構造化文書中に記録するにあたって、前記構造化文書の内容であっても表示しないものとして規定された形態で記録することを特徴とする請求項16に記載の構造化文書編集装置。
  18. 前記XSLTプロセッサは、生成した前記データを、タグの一部若しくは属性値又はコメントとして、前記構造化文書中に記録することを特徴とする請求項16に記載の構造化文書編集装置。
  19. サーバ装置からネットワークを介して前記XML文書及び前記XSLT文書を取得する手段を更に備えたことを特徴とする請求項1ないし18のいずれか1項に記載の構造化文書編集装置。
  20. 前記XSLT変換部及び前記XSLTプロセッサをサーバ側に搭載し、該サーバとネットワークを介して通信可能な端末側に前記表示制御手段、前記更新データ入力部及び前記文書更新部を搭載したことを特徴とする請求項1、4、6、10、12または13に記載の構造化文書編集装置。
  21. 前記構造化文書は、HTML文書、XHTML文書、SVG文書、MathML文書又はXML文書であることを特徴とする請求項1ないし20のいずれか1項に記載の構造化文書編集装置。
  22. XMLノードを有するXML文書と、該XMLノードを参照して該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とを用いて、該XMLノードを表示するためのHTML文書を生成し、該HTML文書に基づく画像を参照したユーザからの該HTML文書に対する更新の内容を示す更新データの入力を受け付ける構造化文書編集装置において、
    前記XML文書のXMLノードを参照する前記XSLT文書のXSLTノードに、前記XML文書におけるXMLノードの位置を識別する情報を付与するXSLTプロセス命令である位置識別情報付与命令を追加して、変換後XSLT文書を生成するXSLT変換部と、
    前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記位置識別情報付与命令により位置識別情報が付与されたHTMLノードを有するHTML文書を生成するXSLTプロセッサと、
    前記HTML文書のHTMLノードに対する更新の内容を示す更新データの入力を受け付ける更新データ入力部と、
    受け付けられた前記更新データと、更新対象となった前記HTMLノードに付与された前記位置識別情報とを用いて、前記XML文書において前記位置識別情報が示す位置の前記XMLノードを、前記更新データに基づいて更新するXML文書更新部と、
    記HTML文書を表示する表示手段とを備え、
    前記更新データ入力部は、前記表示手段に表示された前記HTML文書の画像上で前記更新データの入力を受け付けるものであることを特徴とする構造化文書編集装置。
  23. XMLノードを有するXML文書と、該XMLノードを参照して該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とを用いて、該XMLノードを表示するためのHTML文書を生成する第1の装置と、該HTML文書に基づく画像を参照したユーザからの該HTML文書に対する更新の内容を示す更新データの入力を受け付ける第2の装置とからなる構造化文書編集装置において
    前記第1の装置は、
    記XML文書のXMLノードを参照する前記XSLT文書のXSLTノードに、前記XML文書におけるXMLノードの位置を識別する情報を付与するXSLTプロセス命令である位置識別情報付与命令を追加して、変換後XSLT文書を生成するXSLT変換部と、
    前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記位置識別情報付与命令により位置識別情報が付与されたHTMLノードを有するHTML文書を生成するXSLTプロセッサと
    生成された前記HTML文書を、前記第2の装置へ送信する送信手段と、
    前記第2の装置から送信された、前記HTML文書のHTMLノードに対する更新の内容を示す更新データと、更新対象となった前記HTMLノードに付与された前記位置識別情報とを受信する受信手段と、
    受信した前記更新データと前記位置識別情報とを用いて、前記XML文書において前記位置識別情報が示す位置の前記XMLノードを、前記更新データに基づいて更新するXML文書更新部とを備え、
    前記第2の装置は、
    前記第1の装置から送信された前記HTML文書を受信する受信手段と、
    前記HTML文書のHTMLノードに対する更新の内容を示す更新データの入力を受け付ける更新データ入力部と、
    受け付けられた前記更新データと、更新対象となった前記HTMLノードに付与された前記位置識別情報とを、前記第1の装置へ送信する送信手段と、
    前記HTML文書を表示する表示手段とを備え、
    前記更新データ入力部は、前記表示手段に表示された前記HTML文書の画像上で前記更新データの入力を受け付けるものであることを特徴とする構造化文書編集装置。
  24. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、文書更新部とを備え、XMLノードを有するXML文書を編集対象とし、該XML文書と、該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置における構造化文書編集方法であって、
    前記XSLT変換部が、前記XSLT文書中に、前記XML文書の構造の要素を用いて前記構造化文書の構造の要素を生成するための要素が存在する場合に、前記構造化文書の構造の要素と、該要素を生成するのに用いられる前記XML文書の構造の要素との対応関係を示す第1のデータを生成させるためのXSLTプロセス命令である第1の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書に対する編集の内容を示す更新データの入力を受け付けるステップと、
    前記文書更新部が、前記更新データ入力部により受け付けられた前記更新データ及び前記XSLTプロセッサにより生成された前記第1のデータに基づいて、前記XML文書の内容を更新する更新処理を行うステップとを有ることを特徴とする構造化文書編集方法。
  25. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、文書更新部とを備え、XMLノードを有するXML文書を編集対象とし、該XML文書と、該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置における構造化文書編集方法であって、
    前記XSLT変換部が、前記XSLT文書中にノード値出力命令が存在する場合に、該ノード値出力命令により生成される前記構造化文書中のノードの全部又は一部について、 当該ノードを生成するもとになる前記XML文書中のノードを特定可能とする第2のデータを生成させるためのXSLTプロセス命令である第2の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書のノードに対する編集の内容を示す更新データの入力を受け付けるステップと、
    前記文書更新部が、前記更新データ入力部により前記構造化文書の或るノードに対する前記更新データが受け付けられた場合に、前記第2のデータに基づいて、該或るノードのもととなった前記XML文書中のノードを特定し、該更新データに基づいて、該特定されたノードに関する更新処理を行うステップとを有ることを特徴とする構造化文書編集方法。
  26. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、文書更新部とを備え、XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書を編集対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置における構造化文書編集方法であって、
    前記XSLT変換部が、前記XSLT文書中に、そのノードと同名のノードを前記構造化文書中に出力するノード出力命令が存在する場合に、該ノード出力命令により生成される前記構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになる前記XSLT文書中のノードを特定可能とする第3のデータを生成させるためのXSLTプロセス命令である第3の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書のノードに対する編集の内容を示す更新データの入力を受け付けるステップと、
    前記文書更新部が、前記更新データ入力部により前記構造化文書の或るノードに対する前記更新データが受け付けられた場合に、前記第3のデータに基づいて、該或るノードのもととなった前記XSLT文書中のノードを特定し、該更新データに基づいて、該特定されたノードに関する更新処理を行うステップとを有ることを特徴とする構造化文書編集方法。
  27. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、第2の表示制御手段と備え、XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書をデバッグ対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置における構造化文書編集方法であって、
    前記XSLT変換部が、前記XSLT文書中にテンプレートが存在する場合に、前記構造化文書中のノードの全部又は一部について、当該ノードを生成するにあたって適用された前記XSLT文書中のテンプレートを特定可能とする第5のデータを生成させるためのXSLTプロセス命令である第5の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書のノードに対する選択指示を受け付けるステップと、
    前記第2の表示制御手段が、前記更新データ入力部により前記構造化文書の或るノードに対する前記選択指示が受け付けられた場合に、前記第5のデータに基づいて、該或るノードに適用された前記XSLT文書中のテンプレートを特定し、該特定されたテンプレートに関する情報を前記表示画面に表示させるための制御を行うステップとを有ることを特徴とする構造化文書編集方法。
  28. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、文書更新部とを備え、XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書を編集対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置における構造化文書編集方法であって、
    前記XSLT変換部が、前記XSLT文書中に、前記XSLT文書の構造の要素を用いて前記構造化文書の構造の要素を生成するための要素が存在する場合に、前記構造化文書の構造の要素と、該要素を生成するのに用いられる前記XSLT文書の構造の要素との対応関係を示す第6のデータを生成させるためのXSLTプロセス命令である第6の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書に対する編集の内容を示す更新データの入力を受け付けるステップと、
    前記文書更新部が、前記更新データ入力部により受け付けられた前記更新データ及び前記XSLTプロセッサにより生成された前記第のデータに基づいて、前記XSLT文書の内容を更新する更新処理を行うステップとを有ることを特徴とする構造化文書編集方法。
  29. XSLT変換部と、XSLTプロセッサと、更新データ入力部と、XML文書更新部と、前記HTML文書を表示する表示手段とを備え、XMLノードを有するXML文書と、該XMLノードを参照して該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とを用いて、該XMLノードを表示するためのHTML文書を生成し、該HTML文書に基づく画像を参照したユーザからの該HTML文書に対する更新の内容を示す更新データの入力を受け付ける構造化文書編集装置における構造化文書編集方法であって、
    前記XSLT変換部が、前記XML文書のXMLノードを参照する前記XSLT文書のXSLTノードに、前記XML文書におけるXMLノードの位置を識別する情報を付与するXSLTプロセス命令である位置識別情報付与命令を追加して、変換後XSLT文書を生成するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記位置識別情報付与命令により位置識別情報が付与されたHTMLノードを有するHTML文書を生成するステッ プと、
    前記更新データ入力部が、前記HTML文書のHTMLノードに対する更新の内容を示す更新データの入力を受け付ける更新データ入力ステップと、
    前記XML文書更新部が、受け付けられた前記更新データと、更新対象となった前記HTMLノードに付与された前記位置識別情報とを用いて、前記XML文書において前記位置識別情報が示す位置の前記XMLノードを、前記更新データに基づいて更新するステップと、
    記表示手段が、前記HTML文書を表示する表示ステップとを有し、
    前記更新データ入力ステップにおいて、前記更新データ入力部は、前記表示ステップにおいて前記表示手段に表示された前記HTML文書の画像上で前記更新データの入力を受け付けるものであることを特徴とする構造化文書編集方法。
  30. XSLT変換部と、XSLTプロセッサと、第1の送信手段と、第2の受信手段と、XML文書更新部とを備え、XMLノードを有するXML文書と、該XMLノードを参照して該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とを用いて、該XMLノードを表示するためのHTML文書を生成する第1の装置と、第1の受信手段と、更新データ入力部と、第2の送信手段と、前記HTML文書を表示する表示手段とを備え、該HTML文書に基づく画像を参照したユーザからの該HTML文書に対する更新の内容を示す更新データの入力を受け付ける第2の装置とからなる構造化文書編集装置における構造化文書編集方法であって、
    前記第1の装置に備えられた前記XSLT変換部が、前記XML文書のXMLノードを参照する前記XSLT文書のXSLTノードに、前記XML文書におけるXMLノードの位置を識別する情報を付与するXSLTプロセス命令である位置識別情報付与命令を追加して、変換後XSLT文書を生成するステップと、
    前記第1の装置に備えられた前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記位置識別情報付与命令により位置識別情報が付与されたHTMLノードを有するHTML文書を生成するステップと
    前記第1の装置に備えられた前記第1の送信手段が、生成された前記HTML文書を、前記第2の装置へ送信し、前記第2の装置に備えられた前記第1の受信手段が、生成された前記HTML文書を受信するステップと、
    前記第2の装置に備えられた前記表示手段が、受信した前記HTML文書を表示する表示ステップと、
    前記第2の装置に備えられた前記更新データ入力部が、前記表示ステップにおいて前記表示手段に表示された前記HTML文書の画像上で、該HTML文書のHTMLノードに対する更新の内容を示す更新データの入力を受け付ける更新データ入力ステップと、
    前記第2の装置に備えられた前記第2の送信手段が、受け付けられた前記更新データと、更新対象となった前記HTMLノードに付与された前記位置識別情報とを、前記第1の装置へ送信し、前記第1の装置に備えられた前記第2の受信手段が、前記更新データと、前記位置識別情報とを受信するステップと、
    前記第1の装置に備えられた前記XML文書更新部が、受信した前記更新データと前記位置識別情報とを用いて、前記XML文書において前記位置識別情報が示す位置の前記XMLノードを、前記更新データに基づいて更新するステップとを有することを特徴とする構造化文書編集方法。
  31. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、文書更新部とを備え、XMLノードを有するXML文書を編集対象とし、該XML文書と、該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置としてコンピュータを機能させるためのプログラムであって、
    前記XSLT変換部が、前記XSLT文書中に、前記XML文書の構造の要素を用いて前記構造化文書の構造の要素を生成するための要素が存在する場合に、前記構造化文書の構造の要素と、該要素を生成するのに用いられる前記XML文書の構造の要素との対応関係を示す第1のデータを生成させるためのXSLTプロセス命令である第1の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書に対する編集の内容を示す更新データの入力を受け付けるステップと、
    前記文書更新部が、前記更新データ入力部により受け付けられた前記更新データ及び前記XSLTプロセッサにより生成された前記第1のデータに基づいて、前記XML文書の内容を更新する更新処理を行うステップとをコンピュータに実行させるためのプログラム。
  32. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、文書更新部とを備え、XMLノードを有するXML文書を編集対象とし、該XML文書と、該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置としてコンピュータを機能させるためのプログラムであって、
    前記XSLT変換部が、前記XSLT文書中にノード値出力命令が存在する場合に、該ノード値出力命令により生成される前記構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになる前記XML文書中のノードを特定可能とする第2のデータを生成させるためのXSLTプロセス命令である第2の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書のノードに対する編集の内容を示す更新データの入力を受け付けるステップと、
    前記文書更新部が、前記更新データ入力部により前記構造化文書の或るノードに対する前記更新データが受け付けられた場合に、前記第2のデータに基づいて、該或るノードのもととなった前記XML文書中のノードを特定し、該更新データに基づいて、該特定されたノードに関する更新処理を行うステップとをコンピュータに実行させるためのプログラム。
  33. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、文書更新部とを備え、XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書を編集対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置としてコンピュータを機能させるためのプログラムであって、
    前記XSLT変換部が、前記XSLT文書中に、そのノードと同名のノードを前記構造化文書中に出力するノード出力命令が存在する場合に、該ノード出力命令により生成される前記構造化文書中のノードの全部又は一部について、当該ノードを生成するもとになる前記XSLT文書中のノードを特定可能とする第3のデータを生成させるためのXSLT プロセス命令である第3の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書のノードに対する編集の内容を示す更新データの入力を受け付けるステップと、
    前記文書更新部が、前記更新データ入力部により前記構造化文書の或るノードに対する前記更新データが受け付けられた場合に、前記第3のデータに基づいて、該或るノードのもととなった前記XSLT文書中のノードを特定し、該更新データに基づいて、該特定されたノードに関する更新処理を行うステップとをコンピュータに実行させるためのプログラム。
  34. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、第2の表示制御手段とを備え、XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書をデバッグ対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置としてコンピュータを機能させるためのプログラムであって、
    前記XSLT変換部が、前記XSLT文書中にテンプレートが存在する場合に、前記構造化文書中のノードの全部又は一部について、当該ノードを生成するにあたって適用された前記XSLT文書中のテンプレートを特定可能とする第5のデータを生成させるためのXSLTプロセス命令である第5の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書のノードに対する選択指示を受け付けるステップと、
    前記第2の表示制御手段が、前記更新データ入力部により前記構造化文書の或るノードに対する前記選択指示が受け付けられた場合に、前記第5のデータに基づいて、該或るノードに適用された前記XSLT文書中のテンプレートを特定し、該特定されたテンプレートに関する情報を前記表示画面に表示させるための制御を行うステップとをコンピュータに実行させるためのプログラム。
  35. XSLT変換部と、XSLTプロセッサと、表示制御手段と、更新データ入力部と、文書更新部とを備え、XML文書の有するXMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書を編集対象とし、該XML文書と該XSLT文書とから、該XMLノードを表示するための構造化文書を生成する構造化文書編集装置としてコンピュータを機能させるためのプログラムであって、
    前記XSLT変換部が、前記XSLT文書中に、前記XSLT文書の構造の要素を用いて前記構造化文書の構造の要素を生成するための要素が存在する場合に、前記構造化文書の構造の要素と、該要素を生成するのに用いられる前記XSLT文書の構造の要素との対応関係を示す第6のデータを生成させるためのXSLTプロセス命令である第6の命令を、該XSLT文書に追加することによって、該XSLT文書を変換後XSLT文書へ変換するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記構造化文書を生成するステップと、
    記表示制御手段が、表示装置の表示画面上に前記構造化文書を表示させるための制御を行うステップと、
    前記更新データ入力部が、前記表示画面上で前記構造化文書に対する編集の内容を示す更新データの入力を受け付けるステップと、
    前記文書更新部が、前記更新データ入力部により受け付けられた前記更新データ及び前記XSLTプロセッサにより生成された前記第のデータに基づいて、前記XSLT文書の内容を更新する更新処理を行うステップとをコンピュータに実行させるためのプログラム。
  36. XSLT変換部と、XSLTプロセッサと、更新データ入力部と、XML文書更新部と、前記HTML文書を表示する表示手段とを備え、XMLノードを有するXML文書と、該XMLノードを参照して該XMLノードの表示状態を定義するXSLTプロセス命令である出力命令を含むXSLTノードを有するXSLT文書とを用いて、該XMLノードを表示するためのHTML文書を生成し、該HTML文書に基づく画像を参照したユーザからの該HTML文書に対する更新の内容を示す更新データの入力を受け付ける構造化文書編集装置としてコンピュータを機能させるためのプログラムであって、
    前記XSLT変換部が、前記XML文書のXMLノードを参照する前記XSLT文書のXSLTノードに、前記XML文書におけるXMLノードの位置を識別する情報を付与するXSLTプロセス命令である位置識別情報付与命令を追加して、変換後XSLT文書を生成するステップと、
    前記XSLTプロセッサが、前記XML文書を対象として、前記変換後XSLT文書に含まれる前記XSLTプロセス命令を実行することによって、前記位置識別情報付与命令により位置識別情報が付与されたHTMLノードを有するHTML文書を生成するステップと、
    前記更新データ入力部が、前記HTML文書のHTMLノードに対する更新の内容を示す更新データの入力を受け付ける更新データ入力ステップと、
    前記XML文書更新部が、受け付けられた前記更新データと、更新対象となった前記HTMLノードに付与された前記位置識別情報とを用いて、前記XML文書において前記位置識別情報が示す位置の前記XMLノードを、前記更新データに基づいて更新するステップと、
    記表示手段が、前記HTML文書を表示する表示ステップとをコンピュータに実行させるためのものであり、
    前記更新データ入力ステップにおいて、前記更新データ入力部は、前記表示ステップにおいて前記表示手段に表示された前記HTML文書の画像上で前記更新データの入力を受け付けるものであることを特徴とするプログラム。
JP2003081213A 2002-04-30 2003-03-24 構造化文書編集装置、構造化文書編集方法及びプログラム Expired - Lifetime JP3857663B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003081213A JP3857663B2 (ja) 2002-04-30 2003-03-24 構造化文書編集装置、構造化文書編集方法及びプログラム
US10/424,727 US7146565B2 (en) 2002-04-30 2003-04-29 Structured document edit apparatus, structured document edit method, and program product

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002129017 2002-04-30
JP2003081213A JP3857663B2 (ja) 2002-04-30 2003-03-24 構造化文書編集装置、構造化文書編集方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2004030582A JP2004030582A (ja) 2004-01-29
JP3857663B2 true JP3857663B2 (ja) 2006-12-13

Family

ID=31190009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003081213A Expired - Lifetime JP3857663B2 (ja) 2002-04-30 2003-03-24 構造化文書編集装置、構造化文書編集方法及びプログラム

Country Status (2)

Country Link
US (1) US7146565B2 (ja)
JP (1) JP3857663B2 (ja)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948135B1 (en) * 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7624356B1 (en) * 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7155667B1 (en) * 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
AU2001264895A1 (en) * 2000-06-21 2002-01-02 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US7516103B1 (en) * 2001-03-09 2009-04-07 Whitefence, Inc. Method and apparatus for facilitating electronic acquisition and maintenance of goods and services via the internet
US6996781B1 (en) * 2001-10-31 2006-02-07 Qcorps Residential, Inc. System and method for generating XSL transformation documents
US7275216B2 (en) * 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7516145B2 (en) * 2003-03-31 2009-04-07 Microsoft Corporation System and method for incrementally transforming and rendering hierarchical data files
JP4240293B2 (ja) * 2003-05-27 2009-03-18 株式会社ソニー・コンピュータエンタテインメント マルチメディア再生装置およびマルチメディア再生方法
US20040268229A1 (en) * 2003-06-27 2004-12-30 Microsoft Corporation Markup language editing with an electronic form
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
JP4177218B2 (ja) * 2003-09-24 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ 文書変換装置
FR2860315A1 (fr) * 2003-09-30 2005-04-01 Canon Kk Procede et dispositif d'edition de documents graphiques numeriques du type svg notamment a partir d'un butineur
AU2003273203A1 (en) * 2003-10-01 2005-04-14 Vibrasoft Pte. Ltd. A method of updating a data source from transformed data
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7430711B2 (en) * 2004-02-17 2008-09-30 Microsoft Corporation Systems and methods for editing XML documents
US7318063B2 (en) * 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
WO2005098662A1 (ja) * 2004-04-08 2005-10-20 Justsystems Corporation 文書処理装置及び文書処理方法
EP1743255A4 (en) * 2004-04-08 2008-11-05 Justsystems Corp DEVICE FOR PROCESSING DOCUMENTS USING A MARKUP LANGUAGE
JPWO2005098661A1 (ja) * 2004-04-08 2008-02-28 株式会社ジャストシステム 文書処理装置及び文書処理方法
US20070198915A1 (en) * 2004-04-08 2007-08-23 Masayuki Hiyama Document Processing Device And Document Processing Method
WO2005098658A1 (ja) * 2004-04-08 2005-10-20 Justsystems Corporation 文書処理装置及び文書処理方法
US7500221B2 (en) * 2004-04-08 2009-03-03 Sap Ag Filter-based comments in source code
US20070283246A1 (en) * 2004-04-08 2007-12-06 Just System Corporation Processing Documents In Multiple Markup Representations
EP1743254A4 (en) * 2004-04-08 2008-10-29 Justsystems Corp PROCESSING OF DATA AND DOCUMENTS USING A MARKING LANGUAGE
WO2005098663A1 (ja) * 2004-04-08 2005-10-20 Justsystems Corporation 情報管理装置
JP2007532986A (ja) * 2004-04-08 2007-11-15 株式会社ジャストシステム 複数のマークアップ表現における文書処理
JPWO2005098659A1 (ja) * 2004-04-08 2008-02-28 株式会社ジャストシステム 文書処理装置及び文書処理方法
US20080134019A1 (en) * 2004-04-08 2008-06-05 Nobuaki Wake Processing Data And Documents That Use A Markup Language
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
CN1973285A (zh) * 2004-06-24 2007-05-30 佳思腾软件公司 文档处理方法及其装置
JP2006059243A (ja) * 2004-08-23 2006-03-02 Univ Of Tokyo 構造化文書作成方法及び装置及びプログラム
US9171100B2 (en) 2004-09-22 2015-10-27 Primo M. Pettovello MTree an XPath multi-axis structure threaded index
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
WO2006046668A1 (ja) * 2004-10-27 2006-05-04 Justsystems Corporation 文書処理装置および文書処理方法
CN101031912A (zh) * 2004-11-12 2007-09-05 佳思腾软件公司 数据处理装置和数据处理方法
WO2006051959A1 (ja) * 2004-11-12 2006-05-18 Justsystems Corporation 文書処理装置及び文書処理方法
US20090137202A1 (en) * 2004-11-12 2009-05-28 Yusuke Fujimaki Information distribution system
WO2006051960A1 (ja) * 2004-11-12 2006-05-18 Justsystems Corporation 文書処理装置及び文書処理方法
US20090077462A1 (en) * 2004-11-12 2009-03-19 Justsystems Corporation Document processing device and document processing method
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7584417B2 (en) * 2004-11-15 2009-09-01 Microsoft Corporation Role-dependent action for an electronic form
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
JP4868733B2 (ja) 2004-11-25 2012-02-01 キヤノン株式会社 構造化文書処理装置及び構造化文書処理方法、プログラム
US7417632B2 (en) * 2004-12-02 2008-08-26 Sap Ag Automatic testing of graphics programs
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7437376B2 (en) * 2004-12-20 2008-10-14 Microsoft Corporation Scalable object model
US7458021B2 (en) * 2004-12-23 2008-11-25 Microsoft Corporation System and method for author-driven template switching in the development and modification of web pages
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7979405B2 (en) * 2005-01-14 2011-07-12 Microsoft Corporation Method for automatically associating data with a document based on a prescribed type of the document
US7966286B2 (en) * 2005-02-14 2011-06-21 Microsoft Corporation Hierarchical management of object schema and behavior
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
EP1870821A4 (en) * 2005-03-30 2013-04-03 Fujitsu Ltd IMPLEMENTATION PROCEDURES FOR STRUCTURED DATA
US8185820B1 (en) * 2005-04-06 2012-05-22 Adobe Systems Incorporated System and/or method for document generation
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US7949941B2 (en) * 2005-04-22 2011-05-24 Oracle International Corporation Optimizing XSLT based on input XML document structure description and translating XSLT into equivalent XQuery expressions
US8799515B1 (en) * 2005-06-27 2014-08-05 Juniper Networks, Inc. Rewriting of client-side executed scripts in the operation of an SSL VPN
US7543228B2 (en) * 2005-06-27 2009-06-02 Microsoft Corporation Template for rendering an electronic form
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US7484173B2 (en) * 2005-10-18 2009-01-27 International Business Machines Corporation Alternative key pad layout for enhanced security
US7664742B2 (en) * 2005-11-14 2010-02-16 Pettovello Primo M Index data structure for a peer-to-peer network
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
CN100547590C (zh) * 2005-12-05 2009-10-07 北京书生国际信息技术有限公司 文档处理系统
US20070168857A1 (en) * 2006-01-17 2007-07-19 Oracle International Corporation Transformation of Source Data in a Source Markup Language to Target Data in a Target Markup Language
US20070174309A1 (en) * 2006-01-18 2007-07-26 Pettovello Primo M Mtreeini: intermediate nodes and indexes
US8286075B2 (en) * 2006-03-07 2012-10-09 Oracle International Corporation Reducing resource requirements when transforming source data in a source markup language to target data in a target markup language using transformation rules
US7774699B2 (en) * 2006-03-10 2010-08-10 Oracle International Corporation Parallel data transformation
US8082493B2 (en) * 2006-04-10 2011-12-20 Oracle International Corporation Streaming XML patch
US8429526B2 (en) * 2006-04-10 2013-04-23 Oracle International Corporation Efficient evaluation for diff of XML documents
US7603351B2 (en) * 2006-04-19 2009-10-13 Apple Inc. Semantic reconstruction
US20070260976A1 (en) * 2006-05-02 2007-11-08 Slein Judith A Rule Engines and Methods of Using Same
US7774700B2 (en) * 2006-06-20 2010-08-10 Oracle International Corporation Partial evaluation of XML queries for program analysis
US20080028302A1 (en) * 2006-07-31 2008-01-31 Steffen Meschkat Method and apparatus for incrementally updating a web page
US8255790B2 (en) * 2006-09-08 2012-08-28 Microsoft Corporation XML based form modification with import/export capability
US7974993B2 (en) * 2006-12-04 2011-07-05 Microsoft Corporation Application loader for support of version management
US9880980B2 (en) * 2007-03-05 2018-01-30 International Business Machines Corporation Document transformation performance via incremental fragment transformations
US7860899B2 (en) * 2007-03-26 2010-12-28 Oracle International Corporation Automatically determining a database representation for an abstract datatype
JP2008257316A (ja) * 2007-04-02 2008-10-23 Fuji Xerox Co Ltd 情報処理システム及び情報処理プログラム
US20080313201A1 (en) * 2007-06-12 2008-12-18 Christopher Mark Bishop System and method for compact representation of multiple markup data pages of electronic document data
US7979793B2 (en) * 2007-09-28 2011-07-12 Microsoft Corporation Graphical creation of a document conversion template
US8370391B2 (en) * 2008-03-25 2013-02-05 Microsoft Corporation Functional updates for tree processing
US8145992B2 (en) * 2008-06-30 2012-03-27 Xerox Corporation Validation assisted document conversion design
US8631028B1 (en) 2009-10-29 2014-01-14 Primo M. Pettovello XPath query processing improvements
EP2558960A1 (en) 2010-04-12 2013-02-20 Google, Inc. Real-time collaboration in a hosted word processor
DE202011110880U1 (de) 2010-04-12 2017-01-20 Google Inc. Kollaborative Cursors in einem gehosteten Textverarbeitungsprogramm
JP5664067B2 (ja) * 2010-09-22 2015-02-04 富士ゼロックス株式会社 文書編集処理システム
EP2633432A4 (en) * 2010-10-26 2015-10-21 Hewlett Packard Development Co EXTRACTION OF CONTENT FROM ONE WEBSITE
US8996985B1 (en) 2011-03-16 2015-03-31 Google Inc. Online document processing service for displaying comments
JP5794568B2 (ja) * 2011-09-01 2015-10-14 国立大学法人東京工業大学 データ編集装置およびデータ編集方法
US9336137B2 (en) 2011-09-02 2016-05-10 Google Inc. System and method for performing data management in a collaborative development environment
JP5469645B2 (ja) * 2011-09-17 2014-04-16 信吉 姫野 文書管理サーバーシステム
US20150199308A1 (en) 2011-10-17 2015-07-16 Google Inc. Systems and methods for controlling the display of online documents
US8471871B1 (en) 2011-10-17 2013-06-25 Google Inc. Authoritative text size measuring
US8266245B1 (en) 2011-10-17 2012-09-11 Google Inc. Systems and methods for incremental loading of collaboratively generated presentations
US10430388B1 (en) 2011-10-17 2019-10-01 Google Llc Systems and methods for incremental loading of collaboratively generated presentations
US8812946B1 (en) 2011-10-17 2014-08-19 Google Inc. Systems and methods for rendering documents
US8434002B1 (en) 2011-10-17 2013-04-30 Google Inc. Systems and methods for collaborative editing of elements in a presentation document
US8397153B1 (en) 2011-10-17 2013-03-12 Google Inc. Systems and methods for rich presentation overlays
US8738706B1 (en) 2011-11-16 2014-05-27 Google Inc. Systems and methods for collaborative document editing
US9367522B2 (en) 2012-04-13 2016-06-14 Google Inc. Time-based presentation editing
US9141596B2 (en) * 2012-05-02 2015-09-22 Google Inc. System and method for processing markup language templates from partial input data
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US10956667B2 (en) 2013-01-07 2021-03-23 Google Llc Operational transformations proxy for thin clients
US9462037B2 (en) 2013-01-07 2016-10-04 Google Inc. Dynamically sizing chunks in a partially loaded spreadsheet model
US9390079B1 (en) * 2013-05-10 2016-07-12 D.R. Systems, Inc. Voice commands for report editing
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US9535883B2 (en) 2014-10-24 2017-01-03 Dropbox, Inc. Modifying native document comments in a preview
JP2018185380A (ja) * 2017-04-25 2018-11-22 セイコーエプソン株式会社 電子機器、プログラム及び電子機器の制御方法
US20190324798A1 (en) * 2018-04-18 2019-10-24 Unisys Corporation Method and system for migrating xml schemas in application releases
KR102052033B1 (ko) * 2018-06-11 2020-01-08 김병진 다양한 구조화 방식들로 인스턴트 메시지들을 조직화하고 표시하기 위한 장치 및 방법

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072934B2 (en) * 2000-01-14 2006-07-04 Saba Software, Inc. Method and apparatus for a business applications server management system platform
WO2001052118A2 (en) * 2000-01-14 2001-07-19 Saba Software, Inc. Information server
US6643652B2 (en) * 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
US20020059265A1 (en) * 2000-04-07 2002-05-16 Valorose Joseph James Method and apparatus for rendering electronic documents
US7702995B2 (en) * 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US6795830B1 (en) * 2000-09-08 2004-09-21 Oracle International Corporation Techniques for providing off-host storage for a database application
US20020122060A1 (en) * 2000-12-18 2002-09-05 Markel Steven O. Wizard generating HTML web pages using XML and XSL
US20020099735A1 (en) * 2001-01-19 2002-07-25 Schroeder Jonathan E. System and method for conducting electronic commerce
US20020161803A1 (en) * 2001-03-15 2002-10-31 Imation Corp. Web page color accuracy
US20020165881A1 (en) * 2001-03-15 2002-11-07 Imation Corp. Web page color accuracy using color-customized style sheets
US6725231B2 (en) * 2001-03-27 2004-04-20 Koninklijke Philips Electronics N.V. DICOM XML DTD/schema generator
US7703009B2 (en) * 2001-04-09 2010-04-20 Huang Evan S Extensible stylesheet designs using meta-tag information
US7152090B2 (en) * 2001-06-01 2006-12-19 Sun Microsystems, Inc. Metadata-aware enterprise application integration framework for application server environment
US7107521B2 (en) * 2001-07-03 2006-09-12 International Business Machines Corporation XSL dynamic inheritance
JP2003067185A (ja) * 2001-08-14 2003-03-07 Internatl Business Mach Corp <Ibm> アプリケーション編集装置、データ処理方法及びプログラム
US7080083B2 (en) * 2001-12-21 2006-07-18 Kim Hong J Extensible stylesheet designs in visual graphic environments
JP4291999B2 (ja) * 2002-01-18 2009-07-08 株式会社インターネットディスクロージャー 書類作成システム及び作成管理プログラム
US7290008B2 (en) * 2002-03-05 2007-10-30 Exigen Group Method to extend a uniform resource identifier to encode resource identifiers
US7992088B2 (en) * 2002-03-12 2011-08-02 International Business Machines Corporation Method and system for copy and paste technology for stylesheet editing
US7337391B2 (en) * 2002-03-12 2008-02-26 International Business Machines Corporation Method and system for stylesheet execution interactive feedback
US7191395B2 (en) * 2002-03-12 2007-03-13 International Business Machines Corporation Method and system for stylesheet-centric editing
US8117533B2 (en) * 2002-03-12 2012-02-14 International Business Machines Corporation Method and system for stylesheet rule creation, combination, and removal
US20030198934A1 (en) * 2002-03-29 2003-10-23 Nachi Sendowski Branching script engine
US20040205612A1 (en) * 2002-04-10 2004-10-14 International Business Machines Corporation Programmatically generating a presentation style for legacy host data

Also Published As

Publication number Publication date
US7146565B2 (en) 2006-12-05
JP2004030582A (ja) 2004-01-29
US20040044965A1 (en) 2004-03-04

Similar Documents

Publication Publication Date Title
JP3857663B2 (ja) 構造化文書編集装置、構造化文書編集方法及びプログラム
WO2006051715A1 (ja) 文書処理装置及び文書処理方法
EP1816586A1 (en) Data processing system, data processing method, and management server
WO2006051975A1 (ja) 文書処理装置
EP1821219A1 (en) Document processing device and document processing method
WO2006051713A1 (ja) 文書処理装置及び文書処理方法
US20090083300A1 (en) Document processing device and document processing method
US20070208995A1 (en) Document Processing Device and Document Processing Method
US20070198915A1 (en) Document Processing Device And Document Processing Method
JPWO2007132568A1 (ja) データ処理サーバ及びデータ処理方法
JPWO2007081017A1 (ja) 文書処理装置
US7827195B2 (en) Document management device and document management method
WO2006051959A1 (ja) 文書処理装置及び文書処理方法
JP5267342B2 (ja) マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法
EP1830274A1 (en) Server device and name space issuing method
US20090287994A1 (en) Document processing device and document processing method
US20100077295A1 (en) Document processing device and document processing module
US20080005085A1 (en) Server Device and Search Method
EP1821220A1 (en) Data processing device, document processing device, and document processing method
JPWO2006051974A1 (ja) 文書処理装置および文書処理方法
JP2007183849A (ja) 文書処理装置
WO2006051714A1 (ja) 文書処理装置及び文書処理方法
US20080005154A1 (en) Document Processing Device and Document Processing Method
US20090083620A1 (en) Document processing device and document processing method
JP5476867B2 (ja) マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060914

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

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 6