JP2004030671A - Xml文書のフリースタイル編集用ワードプロセッサ機能を有する記録媒体及びその実行方法 - Google Patents

Xml文書のフリースタイル編集用ワードプロセッサ機能を有する記録媒体及びその実行方法 Download PDF

Info

Publication number
JP2004030671A
JP2004030671A JP2003180217A JP2003180217A JP2004030671A JP 2004030671 A JP2004030671 A JP 2004030671A JP 2003180217 A JP2003180217 A JP 2003180217A JP 2003180217 A JP2003180217 A JP 2003180217A JP 2004030671 A JP2004030671 A JP 2004030671A
Authority
JP
Japan
Prior art keywords
xml
tag
computer
xml document
document
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
JP2003180217A
Other languages
English (en)
Inventor
Brian M Jones
ブライアン マイケル ジョーンズ
Marcin Sawicki
マーシン サウィッキ
Ziyi Wang
ツィイー ワン
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004030671A publication Critical patent/JP2004030671A/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/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • 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)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】XML文書の構成の適切さを監視しながら、XML文書を編集するためのフリースタイル編集環境を提供するワードプロセッサ機能を有する記録媒体及びその実行方法を提供すること。
【解決手段】ワードプロセッサは、XML文書の構成が適切であるかどうかを判別し、構成の適切さを維持するようにXML文書を自動的に訂正するために、XML文書を監視する。大容量メモリは、ワードプロセッサ210などのコンピュータアプリケーションプログラム130のためのプログラムコードおよびデータを格納することができる。ワードプロセッサ210は、ワードプロセッサ210によって作成および編集されるXML文書の構成の適切さを監視する、XML文書構成判別モニタ220を含むことができる。
【選択図】    図1

Description

【0001】
【発明の属する技術分野】
本発明は、適切に構成された(well−formed)XML文書のフリースタイル編集用ワードプロセッサに関し、より詳細には、XML文書の構成の適切さを監視する、XML文書を編集するためのフリースタイル編集環境を提供するワードプロセッサ機能を有する記録媒体及びその実行方法に関する。
【0002】
【従来の技術】
これまで、ユーザには文書を作成する場合に2つのオプションがあった。その1つは、リッチテキストフォーマット機能を備えたワードプロセッサを使用するオプションであり、ユーザはこの機能を使用して自分のニーズに合わせた文書の外観を形成することができる。ただしこのタイプのワードプロセッサは、文書でのマークアップの使用など、意味論をコンテンツに関連付けるようには設計されていない。他方のオプションは、ユーザがコンテンツと共にマークアップを手作業で作成する必要のある、プレーンテキストエディタを使用するものであった。テキストエディタを使用することの欠点は、ユーザが文書の提示およびレイアウトを制御できないことであった。さらに典型的にはマークアップの作成は、マークアップ文書の編集をより簡単にするために、テキストエディタからほとんど自動化されていないアシスタンスを使用して手作業で実行された。こうしたマークアップ文書の一般的なタイプの1つが、拡張可能マークアップ言語(XML)文書である。
【0003】
このXMLとは、様々な種類のデータを識別、交換、および処理する方法を提供する汎用言語である。可搬性(transportability)を良くするために、XML標準によって定義されるXML文書の構文は非常に規則正しく予測可能である。XML標準を満たすXML文書は「適切に構成された」とみなされる。XML文書はXML要素からなる。XML要素は、典型的には「<要素>コンテンツ</要素>」の形を取り、ここで括弧(<>)内の部分は「タグ」とも呼ばれ、要素の始まりと終わりを定義するものであり、括弧と括弧の間の部分が要素のコンテンツである。
【0004】
たとえ実際にあらゆるXMLタグがこれと同じ形を取る場合であっても、従来のテキストエディタおよびワードプロセッサはユーザが手作業であらゆる文字を入力しなければならず、多くの人為ミスを招きかねない。さらに、従来のワードプロセッサやテキストエディタは、どちらも自動XML妥当性検査メカニズムを含んでおらず、XMLコーディングにおけるどんな構造上の誤りも気付かれない可能性がある。さらに、XML構造の厳密な性質は、良いワードプロセッサの基準であるフリースタイル編集、テキストフォーマッティング、およびレイアウト制御とは真っ向から対立するものである。
【0005】
近年、XMLで文書を編集する際に、XMLエディタが使用できるようになってきた。これらの従来のXMLエディタは、XML文書の編集用に特別に設計されているため、XML構造に厳密に準拠している。これらのXMLエディタは、XMLマークアップの管理をプレーンテキストエディタよりも容易にするものであるが、従来のワードプロセッサで可能なようにユーザが文書を自由に編集およびフォーマット化するのを防ぐ規制をユーザに与えている。むしろユーザは、XML制御の構造が文書中のコンテンツの編集方法を制御する、編集環境に置かれる。これは初心者ユーザ、特にユーザが文書の視覚面を調整したい場合に役立つものである。
【0006】
【発明が解決しようとする課題】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、XML文書の構成の適切さを監視する、XML文書のフリースタイル編集用ワードプロセッサ機能を有する記録媒体及びその実行方法を提供することにある。
【0007】
【課題を解決するための手段】
本発明は、ワードプロセッサおよびXML構造モニタを含むワードプロセッシングシステム、つまり、ワードプロセッサ機能を有する記録媒体及びその実行方法を提供するものである。ワードプロセッサは、XML文書を編集およびフォーマット化するためのフリースタイル編集環境をユーザに提供するように構成される。フリースタイル編集環境は、ユーザが文書のXML完全性を維持しながら、XML文書を自由に編集できるようにするものである。XML文書構成判別モニタ(XML well−formedness monitor)は、XML文書を変更すると構成が適切でなくなるかどうかを判別し、適切でなくなる場合は、構成の適切さを維持するようにXML文書を自動的に修正するように構成される。
【0008】
また、XML文書構成判別モニタが、XML文書が適切に構成されているかどうかを判別するための、事前に定義されたXML文書構成判別規則(XML well−formedness rule)にアクセスすることができる。XML文書構成判別モニタは、構成の適切さを維持するようにXML文書を訂正するための事前に定義された訂正規則にもアクセスすることができる。
【0009】
また、本発明は、XML文書を編集しXML文書の構成の適切さを監視するための、フリースタイル編集環境を提供するための方法を対象とするものである。フリースタイル編集環境では、ユーザは、背景でXML文書のXML完全性を維持しながら、XML文書を自由に編集することができる。この方法は、XML文書が少なくとも1つの構成の適切さ違反を含んでいるかどうかを判別する。含んでいる場合、方法はその違反を自動的に訂正して構成の適切さを復元する。
【0010】
また、本発明は、トリガイベントに応答してXML文書を監視する。トリガイベントは、XML文書を編集している間の中断を減らすように構成される。
【0011】
【発明の実施の形態】
以下、図面を参照して本発明の実施例について説明する。
本発明は、XML文書の構成の適切さを監視しながら、XML文書を編集するためのフリースタイル編集環境を提供するワードプロセッサを対象とするものである。ワードプロセッサは、XML文書が適切に構成されているかどうかを判別し、構成の適切さを維持するようにXML文書を自動的に訂正するために、XML文書を監視する。
【0012】
図1は、本発明を実施するシステムに含むことのできるコンピュータの一例を示す構成図で、本発明が実施可能な好適なコンピューティング環境について説明するための図である。必ずしも必須ではないが、本発明は、パーソナルコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的コンテキストで説明される。一般に、プログラムモジュールにはルーチン、プログラム、オブジェクト、構成要素、データ構造、および、特定のタスクを実行するかまたは特定の抽象データ型を実施する同様のものなどが含まれる。
【0013】
さらに、当分野の技術者であれば理解されるように、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な大衆消費電子製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む、他のコンピュータシステム構成で実施することができる。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールをローカルおよびリモートの両方のメモリ記憶デバイスに配置することができる。
【0014】
他の構成では、コンピュータ102が、図1に示された以外の多くの他の構成要素を含むことができる。コンピュータ102は、処理ユニット112、ビデオディスプレイアダプタ114、および大容量メモリを含み、これらがすべてバス122によって相互に通信し合う。大容量メモリは、一般に、RAM116、ROM132、ならびに、ハードディスクドライブ128、テープドライブ、光ドライブ、および/またはフロッピィディスクドライブなどの1つまたは複数の永続的大容量記憶デバイスを含む。大容量メモリは、コンピュータ102のオペレーションを制御するためのオペレーティングシステム120を格納する。汎用オペレーティングシステムを使用してもよい。コンピュータ102の低レベルオペレーションを制御するために、基本入出力システム(「BIOS」)118も提供される。
【0015】
図1に示されるように、コンピュータ102は、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、または任意の他のネットワークなどの、ネットワークに接続するためのネットワークインターフェース110も含むことができる。ネットワークインターフェース110は、TCP/IPプロトコルを含む様々な通信プロトコルと共に使用するために構築される。コンピュータ102とネットワークとの間の通信媒体は、典型的には搬送波または他の移送メカニズムなどの変調データ信号で、コンピュータ読取り可能な命令、プログラムモジュール、または他のデータを実施するものであって、任意の情報送達媒体を含む。「変調信号」という用語は、信号内の情報を符号化するような様式で設定または変更された1つまたは複数の特徴を有する信号を意味する。例を挙げると、通信媒体は、ワイヤード(wired)ネットワークまたはダイレクトワイヤード接続などのワイヤード媒体、ならびに音波、RF、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含むが、これらに限定されるものではない。上記のうち任意の組合せも、コンピュータ読取り可能な記録媒体の範囲に含まれるものとする。
【0016】
コンピュータ102は、図1に示されていないマウス、キーボード、スキャナ、または他の入力デバイスなどの外部デバイスと通信するための入出力インターフェース124も含む。同様に、コンピュータ102は、CD−ROM/DVD−ROMドライブ126およびハードディスクドライブ128などの追加の大容量記憶設備を含むこともできる。ハードディスクドライブ128は、とりわけアプリケーションプログラム、データベース、サーバアプリケーション、およびプログラムデータを格納するために、コンピュータ102によって使用される。
【0017】
前述の大容量メモリは、他のタイプのコンピュータ読取り可能な記録媒体、すなわちコンピュータ記憶媒体を例示する。コンピュータ記憶媒体は、コンピュータ読取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実施される、揮発性および不揮発性、取外し可能および取外し不能の媒体を含むことができる。コンピュータ記憶媒体の例には、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル汎用ディスク(DVD)、または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶デバイス、あるいは、所望の情報を格納するために使用可能でありコンピューティングデバイスがアクセス可能な任意の他の媒体が含まれる。
【0018】
大容量メモリは、ワードプロセッサ210などのコンピュータアプリケーションプログラム130のためのプログラムコードおよびデータを格納することができる。ワードプロセッサ210は、ワードプロセッサ210によって作成および編集されるXML文書の構成の適切さを監視する、XML文書構成判別モニタ220を含むことができる。ワードプロセッサ210、XML文書構成判別モニタ220、および関連する構成要素は、図2に関して詳細に記載される。
【0019】
図2は、本発明の一実施形態に従った、XMLワードプロセッシングシステムの一例を示す概略図である。XMLワードプロセッシングシステム200は、電子XML文書の編集を制御し、文書の構成の適切さを監視する。
【0020】
ワードプロセッサ210は、電子文書を編集およびフォーマット化するためのフリースタイル編集環境をユーザに提供するように構成された、コンピュータアプリケーションプログラムである。フリースタイル編集環境では、ユーザは電子文書の視覚面を自分のニーズに合うように形成するために、電子文書を自由に編集することができる。具体的に言えば、ユーザは、文書のコンテンツに関連付けられた構成の適切さの要件によって編集を妨げられることなく、電子文書のコンテンツの作成、修正、削除、および他の編集動作を自由に実施することができる。たとえば、電子文書のコンテンツがXML要素を含む場合、たとえユーザの編集が文書のXML完全性を侵害する可能性があっても、ユーザはXMLの構造要件によってコンテンツの編集を妨げられることはない。
【0021】
XML文書215は、ワードプロセッサ210が制御可能な文書タイプの1つである。XML文書215は、XML要素を含む電子文書である。上記で簡単に述べたように、XML要素はXMLタグによって定義される。XML要素の一例を示す。
【0022】
<intro>A fox jumps over a lazy dog.</intro>
この例では、XML要素は「intro」であり、これが開始タグ(<intro>)および終了タグ(</intro>)によって定義される。さらに1つのXML要素が他のXML要素を含むことができる。たとえば、以下のXMLコードでは、
<intro><subject>A fox</subject>jumps over a lazy dog.</intro>
「intro」要素が「subject」要素を含む。XML用語で言えば、「subject」要素が「intro」要素内にネストされている。
【0023】
ワードプロセッサ210によって作成されるXML文書には、固有XMLタグおよび標準XMLタグの両方を含めることができる。標準XMLタグは、ユーザが文書に入力したXMLタグである。固有XMLタグは、ワードプロセッサ210によって自動的に作成され、XML文書でワードプロセッサ210によって実行されるフォーマット化関連動作に対応することができる。たとえば、ユーザが、
A fox jumps over a lazy dog. The dog barks!
の行を文書に入力し、この文書をXMLファイルとして保存する場合、ワードプロセッサ210はこの行を、
<para> A fox jumps over a lazy dog. The dog barks!</para>
と修正することが可能であり、ここで「para」タグは、文書中に段落要素を作成するためにワードプロセッサ210によって入力されるXMLコードに対応する。他の例では、ユーザが第1の文の後で(たとえばEnterキーを押すことによって)新しい行を開始すると、ワードプロセッサ210は以下を含むように文書を修正することができる。
【0024】
<para>A fox jumps over a lazy dog.</para>
<para>The dog barks.</para>
この例でワードプロセッサ210は、新しい行を作成するためのXMLコードに対応する2つの追加の「para」タグを入力する。固有XMLタグは、表のセル操作、フォント定義、ヘッダおよびフッタなどの、他のワードプロセッシング動作に対応する、XMLタグを含むことができる。ワードプロセッサ210は、ユーザがフリースタイル編集環境で編集できるようにするものであるため、ユーザは、結果として生じる文書の構成が適切でないような方法でXML文書を編集することができる。たとえばユーザは、固有XMLタグを妨害する新しい標準XMLタグを手作業で挿入することができる。
【0025】
ユーザの基本設定に応じて、固有XMLタグおよび標準XMLタグをユーザに見えるように提示するか、または提示しないことができる。ワードプロセッサ210は、XML文書の編集中にXMLタグを表示するかどうかをユーザが選択できるようにする。ユーザは、他のコンテンツと共にタグを表示すると文書の視覚面をゆがめ、それによって文書の編集が混乱することがわかると、XMLタグの表示を選択しないことができる。
【0026】
他のシナリオでは、編集中の文書に固有XMLタグがあるとわかること、またはXMLを理解することさえユーザに期待できない。ユーザは、単に文書の実際のコンテンツの編集者である場合がある。XML開発者は、ユーザに対してXMLタグを非表示にするような方法で文書をセットアップすることができる。たとえばXML開発者は、ユーザに新しい文書を作成するための文書テンプレートを提供することができる。テンプレートは、ユーザが表示できないXMLタグを含むことができる。XMLタグは、文書が後で使用されるときに、データの抽出および操作のプロセスを容易にするものとなる。
【0027】
XML文書構成判別モニタ220は、XML文書を監視するコンピュータ実行可能構成要素である。具体的に言えば、XML文書構成判別モニタ220は、XML文書の構成の適切さ違反を判別して自動的に訂正する。XML文書構成判別モニタ220は、コンピュータアプリケーションプログラムの独立構成要素またはサブ構成要素(sub−component)であってよい。この実施形態では、XML文書構成判別モニタ220はワードプロセッサ210のサブ構成要素である。図2に示されるように、XML文書構成判別モニタ220は、XML文書構成判別規則230および訂正規則240へのアクセス権を有する。簡潔に言えば、XML文書構成判別モニタ220は、XML文書構成判別規則230を使用して構成の適切さ違反を判別し、判別された違反を、訂正規則240を使用して訂正する。
【0028】
XML文書構成判別規則230は、構成の適切さ違反を判別するためにXML文書構成判別モニタ220が使用する規則である。XML文書構成判別規則230は、XML標準によって課せられる規則の一部を含むことができる。この実施形態では、XML文書構成判別規則230がタグマッチング規則(tag−matching rule)およびタグネスティング規則(tag−nesting rule)を含む。タグマッチング規則は、あらゆる開始タグがマッチング終了タグを有し、あらゆる終了タグがマッチング開始タグを有することを要求する。タグネスティング規則は、XML要素が適切にネストされていることを要求する。タグネスティング規則によれば、第1の要素の一部が第2の要素と重複するが、第1の要素全体が第2の要素に含まれているわけでない場合、XML要素は適切にネストされない。たとえば、以下のXMLコードで、
<sent1>A fox <action>jumps over a dog</sent1> and <sent2>steals his bone</action> without hesitation.</sent2> 「sent1」要素が閉じる前に「action」要素が開いているが、「sent1」要素が閉じた後に「action」要素が閉じているため、XML要素は適切にネストされていない。同様に、「action」要素が開いた後に「sent2」要素が開いているが、「sent2」要素が閉じる前に「action」要素が閉じている。この構造は、XML標準のネスティング規則に違反している。
【0029】
訂正規則240は、構成の適切さを維持するようにXML文書のコンテンツを訂正するためにXML文書構成判別モニタ220が適用できる規則である。それぞれの訂正規則240は、XML文書構成判別規則230の1つまたは複数の違反を訂正するために、単独でまたは他の規則と共に適用可能である。一実施形態では、訂正規則240に、違反の原因となったタグを自動的に削除することによってタグマッチング違反を訂正することが含まれる。たとえば、以下のXMLコードを備えたXML文書について考えてみる。
【0030】
<intro>A fox </subject>jumps over a lazy dog.</intro>
このコードは、「subject」要素の開始タグがないため、タグマッチング規則に違反している。おそらくユーザは、「subject」要素全体の削除を意図したのであろうが、要素の開始タグのみが削除されてしまっている。規則を適用すると、「subject」要素の終了タグが自動的に削除される結果となる。
【0031】
他の実施形態では、訂正規則240に、第1のXML要素が第2の要素と不適切に重複していることによって発生したタグネスティング違反を訂正することが含まれる。訂正は、第1の要素が第2の要素内に格納されるように、1つの要素のタグを自動的に修正することによって実行可能である。たとえば、次のXMLコードを含む上記の例を考えてみる。
【0032】
<sent1>A fox <action>jumps over a dog</sent1> and <sent2>steals his bone</action> without hesitation.</sent2>
タグネスティング違反は、「action」要素が「sent1」要素ならびに「sent2」要素と不適切に重複していることによって生じる。規則を適用すると、「action」要素の終了タグが「sent1」要素の終了タグの直前に自動的に移動される結果となる。したがって、「action」要素が「sent1」要素内に完全にネストされるので、違反が訂正される。実際には、「action」要素のいずれかのタグを修正することができる。
【0033】
他の実施形態では、訂正規則240が、XML文書構成判別モニタ220に対して、タグの優先順位に基づいてどのXMLタグを修正(移動、追加、または削除)するかを決定するように要求する。たとえば、訂正規則240は、固有XMLタグを修正する前に標準XMLタグを修正するように要求する。以下のXMLについて考えてみる。
【0034】
<nat>Some Text<nor>Inner Text</nor>More Text</nat>
「nat」タグは固有タグであり「nor」タグはユーザによって入力される標準タグである。この例では、段落を定義するために「nat」タグが使用される。カーソルが「Inner」と「Text」の間にあるときにユーザが新しい行を(たとえばEnterキーを押すことによって)作成すると、結果として生じるXMLコードには、訂正されなければ構成の適切さ違反が含まれることになる。違反となるコードは以下のようになり、
<nat>Some Text<nor>Inner</nat>
<nat>Text</nor>More Text</nat>
タグネスティング違反が含まれる。この例では、固有タグを修正する前に標準タグの修正が要求されるため、「nor」タグが移動することになる。訂正されたXMLコードは以下のようになり、
<nat>Some Text<nor>Inner</nor></nat>
<nat>Text More Text</nat>
これで構成の適切さ違反は含まれなくなる。
【0035】
他の例では、訂正規則240が、標準XMLタグを移動する前に固有XMLタグを修正するように要求することができる。ここで、以下のXMLコードについて考えてみる。
【0036】
<nat1>Here is some bold text</nat1> <nat2>Here is some italic text</nat2>
この例で、「nat1」タグはテキストをボールド体にするための固有タグであり、「nat2」タグはテキストをイタリック体にするための固有タグである。ユーザが1対のタグを作成し、1つを「text」という語の前に、もう1つを「Here」という語の後に配置すると、結果として生じるXMLコードは、訂正されなければ構成の適切さ違反が含まれることになる。違反のあるXMLコードは以下のようになり、
<nat1>Here is some bold<nor> text</nat1> <nat2>Here</nor> is some italic text</nat2>
「nor」タグを配置した結果、タグネスティング違反が生じる。この例では、固有タグを移動する前に標準タグを修正しなければならない。適切な訂正を行った後、XMLコードは以下のようになり、
<nat1>Here is some bold</nat1>
<nor><nat1>text</nat1><nat2>Here</nat2></nor>
<nat2>is some italic text</nat2>
構成の適切さ違反を矯正する4つの追加の固有タグが含まれる。
【0037】
当分野の技術者であれば、XML標準に関した本発明の開示から、多くの他のXML文書構成判別規則および訂正規則が明らかになることを理解されよう。本明細書に記載された規則および訂正は、例示的なものにすぎない。規則の選択は単なる実施の好みであり、本発明の範囲全体に影響を与えるものではない。
【0038】
図3は、XML文書の構成の適切さを監視するための例示的プロセスを一般的に示す動作流れ図である。プロセス300はXML構造モニタが使用することができる。
【0039】
プロセス300は、ワードプロセッサによってXML文書が作成または編集されるときに、開始ブロックから開始される。ブロック310では、トリガイベントが発生したかどうかが判別される。トリガイベントとは、XML文書構成判別モニタにXML文書を監視させるイベントである。トリガイベントは、ワードプロセッサの動作または無動作(inaction)に関連付けられた様々なイベントを含むことができる。たとえば、文字の挿入または削除などの編集動作はトリガイベントであってよい。トリガイベントは、編集動作が所定の期間発生しない場合などの、タイミング関連イベントであってもよい。構成の適切さの監視がワードプロセッサの性能およびXML文書に影響を与える可能性があるため、XML文書編集中のトリガイベントの中断を減らすように構成することができる。
【0040】
プロセス300は、トリガイベントが発生するまでブロック310でアイドル状態である。イベントが発生するとプロセス300は意思決定ブロック320に移動し、XML文書が少なくとも1つの構成の適切さ違反を含むかどうかが判別される。XML文書は、文書が少なくとも1つのXML構造規則に違反している場合、構成の適切さ違反を含む。たとえば図2を参照すると、ワードプロセッサ210は、編集に応答するなどして、XML文書215の一部をXML文書構成判別モニタ220に渡すことができる。ワードプロセッサ210は、編集の周囲部分などの、XML文書215全体よりも少ない部分を渡すことができる。次にXML文書構成判別モニタ220は、構成適切さに関してXML文書215の部分を分析するために、XML文書構成判別規則230を参照する。次にXML文書構成判別モニタ220は、違反が発生したかどうかの通知をワードプロセッサ210に戻す。構成の適切さ違反がない場合、プロセス300は戻る。
【0041】
XML文書が少なくとも1つの構成の適切さ違反を含む場合、プロセス300はブロック330で続行され、判別された構成の適切さ違反が自動的に訂正される。構成の適切さ違反を訂正するための例示的プロセスについては、図4に関して詳細に説明する。判別されたそれぞれの構成の適切さ違反は、1つまたは複数の訂正規則の適用により訂正することができる。XML文書で判別された構成の適切さ違反が訂正されると、プロセス300は戻る。
【0042】
ブロック320で示されたステップおよびブロック330で示されたステップは、例示のために別々のステップとして示されたものである。両方のステップを組み合わせて単一のステップにすることができる。
【0043】
図4は、構成の適切さ違反を判別および訂正するための例示的プロセスを一般的に示す動作流れ図である。プロセス400はXML構造モニタが使用できる。この例示的プロセスは、タグマッチング違反およびタグネスティング違反を判定および訂正するだけである。他の違反も、同様のプロセスを使用して訂正することができる。
【0044】
プロセス400は、開始ブロックから開始される。ブロック410で、タグマッチング違反があるかどうかが判別される。タグマッチング違反が見つからない場合、プロセス400は意思決定ブロック430で続行される。そうでなければ、プロセス400はブロック420に移動し、訂正規則を適用することによってタグマッチング違反が訂正される。この実施形態では、違反の原因となったタグを削除することによってタグマッチング違反が訂正される。他の実施形態では、見失ったタグを自動的に挿入することができる。訂正が実行された後、プロセスは意思決定ブロック430でも続行される。
【0045】
意思決定ブロック430では、タグネスティング違反があるかどうかが判別される。タグマッチング違反が見つからない場合、プロセス400は戻る。そうでなければ、プロセス400はブロック440で続行され、訂正規則を適用することによってタグネスティング違反が訂正される。この実施形態では、要素が他の要素内に含まれるなどの違反の原因となった要素のタグのうち1つを移動することによって、タグネスティング違反が訂正される。
【0046】
上述したように、本発明は、XML文書の完全性を維持すると同時にリッチフリースタイル編集体験をユーザに提供する、ワードプロセッシングシステムを可能にするものである。ユーザによる編集は、構成の適切さが背景で評価される。XML違反が発生すると、ユーザが編集するのを妨げることなく、XML構造規則に合致する状態に文書を戻すために訂正規則が適用される。
【0047】
上述した実施形態およびデータは、本発明を完全に記載するものである。本発明の精神および範囲を逸脱することなく本発明の多くの実施形態が実行可能であるため、本発明の特許請求の範囲に属するものである。
【図面の簡単な説明】
【図1】本発明を実施するシステムに含むことのできるコンピュータの一例を示す図である。
【図2】XML文書監視システムの一例を示す概略図である。
【図3】XML文書の構成の適切さを監視するための例示的プロセスを一般的に示す動作流れ図である。
【図4】構成の適切さ違反を判別および訂正するための例示的プロセスを一般的に示す動作流れ図である。
【符号の説明】
102 コンピュータ
110 ネットワークインターフェースユニット
112 中央処理ユニット
114 ビデオディスプレイアダプタ
116 RAM
118 BIOS
120 オペレーティングシステム
122 バス
124 入出力インターフェース
126 CD−ROM/DVD−ROMドライブ
128 ハードディスクドライブ
130 アプリケーション
132 ROM
210 ワードプロセッサ
220 XML文書構成判別モニタ

Claims (25)

  1. コンピュータ実行可能な構成要素で符号化されたコンピュータ読取り可能な記録媒体であって、
    XML文書の自由な編集を可能にするフリースタイル編集環境を提供するように構成されたワードプロセッサ機能と、
    該ワードプロセッサ機能に関連付けられたXML文書構成判別モニタ機能とを備え、
    前記XML文書構成判別モニタ機能は、前記XML文書が適切に構成されているかどうかを判別するように構成されており、適切に構成されていない場合は前記XML文書を自動的に訂正することを特徴とするコンピュータ読取り可能な記録媒体。
  2. 前記XML文書構成判別モニタは、前記ワードプロセッサの構成要素であることを特徴とする請求項1に記載のコンピュータ読取り可能な記録媒体。
  3. 前記XML文書構成判別モニタは、前記XML文書が適切に構成されているかどうかを判別するための複数のXML構成判別規則にアクセスすることを特徴とする請求項1に記載のコンピュータ読取り可能な記録媒体。
  4. 前記複数のXML構成判別規則はタグマッチング規則を含み、前記タグマッチング規則は、あらゆるオープンタグがマッチングクローズタグを有し、あらゆるクローズタグがマッチングオープンタグを有するものであることを要求することを特徴とする請求項3に記載のコンピュータ読取り可能な記録媒体。
  5. 前記複数のXML構成判別規則はタグネスティング規則を含み、前記タグネスティング規則は、XML要素が適切にネストされるものであることを要求することを特徴とする請求項3に記載のコンピュータ読取り可能な記録媒体。
  6. 前記XML文書構成判別モニタは、構成の適切さを維持するために前記XML文書を自動的に訂正するための複数の訂正規則にアクセスすることを特徴とする請求項1に記載のコンピュータ読取り可能な記録媒体。
  7. 前記複数の訂正規則は、タグマッチング違反の原因となったXMLタグを自動的に削除することによってタグマッチング違反を訂正するための訂正規則を含むことを特徴とする請求項6に記載のコンピュータ読取り可能な記録媒体。
  8. 前記複数の訂正規則は、第1のXML要素が第2のXML要素内に含まれるように、前記第1のXML要素のタグを自動的に修正することによって、タグネスティング違反を訂正するための訂正規則を含むことを特徴とする請求項6に記載のコンピュータ読取り可能な記録媒体。
  9. 前記XML文書構成判別モニタは、前記違反の原因となったXMLタグを判別することおよび前記XMLタグを自動的に修正することにより、タグネスティング違反を訂正するものであり、前記XMLタグは前記XML文書内のXMLタグに関連付けられた優先順位に基づいて決定され、前記XMLタグは、前記第1のXML要素が第2のXML要素内に含まれるように修正されることを特徴とする請求項1に記載のコンピュータ読取り可能な記録媒体。
  10. 標準XMLタグに関連付けられた優先順位が固有XMLタグに関連付けられた優先順位よりも高いため、前記標準XMLタグは前記固有XMLタグよりも前に修正されることを特徴とする請求項9に記載のコンピュータ読取り可能な記録媒体。
  11. 固有XMLタグに関連付けられた優先順位が標準XMLタグに関連付けられた優先順位よりも高いため、前記固有XMLタグは前記標準XMLタグよりも前に修正されることを特徴とする請求項9に記載のコンピュータ読取り可能な記録媒体。
  12. XML文書の編集を制御するためのコンピュータ実行方法であって、
    ユーザがXML構成判別要件によって制約されることなく前記XML文書を自由に編集できるようにする、前記XML文書を編集するためのフリースタイル編集環境を提供するステップと、
    前記XML文書が少なくとも1つの構成の適切さ違反を含むかどうかを判別するステップと、
    構成の適切さ違反を含む場合は、構成の適切さを復元するために前記XML文書を自動的に訂正するステップと
    を含むことを特徴とするコンピュータ実行方法。
  13. 前記判別ステップはトリガイベントに応答して実行されることを特徴とする請求項12に記載のコンピュータ実行方法。
  14. 前記トリガイベントは前記XML文書の編集に応答して発生することを特徴とする請求項12に記載のコンピュータ実行方法。
  15. 前記トリガイベントはタイミング関連イベントであることを特徴とする請求項12に記載のコンピュータ実行方法。
  16. 前記トリガイベントは、前記XML文書が編集されている間の中断を減らすように構成されることを特徴とする請求項12に記載のコンピュータ実行方法。
  17. 前記少なくとも1つの構成の適切さ違反は、複数のXML構成判別規則のうち少なくとも1つに違反している場合に発生することを特徴とする請求項12に記載のコンピュータ実行方法。
  18. 前記複数のXML文書構成判別規則はタグマッチング規則を含み、前記タグマッチング規則は、あらゆるXMLオープンタグがマッチングXMLクローズタグを有し、あらゆるXMLクローズタグがマッチングXMLオープンタグを有するものであることを要求することを特徴とする請求項17に記載のコンピュータ実行方法。
  19. 前記複数のXML文書構成判別規則はタグネスティング規則を含み、前記タグネスティング規則は、XML要素が適切にネストされるものであることを要求することを特徴とする請求項17に記載のコンピュータ実行方法。
  20. 前記XML文書を自動的に訂正することは、複数の訂正規則のうち少なくとも1つを適用することをさらに含むことを特徴とする請求項12に記載のコンピュータ実行方法。
  21. タグマッチング違反が判別された場合、前記違反の原因となったXMLタグを削除することによって前記XML文書を自動的に訂正することをさらに含むことを特徴とする請求項12に記載のコンピュータ実行方法。
  22. タグネスティング違反が判別された場合、前記違反の原因となったXMLタグのうち1つを移動することによって前記XML文書を自動的に訂正することをさらに含むことを特徴とする請求項12に記載のコンピュータ実行方法。
  23. 前記XMLタグを移動することは、前記XMLタグに関連付けられた優先順位に基づくものであることを特徴とする請求項22に記載のコンピュータ実行方法。
  24. XML文書の編集を制御するためのコンピュータ実行方法であって、
    ユーザがXML構成判別要件によって制約されることなく前記XML文書を自由に編集できるようにする、前記XML文書を編集するためのフリースタイル編集環境を提供するステップと、
    前記XML文書が、XML要素が適切にネストされていることを要求するタグネスティング規則の違反を含むかどうかを判別するステップと、
    タグネスティング違反を含む場合は、第1の要素の前記XMLタグのうちの1つを第2の要素のコンテンツを囲むように移動し、前記第1の要素が前記第2の要素内に含まれるようにすることによって、前記XML文書を自動的に訂正するステップと
    を含むことを特徴とするコンピュータ実行方法。
  25. 前記第1の要素が前記第2の要素のコンテンツすべてを含むことを特徴とする請求項24に記載のコンピュータ実行方法。
JP2003180217A 2002-06-24 2003-06-24 Xml文書のフリースタイル編集用ワードプロセッサ機能を有する記録媒体及びその実行方法 Pending JP2004030671A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/179,529 US7149966B2 (en) 2002-06-24 2002-06-24 Word processor for freestyle editing of well-formed XML documents

Publications (1)

Publication Number Publication Date
JP2004030671A true JP2004030671A (ja) 2004-01-29

Family

ID=29717904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003180217A Pending JP2004030671A (ja) 2002-06-24 2003-06-24 Xml文書のフリースタイル編集用ワードプロセッサ機能を有する記録媒体及びその実行方法

Country Status (5)

Country Link
US (1) US7149966B2 (ja)
EP (1) EP1376391B1 (ja)
JP (1) JP2004030671A (ja)
AT (1) ATE525700T1 (ja)
CA (1) CA2431832C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101488595B1 (ko) 2013-05-31 2015-01-30 주식회사 유비온 위지윅 기반 html 편집기의 템플릿 구조 유지방법 및 장치

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516441B2 (en) * 2001-06-04 2009-04-07 Microsoft Corporation Method and system for program editing and debugging in a common language runtime environment
US8239759B1 (en) * 2001-11-27 2012-08-07 Adobe Systems, Inc. System and method for editing documents using stored commands
US7228501B2 (en) * 2002-11-01 2007-06-05 Microsoft Corporation Method for selecting a font
US7099902B2 (en) * 2002-12-13 2006-08-29 Sun Microsystems, Inc. Checkout and replace script
US20040122843A1 (en) * 2002-12-19 2004-06-24 Terris John F. XML browser markup and collaboration
US7251777B1 (en) * 2003-04-16 2007-07-31 Hypervision, Ltd. Method and system for automated structuring of textual documents
US7657832B1 (en) * 2003-09-18 2010-02-02 Adobe Systems Incorporated Correcting validation errors in structured documents
EP1569087A3 (en) * 2004-02-17 2007-04-25 Canon Kabushiki Kaisha Data processing apparatus, data processing method, program for implementing the method, and storage medium storing the program
ATE532142T1 (de) * 2004-03-16 2011-11-15 Microdasys Inc Inhaltsüberwachung für xml
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
JP2008508640A (ja) * 2004-08-02 2008-03-21 株式会社ジャストシステム 文書及びその表現に変更を加えるための文書処理及び管理方法
JP4293959B2 (ja) * 2004-09-16 2009-07-08 シャープ株式会社 画像処理装置、プログラム及び記録媒体
US7617450B2 (en) * 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US7617444B2 (en) * 2004-12-20 2009-11-10 Microsoft Corporation File formats, methods, and computer program products for representing workbooks
US7620889B2 (en) * 2004-12-20 2009-11-17 Microsoft Corporation Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements
US7770180B2 (en) 2004-12-21 2010-08-03 Microsoft Corporation Exposing embedded data in a computer-generated document
US7752632B2 (en) 2004-12-21 2010-07-06 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
WO2006133136A2 (en) * 2005-06-03 2006-12-14 Microsoft Corporation Structuring data for word processing documents
US20070245308A1 (en) * 2005-12-31 2007-10-18 Hill John E Flexible XML tagging
WO2008054948A1 (en) * 2006-10-31 2008-05-08 Nielsen Media Research, Inc. Methods and systems to retrieve information from data sources
US20080114797A1 (en) * 2006-11-14 2008-05-15 Microsoft Corporation Importing non-native content into a document
US7895232B2 (en) * 2007-12-25 2011-02-22 International Business Machines Corporation Object-oriented twig query evaluation
US20100161344A1 (en) * 2008-12-12 2010-06-24 Dyson David S Methods and apparatus to prepare report requests
KR101005927B1 (ko) * 2010-07-05 2011-01-07 펜타시큐리티시스템 주식회사 웹 어플리케이션 공격 탐지 방법
US9501456B2 (en) * 2013-03-15 2016-11-22 Altova Gmbh Automatic fix for extensible markup language errors
US10706124B2 (en) * 2015-01-12 2020-07-07 Microsoft Technology Licensing, Llc Storage and retrieval of structured content in unstructured user-editable content stores
US11704474B2 (en) 2020-02-25 2023-07-18 Transposit Corporation Markdown data content with action binding
US11880650B1 (en) * 2020-10-26 2024-01-23 Ironclad, Inc. Smart detection of and templates for contract edits in a workflow

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5079700A (en) * 1989-04-26 1992-01-07 International Business Machines Corporation Method for copying a marked portion of a structured document
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
US6558431B1 (en) * 1998-09-11 2003-05-06 Macromedia, Inc. Storing valid and invalid markup language in strict and relaxed tables respectively
US6996770B1 (en) * 1999-07-26 2006-02-07 Microsoft Corporation Methods and systems for preparing extensible markup language (XML) documents and for responding to XML requests
US6895551B1 (en) * 1999-09-23 2005-05-17 International Business Machines Corporation Network quality control system for automatic validation of web pages and notification of author
US6604100B1 (en) * 2000-02-09 2003-08-05 At&T Corp. Method for converting relational data into a structured document
US6687873B1 (en) * 2000-03-09 2004-02-03 Electronic Data Systems Corporation Method and system for reporting XML data from a legacy computer system
US7114147B2 (en) * 2000-03-09 2006-09-26 Electronic Data Systems Corporation Method and system for reporting XML data based on precomputed context and a document object model
US6934712B2 (en) * 2000-03-21 2005-08-23 International Business Machines Corporation Tagging XML query results over relational DBMSs
JP3494292B2 (ja) * 2000-09-27 2004-02-09 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションデータの誤り訂正支援方法、コンピュータ装置、アプリケーションデータ提供システム、および記憶媒体
US7027984B2 (en) * 2001-03-15 2006-04-11 Hewlett-Packard Development Company, L.P. Tone-based mark-up dictation method and system
US20040015832A1 (en) * 2001-05-25 2004-01-22 Michael Stapp Method and apparatus for generating source code
US7000218B2 (en) * 2001-06-29 2006-02-14 International Business Machines Corporation System and method for developing custom programmable tags
US7284196B2 (en) * 2001-10-05 2007-10-16 Vitria Technology, Inc. Vocabulary and syntax based data transformation
US7284194B2 (en) * 2001-10-23 2007-10-16 Sun Microsystems, Inc. XML based report generator
US20040205562A1 (en) * 2001-12-27 2004-10-14 G.E. Information Services, Inc. System and method for transforming documents to and from an XML format
US6711740B1 (en) * 2002-01-17 2004-03-23 Cisco Technology, Inc. Generic code book compression for XML based application programming interfaces
US20030172193A1 (en) * 2002-03-07 2003-09-11 Olsen Jesse Dale User interface generator and method of automatically generating a user interface
US7143343B2 (en) * 2002-04-11 2006-11-28 International Business Machines Corporation Dynamic creation of an application's XML document type definition (DTD)
US7143344B2 (en) * 2002-06-12 2006-11-28 Microsoft Corporation Transformation stylesheet editor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101488595B1 (ko) 2013-05-31 2015-01-30 주식회사 유비온 위지윅 기반 html 편집기의 템플릿 구조 유지방법 및 장치

Also Published As

Publication number Publication date
EP1376391A3 (en) 2007-02-21
EP1376391B1 (en) 2011-09-21
US7149966B2 (en) 2006-12-12
US20030237048A1 (en) 2003-12-25
CA2431832C (en) 2008-02-19
EP1376391A2 (en) 2004-01-02
ATE525700T1 (de) 2011-10-15
CA2431832A1 (en) 2003-12-24

Similar Documents

Publication Publication Date Title
JP2004030671A (ja) Xml文書のフリースタイル編集用ワードプロセッサ機能を有する記録媒体及びその実行方法
JP5060043B2 (ja) 代替フォーマットを有する文脈自由な文書部分
US6347323B1 (en) Robust modification of persistent objects while preserving formatting and other attributes
US7140536B2 (en) Method and system for highlighting modified content in a shared document
RU2398274C2 (ru) Хранилище данных для документов программного приложения
US7434157B2 (en) Programmable object model for namespace or schema library support in a software application
US8656461B2 (en) Copy-paste trust system
CA2526593C (en) Management and use of data in a computer-generated document
US7644095B2 (en) Method and system for compound document assembly with domain-specific rules processing and generic schema mapping
US20090055755A1 (en) Representing editable attributes of embedded content
US20090249224A1 (en) Simultaneous collaborative review of a document
US20080077631A1 (en) Multi-document attribute synchronization in a content management system
US20050102612A1 (en) Web-enabled XML editor
US20100235806A1 (en) Rich Web Site Authoring And Design
US7941746B2 (en) Extended cascading style sheets
US10372792B2 (en) Document transformation performance via incremental fragment transformations
JP2005339566A (ja) コンテンツを開始テンプレートとターゲットテンプレートとの間でマップするための方法およびシステム
US20060026503A1 (en) Markup document appearance manager
US20030069907A1 (en) Method and device for processing a computer document in a computer system
US7681116B2 (en) Automatic republication of data
US7487515B1 (en) Programmable object model for extensible markup language schema validation
US7437660B1 (en) Editable dynamically rendered web pages
US9158748B2 (en) Correction of quotations copied from electronic documents
US7509573B1 (en) Anti-virus security information in an extensible markup language document
JP2864528B2 (ja) メッセージ管理方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080828

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080902

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081008

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081031

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100615