JP2004046849A - Xmlドキュメントの検証およびスキーマ違反の報告のためのシステムおよび方法 - Google Patents
Xmlドキュメントの検証およびスキーマ違反の報告のためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2004046849A JP2004046849A JP2003178496A JP2003178496A JP2004046849A JP 2004046849 A JP2004046849 A JP 2004046849A JP 2003178496 A JP2003178496 A JP 2003178496A JP 2003178496 A JP2003178496 A JP 2003178496A JP 2004046849 A JP2004046849 A JP 2004046849A
- Authority
- JP
- Japan
- Prior art keywords
- xml
- error
- native
- node
- parallel tree
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】XMLドキュメントの非ネイティブXMLの要素に対応するノードを含む、パラレルツリーを、保持する。変更がXMLドキュメント内で起こると、それら変更に対応する非ネイティブXMLの要素を、マークする。マークされた非ネイティブXMLの要素に対応するノードを、非ネイティブXMLマークアップに対応するXMLスキーマで検証する。ついで、非ネイティブXMLマークアップ内のエラーに対応する要素およびノードを、XMLドキュメントおよびパラレルツリー内の表示インジケータにより、ユーザへ報告する。
【選択図】 図5
Description
【0001】
マークアップ言語は、近年広い普及を達成してきた。マークアップ言語の1タイプである拡張可能なマークアップ言語(XML)は、種々の種類のデータを識別し、交換し、および処理するための世界的な言語である。例えば、XMLを使用し、種々のアプリケーションプログラムによって利用可能なドキュメントを作成する。XMLファイルの要素は、関連した名前空間とスキーマとを有する。
【0002】
XMLにおいては、名前空間を一般に使用して、ユニークな、XMLドキュメントの各クラスを識別する。各XMLドキュメントは名前空間を使用して、そのドキュメントと関連したXMLのタイプを簡単に識別する処理を行うことができる。ユニークな名前空間もまた、マークアップ要素、すなわち、異なるソースから生じ、およびたまたま同じ名前を有するマークアップ要素を区別することを支援する。
【0003】
XMLスキーマは、XML環境で、データを記述し検証するための方法を提供する。スキーマは、どのような要素および属性を使用してXMLドキュメントでコンテンツを記述するか、どこで各要素を許可するか、およびどの要素が他の要素内に出現可能か、を表す。スキーマの使用により、ファイルを一貫した方法で構築することが保証される。スキーマは、ユーザによって作成しても良いし、および一般的に、XMLのような、関連したマークアップ言語によって支援しても良い。スキーマを支援するXMLエディタを使用することによって、ユーザは、XMLファイルを処理することができ、ユーザが作成したスキーマに添付するXMLドキュメントを作成することができる。
【考案の開示】
【発明が解決しようとする課題】
【0004】
一般的に、要素またはタグを、間違ったXMLドキュメント内へ挿入すると、XMLエディタは、エラーに対処することなしに、ユーザがXMLドキュメントの構築を続けることを許可しない。この場合、XMLエディタは、単に、スキーマに関して誤っているXMLドキュメントの編集を認めず、その結果、エディタは、フリースタイルな編集を提供しない。エディタに対する他のオプションは、ユーザが全体のXMLドキュメントを生成可能にすることであり、ついで、後に、XMLドキュメントを全部検証することである。全体のXMLドキュメントを検証すると生じるエラーを、そのとき、発見し訂正する必要がある。
【0005】
本発明の目的は、ユーザがドキュメントを編集するとき、拡張可能なマークアップ言語(XML)ドキュメントの検証、およびリアルタイムでスキーマ違反の報告を可能にすることである。
【課題を解決するための手段】
【0006】
ワードプロセッサは、関連した拡張可能なマークアップ言語(ネイティブXML)を有する。ユーザが、非ネイティブXMLスキーマファイルをXMLドキュメントに関連付けると、ワードプロセッサは、検証エンジンによって非ネイティブXMLスキーマを使用して、XMLドキュメント内の非ネイティブXMLの要素を検証する。ユーザが、非ネイティブXMLの要素をスキーマからXMLドキュメント内へ挿入するとき、パラレルツリーは、検証エンジンの対象としてワードプロセッサによって保持される。ツリーはノードを含み、そのノードは、XMLドキュメント内へ挿入された非ネイティブXMLの要素に対応する。パラレルツリーは、ネイティブXMLマークアップがXMLドキュメント内の非ネイティブXMLマークアップを妨害しないようにすることを支援する。非ネイティブXMLマークアップは、同じXMLドキュメント内のネイティブXMLマークアップと共存しているが、パラレルツリーにより、非ネイティブXMLマークアップをネイティブXMLマークアップとは別におよび独立に認証することができる。
【0007】
1つの実施形態においては、非ネイティブXMLの要素を、XMLドキュメントに挿入する毎に、対応するノードを、パラレルツリー内の適切な位置に作成する。その位置は、非ネイティブXMLの要素をどのように挿入するかに関するコンテキストに依存する。同様に、非ネイティブXMLの要素を、XMLドキュメントから削除する毎に、対応するノードを、パラレルツリーから削除する。
【0008】
非ネイティブXMLの要素をトラックし続けることに加えて、パラレルツリーは、また、非ネイティブXMLの要素のテキストのコンテンツをトラックし続ける。非ネイティブXMLの要素のコンテンツは、パラレルツリーよりむしろXMLドキュメント内に存在するが、パラレルツリーは、依然として、要素へのリンクを維持する。必要なときに、コンテンツを、パラレルツリーの検証の目的で、パラレルツリーによって取り出す。ついで、検証プロセスは、各ノードがそのテキストのコンテンツに課すコンテンツタイプの制限に加えて、パラレルツリーのノード間の構造的な関係を検証しても良い。
【0009】
パラレルツリーは、リアルタイムでXMLドキュメント内の変更を反映し、非ネイティブXMLマークアップのリアルタイムの検証を可能にする。非ネイティブXMLマークアップまたはXMLドキュメントのテキストのコンテンツに対する変更の後に、アイドルモーメントが起こると、変更が起こったXMLドキュメントの領域に対応するパラレルツリーのサブツリーを、検証エンジンによって検証する。非ネイティブXMLまたはテキストのコンテンツへの変更に伴う1つまたは2つ以上のエラーがある場合、検証エンジンは、エラーをワードプロセッサに通知する。ついで、ワードプロセッサは、このようなエラーを処理するためのユーザインターフェイス命令に従って、XMLドキュメントおよびパラレルツリー双方内のエラーをハイライトする。
【発明を実施するための最良の形態】
【0010】
本文脈で別の意味を明確に示さない限り、明細書と特許請求の範囲とを通して、以下の用語は、ここで明確に関連付けた意味を持つ。
【0011】
用語“マークアップ言語”または“ML”は、どのようにしてドキュメントの部分をアプリケーションによってインタプリタすべきかを定義する、ドキュメント内の特別なコードのための言語を指す。ワードプロセッサファイルにおいては、マークアップ要素を、特定のフォーマット、すなわち、どのようにしてその要素のコンテンツを表示し、またはレイアウトするかを定義する特定のフォーマット、に関連させても良い。他のXMLドキュメントのような、他のドキュメントでは、マークアップは、表示を行わない、記述データであっても良い。
【0012】
用語“ネイティブ拡張可能なマークアップ言語”または“ネイティブXML”は、ワードプロセッサアプリケーションとワードプロセッサアプリケーションに関連したスキーマとに関連付けられるマークアップ言語を指す。
【0013】
用語“非ネイティブ拡張可能なマークアップ言語”または“非ネイティブXML”は、ユーザまたは他のアプリケーションが作成し、ネイティブXMLスキーマと異なるスキーマに添付する(adhere)マークアップ言語を指す。
【0014】
用語“要素”は、XMLドキュメントの基本ユニットを指す。要素は、属性、他の要素、コンテンツ、およびXMLドキュメントのための他のビルディングブロックを含んでも良い。
【0015】
用語“タグ”は、ドキュメント内に挿入されるコマンドを指す。このドキュメントは、XMLドキュメント内の要素を記述する。各要素は、通常、2つ以上のタグ、すなわち開始タグおよび終了タグ、を持たない。(コンテンツが無い)空の要素を有することは可能であり、その場合、1つのタグが許可される。
【0016】
タグの間のコンテンツを、要素の“子”(または子孫)と見なす。従って、要素のコンテンツに埋め込まれた他の要素を、“子の要素”または“子のノード”または要素と呼ぶ。要素のコンテンツに直接埋め込まれたテキストを、要素の“子のテキストノード”と見なす。子の要素と要素内のテキストとは、共に、その要素の“コンテンツ”を構成する。
【0017】
用語“属性”は、特定な値に対する、および要素に関連した付加的なプロパティ・セットを指す。要素は、それらに関連した任意の多数の属性の設定を有しても良く、ない状態も含む。属性を使用して、付加的な情報を、要素のコンテンツに含まれていない要素と関連づける。
【0018】
例示的な動作環境
図1に関して、本発明を実施するための1つの好例なシステムは、コンピューティングデバイス100のようなコンピューティングデバイスを含む。基本構成は、破線108内のそれらのコンポーネントを含む。基本構成において、コンピューティングデバイス100は、基本的に、少なくとも1つの処理装置102とシステムメモリ104とを含む。正確な構成およびコンピューティングデバイスのタイプに基づくと、システムメモリ104は、(RAMのような)揮発性、(ROM、フラッシュメモリ、等のような)不揮発性またはそれら2つの組み合わせとすることができる。システムメモリ104は、一般的に、オペレーティングシステム105、1つまたは2つ以上のアプリケーション106を含み、プログラムデータ107を含んでも良い。1つの実施形態においては、アプリケーション106は、XMLエディタ122を有するワードプロセッサアプリケーション120を含む。この構成においては、ワードプロセッサアプリケーション120は、フリースタイルな編集環境でXMLドキュメントを開始し編集することができる。ここでは、ワードプロセッサアプリケーション120のコンテキスト内に図示したけれども、本発明は、他のタイプのアプリケーションへの適用性を等しく有しており、それは、当業者には明らかなことである。
【0019】
コンピューティングデバイス100は、付加的な特徴または機能性を有することができる。例えば、コンピューティングデバイス100も、また、付加的なデータストレージデバイス(着脱可能および/または着脱不可)を有しても良く、それは、例えば、磁気ディスク、光ディスク、またはテープのようなものである。このような付加的なストレージを、図1に、着脱可能なストレージ109および着脱不可なストレージ110によって図示する。コンピュータストレージメディアは、着脱可能および着脱不可なメディアを含んでも良い。それらメディアは、揮発性および不揮発性、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような、情報の記憶のためのあらゆる方法または技術によって実装される。システムメモリ104、着脱可能なストレージ109および着脱不可なストレージ110は、全て、コンピュータストレージメディアの例である。コンピュータストレージメディアは、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または所望の情報を格納するために使用され、およびコンピューティングデバイス100によってアクセス可能な、あらゆる他のメディアを含むが、それらに限定されない。あらゆるこのようなコンピュータストレージは、デバイス100の一部であっても良い。コンピューティングデバイス100は、また、キーボード、マウス、ペン、ボイス入力デバイス、タッチ入力デバイス、等のような、入力デバイス112を有しても良い。ディスプレイ、スピーカ、プリンタ等のような出力デバイスも、また、含んでも良い。これらのデバイスは、当技術分野で良く知られており、ここで詳細に説明する必要は無いであろう。
【0020】
コンピューティングデバイス100は、また、デバイスが例えばネットワークを介して、他のコンピューティングデバイス118と通信可能になる通信コネクション116を含んでも良い。通信コネクション116は、通信メディアの一例である。通信メディアを、一般的に、コンピュータ可読命令、データ構造、プログラムモジュール、ならびに、搬送波または他のトランスポートメカニズムのような、変調されたデータ信号中の他のデータによって実現しても良く、およびあらゆる情報配信メディアを含んでも良い。用語“変調されたデータ信号”は、1つまたは2つ以上の特性のセット、すなわち信号中の情報を符号化するような方法で変えられたセットを有する信号を意味する。例えば、それは限定ではないが、通信メディアは、有線ネットワークあるいは直接有線コネクションのような、有線メディア、および音波、RF,赤外ならびに他の無線メディアのような、無線メディアを含む。ここで使用される用語コンピュータ可読メディアは、ストレージメディアと通信メディアとの双方を含む。
【0021】
図2は、本発明を実施するための好例な環境を図示するブロック図である。図2に示された好例な環境200は、ワードプロセッサ120、XMLドキュメント210、非ネイティブXMLスキーマ215、XML検証エンジン225、およびデータ構造230を含む。データ構造230は、エラーデータ235、パラレルツリー220、シンクデータ240を含む。
【0022】
1つの実施形態においては、ワードプロセッサ120は、それ自身の名前空間およびワードプロセッサ120に関連したXMLドキュメントを使用するためのスキーマを有する。ワードプロセッサ120のためのスキーマによって規定されたタグおよび属性のセットは、それを、それ自身のマークアップ言語、すなわちワードプロセッサマークアップ言語(ネイティブXML)、として参照するような、XMLドキュメントのフォーマットを規定する。ネイティブXMLはワードプロセッサ120によって支援され、およびネイティブXMLをそれ自身の規則をさらに作成する間に、他のマークアップ言語の規則と結び付けることもできる。ネイティブXMLは、テキストのフォーマット(例えば、ボールド、イタリック、アンダーライン)、パラグラフのフォーマット(例えば、行間隔、行揃え、および同種のもの)、表のフォーマット(例えば、表の行および列)、および同種のもののような、通常のワードプロセシングに関連した豊富な表示情報を含む、マークアップ言語を提供する。ネイティブXMLを、より現実的な構成をドキュメントへ加えるようなユーザ定義のスキーマと共に、使用しても良い。
【0023】
本発明による、ネイティブXMLおよび非ネイティブXMLの要素は、XMLドキュメント210内で共存し別個に検証しても良い。非ネイティブXMLの要素は、非ネイティブXMLスキーマ215と関係付けられる。検証するとき、非ネイティブXMLの要素が非ネイティブXMLスキーマ215と一致しているかどうかに関して、非ネイティブXMLの要素が調べられる。上述のように、スキーマは、どのようなタグおよび属性を使用してXMLドキュメント内のコンテンツを記述するか、どこで各タグを許可するか、どのようなコンテンツのタイプが要素内に出現可能か、およびどの要素が他の要素内に出現可能かを示し、ドキュメントを、同じ方法で構成させることを保証している。従って、非ネイティブXMLスキーマ215に示すように構成されたときに、非ネイティブXMLの要素は有効(valid)である。非ネイティブXMLの要素の検証を、以下の図7の説明でさらに説明する。
【0024】
XML検証エンジン225は、要素のツリーを保持してあるスキーマに対する要素のツリーを検証するように構成されたモジュールである。簡潔には、XML検証エンジン225に以下のオブジェクトを引き渡しても良い。そのオブジェクトは、XMLドキュメント210内の要素に対応するもののような要素のツリー、非ネイティブXMLスキーマ215のようなスキーマへのポインタ、およびことによると要素のツリーのうちの1つまたは2つ以上の要素のコンテンツ、を規定している。この情報で、XML検証エンジンは、スキーマに対して要素のツリーを検証し、およびコーリングプロセスに対してあらゆる違反を報告する。
【0025】
本発明の1つの実施形態によれば、ルーチンオペレーション中に、ワードプロセッサ120は、非ネイティブXMLの要素の検証に関係する幾つかのデータ構造230を保持する。パラレルツリー220は、XMLドキュメント210内の各非ネイティブXMLの要素に対応しているノードを含む要素のツリーである。1つの実施形態において、パラレルツリー220は、XMLドキュメント210の各要素およびコンテンツを認識(aware)しており、およびXMLドキュメント210は、パラレルツリー220のノードを認識している。従って、ユーザは、パラレルツリー220内のノードおよび要素をハイライトすることができる。上記要素は、XMLドキュメント210内でノードが、また、ハイライトされたことに対応している。同様に、XMLドキュメント210の一部分をハイライトすることは、結果的に、パラレルツリー220の同様にハイライトされている対応のノードを生じる。好例なパラレルツリーを、以下の図3の説明でさらに説明する。
【0026】
XML検証エンジン225によって検証される要素に関係してエラーが起こるとき、エラーデータ235は、XML検証エンジン225からワードプロセッサ120へ戻されるデータを含む。エラーデータ235は、また、ワードプロセッサ120によって、エラーの通知を表示するための情報も含んでも良い。1つの実施形態においては、エラーが検証に起因するとき、4つの別個のタイプのエラーが、ワードプロセッサ120によって報告される。4つのタイプのエラーは、位置のエラー、無効コンテンツのエラー、ミスの(missing)コンテンツのエラー、無効属性のエラーを含む。また、異なるタイプのエラーとして、記述された4つ以外のものを使用しても良い。あるタイプのエラーとしてそのエラーを示すことにより、エラーを修正するために実行しなければならない分析は容易になる。エラーデータ235は、また、エラーに関したさらなる情報、例えば、ユーザに表示可能な、どのようにエラーを修正可能とするかの提案を含むことができる。エラー情報の表示および関係を、図8に関してさらに説明する。
【0027】
シンクデータ240は、リアルタイムで、パラレルツリー220をXMLドキュメント210と同期させるためのデータを含む。1つの実施形態において、シンクデータ240は、識別子のテーブルを含み、その識別子は、XMLドキュメント210内の各要素に関連付けられている。識別子は、ユニークに、XMLドキュメント210内の各要素を識別し、それゆえに、また、ユニークに、パラレルツリー220内の各ノードを識別する。シンクデータ240は、XMLドキュメント210内に生じる変化をパラレルツリー220と同期させることを支援するが、それは、パラレルツリー220内のノードの追加または削除を含む。ノードをパラレルツリー220へ加えるためのステップを含む、好例なプロセスを、図6と共に説明する。
【0028】
図3は、本発明による、保持することができる、好例なXMLドキュメント210およびパラレルツリー220を示す。XMLドキュメント210は、ネイティブXMLの要素および非ネイティブXMLの要素の双方を含む。マークアップ言語内の要素は、通常、(“<”、および“>”によって示される)開始タグ、あるコンテンツ、および(“</”、および“>”によって示される)終了タグを含む。この例において、ネイティブXMLスキーマに関連したタグは、タグ内に“w:”を含み(例えば、要素302)、および非ネイティブXMLスキーマに関連したタグは、タグ内に“r:”を含む(例えば、要素304)。ネイティブXMLに関連したタグは、ワードプロセッサの名前空間(ワードプロセッサ名前空間)に関連付けられているものとして参照される。対照的に、非ネイティブXMLに関連付けられるタグは、異なる名前空間、この例では“Resume”名前空間、に関連付けられるものとして参照される。XMLドキュメント210の要素は、さらにコンテンツを含んでも良い。例えば、“Work”を、“Objective”要素内に含ませ、および“123Main”を、“Street”要素内に含ませる。“Street”要素を、“Address”要素内に含ませる。これらの要素は、前以って、ユーザまたは他のアプリケーションによって提供されている、resumeの名前空間に対応する非ネイティブXMLスキーマ(例えば、resumeスキーマ)に従って定義される。“w:”および“r:”の接頭辞は、それらそれぞれの名前空間に対するXMLの簡略概念(shorthand notion)として役立つ。
【0029】
パラレルツリー220は、XMLドキュメント210内の各非ネイティブXMLの要素のためのノード(例えば、ノード322、324、326)を含む。1つの実施形態において、パラレルツリー220は、ワードプロセッサ120とは別個に、検証エンジン225によって保持される(図2を参照)。XMLドキュメント210を変更するとき、パラレルツリー220はリアルタイムで更新される。ワードプロセッサ120が非ネイティブXMLスキーマ215でXMLドキュメント210を検証するので、パラレルツリー220により、ワードプロセッサ120はネイティブXMLの要素を効果的に無視することが可能になる。言い換えると、パラレルツリー220を、検証のために検証エンジンに提供するとき、非ネイティブXMLの要素は、非ネイティブXMLの要素に対して効果的にトランスペアレントである。ついで、以下で図7と結び付けてさらに説明するが、ネイティブXMLの要素とのいずれとも別個にパラレルツリー220を検証することができる。
【0030】
上述のように、パラレルツリー220は、各非ネイティブXMLの要素に関連したコンテンツを含む。他の実施形態においては、パラレルツリーを検証のために検証エンジン225へ引き渡すまで、コンテンツをパラレルツリーへコピーしない。さらに他の実施形態においては、パラレルツリー220へコピーされたコンテンツを、検証すべきパラレルツリー220の部分に関連したコンテンツに制限する。パラレルツリー220の検証については、図7と結び付けてさらに説明する。
【0031】
図4は、エラーを含む、好例なXMLドキュメント410およびパラレルツリー420のブロック図である。XMLドキュメント410およびパラレルツリー420は、図3に示されるXMLドキュメント210およびパラレルツリー220に類似している。しかしながら、(非ネイティブXMLスキーマ215に関する)エラーは、非ネイティブXMLマークアップへ加えられていない。そのエラーを、エラー要素432によって表しており、そのエラー要素432は、zipコードである。非ネイティブXMLスキーマ215によれば、“zip”要素を、adressの子、または“street”要素の兄弟であると仮定する。しかしながら、図示された例のように、“zip”要素を、“street”の子として配置したので、その“zip”要素は無効である。従って、パラレルツリー420(または“street”要素を含む、ある適切なサブツリー)を、非ネイティブXMLスキーマ215に対して検証するとき、エラーが戻される。この例においては、ワードプロセッサ120は、アンダーラインを引いたXMLドキュメント410内のエラーを識別するが、他の表示インジケータ(indicator)を使用して、エラーを表示しても良い。
【0032】
エラーの表示を、また、パラレルツリー420の中に含ませても良く、そのパラレルツリー420では、アイコン442が、“zip”ノード422が関連のエラーを有することを示している。他の実施形態において、他の表示インジケータをパラレルツリー420内で使用して、ノードに関連したエラーの存在を表示しても良い。上述の例によれば、XMLドキュメント410内のアンダーラインされた要素(例えば、エラー要素432)を右クリックすると、エラーディスプレイ430(例えば、右クリックメニュー)が作成される。エラーディスプレイ430は、エラータイプのようなエラーに関する詳細な情報をリストアップする。エラーディスプレイ430は、また、エラーの修正の試行時のユーザのための提案のアクションを含む。提案のアクションは、インタラクティブ(対話的)であってもよく、アクションにより、ユーザは、現存のエラーに対する、可能な解決策のリストから選ぶことができる。
【0033】
加えて、アイコン442上に停止することで、ツールチップ440のように、他の情報をユーザに表示することもできる。“ツールチップ”は、通常、ユーザに付加的な情報を提供する非インタラクティブな表示要素を指す。例えば、上述のツールチップは、“Zipは、Streetの内部にありえない”、というテキストの通知を提供する。1つの実施形態において、アイコン442またはエラー要素432のどちらかを、選択するかまたはそれらの上に停止して、エラーディスプレイ430またはツールチップ440を表示しても良い。XMLドキュメント410およびパラレルツリー420内のエラーのインジケータを表示することに関する好例なプロセスを、図8を使用して説明する。
【0034】
検知、検証、およびエラー報告
図5は、本発明による、XMLドキュメントの検証およびスキーマ検証の報告のための好例なプロセスのフローチャートである。プロセス500は、ブロック501で開始する。そこで、XMLドキュメントは編集され、および変更が生じる。“変更”は、XMLドキュメント内のXML要素を、挿入すること、修正すること、または削除すること、または非ネイティブXMLの要素のテキストのコンテンツを変更することを指す。変更に応答して、プロセスは、ブロック502へと続く。
【0035】
ブロック502では、XMLドキュメントに生じた変更が、XMLドキュメント内に組込まれる。新しい要素を追加するような、幾つかの変更については、対応するノードをパラレルツリーに加えるためのプロセスをさらに要求するようにしても良い。XMLドキュメント内の変更を組込み、処理するための好例なプロセスについては、図6でさらに説明する。プロセスは、ブロック503へと続く。
【0036】
ブロック503では、変更されたXMLドキュメントの部分を、“ダーティ(dirty)”としてマークする。“ダーティ”は、まだ検証される必要がないか、または、変更の故に、検証がもはや保証されない、XMLドキュメント部分を指す。識別子または他のインジケータを、変更が起こったXMLドキュメントの部分に関連付けても良い。1つの実施形態において、変更され、削除され、または加えたいずれかの要素の親を、ダーティとしてマークしても良い。プロセス500が、ダーティ部分を検証するために進行すると、検証エンジンは、親と親の子とを検証する。プロセスは、ブロック504へと続く。
【0037】
ブロック504では、変更されたXMLドキュメントの部分に対応するパラレルツリーのノードも、また、“ダーティ”としてマークされる。識別子および他のインジケータを、変更が生じた場所に対応するパラレルツリーのノードに関連付けても良い。1つの実施形態において、XMLドキュメントおよびパラレルツリーの各ノード内の各要素に関連付けられるユニークな識別子を、ダーティとしてマークし、それによって、XMLドキュメントおよびパラレルツリーのノードの双方を、同時にダーティとしてマークする。プロセスは、判断ブロック505へと続く。
【0038】
判断ブロック505では、XMLドキュメントを構成または編集するユーザが、アイドルまたはタイムアウトポイントに達したかどうかを決定する。アイドルとは、ユーザが、現在、ユーザ入力をワードプロセッサに提供していない時間を指す。タイムアウトは、アイドル状態が予め決められた時間量の間、生じなかった状態を指す。十分な時間が経過した場合、タイムアウト状態は起こる。アイドル状態またはタイムアウト状態が生じるまで、プロセスは、ブロック505でループする。アイドル状態になり、またはタイムアウト状態が生じると、プロセスは、506へと続く。
【0039】
ブロック506では、ダーティノードまたはパラレルツリーのノードを、検証エンジンによって検証する。パラレルツリーは、適切に検証エンジンのオブジェクトであるか、または検証エンジンにリンクされるので、ツリーを検証するために検証エンジンへ移す必要はない。パラレルツリーのダーティノードを検証するための好例なプロセスについては、図7でさらに説明する。プロセスは、判断ブロック507へと続く。
【0040】
判断ブロック507では、検証エンジンによって戻されたエラーデータに従って、エラーがXMLドキュメントの非ネイティブXMLの要素内に存在するか否か決定する。検証エンジンは、エラーデータをワードプロセッサへと戻し、そのワードプロセッサは、検証エンジンによって分析されたパラレルツリー内の各ノードの検証を表示する。1つの実施形態において、エラーデータは、ワードプロセッサに生じるエラーのタイプを含む。エラーが存在しない場合、プロセスは、ブロック509へ移動し、そこで、プロセスは終了する。エラーが存在する場合、プロセスは、ブロック508へと続く。
ブロック508では、XMLドキュメント内のおよびパラレルツリー内の表示インジケータに従って、ユーザは、非ネイティブXML検証の要素内のエラーの通知を受ける。生じたエラーをユーザに報告するための好例なプロセスについては、図8でさらに説明する。プロセスは、ブロック509へと続き、そこでプロセスは終了する。
【0041】
図6は、本発明による、XMLドキュメント内の変更の組込みおよび処理のための好例なフローチャートである。図5で示されるプロセス500がブロック502を開始すると、プロセス600は、ブロック601で開始する。プロセスは、ブロック602へと続く。
【0042】
ブロック602では、変更しているXMLドキュメントの部分の親を、決定する。例えば、図4において、XMLドキュメント410内の“street”要素は、“zip”要素432の親である。1つの実施形態においては、親を決定し、その結果、親および親の子孫を含む、パラレルノードのサブツリーを、ダーティとしてマークすることができる。親および親の子孫を検証することは、依然として、全体のXMLドキュメントが有効であることを保証する。なぜならば、変更が、一般的に、変更されたノードの直接の親以外の要素の検証に影響を与えるべきではないからである。親を決定することは、また、XMLドキュメントへのパラレルツリーの同期を支援する。そのとき、その親を、XMLドキュメント内の変更の位置のインジケータとして使用しても良い。1つの実施形態において、変更の要素の親に関連した識別子を、図2で示されたシンクデータ240内に格納しても良い。プロセスは、ブロック603へと続く。
【0043】
ブロック603では、変更されている要素の最も近い兄弟を、ワードプロセッサによって決定する。例えば、図3において、“objective”要素および“adress”要素を、兄弟と見なす。最も近い兄弟を決定することは、XMLドキュメントへのパラレルツリーの同期を支援する。最も近い兄弟は、XMLドキュメント内の変更の位置の第2インジケータを提供する。1つの実施形態においては、変更の要素の親に関連した識別子を、図2に示されたシンクデータ240内に格納する。他の実施形態では、最も近い兄弟がXMLドキュメント内で、変更の要素より上かまたは下かどうかを、また、決定する。プロセスは、判断ブロック604へと続く。
【0044】
判断ブロック604では、変更がパラレルツリー内で作成されるべき新しいノードを必要とするか否か決定する。新しい非ネイティブXMLの要素をXMLドキュメント内で生成するとき、新しいノードを必要とする。新しいノードをリアルタイムで作成して、XMLドキュメントおよびパラレルツリーの同期を保持する。新しいノードを必要としないとき、プロセスは、ブロック609へと移動し、そこで、プロセスはプロセス500のブロック503へと戻る。しかしながら、新しいノードを必要とするとき、プロセスは、ブロック605へと移動する。
【0045】
ブロック605では、XMLドキュメント内の新しいノードに対応する、識別子を作成する。その識別子により、ユニークに、XMLドキュメント内の要素を識別する。プロセスは、ブロック606へと続く。
【0046】
ブロック606では、親ではないノード(unparented node)を、パラレルツリー内に生成する。親ではないノードを、一般に、パラレルツリー内の親とは識別しない。プロセスは、ブロック607へと続く。
【0047】
ブロック607では、XMLドキュメント内に生成された要素に関した識別子を、親ではないノードに関連付ける。識別子を親ではないノードに関連付けると、ワードプロセッサは、XMLドキュメント内の新しい要素の位置とそのノードを関連付けることができる。1つの実施形態においては、親および最も近い兄弟を、XMLドキュメント内の新しい要素について決定しており、従って、パラレルツリー内の親および最も近い兄弟も、また、決定される。プロセスは、ブロック608へと続く。
【0048】
ブロック608では、XMLドキュメント内の新しい要素の親要素に対応するパラレルツリー内の親ノードに指示し、親ではないノードを採用する。新しいノードを、次に、XMLドキュメントとパラレルツリーとに同期させて、パラレルツリー内の正しい位置に表示する。プロセスは、ブロック609へと続き、そこで、プロセスは、プロセス500のブロック503へと戻る。
【0049】
図7は、本発明によれば、XMLドキュメントを検証するための好例なプロセスのフローチャートである。図5で示されたプロセス500がブロック506を開始するとき、プロセス700は、ブロック701で開始する。プロセスは、ブロック702へと続く。
【0050】
ブロック702では、検証されるべき非ネイティブXMLの要素に関連したコンテンツを、パラレルツリーへコピーする。1つの実施形態において、XMLドキュメントのそのコンテンツは、始めは、パラレルツリーに含まれていない。そのコンテンツをパラレルツリー内に含まれていたならば、パラレルツリーに要求されるストレージスペースは、ほとんど、XMLドキュメントに要求されるストレージスペースになるであろう。検証直前にそのコンテンツをパラレルツリーへコピーすることにより、パラレルツリーに要求されるストレージスペースは最小限となる。他の実施形態では、パラレルツリーにコピーされたコンテンツを、ダーティとしてマークされた非ネイティブXMLの要素に関連したコンテンツに制限する。プロセスは、ブロック703へと続く。
【0051】
ブロック703では、ダーティとしてマークされたノードおよびそれら関連したコンテンツを、検証エンジンによって非ネイティブXMLスキーマで検証する。非ネイティブXMLスキーマは、どのようなタグおよび属性を使用してXMLドキュメントの非ネイティブXMLの要素内のコンテンツを記述するか、どこで各タグを許可するか、どのようなコンテンツが許容可能か、およびどの要素が他の要素内に出現可能かを示している。検証の完了で、プロセスは、ブロック704へと続く。
【0052】
ブロック704では、検証のためにパラレルツリー内に含まれたコンテンツを、パラレルツリーから削除する。パラレルツリーからコンテンツを削除することにより、さらに、パラレルツリーに要求されるストレージスペースを最小限にする。プロセスは、ブロック705へと続き、そこで、プロセスは、図5に示されたプロセス500のブロック507へと戻る。
【0053】
図8は、本発明による、XMLドキュメントおよびパラレルツリー内のエラーを表示するための好例なプロセスのフローチャートである。プロセス800は、ブロック801で開始し、そのとき、図5で示されたプロセス500は、ブロック508を開始し、およびエラーがXMLドキュメントの非ネイティブXML内に存在することを決定する。プロセスは、ブロック802へと続く。
【0054】
ブロック802では、エラーを有すると検証エンジンによって示された要素に、XMLドキュメント内でアンダーラインを引く。他の表示インジケータ(例えば、ボールド、イタリック、曲線、等)を、エラーを有することを、XMLドキュメント内の要素に示すために使用しても良い。プロセスは、ブロック803へと続く。
【0055】
ブロック803では、XMLドキュメントのエラーの要素に対応するパラレルツリーのノードに、フラグを付ける。1つの実施形態において、アイコンをノードの近くに設置して、ノードに対応する要素がエラーを含むことを示す。1つの実施形態においては、アイコンは、エラーの要素に関連する際に生じたエラーのタイプに対して特有である。プロセスは、判断ブロック804へと続く。
【0056】
判断ブロック804では、ユーザがXMLドキュメント内でハイライトされたエラー上で右クリックしたか否かを決定する。右クリックがなされない場合、プロセスは、ブロック806へと続く。しかしながら、右クリックがなされた場合、プロセスは、ブロック805へと続く。
【0057】
ブロック805では、生じたエラーおよびエラーを修正するための指示についての詳細な情報を与える右クリックに応答して、エラー表示をユーザに提供する。他の実施形態においては、右クリックよりむしろ、他のユーザ入力を使用して、エラー表示しても良い。エラー表示を上述の図4の解説でさらに説明する。プロセスは、判断ブロック806へと続く。
【0058】
判断ブロック806では、ユーザがマウスポインタをパラレルツリー内のアイコン上に停止しているか否か決定する。ユーザがマウスポインタをエラー上で停止していないと決定された場合、プロセスは808へと続き、そこで、プロセスは、図5に示されたプロセス500のブロック509へと戻る。マウスポインタをアイコン上に停止させると、プロセスは、ブロック807へと続く。
【0059】
ブロック807では、マウスポインタをパラレルツリー内のアイコン上に停止することに応答して、ツールチップをユーザに表示する。1つの実施形態においては、ツールチップのテキストは、生じたエラーを記述する簡単な陳述を提供する。例えば、ある要素がコンテンツを含まなければならない場合、ツールチップのテキストは、“この要素は、空ではありえない”とすることができる。1つの実施形態において、マウスポインタでアイコン上に停止することよりむしろ、他のユーザ入力を使用してツールチップを表示しても良い。好例なアイコンおよびツールチップを図4に示す。プロセスは、ブロック808へと続き、そこで、プロセスは、図5に示されたプロセス500のブロック509へと戻る。
【0060】
上記の明細書、複数の例およびデータにより、本発明の製造の完全な説明および構成の利用を提供する。本発明の多くの実施形態を、その精神および本発明の範囲から逸脱することなく作成することができるので、本発明は、特許請求の範囲に帰属する。
【図面の簡単な説明】
【0061】
【図1】本発明の1つの好例な実施形態で使用する好例なコンピューティングデバイスを示す図である。
【図2】本発明を実施するための好例な環境を示すブロック図である。
【図3】本発明による、XMLドキュメントおよびパラレルツリーの好例なブロック図である。
【図4】本発明による、エラーを含むXMLドキュメントおよびパラレルツリーの好例なブロック図である。
【図5】本発明による、XMLドキュメントを検証およびエラーを報告するための好例なプロセスのフローチャートである。
【図6】本発明による、XMLドキュメント内に位置しおよび変更を処理するための好例なプロセスのフローチャートである。
【図7】本発明による、XMLドキュメントを検証するための好例なプロセスのフローチャートである。
【図8】本発明による、XMLドキュメントおよびパラレルツリー内のエラーを表示するための好例なプロセスのフローチャートである。
【符号の説明】
【0062】
100 コンピューティングデバイス
102 処理装置
104 システムメモリ
105 オペレーティングシステム
106 アプリケーション
107 プログラムデータ
109 着脱可能なストレージ
110 着脱不可なストレージ
112 入力デバイス
114 出力デバイス
116 通信コネクション
118 他のコンピューティングデバイス
120 ワードプロセッサ
122 XMLエディタ
210 XMLドキュメント
215 非ネイティブXMLスキーマ
220 パラレルツリー
225 XML検証エンジン
230 データ構造
235 エラーデータ
240 シンクデータ
Claims (23)
- 拡張可能なマークアップ言語(XML)ドキュメント
のための、検証およびスキーマ違反の報告のための方法であって、前記XMLドキュメントは、ネイティブXMLおよび非ネイティブXMLを含む方法において、
変更を前記XMLドキュメント内の非ネイティブXMLの要素へ組込むステップと、
前記XMLドキュメントの部分をマークして、前記変更が前記XMLドキュメントのその部分に関係して生じたことを示すステップと、
パラレルツリー内のノードをマークして、前記変更が生じたことを示すステップであって、前記ノードは、前記変更が生じたXMLドキュメントの部分に対応するステップと、
対応する非ネイティブXMLスキーマで前記パラレルツリーのノードを検証するステップと、
前記ノードの検証に応答して供給されたエラーデータから、前記非ネイティブXMLの要素内のエラーが、存在するか否か決定するステップと、
前記エラーが生じた場合、前記XMLドキュメントおよび前記パラレルツリー内でエラー通知を表示するステップと
を備えたことを特徴とする方法。 - 前記変更をXMLの要素へ組込むステップは、
前記変更が生じた各非ネイティブXMLの要素に関する親の要素を識別するステップと、
前記変更が生じた各非ネイティブXMLの要素に関する最も近い兄弟の要素を識別するステップと
をさらに備えたことを特徴とする請求項1記載の方法。 - 新しい非ネイティブXMLの要素を前記XMLドキュメント内で生成する場合、前記パラレルツリー内に新しいノードを生成するステップをさらに備えたことを特徴とする請求項1記載の方法。
- 前記新しいノードを生成するステップは、
新しい非ネイティブXMLの要素に対応する識別子を作成するステップであって、前記新しい非ネイティブXMLの要素の親の要素および兄弟の要素は、前記識別子から決定可能なステップと、
前記パラレルツリー内に親ではないノードを作成するステップと、
前記識別子と前記親ではないノードを関係付けるステップと、
前記親の要素に対応する親のノードを指示して、前記親ではないノードを採用するステップと
を備えたことを特徴とする請求項3記載の方法。 - 前記パラレルツリーのノードを検証するステップは、
コンテンツを前記パラレルツリーへとコピーするステップであって、前記コンテンツを、前記変更が生じたXMLドキュメントの部分に関連付けるステップと、
対応する非ネイティブXMLスキーマで、前記コンテンツを含む前記ノードを検証するステップと、
前記パラレルツリーから前記コンテンツを削除し、その結果、前記パラレルツリーに関するストレージスペースを最小化するステップと
を備えたことを特徴とする請求項1記載の方法。 - 前記対応する非ネイティブXMLスキーマで前記コンテンツを含む前記ノードを検証するステップは、前記非ネイティブXMLスキーマに従って、XML検証エンジンで前記パラレルツリーを調べることを含むことを特徴とする請求項5記載の方法。
- いつ、タイムアウトまたはアイドル状態が、前記パラレルツリーの検証より先に生じるかを決定するステップをさらに備えたことを特徴とする請求項1記載の方法。
- 前記エラー通知を表示するステップは、
第1表示インジケータに従って、前記エラーが生じたXMLドキュメントの部分を示すステップと、
第2表示インジケータに従って、前記エラーが生じたXMLドキュメントの部分に対応するパラレルツリーのノードを示すステップと
を備えたことを特徴とする請求項1記載の方法。 - 前記第1表示インジケータおよび前記第2表示インジケータのうちの少なくとも1つに対応するユーザ入力は、前記エラーについてインタラクティブな情報を提供するエラー表示を作成することを特徴とする請求項8記載の方法。
- 前記第1表示インジケータおよび前記第2表示インジケータのうちの少なくとも1つに対応するユーザ入力は、前記エラーについてテキストの情報を提供するツールチップを作成することを特徴とする請求項8記載の方法。
- コンピュータ実行可能なコンポーネントを有するコンピュータ可読媒体であって、
第1XMLスキーマに関連した第1タイプの要素および第2XMLスキーマに関連した第2タイプの要素を含む、拡張可能なマークアップ言語(XML)ドキュメントを生成するための第1コンポーネントであって、前記第1コンポーネントを構成し、前記第1タイプの要素のうちの少なくとも1つが、前記第1XMLスキーマに違反することを報知する表示を提供するように構成された第1コンポーネントと、
ノードを格納するための第2コンポーネントであって、各ノードは前記第1コンポーネント内の対応する要素に関連付けられており、前記第1コンポーネントおよび前記第2コンポーネントは同期する第2コンポーネントと、
前記要素を検証するための第3コンポーネントであって、前記検証の違反に応答してエラーデータを第1コンポーネントへ戻すように構成された第3コンポーネントと
を備えたことを特徴とするコンピュータ可読媒体。 - ユーザ入力が前記XMLドキュメントおよび前記第2コンポーネントのうちの少なくとも1つの中で表示されるインジケータとの対話するときに、生成するように構成されたエラーデータに対応する第4コンポーネントをさらに備えたことを特徴とする請求項11記載のコンピュータ可読媒体。
- 前記第4コンポーネントは、前記エラーデータに対応する、エラーについての情報を表示するように構成されており、前記情報はエラータイプ、前記エラーを修正するための指示、および前記エラーの陳述を含むことを特徴とする請求項12記載のコンピュータ可読媒体。
- データ構造を符号化したコンピュータ可読媒体であって、
拡張可能なマークアップ言語(XML)の要素を備える第1データ構造と、
前記第1データ構造の要素に対応する要素のツリーを備える第2データ構造と、
前記第1データ構造内の要素に近接のおよび前記第2データ構造内の対応するノードに近接の表示インジケータであって、検証エラーを示す表示インジケータと
を備えたことを特徴とするコンピュータ可読媒体。 - 前記表示インジケータは、ユーザ入力と対話して、さらに、前記検証エラーに関する対話情報を提供するエラー表示を開始するように構成されていることを特徴とする請求項14記載のコンピュータ可読媒体。
- 前記表示インジケータは、ユーザ入力と対話して、さらに、前記検証エラーに関するテキストの情報を提供するツールチップを開始するように構成されていることを特徴とする請求項14記載のコンピュータ可読媒体。
- 拡張可能なマークアップ言語(XML)ドキュメントに対するスキーマ違反の検証および報告のためのコンピュータ実行可能な命令を有するコンピュータ可読媒体であって、前記XMLドキュメントは、ネイティブXMLおよび非ネイティブXMLを含むコンピュータ可読媒体において、
変更を前記XMLドキュメント内の非ネイティブXMLの要素へ組込む命令と、
前記変更が、前記XMLドキュメント内の新しい非ネイティブXMLの要素の作成に対応する場合、新しいノードをパラレルツリー内に作成する命令と、
前記変更による影響を受けるとき、前記XMLドキュメントの部分をマークする命令と、
前記パラレルツリー内のノードをマークし、前記変更が生じていることを示す命令であって、前記ノードは、前記変更によって影響を受けたXMLドキュメントの部分に対応する命令と、
対応するスキーマで前記パラレルツリーのマークされたノードを検証する命令と、
前記ノードの検証に応答して供給されたエラーデータから、前記非ネイティブXMLの要素内のエラーが、存在するか否か決定する命令と、
存在する場合、前記XMLドキュメントおよび前記パラレルツリー内で前記エラーの通知を表示する命令と
を備えたことを特徴とするコンピュータ可読媒体。 - 前記変更を前記非ネイティブXMLの要素へ組込む命令は、
前記変更が生じている各非ネイティブXMLの要素に関する親の要素を識別するステップと、
前記変更が起こっている各非ネイティブXMLの要素に関して最も近接な兄弟を識別するステップと
をさらに備えたことを特徴とする請求項17記載の方法。 - 新しいノードを作成する命令は、
新しい非ネイティブXMLの要素に対応する識別子を作成するステップであって、前記非ネイティブXMLの要素の親の要素および兄弟の要素は、前記識別子から決定可能なステップと、
前記パラレルツリー内に親ではないノードを作成するステップと、
前記識別子と前記親ではないノードとを関連付けるステップと、
前記親の要素に対応する親のノードを指示し、前記親ではないノードを採用するステップと
をさらに備えたことを特徴とする請求項17記載の方法。 - 前記パラレルツリーのノードを検証する命令は、
コンテンツを前記パラレルツリーへコピーするステップであって、前記コンテンツは、前記XMLドキュメントの部分に対応するステップと、
対応する非ネイティブXMLスキーマで前記コンテンツを含む前記ノードを検証するステップと、
前記パラレルツリーから前記コンテンツを削除し、その結果、前記パラレルツリーに関するストレージスペースを最小化するステップと
をさらに備えたことを特徴とする請求項17記載の方法。 - 前記エラー通知を表示する命令は、
第1表示インジケータに従って、前記エラーが生じているXMLドキュメントの部分を示すステップと、
第2表示インジケータに従って、前記エラーが生じているXMLドキュメントの部分に対応するパラレルツリーのノードを示すステップと
をさらに備えたことを特徴とする請求項17記載の方法。 - 前記第1表示インジケータおよび前記第2表示インジケータのうち少なくとも1つに対応するユーザ入力は、前記エラーに関するインタラクティブな情報を提供するエラー表示を作成することを特徴とする請求項21記載の方法。
- 前記第1表示インジケータおよび前記第2表示インジケータのうちの少なくとも1つに対応するユーザ入力は、前記エラーに関するテキストの情報を提供するツールチップを作成することを特徴とする請求項21記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/184,565 US7373595B2 (en) | 2002-06-27 | 2002-06-27 | System and method for validating an XML document and reporting schema violations |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004046849A true JP2004046849A (ja) | 2004-02-12 |
Family
ID=27733956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003178496A Pending JP2004046849A (ja) | 2002-06-27 | 2003-06-23 | Xmlドキュメントの検証およびスキーマ違反の報告のためのシステムおよび方法 |
Country Status (15)
Country | Link |
---|---|
US (1) | US7373595B2 (ja) |
EP (1) | EP1376389A3 (ja) |
JP (1) | JP2004046849A (ja) |
KR (1) | KR100833538B1 (ja) |
CN (1) | CN1329823C (ja) |
AU (1) | AU2003204868A1 (ja) |
BR (1) | BR0302084A (ja) |
CA (1) | CA2433243A1 (ja) |
MX (1) | MXPA03005875A (ja) |
MY (1) | MY137429A (ja) |
NO (1) | NO20032945L (ja) |
PL (1) | PL360865A1 (ja) |
RU (1) | RU2328032C2 (ja) |
TW (1) | TW200413960A (ja) |
ZA (1) | ZA200304859B (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323816A (ja) * | 2004-12-30 | 2006-11-30 | Microsoft Corp | 強く型付けされた環境において未知のマークアップを保存する方法およびシステム |
WO2007114182A1 (ja) * | 2006-03-31 | 2007-10-11 | Justsystems Corporation | データ入力装置、方法、及びプログラム |
JP2009122881A (ja) * | 2007-11-14 | 2009-06-04 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ診断装置,コンテンツ診断プログラム |
US7571429B2 (en) | 2005-01-18 | 2009-08-04 | Sharp Laboratories Of America, Inc. | System and method for error reporting |
JP2017102597A (ja) * | 2015-11-30 | 2017-06-08 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、画像形成装置 |
Families Citing this family (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6245161B1 (en) * | 1997-05-12 | 2001-06-12 | Silicon Genesis Corporation | Economical silicon-on-silicon hybrid wafer assembly |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
KR100511785B1 (ko) * | 2002-12-20 | 2005-08-31 | 한국전자통신연구원 | 멀티미디어 컨텐츠 기술 메타데이터 저작 시스템 및 저작방법 |
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 |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US6908058B2 (en) * | 2003-03-28 | 2005-06-21 | Suncast Corporation | Hose reel cart with elevated crank handle |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7296017B2 (en) * | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7251777B1 (en) | 2003-04-16 | 2007-07-31 | Hypervision, Ltd. | Method and system for automated structuring of textual documents |
US7409673B2 (en) * | 2003-06-24 | 2008-08-05 | Academia Sinica | XML document editor |
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 |
US7657832B1 (en) * | 2003-09-18 | 2010-02-02 | Adobe Systems Incorporated | Correcting validation errors in structured documents |
GB2407423A (en) * | 2003-10-23 | 2005-04-27 | Matsushita Electric Ind Co Ltd | Schema driven authoring tool |
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 |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US20060004729A1 (en) * | 2004-06-30 | 2006-01-05 | Reactivity, Inc. | Accelerated schema-based validation |
KR100636177B1 (ko) * | 2004-09-20 | 2006-10-19 | 삼성전자주식회사 | 정책 기반 확장성 생성 언어 문서 출력 관리 방법 및 시스템 |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7512840B2 (en) * | 2004-10-01 | 2009-03-31 | Diebold, Incorporated | System and method for providing graphical representation and development of a processing application |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US7836392B2 (en) * | 2004-11-10 | 2010-11-16 | Sap Aktiengesellschaft | Layout information for data component |
US7711676B2 (en) * | 2004-11-12 | 2010-05-04 | Sap Aktiengesellschaft | Tracking usage of data elements in electronic business communications |
US7818342B2 (en) * | 2004-11-12 | 2010-10-19 | Sap Ag | Tracking usage of data elements in electronic business communications |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) * | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7865519B2 (en) * | 2004-11-17 | 2011-01-04 | Sap Aktiengesellschaft | Using a controlled vocabulary library to generate business data component names |
US7797673B2 (en) | 2004-12-16 | 2010-09-14 | The Mathworks, Inc. | Applying coding standards in graphical programming environments |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US8996991B2 (en) | 2005-02-11 | 2015-03-31 | Fujitsu Limited | System and method for displaying an acceptance status |
US7500184B2 (en) | 2005-02-11 | 2009-03-03 | Fujitsu Limited | Determining an acceptance status during document parsing |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US7673228B2 (en) | 2005-03-30 | 2010-03-02 | Microsoft Corporation | Data-driven actions for network forms |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US20070011665A1 (en) * | 2005-06-21 | 2007-01-11 | Microsoft Corporation | Content syndication platform |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US7617448B2 (en) * | 2005-09-06 | 2009-11-10 | Cisco Technology, Inc. | Method and system for validation of structured documents |
US20070061467A1 (en) * | 2005-09-15 | 2007-03-15 | Microsoft Corporation | Sessions and session states |
US7774321B2 (en) * | 2005-11-07 | 2010-08-10 | Microsoft Corporation | Partial XML validation |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US8037408B2 (en) * | 2005-12-22 | 2011-10-11 | Sap Ag | Systems and methods of validating templates |
US7533111B2 (en) * | 2005-12-30 | 2009-05-12 | Microsoft Corporation | Using soap messages for inverse query expressions |
US9495356B2 (en) * | 2006-03-30 | 2016-11-15 | International Business Machines Corporation | Automated interactive visual mapping utility and method for validation and storage of XML data |
US7992081B2 (en) * | 2006-04-19 | 2011-08-02 | Oracle International Corporation | Streaming validation of XML documents |
US7821667B2 (en) * | 2006-08-10 | 2010-10-26 | Microsoft Corporation | Validation of print configuration documents |
US9535912B2 (en) * | 2006-09-15 | 2017-01-03 | Oracle International Corporation | Techniques for checking whether a complex digital object conforms to a standard |
US8060620B2 (en) * | 2006-10-05 | 2011-11-15 | Microsoft Corporation | Profile deployment using a generic format |
US20080092037A1 (en) * | 2006-10-16 | 2008-04-17 | Oracle International Corporation | Validation of XML content in a streaming fashion |
US20080114797A1 (en) * | 2006-11-14 | 2008-05-15 | Microsoft Corporation | Importing non-native content into a document |
US7921370B1 (en) * | 2006-11-29 | 2011-04-05 | Adobe Systems Incorporated | Object-level text-condition indicators |
EP1933242A1 (en) * | 2006-12-11 | 2008-06-18 | Sitecore A/S | A method for ensuring internet content compliance |
US7716164B2 (en) * | 2006-12-29 | 2010-05-11 | Sap Ag | Layout information for data element |
US8341514B2 (en) * | 2007-01-31 | 2012-12-25 | Microsoft Corporation | Using static data in a markup language |
US7865823B2 (en) * | 2007-06-28 | 2011-01-04 | Intel Corporation | Method and apparatus for schema validation |
US8108768B2 (en) * | 2007-07-20 | 2012-01-31 | International Business Machines Corporation | Improving efficiency of content rule checking in a content management system |
CN101359497A (zh) * | 2007-07-30 | 2009-02-04 | 科立尔数位科技股份有限公司 | 时间标记的检测及表示方法与记录其数据结构的记录媒体 |
US8880564B2 (en) * | 2007-10-11 | 2014-11-04 | Microsoft Corporation | Generic model editing framework |
US8719693B2 (en) * | 2008-02-22 | 2014-05-06 | International Business Machines Corporation | Method for storing localized XML document values |
US8020051B2 (en) * | 2008-10-20 | 2011-09-13 | Sap Ag | Message handling in a service-oriented architecture |
TWI385537B (zh) * | 2009-05-04 | 2013-02-11 | Univ Nat Taiwan | 標示語言文件存取的輔助方法及裝置 |
US8200702B2 (en) * | 2009-09-30 | 2012-06-12 | International Business Machines Corporation | Independently variably scoped content rule application in a content management system |
US20110314043A1 (en) * | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Full-fidelity representation of xml-represented objects |
CA2711855A1 (en) | 2010-08-25 | 2010-11-03 | Ibm Canada Limited - Ibm Canada Limitee | Secure third party scripting environment |
US8281236B2 (en) * | 2010-09-08 | 2012-10-02 | Microsoft Corporation | Removing style corruption from extensible markup language documents |
US10140320B2 (en) | 2011-02-28 | 2018-11-27 | Sdl Inc. | Systems, methods, and media for generating analytical data |
US20120221319A1 (en) * | 2011-02-28 | 2012-08-30 | Andrew Trese | Systems, Methods and Media for Translating Informational Content |
US9984054B2 (en) | 2011-08-24 | 2018-05-29 | Sdl Inc. | Web interface including the review and manipulation of a web document and utilizing permission based control |
US9224010B2 (en) | 2011-09-01 | 2015-12-29 | International Business Machines Corporation | Secure document creation from potentially unsecure source templates |
US8739026B2 (en) | 2011-09-06 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Markup language schema error correction |
US20130091423A1 (en) * | 2011-10-11 | 2013-04-11 | Siemens Aktiengesellschaft | Method and Apparatus for Checking a Structure Conformity for a Piece Of Development Documentation with at Least One Development Document |
US9916306B2 (en) | 2012-10-19 | 2018-03-13 | Sdl Inc. | Statistical linguistic analysis of source content |
CN103914467B (zh) * | 2012-12-31 | 2017-07-14 | 鼎捷软件股份有限公司 | 数据变化标记装置 |
US9524307B2 (en) * | 2013-03-14 | 2016-12-20 | Microsoft Technology Licensing, Llc | Asynchronous error checking in structured documents |
US9501456B2 (en) * | 2013-03-15 | 2016-11-22 | Altova Gmbh | Automatic fix for extensible markup language errors |
US10592068B1 (en) | 2014-03-27 | 2020-03-17 | Amazon Technologies, Inc. | Graphic composer for service integration |
US10747390B1 (en) * | 2014-03-27 | 2020-08-18 | Amazon Technologies, Inc. | Graphical composer for policy management |
US10552513B1 (en) * | 2015-01-08 | 2020-02-04 | Vmware, Inc. | Computer system entity rendering system |
CN105354020A (zh) * | 2015-09-30 | 2016-02-24 | 武汉钢铁(集团)公司 | 一种Json格式数据解析方法及数据接收端 |
US10031766B2 (en) | 2016-03-08 | 2018-07-24 | Mastercard International Incorporated | Systems and methods for processing extensible markup language data during runtime |
KR101903039B1 (ko) * | 2016-11-21 | 2018-10-01 | (주)솔트웍스 | 문서 통합 관리 시스템을 위한 동기화 장치 |
CN108959095B (zh) * | 2018-07-12 | 2021-11-23 | 中国工程物理研究院计算机应用研究所 | 基于XML Schema验证XML文档的方法 |
WO2024092553A1 (en) * | 2022-11-02 | 2024-05-10 | Huawei Cloud Computing Technologies Co., Ltd. | Methods and systems for model generation and instantiation of optimization models from markup documents |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778402A (en) | 1995-06-07 | 1998-07-07 | Microsoft Corporation | Method and system for auto-formatting a document using an event-based rule engine to format a document as the user types |
US5829004A (en) * | 1996-05-20 | 1998-10-27 | Au; Lawrence | Device for storage and retrieval of compact contiguous tree index records |
US6558431B1 (en) * | 1998-09-11 | 2003-05-06 | Macromedia, Inc. | Storing valid and invalid markup language in strict and relaxed tables respectively |
US6964010B1 (en) * | 1998-12-14 | 2005-11-08 | International Business Machines Corporation | Formatted-item list control |
US7111233B1 (en) * | 2000-03-09 | 2006-09-19 | Electronic Data Systems Corporation | Method and system for applying XML schema |
US6675355B1 (en) * | 2000-03-16 | 2004-01-06 | Autodesk, Inc. | Redline extensible markup language (XML) schema |
GB0018042D0 (en) * | 2000-07-21 | 2000-09-13 | Monsell Edm Ltd | Method of and software for recordal and validation of changes to markup language files |
US20010029604A1 (en) * | 2001-04-27 | 2001-10-11 | Jacob Dreyband | Descriptive data construct mapping method and apparatus |
WO2003019411A2 (en) * | 2001-08-23 | 2003-03-06 | Xmlcities, Inc. | Method and apparatus for extensible stylesheet designs |
US7281206B2 (en) * | 2001-11-16 | 2007-10-09 | Timebase Pty Limited | Maintenance of a markup language document in a database |
US7024626B2 (en) * | 2001-11-30 | 2006-04-04 | Apple Computer, Inc. | System and method of producing user interface information messages |
US6540142B1 (en) * | 2001-12-17 | 2003-04-01 | Zih Corp. | Native XML printer |
US7962925B2 (en) * | 2002-02-22 | 2011-06-14 | Oracle International Corporation | System and method for XML data binding |
US7890865B2 (en) * | 2002-05-09 | 2011-02-15 | Microsoft Corporation | Methods and apparatuses for providing message information in graphical user interfaces based on user inputs |
US7251697B2 (en) * | 2002-06-20 | 2007-07-31 | Koninklijke Philips Electronics N.V. | Method and apparatus for structured streaming of an XML document |
-
2002
- 2002-06-27 US US10/184,565 patent/US7373595B2/en not_active Expired - Fee Related
-
2003
- 2003-06-17 MY MYPI20032265A patent/MY137429A/en unknown
- 2003-06-20 AU AU2003204868A patent/AU2003204868A1/en not_active Abandoned
- 2003-06-23 JP JP2003178496A patent/JP2004046849A/ja active Pending
- 2003-06-23 ZA ZA200304859A patent/ZA200304859B/xx unknown
- 2003-06-24 TW TW092117176A patent/TW200413960A/zh unknown
- 2003-06-25 PL PL03360865A patent/PL360865A1/xx unknown
- 2003-06-25 CN CNB031452205A patent/CN1329823C/zh not_active Expired - Fee Related
- 2003-06-25 CA CA002433243A patent/CA2433243A1/en not_active Abandoned
- 2003-06-26 RU RU2003119091/09A patent/RU2328032C2/ru not_active IP Right Cessation
- 2003-06-26 KR KR1020030041891A patent/KR100833538B1/ko not_active IP Right Cessation
- 2003-06-26 NO NO20032945A patent/NO20032945L/no not_active Application Discontinuation
- 2003-06-26 BR BR0302084-3A patent/BR0302084A/pt not_active IP Right Cessation
- 2003-06-26 EP EP03014396A patent/EP1376389A3/en not_active Withdrawn
- 2003-06-26 MX MXPA03005875A patent/MXPA03005875A/es not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323816A (ja) * | 2004-12-30 | 2006-11-30 | Microsoft Corp | 強く型付けされた環境において未知のマークアップを保存する方法およびシステム |
US7571429B2 (en) | 2005-01-18 | 2009-08-04 | Sharp Laboratories Of America, Inc. | System and method for error reporting |
WO2007114182A1 (ja) * | 2006-03-31 | 2007-10-11 | Justsystems Corporation | データ入力装置、方法、及びプログラム |
JPWO2007114182A1 (ja) * | 2006-03-31 | 2009-08-13 | 株式会社ジャストシステム | データ入力装置、方法、及びプログラム |
JP2009122881A (ja) * | 2007-11-14 | 2009-06-04 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ診断装置,コンテンツ診断プログラム |
JP2017102597A (ja) * | 2015-11-30 | 2017-06-08 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、画像形成装置 |
Also Published As
Publication number | Publication date |
---|---|
TW200413960A (en) | 2004-08-01 |
US20040006744A1 (en) | 2004-01-08 |
PL360865A1 (en) | 2003-12-29 |
KR20040002736A (ko) | 2004-01-07 |
EP1376389A2 (en) | 2004-01-02 |
RU2328032C2 (ru) | 2008-06-27 |
CA2433243A1 (en) | 2003-12-27 |
EP1376389A3 (en) | 2007-07-11 |
RU2003119091A (ru) | 2005-02-10 |
CN1472645A (zh) | 2004-02-04 |
ZA200304859B (en) | 2004-05-04 |
MXPA03005875A (es) | 2005-02-14 |
AU2003204868A1 (en) | 2004-01-22 |
BR0302084A (pt) | 2004-09-08 |
US7373595B2 (en) | 2008-05-13 |
NO20032945L (no) | 2003-12-29 |
KR100833538B1 (ko) | 2008-05-29 |
MY137429A (en) | 2009-01-30 |
CN1329823C (zh) | 2007-08-01 |
NO20032945D0 (no) | 2003-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004046849A (ja) | Xmlドキュメントの検証およびスキーマ違反の報告のためのシステムおよび方法 | |
US7197510B2 (en) | Method, system and program for generating structure pattern candidates | |
US7275209B1 (en) | Mixed content flexibility for XML editors | |
US7617234B2 (en) | XML schema for binding data | |
JP5072845B2 (ja) | 文書用のxmlデータストアのためのプログラム可能性 | |
EP1679616A2 (en) | Data binding in a word-processing application | |
US20080262833A1 (en) | Document Processing Device and Document Processing Method | |
JP2004046848A (ja) | ワードプロセッサドキュメントのネイティブxml内の非ネイティブxmlを支援するためのシステムおよび方法 | |
US20070258100A1 (en) | Document Processing Device and Document Processing Method | |
US20080010588A1 (en) | Document Processing Device and Document Processing Method | |
Faulkner et al. | HTML 5.2 | |
US20070198915A1 (en) | Document Processing Device And Document Processing Method | |
US20070208995A1 (en) | Document Processing Device and Document Processing Method | |
US20080208790A1 (en) | Document Processing Device, and Document Processing Method | |
US20080250311A1 (en) | Document Processing Device, and Document Processing Method | |
JP4566196B2 (ja) | 文書処理方法および装置 | |
US20080141112A1 (en) | Document Processing Device and Document Processing Method | |
US20080256437A1 (en) | Document Processing Apparatus and Document Processing Method | |
US20090287994A1 (en) | Document processing device and document processing method | |
US20080262832A1 (en) | Document Processing Device, and Document Processing Method | |
US20070273936A1 (en) | Document Processing Device, And Document Processing Method | |
JP4417384B2 (ja) | 文書処理装置および文書処理方法 | |
US20090222447A1 (en) | Data processing apparatus and data processing method | |
US20080065979A1 (en) | Document Processing Device, and Document Processing Method | |
JP2008257277A (ja) | 文書処理装置、方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060620 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081031 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090303 |