JP2004046849A - Xmlドキュメントの検証およびスキーマ違反の報告のためのシステムおよび方法 - Google Patents

Xmlドキュメントの検証およびスキーマ違反の報告のためのシステムおよび方法 Download PDF

Info

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
Application number
JP2003178496A
Other languages
English (en)
Inventor
Brian M Jones
ブライアン マイケル ジョーンズ
Marcin Sawicki
マーシン サウィッキ
Robert A Little
ロバート エー.リトル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27733956&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2004046849(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004046849A publication Critical patent/JP2004046849A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing 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マークアップ内のエラーに対応する要素およびノードを、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)

  1. 拡張可能なマークアップ言語(XML)ドキュメント
    のための、検証およびスキーマ違反の報告のための方法であって、前記XMLドキュメントは、ネイティブXMLおよび非ネイティブXMLを含む方法において、
    変更を前記XMLドキュメント内の非ネイティブXMLの要素へ組込むステップと、
    前記XMLドキュメントの部分をマークして、前記変更が前記XMLドキュメントのその部分に関係して生じたことを示すステップと、
    パラレルツリー内のノードをマークして、前記変更が生じたことを示すステップであって、前記ノードは、前記変更が生じたXMLドキュメントの部分に対応するステップと、
    対応する非ネイティブXMLスキーマで前記パラレルツリーのノードを検証するステップと、
    前記ノードの検証に応答して供給されたエラーデータから、前記非ネイティブXMLの要素内のエラーが、存在するか否か決定するステップと、
    前記エラーが生じた場合、前記XMLドキュメントおよび前記パラレルツリー内でエラー通知を表示するステップと
    を備えたことを特徴とする方法。
  2. 前記変更をXMLの要素へ組込むステップは、
    前記変更が生じた各非ネイティブXMLの要素に関する親の要素を識別するステップと、
    前記変更が生じた各非ネイティブXMLの要素に関する最も近い兄弟の要素を識別するステップと
    をさらに備えたことを特徴とする請求項1記載の方法。
  3. 新しい非ネイティブXMLの要素を前記XMLドキュメント内で生成する場合、前記パラレルツリー内に新しいノードを生成するステップをさらに備えたことを特徴とする請求項1記載の方法。
  4. 前記新しいノードを生成するステップは、
    新しい非ネイティブXMLの要素に対応する識別子を作成するステップであって、前記新しい非ネイティブXMLの要素の親の要素および兄弟の要素は、前記識別子から決定可能なステップと、
    前記パラレルツリー内に親ではないノードを作成するステップと、
    前記識別子と前記親ではないノードを関係付けるステップと、
    前記親の要素に対応する親のノードを指示して、前記親ではないノードを採用するステップと
    を備えたことを特徴とする請求項3記載の方法。
  5. 前記パラレルツリーのノードを検証するステップは、
    コンテンツを前記パラレルツリーへとコピーするステップであって、前記コンテンツを、前記変更が生じたXMLドキュメントの部分に関連付けるステップと、
    対応する非ネイティブXMLスキーマで、前記コンテンツを含む前記ノードを検証するステップと、
    前記パラレルツリーから前記コンテンツを削除し、その結果、前記パラレルツリーに関するストレージスペースを最小化するステップと
    を備えたことを特徴とする請求項1記載の方法。
  6. 前記対応する非ネイティブXMLスキーマで前記コンテンツを含む前記ノードを検証するステップは、前記非ネイティブXMLスキーマに従って、XML検証エンジンで前記パラレルツリーを調べることを含むことを特徴とする請求項5記載の方法。
  7. いつ、タイムアウトまたはアイドル状態が、前記パラレルツリーの検証より先に生じるかを決定するステップをさらに備えたことを特徴とする請求項1記載の方法。
  8. 前記エラー通知を表示するステップは、
    第1表示インジケータに従って、前記エラーが生じたXMLドキュメントの部分を示すステップと、
    第2表示インジケータに従って、前記エラーが生じたXMLドキュメントの部分に対応するパラレルツリーのノードを示すステップと
    を備えたことを特徴とする請求項1記載の方法。
  9. 前記第1表示インジケータおよび前記第2表示インジケータのうちの少なくとも1つに対応するユーザ入力は、前記エラーについてインタラクティブな情報を提供するエラー表示を作成することを特徴とする請求項8記載の方法。
  10. 前記第1表示インジケータおよび前記第2表示インジケータのうちの少なくとも1つに対応するユーザ入力は、前記エラーについてテキストの情報を提供するツールチップを作成することを特徴とする請求項8記載の方法。
  11. コンピュータ実行可能なコンポーネントを有するコンピュータ可読媒体であって、
    第1XMLスキーマに関連した第1タイプの要素および第2XMLスキーマに関連した第2タイプの要素を含む、拡張可能なマークアップ言語(XML)ドキュメントを生成するための第1コンポーネントであって、前記第1コンポーネントを構成し、前記第1タイプの要素のうちの少なくとも1つが、前記第1XMLスキーマに違反することを報知する表示を提供するように構成された第1コンポーネントと、
    ノードを格納するための第2コンポーネントであって、各ノードは前記第1コンポーネント内の対応する要素に関連付けられており、前記第1コンポーネントおよび前記第2コンポーネントは同期する第2コンポーネントと、
    前記要素を検証するための第3コンポーネントであって、前記検証の違反に応答してエラーデータを第1コンポーネントへ戻すように構成された第3コンポーネントと
    を備えたことを特徴とするコンピュータ可読媒体。
  12. ユーザ入力が前記XMLドキュメントおよび前記第2コンポーネントのうちの少なくとも1つの中で表示されるインジケータとの対話するときに、生成するように構成されたエラーデータに対応する第4コンポーネントをさらに備えたことを特徴とする請求項11記載のコンピュータ可読媒体。
  13. 前記第4コンポーネントは、前記エラーデータに対応する、エラーについての情報を表示するように構成されており、前記情報はエラータイプ、前記エラーを修正するための指示、および前記エラーの陳述を含むことを特徴とする請求項12記載のコンピュータ可読媒体。
  14. データ構造を符号化したコンピュータ可読媒体であって、
    拡張可能なマークアップ言語(XML)の要素を備える第1データ構造と、
    前記第1データ構造の要素に対応する要素のツリーを備える第2データ構造と、
    前記第1データ構造内の要素に近接のおよび前記第2データ構造内の対応するノードに近接の表示インジケータであって、検証エラーを示す表示インジケータと
    を備えたことを特徴とするコンピュータ可読媒体。
  15. 前記表示インジケータは、ユーザ入力と対話して、さらに、前記検証エラーに関する対話情報を提供するエラー表示を開始するように構成されていることを特徴とする請求項14記載のコンピュータ可読媒体。
  16. 前記表示インジケータは、ユーザ入力と対話して、さらに、前記検証エラーに関するテキストの情報を提供するツールチップを開始するように構成されていることを特徴とする請求項14記載のコンピュータ可読媒体。
  17. 拡張可能なマークアップ言語(XML)ドキュメントに対するスキーマ違反の検証および報告のためのコンピュータ実行可能な命令を有するコンピュータ可読媒体であって、前記XMLドキュメントは、ネイティブXMLおよび非ネイティブXMLを含むコンピュータ可読媒体において、
    変更を前記XMLドキュメント内の非ネイティブXMLの要素へ組込む命令と、
    前記変更が、前記XMLドキュメント内の新しい非ネイティブXMLの要素の作成に対応する場合、新しいノードをパラレルツリー内に作成する命令と、
    前記変更による影響を受けるとき、前記XMLドキュメントの部分をマークする命令と、
    前記パラレルツリー内のノードをマークし、前記変更が生じていることを示す命令であって、前記ノードは、前記変更によって影響を受けたXMLドキュメントの部分に対応する命令と、
    対応するスキーマで前記パラレルツリーのマークされたノードを検証する命令と、
    前記ノードの検証に応答して供給されたエラーデータから、前記非ネイティブXMLの要素内のエラーが、存在するか否か決定する命令と、
    存在する場合、前記XMLドキュメントおよび前記パラレルツリー内で前記エラーの通知を表示する命令と
    を備えたことを特徴とするコンピュータ可読媒体。
  18. 前記変更を前記非ネイティブXMLの要素へ組込む命令は、
    前記変更が生じている各非ネイティブXMLの要素に関する親の要素を識別するステップと、
    前記変更が起こっている各非ネイティブXMLの要素に関して最も近接な兄弟を識別するステップと
    をさらに備えたことを特徴とする請求項17記載の方法。
  19. 新しいノードを作成する命令は、
    新しい非ネイティブXMLの要素に対応する識別子を作成するステップであって、前記非ネイティブXMLの要素の親の要素および兄弟の要素は、前記識別子から決定可能なステップと、
    前記パラレルツリー内に親ではないノードを作成するステップと、
    前記識別子と前記親ではないノードとを関連付けるステップと、
    前記親の要素に対応する親のノードを指示し、前記親ではないノードを採用するステップと
    をさらに備えたことを特徴とする請求項17記載の方法。
  20. 前記パラレルツリーのノードを検証する命令は、
    コンテンツを前記パラレルツリーへコピーするステップであって、前記コンテンツは、前記XMLドキュメントの部分に対応するステップと、
    対応する非ネイティブXMLスキーマで前記コンテンツを含む前記ノードを検証するステップと、
    前記パラレルツリーから前記コンテンツを削除し、その結果、前記パラレルツリーに関するストレージスペースを最小化するステップと
    をさらに備えたことを特徴とする請求項17記載の方法。
  21. 前記エラー通知を表示する命令は、
    第1表示インジケータに従って、前記エラーが生じているXMLドキュメントの部分を示すステップと、
    第2表示インジケータに従って、前記エラーが生じているXMLドキュメントの部分に対応するパラレルツリーのノードを示すステップと
    をさらに備えたことを特徴とする請求項17記載の方法。
  22. 前記第1表示インジケータおよび前記第2表示インジケータのうち少なくとも1つに対応するユーザ入力は、前記エラーに関するインタラクティブな情報を提供するエラー表示を作成することを特徴とする請求項21記載の方法。
  23. 前記第1表示インジケータおよび前記第2表示インジケータのうちの少なくとも1つに対応するユーザ入力は、前記エラーに関するテキストの情報を提供するツールチップを作成することを特徴とする請求項21記載の方法。
JP2003178496A 2002-06-27 2003-06-23 Xmlドキュメントの検証およびスキーマ違反の報告のためのシステムおよび方法 Pending JP2004046849A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
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