JP2009519507A - 文書処理システム及びその方法 - Google Patents

文書処理システム及びその方法 Download PDF

Info

Publication number
JP2009519507A
JP2009519507A JP2008542583A JP2008542583A JP2009519507A JP 2009519507 A JP2009519507 A JP 2009519507A JP 2008542583 A JP2008542583 A JP 2008542583A JP 2008542583 A JP2008542583 A JP 2008542583A JP 2009519507 A JP2009519507 A JP 2009519507A
Authority
JP
Japan
Prior art keywords
document
objects
page
layer
application
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.)
Pending
Application number
JP2008542583A
Other languages
English (en)
Inventor
ドングリン ワン,
チャンウェイ リウ,
シュ グオ,
カイホン ゾウ,
シャオキン ル,
ハイフェン ジァン,
Original Assignee
サーセン コーポレイション
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 サーセン コーポレイション filed Critical サーセン コーポレイション
Publication of JP2009519507A publication Critical patent/JP2009519507A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本発明は、汎用文書モデルに適合する文書を操作するための標準指令を送信するアプリケーション層と、前記標準指令を受信し、前記標準指令に基づいて文書データを操作する文書ベースシステムとを含む文書処理システムを開示している。また、本発明は文書処理方法を開示している。本発明によれば、アプリケーション層とデータ処理層を分離させることになる。このように、アプリケーションが具体的な文書フォーマットと直接な関係なく、文書も特定のアプリケーションとバインドされず、同一文書が、異なるアプリケーションの間で汎用でき、同一アプリケーションも、異なる文書を操作できるようになって、文書の相互運用性が実現されている。
【選択図】 図1

Description

本発明は文書処理システム及びその方法に関する。
情報は構造化データと非構造化データに大別される。そのうち、資料統計により、テキスト文書及びストリーミングメディアを主とする非構造化データのシェアが70%を越える。構造化データの構造は、即ち2次元の表の構造であり、比較的に簡単である。構造化データの処理技術は、主にデータベースシステムを利用して処理することであり、20世紀の70、80年代から発展して、90年代にピークに達し、その研究開発と応用が既に成熟した。非構造化データは固定のデータ構造がないため、非構造化データに対する処理が非常に複雑である。
現在、各種の非構造化文書を処理するアプリケーションは既に普及しており、さまざまな文書フォーマットが並存している状況になっている。例えば、文書編集については、現在、Microsoft(登録商標)のword、WPS、永中科技有限公司のOffice、RedのOfficeなどが存在している。通常、1つの内容管理アプリケーションは200、300種もの文書フォーマットに対して処理することがあり、そして、これらのフォーマットが絶えずに更新されているため、このようなアプリケーションの開発に多大な困難をもたらす。文書の汎用性、デジタル内容の抽出、フォーマットの互換性がますます焦点になり、下記の問題解決に迫っている。
1)文書が汎用できない。
基本的に、異なるユーザは、同じアプリケーションで処理された文書だけ交換でき、異なるアプリケーションで処理された文書を交換できないため、情報の閉鎖につながる。
2)アクセスインターフェースが不統一で、データの互換性の代価が高すぎる。
異なる文書処理アプリケーションの間で、文書フォーマットは互いに互換できず、処理中においては、相手のフォーマットに対して、相手のコンポーネントを利用して解析し(相手から相応インターフェースの提供を前提とする)、又は、自分で研究開発の力を投入して最初から最後まで解析する必要がある。
3)情報セキュリティが悪い。
現在、テキスト文書に対する権限制御手段は単一で、主にデータ暗号化とパスワード認証とを含む。毎年、情報漏えいで会社が巨大な損失を食う事件は次々に発生する。
4)単一文書のみに対する処理であり、マルチ文書管理手段が乏しい。
各人のコンピュータに大量な文書があるが、複数の文書の間では、有効な組織管理が乏しく、且つリソースの共有が難しい。例えば、フォント・書体ファイルや全文データ検索などである。
5)ページの階層化の技術が不整備。
現在、Adobe(登録商標)のphotoshopやMicrosoftのwordのようなアプリケーションには層という概念が多少あったが、その層は、機能がまだ単純で、管理手段が比較的に簡単で、応用ニーズを満たすことができない。
6)検索手段が豊富でない。
情報の大量化に伴い、どのキーワードで検索しても膨大な検索結果になってしまう。全文検索技術により再現率の課題がほぼ解決されているが、適合率が速やかに最も重要な課題になっている。従来技術では、適合率の課題の解決に全ての情報を十分に利用していない。例えば、各字の書体や文字サイズが、この字の重要性判断にまったく使用可能であるが、検索時に無視されてしまった。
現在、各大手会社は全部、自社特有の文書フォーマットを市場の標準規格に発展させるように努力しており、各標準化団体も汎用文書フォーマット規格の制定に力を尽くしている。しかし、専有の文書フォーマット(例えば.doc)やオープンな文書フォーマット(例えばPDF)にかかわらず、文書フォーマットを規格とする限り、下記の問題が避けられない。
a)重複開発、効果の不統一
同一文書フォーマット標準規格を使用する異なるアプリケーションがこのフォーマットの文書の解釈・生成を自分で行う必要があることにより、大量の重複開発をもたらす。また、各アプリケーションの解釈プログラムは異り、例えば、整備なものもあるし、相対的に簡単なものもあり、新バージョンをサポートするものもあるし、旧バージョンのみをサポートするものもある。そのため、同一文書は異なるアプリケーションによって異なるページレイアウトで表示され、ひいては、解釈エラーが発生して文書を開けくことができないこともある。
b)革新に妨害
ソフトウェア産業は絶えずに革新している産業であるが、新機能を追加するたびにこの機能の記述情報を追加する必要があり、且つ、新たなフォーマットの追加が標準規格の修正時まで待つしかできないため、記憶フォーマットの固定は技術革新の競争を妨害する。
c)検索性能に影響
大量の情報に対して、検索性能を向上するため、大量の検索情報を追加する必要があるが、固定の記憶フォーマットについては検索情報の追加が難しい。
d)可搬性と拡張性に影響
異なるシステム環境下で、異なる応用ニーズにより異なる記憶要求がありうる。例えば、ハードディスクに記憶する場合、性能を向上するようにディスクヘッドのシーク回数を如何に減少するかを考慮する必要がある。一方、組込式応用では、データがメモリに記憶されるものに相当するため、上記問題はない。例えば、同一メーカーのデータベースアプリケーションは、異なるプラットフォームで異なる記憶フォーマットを使用する可能性がある。そのため、文書記憶標準規格の設定はシステムの可搬性と拡張性に影響を及ぼす。
従来技術で最もオープンな、互換性の最も優れた文書がAdobe AcrobatのPDFである。しかし、PDFは既にグローバルの文書配布・交換の事実上の標準規格になったにもかかわらず、異なるアプリケーションの間でPDF文書の交換は実現できなく、つまり、PDF文書の相互運用性を実現できない。そして、AcrobatやOfficeにかかわらず、単一文書しか処理できず、マルチ文書に対する管理機能が乏しく、文書ベースへの操作機能を有しない。
また、従来技術は文書情報セキュリティの面にも多くの欠陥がある。WordとPDFのような応用の最も幅広い文書では、全部、データ暗号化又はパスワード認証などを採用してデータセキュリティ制御を行うが、体系的な身分認証メカニズムを提供せず、権限制御は、文書全体の範囲で行われ、文書内の任意領域まで精細化できず、任意のロジックデータに対して暗号化と署名を設定できない。従来の内容管理システムでは、比較的に良い身分認証メカニズムを提供できるが、文書処理システムと分離しているため、文書レベルの管理粒度しか実現できないばかりでなく、文書使用中に文書に対してセキュリティ制御を実施できず、必要なセキュリティ管理を実行しにくい。上記からわかるように、従来のセキュリティメカニズムと文書処理がそれぞれ単独のモジュールで実現されるため、セキュリティ欠陥が発生しやすい。
本発明は、文書の相互運用性、マルチ文書の管理、よりよい文書セキュリティ及びよりよい問い合わせ検索を実現できる文書処理システム及びその方法を提供する。
本発明の1つの側面によれば、文書処理システムであって、
汎用文書モデルに適合する文書を操作するための標準指令を送信するアプリケーション層と、
前記標準指令を受信し、前記標準指令に基づいて文書データを操作する文書ベースシステムと、を含む。
本発明のもう1つの側面によれば、文書処理システムであって、
少なくとも1つのアプリケーションを有するアプリケーション層と、
汎用文書モデルに適合する文書を操作するための標準指令を、前記アプリケーション層から送信するインターフェース層と、
前記標準指令に基づいて文書データを操作する文書ベースシステムと、を含む。
文書処理方法であって、
アプリケーション層が、汎用文書モデルに適合する文書を操作するための標準指令を送信する過程と、
文書ベースシステムが、前記標準指令に基づいて文書データを操作する過程と、を含む。
また、本発明はアプリケーションを提供している。当該アプリケーションは、
汎用文書モデルに適合する文書を操作するための標準指令を送信するインターフェースユニットを含む。
また、本発明は文書ベースシステムを提供している。当該文書ベースシステムは、
汎用文書モデルに適合する文書を操作するための標準指令を受信するインターフェースユニットと、
前記標準指令に基づいて文書データを操作する処理ユニットと、を含む。
また、本発明はインターフェース層を提供している。当該インターフェース層は、
汎用文書モデルに適合する文書を操作するための標準指令を送信する上インターフェースユニットと、
前記標準指令を受信する下インターフェースユニットと、を含む。
本発明によれば、ユーザインターフェースから文書記憶までを1つのアプリケーションによって実現する現状が変えられている。本発明では、文書処理をアプリケーション層と文書ベースシステム層に区分し、且つ両層間のやり取りを規範したインターフェース標準を定義する。このインターフェース標準に適合するインターフェース層を更に構築してもよい。文書ベースシステムは各種の文書操作機能を備える汎用技術プラットフォームであり、アプリケーションが文書を操作しようとするとき、該インターフェース層を介して文書ベースシステムへ相応の指令を送信し、文書ベースシステムがこの指令に基づいて相応の操作を実行する。このように、各アプリケーションと各文書ベースシステムが同様の標準に従う限り、異なるアプリケーションは同一文書ベースシステムを介して同一文書を操作することができ、即ち文書の相互運用性を実現できる。同様に、同一アプリケーションは、各種の文書フォーマットに応じてそれぞれに開発することなく、異なる文書ベースシステムを介して異なる文書を操作することもできる。
また、本発明は汎用文書モデルも含み、このモデルが各アプリケーションの処理必要な文書にも適合することができる。インターフェース標準が当該文書モデルに基づいて決定されたものであるため、異なるアプリケーションがインターフェース層を介して文書を操作できることが実現できる。この汎用文書モデルが各種の文書フォーマットにも適用できるため、同一アプリケーションがインターフェース層を介して異なるフォーマットの文書を操作することができる。
インターフェース標準には、当該汎用文書モデルに基づいて文書を操作するための各種の指令、及びアプリケーションから文書ベースシステムへの指令送信の方式が定義されている。文書ベースシステムは、アプリケーションからのこれらの指令を実現する機能を備える。
また、当該汎用文書モデルには、複数の文書からなる文書セット、文書ベース及び文書ウェアハウスなどの階層が含まれ、インターフェース標準にも、マルチ文書の組織管理、問い合わせ検索、及びセキュリティ制御などの指令が含まれる。
また、当該汎用モデルには、上下の順序を有する層からなるページが含まれ、インターフェース標準にも、層に対する各種の操作指令、及び文書のある層に対応するソースファイルの記憶と取り出しが含まれる。
また、文書ベースシステムは、ロールに基づく細粒度の権限管理のような文書の情報セキュリティ管理制御機能を備え、且つインターフェース標準には関連の操作指令が定義されている。
本発明によれば、アプリケーション層とデータ処理層を分離させることになる。このように、アプリケーションが具体的な文書フォーマットと直接な関係なく、文書も特定のアプリケーションとバインドされず、同一文書が、異なるアプリケーション間で汎用でき、同一アプリケーションも、異なる文書を操作できるようになって、文書の相互運用性が実現されている。文書処理システム全体は、単一文書処理に限られず、マルチ文書処理機能も備える。ページを複数の層に分けると、異なる層に対して異なる管理と制御を行うことが実現でき、異なるアプリケーションによる同一ページに対する操作(異なるアプリケーションによる異なる層への管理・維持と設計してよい)が更に便利になる。これは、ソースファイル方式で編集することに便利で、履歴保存のよい方式でもある。情報セキュリティを文書処理のコア層に組み入れることによって、セキュリティ欠陥が消滅でき、セキュリティメカニズムと文書操作が、分離可能な2つのモジュールではなく、密接に一体化されるとともに、セキュリティ管理技術の配置空間がもっと多くなり、関連コードがもっと深く隠蔽されることができ、不法攻撃を有効に防げ、セキュリティ信頼性が向上でき、またもっと多くの権限類別や、もっと小さい管理ユニットのような細粒度のセキュリティ管理手段を提供できる。
以下、図面及び実施形態を参照しながら、本発明について更に詳しく説明する。ここで述べた具体的な実施形態は、本発明を解釈するのみに用いられ、本発明を限定するものではないと解されるべきである。
図1に示すように、本発明による文書処理システムは主にアプリケーションと、インターフェース層と、文書ベースシステムと、記憶装置と、を含む。
ここでのアプリケーションは、従来の文書処理と内容管理のいかなるアプリケーションを含む。これらのアプリケーションは、文書処理システムのアプリケーション層に位置し、インターフェース標準に適合する指令の送信により文書を操作する。前記操作は全部、汎用文書モデルに適合する文書に対して行うものであり、具体的な記憶フォーマットと関係ない。
ここでのインターフェース層は、アプリケーション層と文書ベースシステムとの間のやり取りを規範したインターフェース標準に適合する。前記アプリケーション層は、インターフェース層を介して、文書ベースシステムに標準指令を送信し、前記文書ベースシステムは、インターフェース層を介して、アプリケーション層に実行結果を返信する。上記からわかるように、アプリケーションが皆インターフェース層を介して標準指令を送信し、汎用文書モデルに適合する文書を操作できるため、異なるアプリケーションは同一文書ベースシステムを介して同一文書を操作でき、同一アプリケーションは異なる文書ベースシステムを介して異なるフォーマットの文書も操作できる。
好ましくは、インターフェース層に上インターフェースユニットと下インターフェースユニットが含まれてよい。アプリケーションは上インターフェースユニットを介して標準指令を下インターフェースユニットに送信し、文書ベースシステムは下インターフェースユニットを介して標準指令を受信し、下インターフェースユニットはまた上インターフェースユニットを介して文書ベースシステムの実行結果をアプリケーションに返信する。実現には、上インターフェースユニットはアプリケーション層に位置してよく、下インターフェースユニットは文書ベースシステムに位置してよい。
ここでの文書ベースシステムは、文書処理システムのコア層であり、アプリケーションからインターフェース層を介して送信された標準指令に基づいて、具体的な文書処理操作を実行する。
ここでの記憶装置は、文書処理システムの記憶層であり、通常、ハードディスク又はメモリを含み、コンパクトディスク、フラッシュメモリ、フロッピーディスク、テープ、又はリモート記憶装置を含んでもよく、つまりデータ記憶能力さえあればよい。記憶装置には複数の文書が記憶されるが、アプリケーションにとって文書の具体的な記憶方式に注目する必要はない。
上記からわかるように、本発明によれば、アプリケーション層とデータ処理層を確実に分離させ、文書が特定のアプリケーションとバインドされず、アプリケーションが具体的な文書フォーマットと直接な関係なく、異なるアプリケーションで汎用文書モデルに適合する同一文書を編集でき、異なるアプリケーションの間で文書の優れた相互運用性を有するようになった。
また、本発明はアプリケーションを開示している。前記アプリケーションは、汎用文書モデルに適合する文書を操作するための標準指令を送信するインターフェースユニットを含む。
また、本発明は文書ベースシステムを開示している。前記文書ベースシステムは、標準指令を受信するインターフェースユニットと、前記標準指令に基づいて、汎用文書モデルに適合する文書を操作する処理ユニットと、を含む。
また、本発明はインターフェース層を開示している。前記インターフェース層は、
汎用文書モデルに適合する文書を操作するための標準指令を送信する上インターフェースユニットと、
前記標準指令を受信する下インターフェースユニットと、を含む。
さらに、上インターフェースユニットはアプリケーション層からの指令に基づいて標準指令を生成し、下インターフェースユニットは受信した指令が標準に適合するかどうかを判断し、標準に適合する指令を解析するようにしてよい。
以下、本発明に係る文書処理システムの具体的な実施形態を説明する。
[汎用文書モデル]
紙の特性を参考して前記汎用文書モデルを定義してよい。これは、紙を文書情報の記録手段とすることが今まで通用している標準方法であり、紙の全ての機能さえあれば、仕事や生活などの実際の応用ニーズを満たすことができるためである。
文書内の1ページを1枚の紙と見なして、紙に書かれることができるいかなるものを記録すれば、この汎用文書モデルはページ上の全ての可視内容を記述できる。従来技術のページ記述言語(例えばPostScript)が紙に印刷可能な全ての情報を記述できるため、この部分について詳しい説明を省略する。一般的に、ページ上の可視内容は最終的にテキスト、図形、及び画像の3種類に分かれてよい。
文書が特定書体又は特殊文字に係る場合、各コンピュータでの同じ効果を確保するために、文書に相応のフォントを組み込む必要がある。記憶効率を向上するために、フォントリソースを共有すべきである。このようにして、複数の箇所に同じ文字を使用しても、1つだけのフォントを組み込めばよい。画像も複数の箇所に出る可能性があり、例えば、各ページで共通の背景画像又はいつも出てくる会社のロゴである。この場合にも、これらの画像を共有したほうがよい。
もちろん、より先進的な情報処理ツールとしては、紙の特性を模擬するだけでなく、メタデータ、ナビゲーション、スレッド、サムネイルイメージのような強化されたデジタル特性を追加する必要がある。メタデータは、データを記述するためのデータを含む。例えば、図書のメタデータは、著者、出版社、出版日付、ISBN番号などを含む。メタデータが業界内の共通用語であるため、ここで説明を省略する。ナビゲーションは図書の目次のような情報を含み、それも業界内の共通用語である。スレッド情報が文書の所在領域と閲読の順序を記述するため、読者が、あるスクリーンを読んだ後、次のスクリーンに表示すべきものは当該情報に基づいて自動的に判断されることができる。また、スレッド情報によっては、読者が手動で位置を指定することなく、自動改段や自動改ページも実現できる。サムネイルイメージは、事前に生成した、各ページの縮小図を含む。読者はサムネイルイメージを調べることによってどのページを閲読するかを指定できる。
図2は本発明の好ましい実施形態に係る汎用文書モデルである。図2に示すように、この汎用文書モデルには、文書ウェアハウス、文書ベース、文書セット、文書、ページ、層、オブジェクトグループ、レイアウトオブジェクトなどの複数の階層が含まれる。
ここで、文書ウェアハウスは1つ又は複数の文書ベースからなる。文書ベースの下位階層間の関係と比べて、文書ベース間の関係が比較的に緩く、文書ベース自身のデータを修正することなく、文書ベース同士が簡単に組合せ・解体されることができる。この複数の文書ベースの間は統一インデックス(特に全文インデックス)が作成されていない場合が多いため、文書ウェアハウスに対する多くの検索操作については、普通、使用可能な統一的なインデックスがなく、各文書ベースのインデックスを走査する必要がある。各文書ベースはそれぞれ1つ又は複数の文書セットからなる。各文書セットはそれぞれ、1つ又は複数の文書からなり、任意数のサブ文書セットも含んでよい。ここで言われた文書は、現在の普通の文書ファイル(例えばDOC文書)を含む。汎用文書モデルでは、1つの文書が1つの文書セットのみに属することを規定してもよいが、1つの文書が複数の文書セットに属することを許してもよい。文書ベースは、複数の文書の簡単な組合せではなく、複数の文書を密接に組織してできたものである。特に、文書内容のために各種の統一検索インデックスを作成すると、より大きな利便性をもたらす。
各文書はそれぞれ、1ページ、又は一定の順序(例えば前後の順序)を有する複数のページからなる。各ページの版面は異なってよく、且つ、版面は、必ずしも矩形ではなく、任意の形状であってよく、1本又は複数本の閉曲線で表すことができる。
各ページはそれぞれ、1層、又は一定の順序(例えば上下の順序)を有する複数の層からなる。各層間は重なり合うガラス板のような関係である。層は任意数のレイアウトオブジェクトとオブジェクトグループからなる。レイアウトオブジェクトは、ステータス(例えば、書体、文字サイズ、色、ROPなど)、テキスト(符号を含む)、図形(例えば、直線、曲線、指定の色で塗りつぶされた閉領域、グラデーション色など)、画像(例えば、TIF、JPEG、BMP、JBIGなど)、セマンティック情報(例えば、タイトル開始、タイトル終了、改行など)、ソースファイル、スクリプト、プラグイン、組込式オブジェクト、ブックマーク、ハイパーリンク、ストリーミングメディア、2値化データストリームなどを含む。1つ又は複数のレイアウトオブジェクトが1つのオブジェクトグループに構成されてよい。オブジェクトグループに任意数のサブオブジェクトグループが含まれてもよい。
文書ベース、文書セット、文書、ページ、層には、メタデータ(例えば、名称、最後の修正時間などであり、その類型は応用ニーズによって設定できる)及び/又は履歴がさらに含まれてよい。文書には、ナビゲーション情報、スレッド情報、サムネイルイメージがさらに含まれてよい。サムネイルイメージをページ又は層のレベルに置いてもよい。文書ベース、文書セット、文書、ページ、層、オブジェクトグループには、デジタル署名がさらに含まれてよい。セマンティック情報はレイアウト情報に従ったほうがよい。これによって、データの冗長を避けることができ、且つレイアウトとの対応関係の確立が比較的に容易になる。文書ベース、文書には、フォントや画像などの共有リソースが含まれてもよい。
また、この汎用文書モデルでは、1つ又は複数のロールを定義して、各ロールに一定の権限を配分してもよい。文書ベース、文書セット、文書、ページ、層、オブジェクトグループ、メタデータをユニットとして権限を配分し、各ロールに対して、当該ユニットへのリード可否、ライト可否、コピー可否、印刷可否などを定義する。
この汎用文書モデルは、単一文書が単一ファイルに対応する従来の方式を超えるものである。文書ベースには複数の文書セットが含まれ、文書セットには複数の文書が含まれる。文書ベース内の文書内容に対して細粒度のアクセスとセキュリティ制御を採用していることで、従来の文書管理システムがファイル名レベルしかアクセスできないことと違って、文書ベース内のある文字又は矩形まで具体的にアクセスできる。
図3〜図9は本発明の好ましい実施形態に係る汎用文書モデルに関する各オブジェクトの構成を示す図である。前記各オブジェクトの構成はツリー構造であり、層ごとに展開、細分化される。
文書ウェアハウスオブジェクトは1つ又は複数の文書ベースオブジェクト(図示せず)からなる。
図3に示すように、文書ベースオブジェクトには、1つ又は複数の文書セットオブジェクト、任意数の文書ベース補助オブジェクト、及び任意数の文書ベース共有オブジェクトが含まれる。
図4に示すように、前記文書ベース補助オブジェクトには、メタデータオブジェクト、ロールオブジェクト、権限オブジェクト、プラグインオブジェクト、インデックス情報オブジェクト、スクリプトオブジェクト、デジタル署名オブジェクト、履歴オブジェクトなどが含まれる。文書ベース共有オブジェクトには、文書ベース内の異なる文書で共有可能なオブジェクト、例えばフォントオブジェクトや画像オブジェクトなどが含まれる。
図5に示すように、各文書セットオブジェクトにはそれぞれ、1つ又は複数の文書オブジェクト、任意数の文書セットオブジェクト、及び任意数の文書セット補助オブジェクトが含まれる。文書セット補助オブジェクトには、メタデータオブジェクト、デジタル署名オブジェクト、履歴オブジェクトが含まれる。文書セットオブジェクトに複数の文書セットオブジェクトが含まれる場合は、エクスプローラにおいて1つのフォルダに複数のフォルダが含まれる形式と類似している。
図6に示すように、各文書オブジェクトにはそれぞれ、1つ又は複数のページオブジェクト、任意数の文書補助オブジェクト、及び任意数の文書共有オブジェクトが含まれる。文書補助オブジェクトには、メタデータオブジェクト、フォントオブジェクト、ナビゲーション情報オブジェクト、スレッド情報オブジェクト、サムネイルイメージオブジェクト、デジタル署名オブジェクト、履歴オブジェクトなどが含まれる。文書共有オブジェクトには、文書内の異なるページに共通使用可能なオブジェクト、例えば画像オブジェクトや印章オブジェクトなどが含まれる。
図7に示すように、各ページオブジェクトにはそれぞれ、1つ又は複数の層オブジェクト、及び任意数のページ補助オブジェクトが含まれる。ページ補助オブジェクトには、メタデータオブジェクト、デジタル署名オブジェクト、履歴オブジェクトが含まれる。
図8に示すように、各層オブジェクトにはそれぞれ、1つ又は複数のレイアウトオブジェクト、任意数のオブジェクトグループ、及び任意数の層補助オブジェクトが含まれる。層補助オブジェクトには、メタデータオブジェクト、デジタル署名オブジェクト、履歴オブジェクトが含まれる。オブジェクトグループには、任意数のレイアウトオブジェクト、任意数のオブジェクトグループ、及び選択可能なデジタル署名オブジェクトが含まれる。オブジェクトグループに複数のオブジェクトグループが含まれる場合は、エクスプローラにおいて1つのフォルダに複数のフォルダが含まれる形式と類似している。
図9に示すように、レイアウトオブジェクトには、ステータスオブジェクト、テキストオブジェクト、直線オブジェクト、曲線オブジェクト、円弧オブジェクト、パスオブジェクト、グラデーション色オブジェクト、画像オブジェクト、ストリーミングメディアオブジェクト、メタデータオブジェクト、コメントオブジェクト、セマンティック情報オブジェクト、ソースファイルオブジェクト、スクリプトオブジェクト、プラグインオブジェクト、2値化データストリームオブジェクト、ブックマークオブジェクト、及びハイパーリンクオブジェクトが含まれる。
ここで、ステータスオブジェクトには、任意数の、文字セットオブジェクト、書体オブジェクト、文字サイズオブジェクト、文字色オブジェクト、ラスター操作オブジェクト、背景色オブジェクト、線色オブジェクト、塗りつぶし色オブジェクト、線種(linetype)オブジェクト、線幅(line width)オブジェクト、継ぎ目オブジェクト、ブラシオブジェクト、陰影オブジェクト、陰影色オブジェクト、回転オブジェクト、袋文字オブジェクト、縁取り文字オブジェクト、透明オブジェクト、及びレンダリングモードオブジェクトが含まれる。
具体的な実施過程において、上記汎用文書モデルの上でさらに強化又は簡略化してよい。簡略化モデルに文書セットオブジェクトが省略される場合、文書ベースオブジェクトは文書オブジェクトを直接に含み、簡略化モデルに層オブジェクトが省略される場合、ページオブジェクトはレイアウトオブジェクトを直接に含む。
最も簡略化された汎用文書モデルには、文書オブジェクト、ページオブジェクト、及びレイアウトオブジェクトのみが含まれることが理解できる。ここで、レイアウトオブジェクトには、テキストオブジェクト、直線オブジェクト、及び画像オブジェクトのみが含まれる。完全モデルと最も簡略化されたモデルとの間の各種の中間モデルは、この好ましい実施形態の変形である。
[汎用文書セキュリティモデル]
各種の応用による文書セキュリティへのニーズを満すため、従来のアプリケーションの文書セキュリティ機能があまり強くなく、又はセキュリティ管理メカニズムと文書処理モジュールの繋がりが切れることによるセキュリティ欠陥を解決するように、汎用の文書セキュリティモデルを定義する必要がある。本発明の好ましい実施形態によれば、汎用文書セキュリティモデルは下記のものを含む。
1.ロールオブジェクト
文書ベースにおいて若干のロールを定義する。通常、ロールオブジェクトは文書ベースオブジェクトのサブオブジェクトである。対応の汎用文書モデルには文書ベースオブジェクトがない場合、ロールは文書において定義され、即ちロールオブジェクトは文書オブジェクトのサブオブジェクトである。この場合、本汎用文書セキュリティモデルに言われた文書ベースは全て文書により代替されるべきである。
2.ロールのアクセス権限の指定
任意ロールによる任意オブジェクト(例えば、文書ベース、文書セット、文書、ページ、層、オブジェクトグループ、レイアウトオブジェクトなど)へのアクセス権限を指定できる。あるロールに対して、あるオブジェクトへのアクセス権限を指定すると、この権限は当該オブジェクトの全てのサブオブジェクトに適用する。
ここで、文書ベースシステムで実現されたアクセス権限には、リード可否、ライト可否、再付与(即ち、他のロールに自分の部分又は全部の権限を与える)可否、権限解除(即ち、他のロールの部分又は全部の権限を解除する)可否、及び上記の任意の組合せが含まれる。印刷不可のような、実現にアプリケーションの協力を必要とする他の権限も定義できる。
3.ロールの身分でのオブジェクト署名
ロールは任意のオブジェクトに対して署名できる。あるオブジェクトに対する署名範囲は、当該オブジェクトのサブオブジェクト、及び当該オブジェクトに引用されたオブジェクトを含む。
4.ロールの作成
ロールオブジェクト作成指令の実行結果は、アプリケーションから当該ロール身分でログインするための鍵を、アプリケーションに返信することである。この鍵は、通常、PKIの私密鍵であり、アプリケーションによって保管される。この鍵はログインパスワードであってもよい。好ましくは、いかなるアプリケーションが、いかなる権限もない新たなロールの作成権限を有する。再付与権限のあるロールを用いて新たなロールに一定の権限を与えることが可能である。
5.ロール身分のログイン
アプリケーションが、あるロールの身分でログインする場合、通常、「挑戦/応答」メカニズムが採用される。即ち、文書ベースシステムが、保存しているロールの公開鍵を用いてランダムデータブロックを暗号化して、アプリケーションに送信し、アプリケーションが、その暗号化されたものを復号化してから文書ベースシステムに返信し、復号化が正しい場合は、アプリケーションがこのロールに対応する私密鍵を確実に有することを表す。「挑戦/応答」メカニズムは以下の方式でも実現できる。即ち、文書ベースシステムがランダムデータブロックをアプリケーションに送信し、アプリケーションが私密鍵を用いてそれを暗号化してから文書ベースシステムに返信し、文書ベースシステムが、保存しているロールの公開鍵を用いて、その暗号化されたものを復号化し、復号化が正しい場合は、アプリケーションがこのロールに対応する私密鍵を確実に有することを表す。念のため、この認証プロセスが何回も繰り返されることが可能である。「挑戦/応答」メカニズムを用いることで、私密鍵のセキュリティをよりよく保護できる。ロールの鍵がログインパスワードである場合、ユーザが正しいログインパスワードを入力しなければならない。また、アプリケーションは同時に複数のロールでログインしてよく、この時、このアプリケーションの有している権限はそれらの複数のロールの権限の和集合である。
6.デフォルトロール
特殊のデフォルトロールが作成できる。デフォルトロールが存在する場合、いかなるロールでもログインしなくても、デフォルトロールの身分で文書ベースを操作できる。好ましくは、文書ベースの初期作成時に、全ての権限を有するデフォルトロールを自動的に作成する。
具体的な実施過程において、上記汎用文書セキュリティモデルの上でさらに強化又は簡略化してよい。上記汎用文書セキュリティモデルに対するいかなる簡略化モデルは本実施形態の変形である。
[インターフェース層の具体的な実現]
前記インターフェース層の統一インターフェース標準は、汎用文書モデル、汎用文書セキュリティモデル及び常用の文書操作に基づいて定義されてよく、汎用文書モデル内の各オブジェクトに対する操作指令を送信することに用いられる。前記汎用文書モデル内の各オブジェクトに対する操作指令はインターフェース標準に適合し、各種のアプリケーションはインターフェース層を介して標準指令を送信できる。
以下、インターフェース標準の実現方式を紹介する。インターフェース標準を実現するために、上インターフェースユニットが、予め定義された標準フォーマットに従って、例えば「<UOML_INSERT (OBJ=PAGE, PARENT=123.456.789, POS=3)/>」のような命令列を生成し、この命令列を下インターフェースユニットに送信し、下インターフェースユニットを介して、文書ベースシステムから、当該命令に対する実行結果又は他のフィードバック情報を受信するようにしてよい。又は、インターフェース標準を実現するために、下インターフェースユニットが、標準名称とパラメータを有する、例えば「BOOL UOI_InsertPage (UOI_Doc *pDoc, int nPage)」のようなインターフェース関数を若干提供し、上インターフェースユニットがこれらの標準関数を呼び出し、呼び出し操作自身は上インターフェースユニットが標準指令を送信することと意味するようにしてよい。又は、インターフェース標準を実現するために、上記方法を組合せてよい。
インターフェース標準が「操作動作+操作オブジェクト」の方式で実現されると、インターフェース標準の勉強と理解に便利で、インターフェース標準の安定性維持にも便利である。例えば、20種類の異なるオブジェクトに対して10種類の操作を行う場合、20×10=200種類の指令を定義してもよいし、20種類のオブジェクトと10種類の動作を定義してもよい。しかし、後者の方式では、記憶負担が大いに軽減するのが明らかで、且つ今後インターフェース標準を拡張する時、オブジェクト又は動作の追加も簡単である。前記操作オブジェクトは、汎用文書モデルに含まれるオブジェクトである。
例えば、以下の7種類の操作動作を定義する。
開く:文書ベースを作成し、又は開く。
閉じる:セッションハンドルや文書ベースを閉じる。
取得:オブジェクトリスト、オブジェクトの関連属性及びデータを取得する。
設定:オブジェクトデータを設定・修正する。
挿入:指定のオブジェクト又はデータを挿入する。
削除:オブジェクトのあるサブオブジェクトを削除する。
検索問い合わせ:定義された条件によって文書において条件に適合する内容を検索する。これらの条件は、正確な情報であってもよいし、不正確な情報であってもよい。即ち、曖昧検索がサポートされる。
文書ベース、文書セット、文書、ページ、層、オブジェクトグループ、テキスト、画像、図形、パス(順に接続された図形からなるグループであり、ここでの図形は開図形又は閉図形であってもよい)、ソースファイル、スクリプト、プラグイン、オーディオ、ビデオ、ロールなどのようなオブジェクトを定義する。
オブジェクトには、背景色、線色、塗りつぶし色、線種、線幅、ROP、ブラシ、陰影、陰影色、文字高さ、文字幅、回転、透明、レンダリングモードなどのステータスオブジェクトも含まれる。
「操作動作+操作オブジェクト」の方式でインターフェース標準を実現する場合、各オブジェクトと各動作の全ての組合せは必ず実際の意味のある操作指令を構成できると自動的に認識すべきでなく、一部の組合せは意味がない、ということが理解できる。
「操作動作+操作オブジェクト」以外の関数方式でインターフェース標準を定義するようにしてもよい。例えば、各オブジェクトの各種の操作ごとに1つのインターフェース関数を定義すると、各種の操作指令は、上インターフェースユニットから下インターフェースユニットのインターフェース関数を呼び出すことで文書ベースシステムに送信される。
各オブジェクトをカプセル化して、例えば文書ベースクラスのようなクラスを形成し、当該オブジェクトの実行可能な操作を当該クラスのメソッドとして定義するようにしてもよい。
特に、インターフェース標準ではページビットマップの取得指令が定義されると、レイアウトの一致性、及び文書の相互運用性の保障に肝心な役割を果たす。
ページビットマップの取得指令によって、アプリケーションは、自分で各レイアウトオブジェクトを解釈して処理することなく、指定ページの指定ビットマップフォーマットのページビットマップ、即ちビットマップ方式で表されるこのページの表示効果を直接に取得できる。つまり、アプリケーションは、文書の表示・印刷のための正確なページビットマップを直接に取得できるが、自分でページの各層の各レイアウトオブジェクトを逐一読み取って当該オブジェクトの意味を解釈してレイアウトに反映することが不要となる。アプリケーションが自分でオブジェクトの解釈を行えば、あるアプリケーションによる解釈が比較的に完備かつ正確で、あるアプリケーションによる解釈が不完備又は不正確であることが生じざるを得ないため、同一文書が異なるアプリケーションによって異なる効果で表示・印刷され、文書相互運用性面のユーザ体験に影響を及ぼす。文書ベースシステムでページビットマップを統一的に生成する方式によって、レイアウト一致性保持のキーポイントは、アプリケーションから文書ベースシステムに移行した。これにより、異なるアプリケーションで同一文書を開くとき、同様のレイアウト効果が出ることが可能になる。その原因の1つとして、各レイアウトオブジェクトを完全且つ正確に解釈して処理することが、統一的な基礎技術プラットフォームである文書ベースシステムにとっては可能であるが、アプリケーションにとってはあまり可能ではない。その他の原因として、表示・印刷効果の一致性をさらに確保できるように、異なるアプリケーションを同一文書ベースシステムと組合せて使用できる。簡単に言うと、アプリケーション間の一致性保持はあまり可能ではなく、文書ベースシステム間の一致性保持は可能で、同一文書ベースシステム内の一致性保持は更に問題がない。従って、異なるアプリケーション間で同一文書のレイアウト一致性を保持するため、関連責任をアプリケーションから文書ベースシステムに移行させることが必要となる。文書ベースシステムでページビットマップを統一的に生成するのが、そのうち1つの簡易な方法である。
さらに、ページの1つの領域のみを表示したりするように、ページビットマップの取得指令ではページの1つの領域を指定してもよい。例えば、ページがスクリーンより大きい場合、ページを全部表示する必要なく、ページをスクロールする場合も、スクロールされた領域を再描画するだけでよい。当該指令では、特定の層からなるページビットマップの取得を指定すること、特に特定の層及び当該層の全ての下位層からなるページビットマップの取得を指定することが許可される場合、履歴をよく表現でき、即ち最近の層を追加する前又はもっと以前のレイアウト効果を見ることができる。必要に応じて、どの層をビットマップの生成に使用するか、どの層を使用しないかを具体的に指定してもよい。
検索問い合わせ指令では、普通のキーワード検索以外に、もっと豊富な検索手段を提供できる。普通の検索技術では、検索は文書処理と分離しているものであり、検索プログラムは、文書からプレーンテキスト情報しか抽出できず、もっと多くの情報を取得できないため、テキスト情報しかに基づいて検索できない。本発明では、検索問い合わせ機能を文書処理のコア層、即ち文書ベースシステムに組み入れることによって、文書に含まれる情報を十分に利用してもっと強い検索手段を提供できる。例えば、
1.書体情報に基づく検索、例えば、黒体文字の「書生」の検索、Times New Roman体の「Sursen」の検索。
2.文字サイズ情報に基づく検索、例えば、3号の「書生」の検索、20ポイント以上の「Sursen」の検索、長体文字(即ち文字高さが文字幅を超える)の「文書ベース」の検索。
3.色に基づく検索、例えば、赤色の「書生」の検索、青色の「Sursen」の検索。
4.レイアウト位置に基づく検索、例えば、ページの上半部分にある「書生」の検索、フッターにある「Sursen」の検索。
5.文字修飾の特殊効果に基づく検索、例えば、斜体文字の「書生」の検索、時計回り方向で30度〜90度回転される「Sursen」の検索、袋文字の「SEP」の検索、縁取り文字の「文書ベース」の検索。
6.類似の考え方によって、さらに、他の類型の検索、例えば白黒反転(黒地に白字)の「書生」の検索、画像に重ね合わせた「Sursen」の検索なども提供できる。
7.複数のレイアウトオブジェクトの組合せ、例えば「書生」と「Sursen」の距離が5cmに超えないものを検索できる。
8.上記検索条件の任意の組合せ。
以下は「操作動作+操作オブジェクト」の方式でインターフェース標準を実現する実施形態である。当該実施形態において、インターフェースは、非構造化操作マークアップ言語(UOML)と呼ばれ、拡張可能なマークアップ言語(XML)で記述する一連の命令である。上インターフェースユニットは、UOMLフォーマットに適合する文字列を生成して、この文字列を下インターフェースユニットに送信することで、相応の操作指令を文書ベースシステムに送信する。文書ベースシステムがこれらの命令を実行した後、下インターフェースユニットは、実行結果に対してもUOMLフォーマットに適合する文字列を生成して、上インターフェースユニットに返信することで、アプリケーションに操作の実行結果を知らせる。
全ての実行結果はUOML_RETで表される。UOML_RETは以下のように定義される。
属性
SUCCESS:値が真(true)の場合は操作成功、それ以外の場合は操作失敗、を表す。
サブ要素
ERR_INFO:選択可能なものであり、操作失敗の場合だけ出現し、相応のエラー情報を記述する。
他のサブ要素:具体的な命令によって決定され、各命令に対する説明を参照してよい。
UOMLの動作は以下のものを含む。
1 UOML_OPEN(文書ベースを作成し又は開く)
1.1 属性
1.1.1 Create:trueの場合は作成し、それ以外の場合は既存の文書ベースを開くことを表す。
1.2 サブ要素
1.2.1 Path:文書ベースのパス。それは、ディスクファイル名、URL、メモリポインタ、ネットワークパス、文書ベースのロジック名称、又は文書ベースを指定できる他の表現方式であってよい。異なる特徴を有する文字列で上記の各種の場合を区分し、即ち命令フォーマットを変化せず、文字列に対して異なる特徴さえ設定すれば、異なる方法で文書ベースを指定できる。例えば、ディスクファイル名は、デバイス名(例えばドライブレター)と「:」(例えば、「C:」、「D:」)を先頭として、そして「:」の直後は「//」又は他の「:」ではない。URLは、プロトコル名称と「://」(例えば「http://」)を先頭とする。メモリポインタは、「MEM::」を先頭として、その次はポインタの文字列での表現方式であり、例えば「MEM::1234:5678」である。ネットワークパスは、「\\」を先頭として、次はサーバ名及びサーバでのパスであり、例えば「\\server\abc\def.sep」である。文書ベースのロジック名称は、「*」を先頭としてよく、例えば「*MyDocBase1」である。下インターフェースユニットが解析するとき、先頭1文字が「*」である場合は当該文字列が文書ベースのロジック名称を表し、先頭2文字が「\\」である場合は当該文字列がネットワークパスを表し、先頭5文字が「MEM::」である場合は当該文字列がメモリポインタを表し、上記以外の場合は、文字列の最初の「:」を探して、この「:」の次が「//」であると文字列がURLを表し、そうでないとローカルデバイスのファイルを表す。サーバの文書ベースを開く場合を区分するように、特別なURLプロトコルを設定してよい。例えば、「Docbase://myserver/mydoc2」を用いて、サーバmyserverにおける文書ベースシステムのサーバシステムで管理される文書ベースmydoc2を開くことを指示する。要するに、文字列に異なる特徴さえ設定できれば、異なる方式で文書ベースを指定できる。上記説明によれば、各種の異なる文字列特徴を定義してもよい。この方式は、文書ベースパスの指定に適用するだけでなく、他の場合、特に特定リソース位置を指定するための応用場合にも適用できる。新たな方式で関連リソースを指定したいが、既存のプロトコル又は関数を変えることができず、又は変えたくない場合が多い。このとき、文字列に異なる特徴を設定する方式で指定できる。このような方法は最適な汎用性があり、原因として、いかなるプロトコル又は関数でも、ディスクファイル名又はURLさえサポートすれば、文字列もサポートする。
1.3 戻り値
成功の場合、ハンドルを記録するためのサブ要素「handle」をUOML_RETに追加する。
2 UOML_CLOSE(閉じる)
2.1 属性:なし。
2.2 サブ要素
2.2.1 handle:文字列で表される、オブジェクトへの引用ポインタであるオブジェクトハンドル。
2.2.2 db_handle:文字列で表される、文書ベースへの引用ポインタである文書ベースハンドル。
2.3 戻り値:なし。
3 UOML_GET(取得)
3.1 属性
3.1.1 usage:用途であり、「GetHandle」(指定オブジェクトハンドル取得)、「GetObj」(指定オブジェクトデータ取得)、「GetPageBmp」(ページビットマップ取得)のうち1つ。
3.2 サブ要素
3.2.1 parent:親オブジェクトハンドルであり、usage属性が「GetHandle」の場合に使用する。
3.2.2 pos:位置順番であり、usage属性が「GetHandle」の場合に使用する。
3.2.3 handle:指定オブジェクトのハンドルであり、usage属性が「GetObj」の場合に使用する。
3.2.4 Page:表示必要なページのハンドルであり、usage属性が「GetPageBmp」の場合に使用する。
3.2.5 input:入力ページに対する要求を記述し、例えば、1層又は複数層の内容の表示を指定でき(表示可能な層は必ず現在のロールにアクセス権限がある層である)、Clip領域の指定によって表示領域の大きさも指定できる。usage属性が「GetPageBmp」の場合に使用する。
3.2.6 output:ページビットマップの出力方式を記述し、usage属性が「GetPageBmp」の場合に使用する。
3.3 戻り値
3.3.1 usage属性が「GetHandle」の場合、実行成功のとき、parentの第pos個のサブオブジェクトのハンドルを記録するためのサブ要素「handle」をUOML_RETに追加する。
3.3.2 usage属性が「GetObj」の場合、実行成功のとき、handleオブジェクトデータのxml表現を含むサブ要素「xobj」をUOML_RETに追加する。
3.3.3 usage属性が「GetPageBmp」の場合、実行成功のとき、サブ要素「output」で指定された位置にページビットマップを出力する。
4 UOML_SET(設定)
4.1 属性:なし。
4.2 サブ要素
4.2.1 Handle:オブジェクトのハンドルを設定する。
4.2.2 xobj:オブジェクトの記述。
4.3 戻り値:なし。
5 UOML_INSERT(挿入)
5.1 属性:なし。
5.2 サブ要素
5.2.1 parent:親オブジェクトハンドル。
5.2.2 xobj:オブジェクトの記述。
5.2.3 pos:挿入位置。
5.3 戻り値:実行成功の場合、パラメータ「xobj」で表されるオブジェクトを、parentの第pos個のサブオブジェクトとしてparentに挿入し、新たに挿入されたオブジェクトのハンドルを表すサブ要素「handle」をUOML_RETに追加する。
6 UOML_DELETE(削除)
6.1 属性:なし。
6.2 サブ要素
6.2.1 handle:削除必要なオブジェクトのハンドル。
6.3 戻り値:なし。
7 UOML_QUERY(検索問い合わせ)
7.1 属性:なし。
7.2 サブ要素
7.2.1 handle:問い合わせ必要な文書ベースハンドル。
7.2.2 condition:問い合わせ条件。
7.3 戻り値:成功の場合、問い合わせ結果のハンドルを表すサブ要素「handle」、及び問い合わせ結果の数を表すサブ要素「number」をUOML_RETに追加する。UOML_GETで各問い合わせ結果を取得できる。
UOMLオブジェクトは、
文書ベース(UOML_DOCBASE)、文書セット(UOML_DOCSET)、文書(UOML_DOC)、ページ(UOML_PAGE)、層(UOML_LAYER)、オブジェクトグループ(UOML_OBJGROUP)、テキスト(UOML_TEXT)、画像(UOML_IMAGE)、直線(UOML_LINE)、曲線(UOML_BEIZER)、円弧(UOML_ARC)、パス(UOML_PATH)、ソースファイル(UOML_SRCFILE)、背景色(UOML_BACKCOLOR)、前景色(UOML_COLOR)、ROP(UOML_ROP)、文字サイズ(UOML_CHARSIZE)、及び書体(UOML_TYPEFACE)を含む。
下記はUOML_DOC、UOML_TEXT、及びUOML_CHARSIZEを例としてその定義方式を説明する。
1 UOML_DOC
1.1 属性:なし。
1.2 サブ要素
1.2.1 metadata:メタデータ。
1.2.2 pageset:各ページ。
1.2.3 fontinfo:組み込みフォント。
1.2.4 navigation:ナビゲーション情報。
1.2.5 thread:スレッド情報。
1.2.6 minipage:サムネイルイメージ。
1.2.7 signiture:デジタル署名。
1.2.8 sharesource:共有リソース。
2 UOML_TEXT
2.1 属性
2.1.1 Encoding:テキスト符号化方式。
2.2 サブ要素
2.2.1 TextData:テキスト内容。
2.2.2 CharSpacingList:非等間隔の場合の文字間隔リスト。
2.2.3 StartPos:開始位置。
3 UOML_CHARSIZE
3.1 属性
3.1.1 width:文字幅。
3.1.2 height:文字高さ。
3.2 サブ要素:なし。
上記に準じて類推すると、同様の方法で全てのUOMLオブジェクトを記述できる。アプリケーションにより文書ベースを操作する場合、上記UOML動作及びUOMLオブジェクトによりXMLシンタックスに従って相応のUOML命令を生成し、このUOML命令を文書ベースシステムに送信し、即ち文書ベースシステムに相応の操作指令を送信することを表す。
例えば、文書ベースの作成操作について、以下の命令で完成できる。
<UOML_OPEN create=”true”>
<path val=”f:\\data\\docbase1.sep”/>
</UOML_OPEN>
文書セットの作成操作について、以下の命令で完成できる。
<UOML_INSERT>
<parent val=”123.456.789”/>
<pos val=”1”/>
<xobj>
<docset/>
</xobj>
</UOML_INSERT>
説明すべきものとして、UOMLがXMLで定義されるものであるが、さらに簡潔そうに見えるために、「<?xml version=”1.0” encoding=”UTF−8”?>」、及び「xmlns:xsi= ”http://www.w3.org/2001/XMLSchema−instance”」のような通常のXMLフォーマットが先頭に省略されており、XMLシンタックスに詳しい実施者であれば、実施中に自らそれを追加できる。
XML以外の方式で命令列を定義してもよい。例えば、PostScriptのような方式を用いて、上記の例が以下のように変化する。
1, ”f:\\data\\docbase1.sep”,/Open
/docset, 1, “123.456.789” ,/Insert
同様の考え方によって、他の類型の命令列のフォーマットを定義でき、テキスト方式ではなく、2値化方式で命令列を定義することまでもできる。
以下、各オブジェクトの各操作ごとに1つの命令で表す方式の具体的な実施形態を紹介する。本実施形態において、「UOML_INSERT_DOCSET」で文書セットの挿入を表し、「UOML_INSERT_PAGE」でページの挿入を表し、下記のような方式で各命令を定義する。
UOML_INSERT_DOCSET:文書ベースに1つの文書セットを作成。
属性:なし。
サブ要素:
parent:文書ベースハンドル。
pos:挿入位置。
戻り値:実行成功の場合、新たに挿入された文書セットのハンドルを表すサブ要素「handle」をUOML_RETに追加する。
このように、上記の例が以下のように変化する。
<UOML_INSERT_DOCSET>
<parent val=”123.456.789”/>
<pos val=”1”/>
</UOML_INSERT_DOCSET>
このような方法で命令フォーマットを定義するには、各オブジェクトの正当な各操作ごとにそれぞれ1つの命令を定義する必要があるため、そのデメリットは煩雑である。
以下、関数呼び出しの方式でインターフェース標準を実現する実施形態を紹介する。本実施形態において、上インターフェースから下インターフェースのインターフェース関数を呼び出す方式で、操作指令を文書ベースシステムに送信する。以下、UOIと呼ばれる本実施形態について、C++言語を例として説明する。
まず、UOI戻り値の構造を定義する。
struct UOI_Ret {
BOOL m_bSuccess;
CString m_ErrInfo;
};
全てのUOIオブジェクトの基本クラスを定義する。
class UOI_Object {
public:
enum Type {
TYPE_DOCBASE,
TYPE_DOCSET,
TYPE_DOC,
TYPE_PAGE,
TYPE_LAYER,
TYPE_TEXT,
TYPE_CHARSIZE,
……
};
Type m_Type;

UOI_Object();
virtual 〜 UOI_Object();
static UOI_Object Create(Type objType);
};
次に、「操作動作+操作オブジェクト」方式の実施形態におけるいくつかのUOML動作に対応して、下記のいくつかのUOI関数を定義する。
UOI_RET UOI_Open(char *path, BOOL bCreate, HANDLE *pHandle);
UOI_RET UOI_Close(HANDLE handle, HANDLE db_handle);
UOI_RET UOI_GetHandle(HANDLE hParent, int nPos, HANDLE *pHandle);
UOI_RET UOI_GetObjType(HANDLE handle, UOI_Object ::Type *pType);
UOI_RET UOI_GetObj(HANDLE handle, UOI_Object *pObj);
UOI_RET UOI_GetPageBmp(HANDLE hPage, RECT rect, void *pBuf);
UOI_RET UOI_SetObj(HANDLE handle, UOI_Object *pObj);
UOI_RET UOI_Insert(HANDLE hParent, int nPos, UOI_Object *pObj, HANDLE *pHandle = NULL);
UOI_RET UOI_Delete(HANDLE handle);
UOI_RET UOI_Query(HANDLE hDocbase, const char *strCondition, HANDLE *phResult);
その後、各UOIオブジェクトを定義する。依然としてUOI_Doc、UOI_Text及びUOML_CharSizeを例として説明する。
class UOI_Doc:public UOI_Object {
public:
UOI_MetaData m_MetaData;
int m_nPages;
UOI_Page **m_pPages;
int m_nFonts;
UOI_Font **m_pFonts;
UOI_Navigation m_Navigation;
UOI_Thread m_Thread;
UOI_MiniPage *m_pMiniPages;
UOI_Signature m_Signature;
int m_nShared;
UOI_Obj *m_pShared;

UOI_Doc();
virtual 〜UOI_Doc();
};

class UOI_Text:public UOI_Object {
public:
enum Encoding {
ENCODE_ASCII,
ENCODE_GB13000,
ENCODE_UNICODE,
......
};
Encoding m_Encoding;
char *m_pText;
Point m_Start;
int *m_CharSpace;

UOI_Text();
virtual 〜 UOI_Text();
};
class UOI_CharSize:public UOI_Object {
public:
int m_Width;
int m_Height;

UOI_CharSize();
virtual 〜UOI_CharSize();
};
以下、UOIの使用方法を説明する。まず、文書ベースを作成する。
ret = UOI_Open(”f:\\data\\docbase1.sep”,TRUE,&hDocBase);
次に、新たなオブジェクトを作成するための関数を構築する。
HANDLE InsertNewObj(HANDLE hParent, int nPos, UOI_Object::Type type)

UOI_Ret ret;
HADNLE handle;
UOI_Obj *pNewObj = UOI_Obj::Create(type);
if(pNewObj == NULL)
return NULL;
ret = UOI_Insert(hParent,nPos,pNewObj, &handle);
delete pNewObj;
return ret.m_bSuccess ? handle: NULL;
その後、オブジェクトを直接に取得するための関数を構築する。
UOI_Obj *GetObj(HANDLE handle)

UOI_Ret ret;
UOI_Object::Type type;
UOI_Obj *pObj;
ret=UOI_GetObjType(handle,&type);
if(!ret.m_bSuccess)
return NULL;
pObj=UOI_Obj::Create(type);
if(pObj==NULL)
return NULL;
ret=UOI_GetObj(handle,pObj);
if(!ret.m_bSuccess) {
delete pObj;
return NULL;

return pObj;
各オブジェクトの各操作ごとに1つのインターフェース関数を定義する方式では、文書セット挿入の操作指令は、上インターフェースから下記の方式で下インターフェースのインターフェース関数を呼び出すことによって、文書ベースシステムに送信される。
UOI_InsertDocset(pDocbase,0);
各オブジェクトクラス(例えば文書ベースクラス)をカプセル化する方式では、当該オブジェクトの実行可能な操作を当該クラスのメソッドとして定義する。例えば、
class UOI_DocBase:public UOI_Obj

public:
/*!
* \brief 文書ベースの作成
* \param szPath:文書ベースのフルパス
* \param bOverride:元のファイルをオーバーライトするかどうか
* \return UOI_DocBase オブジェクト
*/
BOOL Create(const char *szPath, bool bOverride = false);
/*!
* \brief 文書ベースを開く
* \param szPath:文書ベースのフルパス
* \return UOI_DocBase オブジェクト
*/
BOOL Open(const char *szPath);
/*!
* \brief 文書ベースを閉じる
* \param なし
* \return なし
*/
void Close();
/*!
* \brief ロールリストの取得
* \param なし
* \return UOI_RoleList オブジェクト
* \sa UOI_RoleList
*/
UOI_RoleList GetRoleList();
/*!
* \brief 文書ベースの記憶
* \param szPath:記憶しようとする文書ベースのフルパス
* \return なし
*/
void Save(char *szPath = 0);

/*!
* \brief 文書セットの挿入
* \param nPos:文書セットの挿入位置
* \return UOI_DocSet オブジェクト
* \sa UOI_DocSet
*/
UOI_DocSet InsertDocSet(int nPos);
/*!
* \brief 指定インデックスの文書セットの取得
* \param nIndex:文書リストのインデックス番号
* \return UOI_DocSet オブジェクト
* \sa UOI_DocSet
*/
UOI_DocSet GetDocSet(int nIndex);
/*!
* \brief 文書セットの総数の取得
* \param なし
* \return 文書セットの数
*/
int GetDocSetCount();
/*!
* \brief 文書ベース名称の設定
* \param nLen:文書ベース名称の長さ
* \param szName:文書名称
* \return なし
*/
void SetName(int nLen, const char* szName);
/*!
* \brief 文書ベース名称の長さの取得
* \param なし
* \return 長さ
*/
int GetNameLen();
/*!
* \brief 文書ベース名称の取得
* \param なし
* \return 文書ベース名称
*/
const char* GetName();
/*!
* \brief 文書ベースidの長さの取得
* \param なし
* \return 長さ
*/
int GetIDLen();
/*!
* \brief 文書ベースidの取得
* \param なし
* \return id
*/
const char* GetID();
//! コンストラクタ関数
UOI_DocBase();
//! デストラクタ関数
virtual 〜UOI_DocBase();
};
このように、文書セット挿入の操作指令は、上インターフェースから下記の方式で下インターフェースのインターフェース関数を呼び出すことによって、文書ベースシステムに送信される。
pDocBase.InsertDocset(0);
同様の方法によっては、Java(登録商標)、C#、VB、Delphiなどの各種のプログラミング言語で開発されたアプリケーションに対して、異種類のインターフェース標準を設計するようにしてもよい。
インターフェース標準には、特定のオペレーションシステム(例えばWINDOWS(登録商標)、UNIX(登録商標)/LINUX(登録商標)、MAC(登録商標) OS、SYMBIAN(登録商標))又は特定のハードウェアプラットフォーム(例えばx86CPU、MIPS、POWER PCなど)に関連する特徴が含まれなければ、このインターフェース標準がクロスプラットフォーム性を備え、異なるプラットフォームで運行しているアプリケーション及び文書ベースシステムは、同様のインターフェース標準を統一的に使用できるようになって、特にあるプラットフォームで運行しているアプリケーションから、他のプラットフォームで運行している文書ベースシステムを呼び出して、相応の操作を実行できるようになる。例えば、アプリケーションは、PC及びWindowsオペレーションシステムを使用しているクライアント側に配置され、文書ベースシステムは、大型機及びLINUXオペレーションシステムを使用しているサーバ側に配置されるが、アプリケーションから依然として、ローカル文書ベースシステムへの呼び出しと同様に、サーバにおける文書ベースシステムを呼び出して、相応の文書操作を実行することができる。
インターフェース標準には、特定のプログラミング言語に関連する特徴が含まれない場合、このインターフェース標準がプログラミング言語と関係ないことも可能である。上記からわかるように、命令列の方式では、プラットフォーム及びプログラミング言語と関係ないインターフェース標準を容易に構築でき、汎用性も高くなる。特に、XMLで命令列を構成すると、現在、各種の異なるプラットフォーム、異なるプログラミング言語にも、取得しやすいXML生成解析ツールがあるため、このインターフェース標準は、優れたクロスプラットフォーム性、及びプログラミング言語との無関係性があるだけでなく、エンジニアによる上インターフェースユニット及び下インターフェースユニットへの開発にも非常に便利である。
上記には複数のインターフェース標準の実現方法が挙げられており、類似の考え方によって設計されるさらに多くのインターフェース標準も本発明の保護範囲に含まれる。
理解すべきものとして、同様の考え方によって上記実施形態の上で操作指令を追加、又は簡略化してもよい。特に文書モデルが簡略化される場合、操作指令も相応に簡略化される。一番簡略化された場合は、文書の作成、ページの作成、各レイアウトオブジェクトの作成のいくつかの操作指令だけある。
[文書操作処理]
図1を参照して、本発明の好ましい実施形態による文書処理システムの動作プロセスを引き続き説明する。
アプリケーションは、インターフェース標準に適合する上インターフェースユニットを含むアプリケーション、例えば、Officeアプリケーション、内容管理、リソース収集などである。いずれかのアプリケーションが文書を操作しようとする場合、前記方法に従って指令を文書ベースシステムに伝送し、文書ベースシステムが指令に基づいて具体的な操作プロセスを完成する。
文書ベースシステムは、文書ベースデータに対して、記憶及び組織を自由に行うことができる。例えば、1つの文書ベースの全ての文書を1つのディスクファイルに記憶するようにしてよく、1つの文書を1つのディスクファイルに対応させ、オペレーションシステムのファイルシステム機能を利用してマルチ文書組織を実現するようにしてよく、1ページを1つのディスクファイルに対応させてもよく、オペレーションシステムを完全に利用しなくて、ディスクに領域を残して、ディスクトラック、セクタを直接に管理するようにしてもよい。文書ベースデータの記憶フォーマットについて、2値化フォーマット、XML、又は2値化XMLで保存してよい。ページ記述言語(ページ上のテキスト、図形、画像などのオブジェクトを定義する方法)について、PostScript、PDF、又はSPD(書生会社で使用するページ記述言語)を採用してよく、もちろん、統一的なインターフェース標準に適合する限り、カスタマイズのいかなるページ記述言語を採用してもよい。
例えば、XMLで文書ベースデータを記述してよい。文書モデルが階層型である場合、それと完全に対照して相応のXMLツリーを確立できる。作成操作の実行時にXMLツリーにノードを追加し、削除操作の実行時に相応ノードを削除し、設定操作の実行時に相応ノードの属性を設定し、取得操作の実行時に相応ノードの属性を取り出してアプリケーションに返信し、問い合わせ操作の実行時に関連ノードを走査して検索する。
以下、上記実施形態を更に説明する。
1.XMLで各オブジェクトを記述する。つまり、各オブジェクトごとに対応のXMLツリーを確立する。属性が比較的に簡単なオブジェクトについて、対応のXMLツリーにルートノードだけあり、属性が比較的に複雑なオブジェクトについて、対応のXMLツリーにサブノードもある。具体的な記述方法について、前記XMLで操作オブジェクトを定義する説明を参照してよい。
2.文書ベースが新規作成される場合、ルートノードが文書ベースオブジェクトであるXMLファイルを新規作成する。
3.文書ベースにオブジェクト(例えば、テキストオブジェクト)が挿入されるたびに、このオブジェクトに対応するXMLツリーを挿入位置の親ノード(例えば層)の下に挿入する。このように、文書ベースの各オブジェクトはそれぞれ、文書ベースがルートノードであるXMLツリーにおける対応ノードを有する。
4.オブジェクトが削除される場合、このオブジェクトに対応するノード、及び当該ノードの全てのサブノードを削除する。削除プロセスでは、リーフノードから始めた走査を下から上まで行う。
5.オブジェクト属性が設定される場合、このオブジェクトに対応するノードの属性を当該属性に設定する。この属性がサブノードの属性で表される場合、対応のサブノードの属性を設定する。
6.オブジェクト属性が取得される場合、このオブジェクトに対応するノードにアクセスし、このノードの属性及びサブノードによって当該オブジェクトの属性を取得する。
7.オブジェクトのハンドルが取得される場合、このオブジェクトに対応するノードのXMLパスを戻す。
8.オブジェクト(例えばページ)が指定位置にコピーされる場合、このオブジェクトに対応するノードから始めるサブツリー全体を、目標位置に対応する親ノード(例えば文書)の下にコピーする。オブジェクトが他の文書ベースにコピーされる場合、このサブツリーで引用されたオブジェクト(例えば組込みフォント)も一緒にコピーする必要がある。
9.レイアウト情報の取得指令が実行される場合、まず、サイズが指定領域と同じである指定ビットマップフォーマットの空白ビットマップを生成し、その後、指定ページの全てのレイアウトオブジェクトを走査し、指定領域内に位置するレイアウトオブジェクト(一部分のみ当該領域内にあるものも含む)であれば、その意味を解釈して、レイアウトへ相応に反映する。具体的なプロセスが比較的に複雑で専門的であるが、従来のRIP技術の範囲に属するので、ここで説明を省略する。
[文書セキュリティ処理]
ロールオブジェクトの作成時に、ランダムの公開鍵と私密鍵の鍵ペア(例えば512bitのRSA鍵)を生成し、公開鍵をロールオブジェクトに記憶し、私密鍵をアプリケーションに戻す。
アプリケーションのログイン時に、ランダムデータブロック(例えば128バイト)を生成し、相応のロールオブジェクトの公開鍵で当該データを暗号化してアプリケーションに送信する。アプリケーションがそれを復号化してから比較検証し、正しい場合、当該ロールに対応する私密鍵をアプリケーションが確実に有することを表し、ログイン成功になる。念のため、この認証プロセスを3回繰り返してよく、3回とも通過した場合のみ、ログイン成功になる。
あるオブジェクトに対して署名を行うことは、即ちその対応ノードから始めるサブツリーに対して署名を行うことである。具体的な物理記憶方式による影響を署名に及ぼさないために、予め正規化を行うことにより、論理的に等価な変化(例えば、記憶位置の変化が相応ポインタの変化につながる)が署名の有効性を影響しないようにする必要がある。
正規化の方法は、目標オブジェクトをルートノードとするサブツリーの各ノード(即ち目標オブジェクト及びその各サブオブジェクト)を深さ優先で走査し、走査順序に従って各ノードの正規化結果を順次算出して結合することを含む。
ここで、サブツリーのあるノードの正規化結果を算出する方法は、まず、このノードのサブノード数のHASH値を算出し、次に、このノード類型及びその各属性のHASH値を順次算出して、順序に従って当該ノードのサブノード数のHASH値の次に結合し、その後、この結合結果のHASH値を算出して、当該ノードの正規化結果を得ることを含む。サブツリーのあるノードで引用されたオブジェクトに対しても署名を一緒に行う必要がある場合、当該ノードで引用されたオブジェクトも当該ノードのサブノードとして、上記と同様の方法で処理するようにしてよい。
正規化してから、HASH値を算出してロールの私密鍵で署名する処理が従来技術を採用して行われることができるため、ここで説明を省略する。
上記正規化プロセスにおいて、ノードの正規化結果を算出する方法は、このノードのサブノード数、類型及びその各属性を順序に従ってセパレーターで結合し、この結合結果のHASH値を算出して、当該ノードの正規化結果を得ることを含むようにしてよい。ノードの正規化結果を算出する方法は、このノードのサブノード数、類型及びその各属性の長さを順序に従ってセパレーターで結合して、またサブノード数、類型、各属性と結合して、当該ノードの正規化結果を得ることを含むようにしてもよい。つまり、ノードの正規化結果を算出する方法は、ツリーのあるノードに対して、そのサブノード数、類型、各属性、及びサブノード数・類型・各属性の長さ(選択可能)の元の値又は特定変換(例えば、HASH、圧縮)後の値を、所定の順序に従って結合する(直接に結合又はセパレーターで結合)ことを含む。
上記所定の順序は、サブノード数の長さ、類型の長さ、各属性の長さ、サブノード数、類型、各属性の任意の所定の並べ順序を含む。
また、サブツリーの各ノードの走査について、深さ優先走査、幅優先走査のいずれかを採用してもよい。
上記方案の各種の変形を提供することが難しくない。例えば、各ノードのサブノード数を深さ優先の順序に従ってセパレーターで結合して、また各ノードの他のデータの正規化結果と結合する。つまり、当該サブツリーの全てのノードのサブノード数、類型及び各属性を所定の方法によって並べる限り、本実施形態の変形に属する。
あるオブジェクトに対する権限設定について、最も簡単な実現方式は、各ロールの当該オブジェクト(及びそのサブオブジェクト)に対する権限を簡単に記録して、且つ今後各ロールでのアクセス時に比較し、権限に適合する場合、相応の操作を許し、権限に適合しない場合、エラー情報を報告して戻すことを含む。更に好ましい実現方式は、相応のデータを暗号化して、鍵で権限を制御することを含む。当該ロールには相応の鍵がなければ対応の権限もない。このような方式は攻撃耐性が更に強い。具体的な方案は以下の通りである。
a) 保護されたデータ領域(通常はサブツリーであり、あるオブジェクト及びその全てのサブオブジェクトに対応する)に対応するPKI鍵ペアがあり、そのうちの暗号化鍵を用いてこのデータ領域を暗号化する。
b) リード権限のあるロールに復号化鍵を与え、当該ロールがこの鍵を用いてこのデータ領域を復号化して、これらのデータを正確に読み出すことができる。
c) ライト権限のあるロールに暗号化鍵を与え、当該ロールがこの鍵を用いて修正後のデータを暗号化して、当該領域のデータを正確に書き込むことができる。
d) PKIの暗号化・復号化の効率が比較的に低いため、運行効率を向上させるように、対称鍵を利用してデータ領域を暗号化してもよい。暗号化鍵でこの対称鍵を暗号化し、暗号化した鍵データを復号化鍵で復号化することで、正確な対称鍵を取得する。リード権限だけあるロールが対称鍵を取得した後にそれを利用してデータを修正することを防止するために、暗号化鍵を用いて当該データ領域に対してデジタル署名を行うようにしてよい。ライト権限のあるロールが当該データ領域を修正するたびに改めて署名を行うことによって、データがライト権限のないロールに改竄されないことを確保する。
e) あるロールに暗号化鍵又は復号化鍵を与える場合、このロールの公開鍵を用いて当該暗号化鍵又は復号化鍵を暗号化してから記憶するようにしてよい。これにより、当該ロールの私密鍵を持たなければ、当該暗号化鍵又は復号化鍵を取り出すことができない。
説明すべきものとして、本発明に説明した文書セキュリティ技術、例えば、ロールに基づく権限管理、ロールの認証方式、マルチロールログイン、ツリー構造に対する正規化技術、細粒度の権限管理ユニット、暗号化に基づく権限設定などは、本発明に係る文書処理システムのみならず、更に幅広い他の応用場合にも適用できる。
[層に対する管理]
本発明において、文書処理システムで紙の特性をよく模擬できるように、「追加のみ修正せず」という技術案を提供している。つまり、各アプリケーションは、現在の文書内容の上に新たな内容を追加するだけで、既存内容を修正・削除しない。これにより、文書のページが紙のようになり、異なる人が異なるペンを用いて紙に書くことができるが、だれでも既存内容を修正・削除できない。具体的な方法は以下の通りである。各アプリケーションは、他のアプリケーションで生成された文書を編集する場合、現在の文書の上に1層を新たに追加し、本アプリケーションで新たに編集された全ての内容をこの層に置き、前の各層の内容を修正・削除しない。このように、各文書の各層ごとに1つだけのアプリケーションによって管理・維持されるが、他のアプリケーションで当該層を編集できなくなる。現在の社会が紙に基づいて運営されるため、文書処理システムは、紙の特性に適合する限り、現在の応用ニーズを満たすことができ、十分の実用価値がある。
各層の内容が生成された後、修正・削除されないことを確保するために、各層のデジタル署名オブジェクトを利用してよい。デジタル署名は、本層の内容に対して署名してよい。好ましくは、本層及び本層の前に生成された全ての層の内容に対して一緒に署名する。署名後にも、文書に対するコメントなどの更なる編集が妨害されない。新たな内容が新たな層に位置し、署名時に既存の各層が修正・破壊されない限り、署名は依然として有効であるが、署名者が署名前の内容のみに対して責任を負い、署名後の内容に対して責任を負わない。これは応用ニーズに非常に適合する技術案であり、かなり実用価値がある。これに比べて、従来の他の技術では、署名後の編集が許されなかったり、編集後(「追加のみ修正せず」の編集にもかかわらず)に署名が破壊されたりする。
前記技術案では、文書の既存内容の修正が許されなく、紙の特性との互換性及びデジタル署名問題を考慮しなくても、修正必要の場合にレイアウトレベルの編集しかできない。即ち、各レイアウトオブジェクトに対する編集(追加、削除、修正)は、他のレイアウトオブジェクトに影響を及ぼさない(汎用文書モデルが可視部分を基礎として構築され、大量の不可視の、レイアウトオブジェクト同士間の関係を含まないため、いかなるレイアウトオブジェクトを修正する場合にも、他のレイアウトオブジェクトへの相応の調整を発生することなく、例えば、1つの文字が削除される場合、右側の文字が自動的に左へ移動することなく、その位置に空白が残ることになる。)。ユーザが文書の既存内容を元の方式で編集しようとする場合、以下の技術案でこの応用ニーズをよく満たすことができる。当該方案について、アプリケーションが初期編集を完成すると、1層を新規作成して現在の編集内容を保存する以外に、またソースファイル(各オブジェクト間の完全な関係がアプリケーション自分のフォーマットで記録されているファイル、例えば.docファイル)を文書に組み込む。今回引き続き編集する必要がある場合、文書からこのソースファイルを取り出して、当該ソースファイルを使用して引き続き編集する。編集が完成された後、当該アプリケーションで管理された層を消去し、当該層の内容を改めて生成し、且つ新たに修正されたソースファイルを引き続き文書に組み込む。
具体的な方法は以下のステップを含む。
1.アプリケーションは、文書を初めて処理するとき、1層を新規作成し、新たな編集内容に対応するレイアウトオブジェクトを新規作成の層に挿入するとともに、自分のフォーマットで新たな編集内容(即ちソースファイル)を別途記憶する。
2.文書オブジェクトのサブオブジェクトとしてソースファイルオブジェクトを新規作成する。当該ソースファイルオブジェクトは、ソースファイルを組み込み(例えば、2値化データの方式で全体組み込む)、どの層が当該ソースファイルオブジェクトに対応するかを記録することに用いられる。
3.同じアプリケーションを用いて当該文書を再度編集するとき、対応のソースファイルオブジェクトから対応のソースファイルを取り出す。
4.当該ソースファイルを使用して当該層の内容を引き続き編集する。このソースファイルのフォーマットが当該アプリケーション自分のフォーマットであるため、当該アプリケーション自分の機能によって当該層の内容を引き続き編集できる。
5.再度編集が終了した後、新たに編集後の結果によって当該層の内容を更新する(例えば、全部消去後改めて生成する方式で)とともに、新たに修正後のソースファイルを改めて文書オブジェクトに組み込む。
6.このように繰り返して、元のアプリケーションを用いて元の方式で文書の既存内容を編集できる。
上記技術案を採用することで、文書の相互運用性を最大限に実現できる。十分のセキュリティ権限がある前提で、アプリケーション及び文書は本発明の技術を採用すると、以下の機能を実現できる。
1.いかなる文書について、いかなるアプリケーションでも、正確に開き・表示・印刷できる。
2.いかなる文書について、いかなるアプリケーションでも、いかなる内容を追加でき、且つ文書の既存署名が破壊されない。
3.いかなる文書について、文書の既存署名を考慮する必要がない(署名なし、又は署名あるが破壊を許す)前提で、いかなるアプリケーションでも、文書の既存内容に対してレイアウトレベルの編集を行うことができる。
4.いかなる文書について、文書の既存内容の元の編集アプリケーションで、この内容を正常に編集できる。
上記からわかるように、本発明の層に対する管理によって、文書の管理、相互運用性、セキュリティ設定に極めて大きな便利をもたらす。
以下、アプリケーションAが文書を作成し、アプリケーションBがそれを編集することを例として、その動作プロセスを説明する。本実施形態では、インターフェース標準としてUOIが用いられる。
1.文書ベースc:\sample\mydocbase.sepを作成して、そのハンドルをhDocBaseに保存するための指令を、アプリケーションAが送信する。
UOI_Open(“c:\\sample\\mydocbase.sep”, TRUE, &hDocBase);
2.文書ベースhDocBaseに文書セットを新規作成して、そのハンドルをhDocSetに保存するための指令を、アプリケーションAが送信する。
hDocSet = InsertNewObj(hDocBase, 0, UOI_Obj:: TYPE_DOCSET);
本実施形態では、この文書ベースに1つの文書セット、即ち第1文書セットのみある。
3.文書セットhDocSetに文書を新規作成して、そのハンドルをhDocに保存するための指令を、アプリケーションAが送信する。
hDoc = InsertNewObj(hDocSet, 0, UOI_Obj:: TYPE_DOC);
本実施形態では、この文書セットに1つの文書、即ち第1文書のみある。
4.文書hDocに、幅がwであり高さがhであるページを新規作成して、そのハンドルをhPageに保存するための指令を、アプリケーションAが送信する。
UOI_Page page;
page.size.w = w;
page.size.h = h;
UOI_Insert(hDoc, 0, &page, &hPage);
本実施形態では、この文書に1ページ、即ち第1ページのみある。
5.ページhPageに層を新規作成して、そのハンドルをhLayerに保存するための指令を、アプリケーションAが送信する。
hLayer = InertNewObj(hPage, 0, UOI_Obj::TYPE_LAYER);
本実施形態では、このページに1層、即ち第1層のみある。
6.文字サイズをsに設定するための指令を、アプリケーションAが送信する。
UOI_CharSize charSize;
charSize.m_Width = charSize.m_Height = s;
UOI_Insert(hLayer, 0, &charSize)
本実施形態では、この層の第1レイアウトオブジェクトが文字サイズオブジェクトである。
7.座標(x1,y1)の位置に文字列「書生の意氣は揮斥にして方に遒かりき」を挿入するための指令を、アプリケーションAが送信する。
UOI_Text text;
text.m_pText = Duplicate(“書生の意氣は揮斥にして方に遒かりき”);
text.m_Encoding = UOI_Text:: ENCODE_GB13000;
text.m_Start.x = x1;
text.m_Start.y = y1;
UOI_Insert(hLayer, 1, &text);
本実施形態では、この層の第2レイアウトオブジェクトがテキストオブジェクトである。
8.文書ベースhDocBaseを閉じるための指令を、アプリケーションAが送信する。
UOI_Close(hDocBase);
9.文書ベースc:\sample\mydocbase.sepを開いて、そのハンドルをhDocBaseに保存するための指令を、アプリケーションBが送信する。
UOI_Open(“c:\\sample\\mydocbase.sep”, FALSE, &hDocBase);
10.文書ベースhDocBaseの第1文書セットのポインタを取得して、そのハンドルをhDocSetに保存するための指令を、アプリケーションBが送信する。
UOI_GetHandle(hDocBase, 0, &hDocSet);
11.文書セットhDocSetの第1文書のポインタを取得して、そのハンドルをhDocに保存するための指令を、アプリケーションBが送信する。
UOI_GetHandle(hDocSet, 0, &hDoc);
12.文書hDocの第1ページのポインタを取得して、そのハンドルをhPageに保存するための指令を、アプリケーションBが送信する。
UOI_GetHandle(hDoc, 0, &hPage);
13.アプリケーションBが、このページを表示するためのビットマップを取得する。
UOI_GetPageBmp(hPage, rect, buf);
14.hPageの第1層のポインタを取得して、そのハンドルをhLayerに保存するための指令を、アプリケーションBが送信する。
UOI_GetHandle(hPage, 0, &hLayer);
15.第1レイアウトオブジェクトのハンドルhObjを取得するための指令を、アプリケーションBが送信する。
UOI_GetHandle(hLayer, 0, &hObj);
16.hObjの類型を取得するための指令を、アプリケーションBが送信する。
UOI_GetObjType(hObj, &type);
17.アプリケーションBは、これが文字サイズオブジェクトであると発見し、このオブジェクトを取得する。
UOI_GetObj(hObj, &charSize);
18.アプリケーションBが文字高さを2倍に拡大する。
charSize.m_Height *= 2;
UOI_SetObj(hObj, &charSize);
アプリケーションBがページビットマップを改めて取得して表示する。このとき、スクリーンにおいて「書生の意氣は揮斥にして方に遒かりき」が長体文字になっている。
以下、図10を参照して、本発明による文書処理システムで操作を実行する実施形態を説明する。この実施形態では、アプリケーションが統一的なインターフェース標準(例えば、UOMLインターフェース)を介して、文書に対する操作を要求する。文書ベースシステムに異なるメーカーからの異なるタイプがあり得るが、アプリケーションの開発メーカーにとって同じインターフェース標準に向くため、異なるメーカーからの異なるタイプの各文書ベースシステムがアプリケーションとあわせて使用できる。Red Office、OCR、ウェブページ生成アプリケーション、楽譜編集アプリケーション、書生リーダー、Office編集アプリケーション、その他のリーダーなどが、UOMLインターフェースを介して文書ベースシステムに操作を指示する。文書ベースシステムが複数であってもよく、図10に文書ベースシステム1、文書ベースシステム2及び文書ベースシステム3が示される。文書ベースシステムがUOMLからの統一標準指令によって、汎用文書モデルに適合した文書を操作し、例えば、文書を作成・保存・表示・表現する。本発明において、異なるアプリケーションは同時又は異時に同一文書ベースシステムを呼び出すことができ、同一アプリケーションは同時又は異時に異なる文書ベースシステムを呼び出すことができる。
本発明によれば、アプリケーション層とデータ処理層を分離させ、同一文書が異なるアプリケーション間で汎用され、異なるアプリケーション間に優れた文書の相互運用性があるようになった。
本発明によれば、産業は、分業になり、重複開発が減少され、更に専門、完備、正確になる。文書に対する基本操作が全て文書ベースシステムにおいて処理されるため、各アプリケーションにおいて重複に開発される必要はない。そして、文書ベースシステムが専門メーカーによって開発され、関連技術の専門性、完備性、正確性が保障され、且つアプリケーションメーカーとユーザが最適の文書ベースシステムメーカーを選択できるため、処理効果の正確性と一致性を確保できる。
本発明によれば、マルチ文書ひいては大量文書の管理メカニズムが提供され、文書同士を有効に組織できるようになり、検索・問い合わせ・保管に便利で、比較的に強い情報セキュリティメカニズムの組み込みに便利になる。
本発明によれば、優れたセキュリティメカニズムが提供され、マルチロールを設定でき、各ロールの権限を細粒度に設定できる。ここでの細粒度には意味が2つあり、文書全体又は文書の微小な所に対して権限設定を行うことができる一方、伝統的なリード・ライト・アクセス不可の3段の権限だけでなく、多種類の権限を設定できる。
本発明によれば、革新及び合理的な競争が励まされる。合理的な産業の分業になった後、Microsoft Wordのような文書フォーマットによってアプリケーションを独占する状況が発生することなく、各文書ベースシステムメーカーと各アプリケーションメーカーが各自の分野で競争を展開することになる。ユーザを引くために、各文書ベースシステムメーカーが標準以外に新たな機能を追加してよい。そのため、標準が革新を縛ることにはならない。
本発明によれば、性能の最適化が便利になり、もっと優れた可搬性と拡張性が提供されている。いかなる性能を持ついかなるプラットフォームでも、同様の呼び出しインターフェースに従うことができるため、インターフェース標準を変えずに、性能を絶えず最適化でき、且つ異なるプラットフォームに移行できる。
上記は、本発明の好ましい実施形態にすぎず、本発明の保護範囲を限定するものではない。本発明の精神と原則内で行われる種々の修正、均等切替、改善などは全て本発明の保護範囲内に含まれるべきである。
本発明による文書処理システムの構成を示すブロック図である。 本発明の好ましい実施形態による汎用文書モデルの構成を示す図である。 図2の汎用文書モデルにおける文書ベースオブジェクトの構成を示す図である。 図3の文書ベースオブジェクトにおける文書ベース補助オブジェクトの構成を示す図である。 図3の文書ベースオブジェクトにおける文書セットオブジェクトの構成を示す図である。 図5の文書セットオブジェクトにおける文書オブジェクトの構成を示す図である。 図6の文書オブジェクトにおけるページオブジェクトの構成を示す図である。 図7のページオブジェクトにおける層オブジェクトの構成を示す図である。 図8の層オブジェクトにおけるレイアウトオブジェクトの構成を示す図である。 UOMLインターフェースを例とする文書処理システムの処理を示す図である。

Claims (37)

  1. 文書を処理するシステムであって、
    汎用文書モデルに適合する文書を操作するための標準指令を送信するアプリケーション層と、
    前記標準指令を受信し、前記標準指令に基づいて文書データを操作する文書ベースシステムと、
    を含むことを特徴とする文書処理システム。
  2. 前記アプリケーション層が上インターフェースユニットを含み、前記アプリケーション層が上インターフェースユニットを介して前記標準指令を送信し、
    前記文書ベースシステムが下インターフェースユニットを含み、前記文書ベースシステムが下インターフェースユニットを介して前記標準指令を受信することを特徴とする請求項1に記載のシステム。
  3. 前記文書ベースシステムがアプリケーション層に実行結果を返信することを特徴とする請求項1に記載のシステム。
  4. 文書ベースシステムで生成された文書データを保存する記憶層を更に含むことを特徴とする請求項1に記載のシステム。
  5. アプリケーション層の異なるアプリケーションが同時又は異時に同一文書ベースシステムに操作を指示することを特徴とする請求項1に記載のシステム。
  6. アプリケーション層の同一アプリケーションが同時又は異時に異なる文書ベースシステムに操作を指示することを特徴とする請求項1に記載のシステム。
  7. 前記汎用文書モデルが、1つ又は複数の文書オブジェクトと、1つ又は複数のページオブジェクトと、任意数のレイアウトオブジェクトとを含み、
    各文書オブジェクトがそれぞれ、1つ又は前後の順序を有する複数のページオブジェクトを含み、各ページオブジェクトがそれぞれ、任意数のレイアウトオブジェクトを含み、
    前記レイアウトオブジェクトが、テキストオブジェクト、図形オブジェクト及び画像オブジェクトのいずれか1つ又は複数の組合せを含むことを特徴とする請求項1に記載のシステム。
  8. 前記汎用文書モデルが、1つ又は複数の文書ベースオブジェクトを更に含み、
    前記文書ベースオブジェクトが、1つ又は複数の文書オブジェクトを含むことを特徴とする請求項7に記載のシステム。
  9. 前記汎用文書モデルが、1つ又は複数の文書セットオブジェクトを更に含み、
    前記文書ベースオブジェクトが、1つ又は複数の文書セットオブジェクトを含み、前記文書セットオブジェクトが、1つ又は複数の文書オブジェクトを含むことを特徴とする請求項8に記載のシステム。
  10. 前記汎用文書モデルが、1つ又は複数の層オブジェクトを更に含み、
    前記ページオブジェクトが、1つ又は前後の順序を有する複数の層オブジェクトを含み、前記層オブジェクトが、任意数のレイアウトオブジェクトを含むことを特徴とする請求項7に記載のシステム。
  11. 前記文書オブジェクトが、任意数のメタデータオブジェクト、任意数のナビゲーションオブジェクト、任意数のスレッドオブジェクト及び任意数のサムネイルイメージ情報オブジェクトのいずれか1つ又は複数の組合せを更に含むことを特徴とする請求項7に記載のシステム。
  12. 前記汎用文書モデルが、各文書オブジェクト及び各ページオブジェクトで共有される、任意数のフォントオブジェクト及び任意数の画像オブジェクトを更に含むことを特徴とする請求項7に記載のシステム。
  13. 前記レイアウトオブジェクトが、ステータスオブジェクト、スクリプトオブジェクト、プラグインオブジェクト、組込式オブジェクト、ナビゲーションオブジェクト、ブックマークオブジェクト、リンクオブジェクト、ストリーミングメディアオブジェクト、2値化データストリームオブジェクト、及びハイパーリンクオブジェクトのいずれか1つ又は複数の組合せを更に含むことを特徴とする請求項7に記載のシステム。
  14. 前記汎用文書モデルがロールオブジェクトを更に含み、各ロールに他のオブジェクトにアクセスする異なる権限が設定され、
    前記権限が、各ロールからあるオブジェクトへのリード可否、ライト可否、コピー可否、印刷可否のいずれか1つ又は複数の組合せを含むことを特徴とする請求項7に記載のシステム。
  15. 文書を処理する方法であって、
    アプリケーション層が、汎用文書モデルに適合する文書を操作するための標準指令を送信する過程と、
    文書ベースシステムが、前記標準指令に基づいて文書データを操作する過程と、
    を含むことを特徴とする方法。
  16. 文書ベースシステムが、文書データを操作する過程の実行結果をアプリケーション層に返信する過程を更に含むことを特徴とする請求項15に記載の方法。
  17. 前記汎用文書モデルが、文書オブジェクトと、ページオブジェクトと、レイアウトオブジェクトとを含み、
    前記操作する過程が、
    文書オブジェクトを作成又は削除する過程と、
    文書のページオブジェクトを作成又は削除する過程と、
    ページのレイアウトオブジェクトを作成又は削除する過程とを含むことを特徴とする請求項15に記載の方法。
  18. 前記汎用文書モデルが、文書ベースオブジェクトと、文書セットオブジェクトとを更に含み、
    前記操作する過程が、
    文書ベースオブジェクトを作成又は削除する過程と、
    文書ベースの文書セットオブジェクトを作成又は削除する過程とを更に含むことを特徴とする請求項15に記載の方法。
  19. 前記汎用文書モデルが層オブジェクトを更に含み、前記ページオブジェクトが1つ又は複数の層オブジェクトを含み、前記層オブジェクトが1つ又は複数のレイアウトオブジェクトを含み、
    前記操作する過程が、ページの層オブジェクトを作成又は削除する過程を更に含むことを特徴とする請求項15に記載の方法。
  20. 前記操作する過程が、
    汎用文書モデルの各オブジェクトの属性を取得する過程と、
    汎用文書モデルの各オブジェクトの属性を修正する過程とを更に含むことを特徴とする請求項15〜19のいずれか1項に記載の方法。
  21. 前記操作する過程が、ページオブジェクトのページビットマップを取得する過程を更に含むことを特徴とする請求項15〜19のいずれか1項に記載の方法。
  22. 前記送信する過程が、
    インターフェース層が、アプリケーションからの指令を所定の指令フォーマットに従って標準指令に生成し、
    又は、インターフェース層が、アプリケーションからの指令に基づいて、当該指令に対応する所定のインターフェース関数を呼び出して標準指令を生成する過程を含むことを特徴とする請求項15に記載の方法。
  23. 前記所定の指令フォーマットが、操作動作+操作オブジェクトを含むことを特徴とする請求項22に記載の方法。
  24. 前記操作する過程が、
    ユーザがアプリケーション層を介して設定した条件に従って、文書データから条件に適合するオブジェクトを検索する過程を含むことを特徴とする請求項15に記載の方法。
  25. 前記条件が、汎用文書モデルに含まれるテキストオブジェクト、書体オブジェクト、文字サイズオブジェクト、及び色オブジェクトのいずれか1つ又は複数の属性の組合せを含むことを特徴とする請求項24に記載の方法。
  26. 汎用文書モデルに適合する文書を操作するための標準指令を送信するインターフェースユニットを含むことを特徴とするアプリケーション。
  27. 前記汎用文書モデルが、1つ又は複数の文書オブジェクトと、1つ又は複数のページオブジェクトと、任意数のレイアウトオブジェクトとを含み、
    各文書オブジェクトがそれぞれ、1つ又は前後の順序を有する複数のページオブジェクトを含み、各ページオブジェクトがそれぞれ、任意数のレイアウトオブジェクトを含み、
    前記レイアウトオブジェクトが、テキストオブジェクト、図形オブジェクト及び画像オブジェクトのいずれか1つ又は複数の組合せを含むことを特徴とする請求項26に記載のアプリケーション。
  28. 汎用文書モデルに適合する文書を操作するための標準指令を受信するインターフェースユニットと、
    前記標準指令に基づいて文書データを操作する処理ユニットと、
    を含むことを特徴とする文書ベースシステム。
  29. 文書データを記憶する記憶ユニットを更に含むことを特徴とする請求項28に記載の文書ベースシステム。
  30. 前記汎用文書モデルが、1つ又は複数の文書オブジェクトと、1つ又は複数のページオブジェクトと、任意数のレイアウトオブジェクトとを含み、
    各文書オブジェクトがそれぞれ、1つ又は前後の順序を有する複数のページオブジェクトを含み、各ページオブジェクトがそれぞれ、任意数のレイアウトオブジェクトを含み、
    前記レイアウトオブジェクトが、テキストオブジェクト、図形オブジェクト及び画像オブジェクトのいずれか1つ又は複数の組合せを含むことを特徴とする請求項28に記載の文書ベースシステム。
  31. 汎用文書モデルに適合する文書を操作するための標準指令を送信する上インターフェースユニットと、
    前記標準指令を受信する下インターフェースユニットと、
    を含むことを特徴とするインターフェース層。
  32. 前記下インターフェースユニットが、受信した指令が標準指令であるかどうかを判断し、標準指令を解析することを特徴とする請求項31に記載のインターフェース層。
  33. 前記汎用文書モデルが、1つ又は複数の文書オブジェクトと、1つ又は複数のページオブジェクトと、任意数のレイアウトオブジェクトとを含み、
    各文書オブジェクトがそれぞれ、1つ又は前後の順序を有する複数のページオブジェクトを含み、各ページオブジェクトがそれぞれ、任意数のレイアウトオブジェクトを含み、
    前記レイアウトオブジェクトが、テキストオブジェクト、図形オブジェクト及び画像オブジェクトのいずれか1つ又は複数の組合せを含むことを特徴とする請求項31に記載のインターフェース層。
  34. 文書を処理するシステムであって、
    少なくとも1つのアプリケーションを有するアプリケーション層と、
    汎用文書モデルに適合する文書を操作するための標準指令を、前記アプリケーション層から送信するインターフェース層と、
    前記標準指令によって文書データを操作する文書ベースシステムと、
    を含むことを特徴とするシステム。
  35. 前記文書ベースシステムが、インターフェース層を介してアプリケーション層に実行結果を返信することを特徴とする請求項34に記載のシステム。
  36. 前記インターフェース層が、上インターフェースユニットと、下インターフェースユニットとを含み、
    前記アプリケーション層が、上インターフェースユニットを介して標準指令を下インターフェースユニットに送信し、
    前記文書ベースシステムが、下インターフェースユニットを介して標準指令を受信することを特徴とする請求項34に記載のシステム。
  37. 前記汎用文書モデルが、1つ又は複数の文書オブジェクトと、1つ又は複数のページオブジェクトと、任意数のレイアウトオブジェクトとを含み、
    各文書オブジェクトがそれぞれ、1つ又は前後の順序を有する複数のページオブジェクトを含み、各ページオブジェクトがそれぞれ、任意数のレイアウトオブジェクトを含み、
    前記レイアウトオブジェクトが、テキストオブジェクト、図形オブジェクト及び画像オブジェクトのいずれか1つ又は複数の組合せを含むことを特徴とする請求項34に記載のシステム。
JP2008542583A 2005-12-05 2006-12-04 文書処理システム及びその方法 Pending JP2009519507A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNB2005101266836A CN100547590C (zh) 2005-12-05 2005-12-05 文档处理系统
PCT/CN2006/003293 WO2007065353A1 (fr) 2005-12-05 2006-12-04 Systeme et procede de traitement de documents

Publications (1)

Publication Number Publication Date
JP2009519507A true JP2009519507A (ja) 2009-05-14

Family

ID=38122482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008542583A Pending JP2009519507A (ja) 2005-12-05 2006-12-04 文書処理システム及びその方法

Country Status (5)

Country Link
US (2) US20080270463A1 (ja)
EP (1) EP1965308A4 (ja)
JP (1) JP2009519507A (ja)
CN (4) CN100547590C (ja)
WO (1) WO2007065353A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102000543B1 (ko) * 2018-06-12 2019-07-16 주식회사 한글과컴퓨터 웹 전자 문서 편집 장치 및 이의 동작 방법

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1965309A4 (en) 2005-12-05 2009-04-01 Sursen Corp SYSTEM AND METHOD FOR HIERARCHISTIC PROCESSING OF DOCUMENTS
JP5530101B2 (ja) 2005-12-05 2014-06-25 サーセン コーポレイション 文書処理システム及びその方法
CN102122333B (zh) * 2011-03-21 2015-01-07 北京书生国际信息技术有限公司 一种登录文档库系统的方法
CN101369268B (zh) * 2007-08-15 2011-08-24 北京书生国际信息技术有限公司 一种文档库系统中文档数据的存储方法
WO2008031647A1 (en) * 2006-09-12 2008-03-20 International Business Machines Corporation System and method for dynamic context-sensitive integration of content into a web portal application
CN101192141B (zh) 2006-11-20 2010-05-12 北京书生国际信息技术有限公司 一种将uoml封装成应用程序编程接口的方法
US9176953B2 (en) * 2008-06-04 2015-11-03 Tianjin Sursen Investment Co., Ltd. Method and system of web-based document service
CN101599011B (zh) * 2008-06-05 2016-11-16 天津书生投资有限公司 文档处理系统和方法
CN101477516B (zh) 2008-09-10 2010-12-01 北京书生国际信息技术有限公司 一种电子数据处理方法和系统
CN101783787A (zh) * 2009-01-16 2010-07-21 北京书生国际信息技术有限公司 客户端/服务器模式的非结构化数据处理系统及方法
US8868488B2 (en) * 2009-02-27 2014-10-21 Microsoft Corporation Techniques for integrating structured accounting data with unstructured data
US8745494B2 (en) * 2009-05-27 2014-06-03 Zambala Lllp System and method for control of a simulated object that is associated with a physical location in the real world environment
US20100306825A1 (en) 2009-05-27 2010-12-02 Lucid Ventures, Inc. System and method for facilitating user interaction with a simulated object associated with a physical location
EP2625655A4 (en) 2010-10-06 2014-04-16 Planet Data Solutions SYSTEM AND METHOD FOR INDEXING ELECTRONIC DETECTION DATA
CN103136521A (zh) * 2011-11-25 2013-06-05 方正国际软件有限公司 一种图像区域属性的展示方法与系统
CN103365852A (zh) * 2012-03-28 2013-10-23 天津书生软件技术有限公司 一种文档库系统中的并发控制方法及系统
US20130293580A1 (en) 2012-05-01 2013-11-07 Zambala Lllp System and method for selecting targets in an augmented reality environment
US9053085B2 (en) * 2012-12-10 2015-06-09 International Business Machines Corporation Electronic document source ingestion for natural language processing systems
US9799066B2 (en) 2013-03-15 2017-10-24 Bluesky Datasheets, Llc System and method for providing commercial functionality from a product data sheet
US9740995B2 (en) * 2013-10-28 2017-08-22 Morningstar, Inc. Coordinate-based document processing and data entry system and method
CN104331392B (zh) * 2014-11-21 2017-06-27 北京金和软件股份有限公司 一种可批量编辑图文app中展示内容的方法
CN104516865B (zh) * 2014-12-29 2017-09-19 北京大学 基于Web的关联桌面演示子文档的在线演示文档编辑方法
JP2017059173A (ja) * 2015-09-18 2017-03-23 富士ゼロックス株式会社 情報供給装置、操作端末、情報処理システムおよびプログラム
CN105279254B (zh) * 2015-10-12 2018-10-23 江苏中威科技软件系统有限公司 版式数据流文件系统及其操作装置和其操作装置的实现方法
CN108228542A (zh) * 2017-12-14 2018-06-29 浪潮软件股份有限公司 一种非结构化文本的处理方法及装置
CN108229137B (zh) * 2017-12-29 2020-04-03 北京长御科技有限公司 一种分配文档权限的方法及装置
US10606888B2 (en) 2018-06-05 2020-03-31 Eight Plus Ventures, LLC Image inventory production
US10467391B1 (en) * 2018-08-23 2019-11-05 Eight Plus Ventures, LLC Manufacture of secure printed image inventories
CN109886013A (zh) * 2019-01-17 2019-06-14 平安城市建设科技(深圳)有限公司 企业权限控制方法、设备、存储介质及装置
US11294875B2 (en) 2019-05-31 2022-04-05 Advanced New Technologies Co., Ltd. Data storage on tree nodes
CN110275884B (zh) * 2019-05-31 2020-08-04 阿里巴巴集团控股有限公司 数据存储方法及节点
CN113312911B (zh) * 2021-05-26 2022-07-12 上海晏鼠计算机技术股份有限公司 一种基于大纲的自动授权与文段智能创作方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067373A (ja) * 2001-08-23 2003-03-07 Canon Inc プログラム、文書処理装置及び文書処理方法
JP2004030582A (ja) * 2002-04-30 2004-01-29 Toshiba Corp 構造化文書編集装置、構造化文書編集方法及びプログラム
JP2004086572A (ja) * 2002-08-27 2004-03-18 Fuji Electric Holdings Co Ltd 文書管理システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434962A (en) * 1990-09-07 1995-07-18 Fuji Xerox Co., Ltd. Method and system for automatically generating logical structures of electronic documents
US6006242A (en) * 1996-04-05 1999-12-21 Bankers Systems, Inc. Apparatus and method for dynamically creating a document
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US20050086584A1 (en) * 2001-07-09 2005-04-21 Microsoft Corporation XSL transform
US20030055871A1 (en) * 2001-07-31 2003-03-20 Javier Roses Document/poster composition and printing
US7203900B2 (en) * 2001-09-14 2007-04-10 Canon Kabushiki Kaisha Apparatus and method for inserting blank document pages in a print layout application
US20040205656A1 (en) * 2002-01-30 2004-10-14 Benefitnation Document rules data structure and method of document publication therefrom
US7035837B2 (en) * 2002-01-30 2006-04-25 Benefitnation Document component management and publishing system
US20040003248A1 (en) * 2002-06-26 2004-01-01 Microsoft Corporation Protection of web pages using digital signatures
US7191186B1 (en) * 2002-11-27 2007-03-13 Microsoft Corporation Method and computer-readable medium for importing and exporting hierarchically structured data
US7562215B2 (en) * 2003-05-21 2009-07-14 Hewlett-Packard Development Company, L.P. System and method for electronic document security
GB2405730A (en) * 2003-09-03 2005-03-09 Business Integrity Ltd Cross-reference generation
US20050216886A1 (en) * 2004-03-12 2005-09-29 Onfolio, Inc. Editing multi-layer documents
US8661332B2 (en) * 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067373A (ja) * 2001-08-23 2003-03-07 Canon Inc プログラム、文書処理装置及び文書処理方法
JP2004030582A (ja) * 2002-04-30 2004-01-29 Toshiba Corp 構造化文書編集装置、構造化文書編集方法及びプログラム
JP2004086572A (ja) * 2002-08-27 2004-03-18 Fuji Electric Holdings Co Ltd 文書管理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102000543B1 (ko) * 2018-06-12 2019-07-16 주식회사 한글과컴퓨터 웹 전자 문서 편집 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
CN101322121B (zh) 2011-05-18
EP1965308A1 (en) 2008-09-03
CN101322126B (zh) 2013-07-17
CN1979472A (zh) 2007-06-13
US20080270463A1 (en) 2008-10-30
CN101322126A (zh) 2008-12-10
US20130174268A1 (en) 2013-07-04
EP1965308A4 (en) 2009-07-08
CN101322121A (zh) 2008-12-10
CN100547590C (zh) 2009-10-07
CN101322136B (zh) 2012-07-04
WO2007065353A1 (fr) 2007-06-14
CN101322136A (zh) 2008-12-10

Similar Documents

Publication Publication Date Title
JP2009519507A (ja) 文書処理システム及びその方法
JP5530101B2 (ja) 文書処理システム及びその方法
US8171389B2 (en) Method of hierarchical processing of a document and system therefor
EP2309398A1 (en) Method and system for performing unstructured data
US20090320141A1 (en) Document data security management method and system therefor
US9003295B2 (en) User interface driven access control system and method
CN1979478B (zh) 文档处理系统和文档处理方法
US8566711B1 (en) Document views
US20110264705A1 (en) Method and system for interactive generation of presentations
CN1979511B (zh) 一种文档数据安全管理系统和方法
JPWO2006051964A1 (ja) データ処理システム、データ処理方法、及び管理サーバ
US20080263333A1 (en) Document processing method
US9081977B2 (en) Method and apparatus for privilege control
JPWO2006051966A1 (ja) 文書管理装置及び文書管理方法
CN100507913C (zh) 一种文档处理方法及系统
CN1979479B (zh) 文档处理系统和文档处理方法
CN102043821B (zh) 一种显示文档的方法
KR102189832B1 (ko) 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법
JP2001188774A (ja) 電子文書の提供方法
TWI249687B (en) On-line approval method of scalable vector graphics electronic document
CN101982818A (zh) 一种文档处理的方法
JP2000137561A (ja) 画像検索装置及びその方法、コンピュータ可読メモリ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111206

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120529