JP2005506608A - ウェブ・オーサリング支援用のツール - Google Patents
ウェブ・オーサリング支援用のツール Download PDFInfo
- Publication number
- JP2005506608A JP2005506608A JP2003505802A JP2003505802A JP2005506608A JP 2005506608 A JP2005506608 A JP 2005506608A JP 2003505802 A JP2003505802 A JP 2003505802A JP 2003505802 A JP2003505802 A JP 2003505802A JP 2005506608 A JP2005506608 A JP 2005506608A
- Authority
- JP
- Japan
- Prior art keywords
- formatting
- wac
- instructions
- formatting instructions
- user
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000008859 change Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 4
- 235000014552 Cassia tora Nutrition 0.000 description 4
- 244000201986 Cassia tora Species 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Primary Health Care (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Computational Linguistics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Digital Computer Display Output (AREA)
Abstract
【課題】サーバ上の複数のドキュメントに対する表示フォーマッティングを自動的に生成する方法を提供すること。
【解決手段】ランタイム時間中にクライアント上で複数のドキュメントを表示するために、サーバ上で前記複数のドキュメント用の表示フォーマッティング命令を自動的に生成する方法において、前記サーバが、複数のフォーマッティング制御と、それぞれが前記複数のフォーマッティング制御のうちの1つのフォーマッティング制御および前記複数のドキュメントのうちの1つのドキュメントを示す複数の参照を含む第1組のフォーマッティング命令を伴うファイルとを有する方法であって、(A)前記ファイルを処理して、前記複数の参照のそれぞれを配置して、ツリーを形成するステップと、(B)前記複数の参照のうちの1つの参照に従って前記複数のフォーマッティング制御のうちの1つのフォーマッティング制御を実行して、前記複数の参照のうちの前記1つの参照で示される前記ドキュメントに基づいて、第2組のフォーマッティング命令を作成するステップと、(C)前記第2組のフォーマッティング命令を出力ファイルに組み込むステップと、(D)前記ツリー中の前記複数の参照のそれぞれに対して、ステップ(B)および(C)を反復するステップとを含み、前記複数の参照で示される前記複数のフォーマッティング制御のそれぞれが前記ランタイム時間の前に実行される方法。
【解決手段】ランタイム時間中にクライアント上で複数のドキュメントを表示するために、サーバ上で前記複数のドキュメント用の表示フォーマッティング命令を自動的に生成する方法において、前記サーバが、複数のフォーマッティング制御と、それぞれが前記複数のフォーマッティング制御のうちの1つのフォーマッティング制御および前記複数のドキュメントのうちの1つのドキュメントを示す複数の参照を含む第1組のフォーマッティング命令を伴うファイルとを有する方法であって、(A)前記ファイルを処理して、前記複数の参照のそれぞれを配置して、ツリーを形成するステップと、(B)前記複数の参照のうちの1つの参照に従って前記複数のフォーマッティング制御のうちの1つのフォーマッティング制御を実行して、前記複数の参照のうちの前記1つの参照で示される前記ドキュメントに基づいて、第2組のフォーマッティング命令を作成するステップと、(C)前記第2組のフォーマッティング命令を出力ファイルに組み込むステップと、(D)前記ツリー中の前記複数の参照のそれぞれに対して、ステップ(B)および(C)を反復するステップとを含み、前記複数の参照で示される前記複数のフォーマッティング制御のそれぞれが前記ランタイム時間の前に実行される方法。
Description
【技術分野】
【0001】
本発明は、ウェブ・ページのオーサリング支援用のツールを対象としており、詳細には、ウェブ・ページのための表示フォーマッティング・コードを自動的に生成するためのツールを対象とする。
【背景技術】
【0002】
World Wide Web(WWW)の普及につれて、ウェブ・ページの迅速な設計および生成が必要になっている。ウェブ・ページは、速やかに作成する必要があるとはいえ、複雑さと柔軟さを保つ必要がある。入力パラメータに基づいてHypertext Markup Language(HTML)などのマークアップ・コードを自動的に生成することによってウェブ・ページの作成を支援するウェブ・ページ・オーサリング用のツールがいくつかある。マークアップ・コードは、コードによって識別されるデータをどのようにして提示し、表示するかという指示を伝える。これらのツールにより、ページ全体を再作成する必要なしにウェブ・ページのコンテンツを変更することが可能になる。この変更はしばしば、ウェブ・ページとは別に変化するコンテンツを記憶し、マークアップ・コード中に変化するコンテンツの位置を指すタグを含めることによって実現される。次いで、別々に記憶された変化するコンテンツに対して作成され、組み込まれたタグおよびマークアップによって指定された制御に従って、ウェブ・ページを処理することができる。
【0003】
Microsoft社は、マークアップ・コード・ファイル中に挿入することができ、ランタイム(run-time)以前のページの設計時に処理することができるActiveX DesignTime Controls(DTCs)を提供している。これについては、米国特許第6,025,119号を参照されたい。しかしながら、DTC処理は、マークアップ・コード・ファイルがその中で作成され、しばしばオーサリング・クライアント上に配置されるエディタに限定される。クライアント上の指定されたエディタ中で処理を行う必要がないようにオーサリングを処理から切り離すことによって、多くの操作をより効率的に実施することができる。
【0004】
DTCは、マークアップ・コード・コメントに基づいており、このマークアップ・コード・コメントは、制御を囲むために使用される。残念ながら、マークアップ・コード・コメントは、互いにネストすることができず、そのため、ページ・レイアウトの作成におけるDTCの使用が制限される。すなわち、DTCを使用し、そのDTC中に他のDTCを埋め込むことによってページ・レイアウトを制御することはできない。ページ・レイアウト機能を提供するためには、別のツールをDTCと組み合わせて使用しなければならない。
【0005】
DTCには、その利用がMicrosoftプラットフォームだけに限定されるという欠点がある。一方、JSP(Java(R)ServerPage)のtaglibは、同様な機能を提供するが、Java(R)言語に基づいており、プラットフォーム特有ではない。しかしながら、taglibは、要求時にのみ実行され、taglibプロセッサがウェブ・アプリケーション・サーバの一部であることが必要となる。さらに、taglibは、動的なコンテンツを生成するので、サーバの処理の負荷が増大する。
【特許文献1】
米国特許第6,025,119号
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、コードのライフサイクルの様々な段階において、ウェブ・ページの表示フォーマッティング・コードを生成することを可能とし、ウェブ・ページ・レイアウトに使用することができる、ウェブ・ページのオーサリング支援の方法を提供する。
【課題を解決するための手段】
【0007】
本発明は、請求項1で請求される、サーバ上の複数のドキュメントに対する表示フォーマッティングを自動的に生成する方法を提供する。本発明は、請求項9の対応するサーバ・システムおよび請求項10のコンピュータ・プログラム製品を提供する。
【0008】
本発明は、ウェブ・ページのコンテンツ・ソースをウェブ・ページから切り離すことを可能とし、ソースの変更に応答して、ウェブ・ページの速やかで自動的な更新を実現する。本発明の制御は、互いに埋め込むことができ、これによって、複雑なウェブ・ページを容易に作成することが可能になる。
【0009】
本発明を、図面に関連して以下に説明する。
【発明を実施するための最良の形態】
【0010】
図1およびそれに関連した説明は、本発明を実施できる適切なコンピューティング環境の一例を示すものである。本発明の実施形態は、パーソナル・コンピュータ上で実行されるコンピュータ・プログラムのコンピュータで実行可能な命令という一般的な文脈で説明するが、本発明はまた、他のプログラム・モジュールと組み合わせて実施することもできる。
【0011】
一般に、プログラム・モジュールは、個々のタスクを実行し、個々の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、本発明はまた、ハンドヘルド装置、マルチプロセッサ・システム、マイクロプロセッサ・ベースもしくはプログラム可能な大衆消費電子製品、ミニコンピュータ、メインフレーム・コンピュータ、およびローカルのメモリ記憶装置にもリモートのメモリ記憶装置にもプログラム・モジュールを配置できる分散コンピューティング環境を含めて、その他のコンピュータ・システム構成を使用して実施することもできる。
【0012】
図1を参照すると、本発明は、処理装置210、システム・メモリ220、およびシステム・メモリ220を含めた様々なシステム・コンポーネントを処理装置210に結合するシステム・バス230を含めて、従来技術によるパーソナル・コンピュータ200の形式の汎用コンピューティング装置内で実装することができる。このシステム・メモリ220は、読出し専用メモリ(ROM)240およびランダム・アクセス・メモリ(RAM)250を含む。
【0013】
(例えば、スタートアップ時に)パーソナル・コンピュータ200内の要素間で情報を転送する助けをする基本ルーチンを含む基本入出力システム(BIOS)260が、ROM240に記憶されている。パーソナル・コンピュータ200はさらに、ハード・ディスク(図示せず)からデータを読み取り、またはそれにデータを書き込むためのハード・ディスク・ドライブ270、着脱可能な磁気ディスク290からデータを読み取り、またはそれにデータを書き込むための磁気ディスク・ドライブ280、およびCD ROMや他の光メディアなど着脱可能な光ディスク292からデータを読み取り、またはそれにデータを書き込むための光ディスク・ドライブ291を含み、これらはすべて、それぞれインターフェース292、293、294によりシステム・バス230に接続される。これらのドライブおよび関連するコンピュータ読取り可能な媒体は、パーソナル・コンピュータ200用のコンピュータ読取り可能な命令、データ構造、プログラム・モジュールその他のデータの不揮発性記憶を提供する。本明細書に記載の環境の例では、ある種のディスクを使用しているが、データを記憶するための他の種類のコンピュータ読取り可能な媒体も使用できることが、当業者には理解されよう。
【0014】
オペレーティング・システム295、1以上のアプリケーション・プログラム296、その他プログラム・モジュール297、およびプログラム・データ298を含めて、いくつかのプログラム・モジュールは、ディスク290、292、ROM240、またはRAM250に記憶することができる。入力装置(例えば、キーボード201、ポインティング装置202、マイクロフォン、ジョイスティックなど)を介して、コマンドおよび情報をパーソナル・コンピュータ200に入力することができる。これらの入力装置は、シリアル・ポート・インターフェース206、パラレル・ポート、ゲーム・ポート、またはuniversal serial bus(USB)を介して、処理装置210に接続することができる。モニタ207、またはその他の表示装置も、ビデオ・アダプタ208などのインターフェースを介して、システム・バス230に接続される。
【0015】
パーソナル・コンピュータ200は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、その他共通ネットワーク・ノードなど1以上のリモート・コンピュータ209への論理接続を使用して、ネットワーク環境中で動作することができる。図1に示す論理接続は、ローカル・エリア・ネットワーク(LAN)212および広域ネットワーク(WAN)213を含む。かかるネットワーキング環境は、オフィス、企業規模のコンピュータ・ネットワーク、イントラネット、およびインターネットでは一般的である。
【0016】
LANネットワーキング環境中で使用するとき、パーソナル・コンピュータ200は、ネットワーク・インターフェースまたはアダプタ214を介して、ローカル・ネットワーク212に接続される。WANネットワーキング環境で使用するとき、パーソナル・コンピュータ200は一般に、シリアル・ポート・インターフェース206を介してシステム・バス230に接続されたモデム215、またはインターネットなど広域ネットワーク213上で通信を確立するためのその他の手段を含む。本発明の動作は、例えば一方がサーバとして、他方がクライアントとして(図4参照)機能する2台のコンピュータ200、209の間で分散することができる。各コンピュータ200、209(クライアントおよびサーバ)についての本発明の動作は、アプリケーション・プログラム296、その他のプログラム・モジュール297として、各コンピュータ200、209のRAM250にあるいはディスク270、280、291の1つに記憶することができる。図に示したネットワーク接続は例であり、コンピュータ間で通信リンクを確立するための他の手段を使用することもできることが理解されよう。
【0017】
図2は、コンテンツ・ソースからマークアップ・コードを自動的に生成することによって、ウェブ・オーサリングを支援する方法10を示す流れ図である。マークアップ・コードという用語は、ウェブ・ページのフォーマッティングおよび表示で使用される任意のコードを意味し、表示フォーマッティング命令という用語と区別なく使用することができる。マークアップ・コードは、HTML、Java(R) Server Page(JSP)、Active Server Page(ASP)、Extensible MarkupLanguage(XML)などのマークアップ言語によるものでよい。簡単な入力パラメータに基づいて、マークアップ・コードを自動的に生成する方法10により、複雑なウェブ・ページを作成する。方法10は、ウェブ・ページの基礎となるコード中のこれらのコンテンツ・ソースを参照し、表示の実行前にこのコードを処理することによって、ウェブ・ページから切り離すことのできるソースからコンテンツを組み込む方式を実現する。
【0018】
ステップ12で、第1組のマークアップ・コードが作成され、これがウェブ・ページの基礎として機能する。この第1組のマークアップ・コードには、ステップ14でコード中に挿入されるweb authoring control(WAC)タグが含まれる。WACは、表示のためにコンテンツ・ソースをフォーマットする動作、および任意選択でフォーマット済みのコンテンツ・ソースをウェブ・ページに挿入する動作を定義する。WACタグは、タグ中で参照されるコンテンツ・ソースをどのようにフォーマットし、第1組のコード中に挿入すべきかを指定する。タグ中で参照されるコンテンツ・ソースは、第1組のコードが属する関連するドキュメントおよびリソースを含むプロジェクトの一部をなす。WACタグ中の入力パラメータ値を設定し、次いでプロセッサを実行することにより、WACタグが参照するコンテンツ・ソースに対するマークアップ・コードを生成する。WACの実行により、パラメータ化したマクロと同様な結果が生じる。
【0019】
例えば、サイト・マップ・リソースと、このサイト・マップを読み取りナビゲーション制御を生成しそれぞれ個々のウェブ・ページに挿入するWACとを作成することにより、ナビゲーション制御をウェブ・サイトのすべてのページに追加することができる。すなわち、ナビゲーション制御コンテンツ用のWACタグをウェブ・ページに挿入することによって、ナビゲーション制御用のマークアップ・コードを自動的に生成しそのページに追加することができる。かかる結果は以前にはしばしば、マークアップ・コード中の既存のナビゲーション制御をそれぞれ個々のページに追加するためのコピーおよび貼り付け動作によって実現されていた。
【0020】
別の例として、データベース・テーブル中の各レコード、およびこれらのレコードにリンクするインデックス・ページをウェブ・ページに表示する場合、WACを使用して各レコードおよびインデックス・ページ用のマークアップを生成するプロセスを簡略化することができる。インデックス用とレコード用の合わせて1対のWACを使用することによって、インデックスおよびレコードをもつウェブ・ページを作成することができる。インデックスおよびレコードの表示に使用されるウェブ・ページ中に、これらのWAC用のタグを組み込むことができる。
【0021】
ステップ16で、WAC入力パラメータの値をWACタグ中で設定する。第1組のマークアップ・コードの作成、WACタグの挿入、およびパラメータ値の設定(ステップ12ないし16)は、すべて標準的なマークアップ・コード・エディタで実施することができる。
【0022】
ステップ18で、WACタグによって参照されるコンテンツ・ソースから第2組のマークアップ・コードを生成する。WACは、この生成プロセス、すなわち、どのようにしてコンテンツ・ソースを読み取り、マークアップ・コード中にフォーマットして入れるかを定義する。
【0023】
ウェブ・ページ・オーサリングのライフ・サイクルは、作成、保存、編集、プレビュー、チェックイン、および発行を含めて、定義された1組のコンテキストを有する。ここで、チェックイン段階および発行段階は、多分オーサリング・サーバ上で行われる。ライフ・サイクル中のこれらの段階は、多分オーサリング・サーバ上でWACの実行を開始するトリガ・ポイントとして使用することができる。例えば、プロジェクト中の1つのドキュメントが変化し、チェックインされるとき、この変化の影響を受けるすべてのドキュメントを再処理して、これらの変化を含めることができる。これによって、静的コンテンツを使用してしかも容易に変更できるようにすることが可能となり、WACをウェブ・ページのライフ中の任意の時点で処理することが可能になる。静的コンテンツの使用により、サーバの処理の負荷が減り、検索エンジンによってウェブ・ページにインデックス付けすることが可能になる。
【0024】
マークアップ・コードを生成するためのWACの処理は、ウェブ・ページのライフ・サイクル中の様々な段階で行うことができる。これにより、入力パラメータ、リソース、またはコンテンツ・ソースの全体を変更するとき、それを再処理することができるので、ウェブ・ページの保守が簡単になる。ナビゲーション制御の上記の例では、サイト・マップが変化するとき、それぞれ個々のページを手作業で変更する必要なしに、ナビゲーション制御ソースを参照するWACタグを含むウェブ・ページを再処理することができる。
【0025】
ステップ20で、コンテンツ・ソースから生成される第2組のマークアップ・コードを、第1組のマークアップ・コード中に組み込む。任意選択で、第2組のマークアップ・コードを別の出力ファイルに組み込むこともできる。ステップ22で、この結合された1組のマークアップ・コードが保存される。ステップ24で検索および表示の要求を受け取ると、この結合されたマークアップ・コードを要求側に送る。
【0026】
第1組のマークアップ・コードに組み込む前に、任意選択で第2組のマークアップ・コードを編集することができる。この時にユーザによって行われるどの変更および追加も、ユーザによって生成されたものとマークされる。
【0027】
図3は、図2のうちのマークアップ・コード18を生成するステップをより詳細に示す流れ図である。WACプロセッサは、ステップ30で第1組のマークアップ・コードを読み取り、ステップ32でこのコード中のすべてのWACタグの位置を見つける。第1組のマークアップ・コード中のすべてのWACタグからツリー構造を形成する。WACの位置の突き止めおよびツリー構造の形成は、既知の技術に従って実施することができる。例えば、Java(R)やXMLを使用して実施されるWACでは、Document Object Model(DOM)規格に従ってツリーを形成することができる。このツリーは、処理する必要があるすべてのWAC、および第1組のコード中で発生する順序を設定する、第1組のマークアップ・コードに対するマップとして機能する。WACタグを内蔵できる場合には、このツリーを用いると、WACの深さ優先の順序処理が可能になり、WAC処理の結果の相対配置が保持される。
【0028】
ステップ34で、具体的なWACタグに対するパラメータ入力が、WACプロセッサに渡され、次いでステップ36で、WACが実行される。複数のWACが単一の第1組のコード内に見つけられると、個々のWACについてステップ34および36がそれぞれ反復される。すべてのWACの実行が完了すると、ステップ20で、処理結果が第1組のコードに組み込まれる。
【0029】
図4は、コンテンツ・ソース68から自動的にマークアップ・コードを生成することにより、ウェブ・オーサリングを支援するシステム50を示すシステム図である。図に示すシステム50は、クライアント54およびサーバ52を使用し、ここでは、ウェブ・ページのオーサリングが、クライアント54上で行われ、WACの実行がサーバ52上で行われる。
【0030】
クライアント54は、標準のマークアップ言語エディタ62を含む。エディタ62は、第1組のマークアップ・コード64の作成に使用される。この第1組のコード64は、ウェブ・ページの基礎となる。第1組のコード64の内部には、第1組のコード64の外部のコンテンツ・ソース68を指定するWACへのタグ66がある。コンテンツ・ソース68および第1組のコード64は、より大きなプロジェクトの一部とすることもできる。タグ66中で示されるWACは、どのようにしてコンテンツ・ソース68を処理し、また任意選択で第1組のコード64に組み込むべきかを指定する。
【0031】
クライアント54は、例えば、あるプロジェクト中のリソースを制御するためのプロジェクト・マネージャや、リソースを処理するためのビルド・プロセッサなど、その他の開発ツールを含むことができる。クライアント54は、プロジェクト・リソースのバージョンを記憶し、それらへの同時アクセスを制御するための、ソース・コード制御システムを含むこともできる。
【0032】
サーバ52は、コンテンツ・ソース68および第1組のコード64が属するプロジェクトのすべてのドキュメントを記憶するためのリポジトリを含む。このリポジトリ、すなわちウェブ・ページ記憶装置58は、1以上のクライアント54からプロジェクトに関連するドキュメントを受け取る。複数のクライアント54がこのデータを共用している場合、記憶装置58は、ドキュメントの編集能力を一時に単一のクライアント54だけに制限するドキュメント制御メカニズムを含むことができる。第1組のコード64などのドキュメントは、作成後、クライアント54からの関連するドキュメント(すなわちコンテンツ・ソース68)と共にウェブ・ページ記憶装置58に記憶される。サーバ52は、記憶装置58に記憶されているウェブ・ページを閲覧することを求める要求を処理する要求発行プロセッサ60も含む。
【0033】
サーバ52は、WAC定義記憶装置70に記憶されているWAC定義に従って、記憶装置58内のドキュメント中のWACタグを処理するためのWACプロセッサ56を有する。ドキュメント中のWACタグは、WAC識別子すなわち名称に対する参照、ならびに処理を制御するためのデータをWACに供給するパラメータを含む。WACプロセッサ56は、プロジェクトのドキュメントを更新するとき、クライアント54中のビルド・プロセッサから呼び出すことができる。
【0034】
WAC定義記憶装置70に記憶されている各WAC定義は、3つの構成要素、すなわち識別子72、パラメータ74、および制御アクション76を有する。処理のためにサーバ52に保存されている第1組のコード64からWACタグを読み取るとき、WAC識別子およびパラメータは、WACの実行中に使用すべき別々の要素として記憶される。識別子72は、ある種のWACに特有の一意の識別子である。パラメータ74は、基本的なフォーマッティング情報を含み、その他のWACへの参照を含むこともできる。制御アクション76は、パラメータ74中で供給される情報に従って、マークアップを生成する。制御アクション76によって生成されるマークアップは、WACタグ66中で参照されたドキュメント中に挿入されるキャラクタ・シーケンスである。このキャラクタ・シーケンスは、第1組のコード64の表示に関連してどのようにコンテンツ・ソース68を表示すべきかを示す。すなわち、制御アクション76は、2組のコードのシームレスな表示ができるように、すなわちコンテンツ・ソース68を第1組のコード64に組み込むことができるようにするために、コンテンツ・ソース68を、第1組のコード64のマークアップ言語に、例えばHTMLに変換する。
【0035】
制御アクション76を用いると、パラメータ74を設定する助けとなるインターフェースを提示することによりウェブ・オーサリングが簡単になる。クライアント側54のエディタ62は、例えばプロパティ・シートを介した識別子72によるWACの参照を、任意選択のカスタム・プロパティ・エディタとともに含むことができる。制御アクション76を使用して、リストに行番号を追加するなどの退屈な作業を自動化することができ、またユーザが複雑なHTMLまたはJava(R)スクリプトを書き込むことができるという必要をなくすことができる。
【0036】
図5は、図4のWACプロセッサ56を示すシステム・アーキテクチャ図である。WACプロセッサ56は、処理し、第1組のコード64を含むファイルに含めるべきドキュメントを指定するパラメータを受け入れる。WACプロセッサ56はまた、第1組のコード64のライフ・サイクル段階に関するパラメータ、および出力前に第1組のコード64を更新すべきか、それともそれからWACタグを取り除くべきかなど他の処理オプションも受け取る。
【0037】
WACプロセッサ56中のドキュメント読取り機構80は、現在のプロジェクトから第1組のコード64を読み取る。第1組のコード64を含むファイルを読み取ると、ドキュメント読取り機構80は、読取りファイルをドキュメント・パーサ82に送り、そこで、読取りファイルのコンテンツからツリー構造が形成される。
【0038】
ドキュメント更新機構84は、構文解析されたファイル中でWACを更新する。ドキュメント更新機構84の実行は、入力パラメータを使用することによって抑制することができる。これは、ファイルがすでに更新を完了しているが、発行前にWACタグを取り除く必要があるときに役に立つ。ドキュメント更新機構84は、ツリーをトラバースし、ツリー中のタグ付けされた各WACを実行する。実行済みの各WACは、ツリーの一部となり実行される追加のWACを含むことができるマークアップ・コードを生成する。ツリーは、ファイル中のWACの順序に相当する深さ優先の順序で一度トラバースされる。ドキュメント更新機構84はまた、第1組のコード64からWACタグを抽出し、各タグからのWAC識別子およびパラメータを一時的に記憶する。
【0039】
ドキュメント更新機構84中の制御ローダ90が、一時的に記憶されたWAC識別子を取得する。この制御ローダ90は、WAC定義を使ってWAC定義記憶装置70中を探索して、保持されているものと同じ識別子72をもつWAC定義を見つける。一致する識別子を見つけると、制御ローダ90は、WAC定義のインスタンスを作成する。WACインスタンスは、性能を改善するためにプールし再利用することができる。
【0040】
制御実行機構92が、保持されたパラメータを取得し、これらのパラメータを制御ローダ90によって作成されるWACインスタンスのパラメータ74の定義のプロパティとして設定する。次いで制御実行機構92は、WACインスタンスを実行し、第2組のコードなど更新済みのマークアップ・コードを作成する。WACインスタンスは、その実行時にプロジェクト・リソースにアクセスして、WACタグから参照される、サーバ52上またはそれ以外の場所に記憶されているコンテンツ・ソースからコンテンツを取得する。
【0041】
制御実行機構92中のリソース・マネージャ96が、実行中のWACインスタンスに、コンテンツ・ソースなどのプロジェクト・リソースへのアクセスを提供する。WACインスタンスは、プロジェクト・リソースを作成し、読み取り、更新し、削除することができる。例えば、バナーまたはナビゲーション・バーを生成するWACは、サイト・マップ・プロジェクト・リソースにアクセスすることができる。また、データベースからページを生成するWACは、既存の1組のページを削除し、新しい1組のページを作成することもできる。
【0042】
ドキュメント更新機構84中のコンテンツ・マージ機構94が、更新済みのマークアップ・コードを取得し、それをファイルにマージする。すなわち、コンテンツ・マージ機構94は、自動的に生成されたか、それともユーザによって生成されたかというコードのタイプに従って、第2組のコードを第1組のコード64にマージする。これらのコードのタイプは互いに区別され、それによって第2組のコードの第1組64へのマージが容易になる。ユーザによって生成されたコードは、ユーザによって生成されたものとマークが付けられ、ユーザによって生成されていない残りのコードはどれも、自動的に生成されるものと想定される。第2組のコードは、自動的に生成されまたはユーザによって生成される、新しいマークアップ・コードから形成されるが、第1組のコード64は以前のコードを含む。2組のコードをマージする前に、対応付けを行って、2組の一部分が相互に関連するかどうかを判定する。かかる対応する部分のどれに対しても注記が行われる。
【0043】
(第1組のコード64中の)自動的に生成された以前のマークアップ・コードは、ファイルから取り除かれ、第2組のコードからの自動的に生成された新しいマークアップ・コードで置き換えられる。自動的に生成され、またはユーザによって生成された、第1組のコード64の一部分と対応しない新しいマークアップ・コードは、第1組64中に挿入される。新しいマークアップ・コードがユーザからのマークアップを含む場合、一致するコードがあるかどうか、以前のマークアップ・コードを検査する。以前のユーザ・マークアップ・コードを対応する新しいユーザ・マークアップ・コードの上に保持することもできる。これによって、例えば、現在のプロジェクトのドキュメントの変更に応答して、オリジナル・ユーザが、保持すべきでありWACの自動的な実行中に上書きすべきではないフォーマットに変更を加えることが可能になる。あるいは、パラメータ中でそのように指定することにより、以前のユーザ・コードを対応する新しいユーザ・コードで置き換えることもできる。このユーザ・マークアップ・コードは、以前のマークアップ・コードと新しいマークアップ・コードの間の対応付けを行うためにマージ・プロセス中で使用される名称の属性を有することができる。対応する新しいユーザ・マークアップ・コードは、以前のユーザのマークアップ・コードと異なる順序となることができ、この場合、コンテンツ・マージ機構94モジュールが、以前のユーザのマークアップ・コードを順序変更することができる。これにより、WACが柔軟なページ・レイアウトを実施することが可能となる。例えば、ページ・レイアウトが主題およびサイドバーを定義し、サイドバーの位置がWACのパラメータによって指定されるものと想定する。その場合、位置を変更するとき、コンテンツ・マージ機構94は、レイアウト領域を正しく順序変更する。
【0044】
WACプロセッサ56中の制御ストリッパ86が、WACタグを第1組のコードから取り除く。WACプロセッサ56は、通常WACタグを保持するが、WACタグ中のWACプロセッサ56への入力パラメータを指定することにより、任意選択でWACタグを取り除くことができる。第1組のコード64からWACタグを取り除くことにより、ドキュメント・サイズを小さくすることができ、またデータベースのパスワードなど取扱いに慎重を要するパラメータ情報を取り除くこともできる。
【0045】
WACプロセッサ56中のドキュメント・ライタ88が、マージされたコードを出力ファイルに書き込む。マージ機構の出力は、オリジナル・ファイルを上書きすることができ、また異なるファイルに書き込むこともできる。マージされたコードは、制御ストリッピングが望ましいことがあるので、発行時に異なるファイルに書き込むことができる。
【0046】
WAC処理を1つの位置で行うこともでき、この場合、サーバ機能およびクライアント機能が1つのコンピュータ(図示せず)上に配置される。この場合、マークアップ・コード・ファイルは、コードを開発するために使用するコンピュータ上で完全に処理することができる(すなわち、WACの実行はクライアント上で行われる)。処理後、表示要求を処理するために、第1組のコードを伴うファイルを標準のウェブ・サーバに発行することができる。コンテキスト・パラメータを入力としてWACプロセッサに送ることにより、この処理を制御することができる。このコンテキスト・パラメータは、ドキュメントのライフ・サイクル段階(すなわち、作成、保守など)を指定する。開発コンピュータ上に存在するWACプロセッサは、コードを完全に処理して、ウェブ・サーバが要求を受け取るのに応答して表示できるように準備する。
【0047】
これまでに記載した本発明の実施形態は、オーサリングの完了時に処理されていたが、WACはまた、ウェブ・ページを表示するための要求を受け取ったとき実行時に処理することもできる。
【0048】
WACを使用して、ウェブ・ページ上のコンテンツを定期的に自動的にリフレッシュすることができる。例えば、ウェブ・サイトが、毎日更新されるデータベースに記憶されている製品情報を伴う製品カタログを含む場合、WACは、データベースの変更を反映するようにウェブ・ページを更新する際に支援することができる。ウェブ・サイトのウェブ・ページ中のWACをそのデータベースにリンクし、WACを使用してウェブ・ページ中にデータベースの情報を抽出することができ、このウェブ・ページが次いでウェブ・サーバに発行される。データベースをそれぞれ更新するごとに、WACプロセッサを使用して、インデックス・ページ、および製品ページのすべてをデータベースから再生成することができる。生成されたドキュメントは、さらなる動的コンテンツがウェブ・ページに含まれない場合はHTML形式、追加の動的コンテンツが必要な場合は例えばJSP形式とすることができる。WACを使用してあまり変化することのない(すなわちどちらかというと静的な)コンテンツを生成することにより、必要な処理量を低減することができる。JSPをWACなしに使用する場合、データベースは、実行時に要求されるページごとにアクセスされ、そのため、性能が低下し、許容可能な性能を維持するためにより多くのコンピュータが必要になる。WACを使用することにより、実行時処理が、しばしば変化する動的なコンテンツを生成することに限定される。
【0049】
本発明の可能な一実施形態は、document type definition(DTD)を使用するWACタグ、XMLファイル中で使用することができるタグを定義するルール、およびこれらのタグの有効な値を指定するものである。WACの定義は、WACをウェブ・ページ中に挿入するためのタグを指定するXMLスキーマ、WACを開発するためのJava(R)ライブラリ、およびWACを含むウェブ・ページ中でコードを生成するためのJava(R)プロセッサを使用することができる。XMLスキーマは、データの要素および属性ならびに要素間の関係を定義する、データ・モデルを表現するシステムである。識別子72、パラメータ74、および制御アクション76は、要素として実装することができ、これらの要素は、開始タグおよび終了タグ、ならびにこれらのタグ間のコンテンツと称する情報を有する、XML構造の構造体である。
【0050】
かかる実装形態では、パラメータ値やコンテンツ・ソース位置など、WACの実行に関する情報は、WACタグ中に属性として含まれる。これにより、第1のWACの実行中に埋め込まれた第2のWACを見つけ実行して、その結果を第1のWACの実行結果に含めることができるように、WACをネストすることが可能になる。
【0051】
WACのDTDでは、すべてのデータがWACタグのXML属性で表されるものと指定している。WACのDTDの完全な実装を付録A(wac.dtd)に示す。ウェブ・ブラウザの通常の挙動作はHTMLタグだけを示すことなので、ドキュメントが表示されるとき、すべてのWACタグは実際には非表示になる。したがって、このXMLの使用により、HTMLコメントの使用と同じ効果が実現され、複雑なウェブ・ページ・レイアウトの作成にとって望ましいことであるが、WACをネストすることが可能になる。
【0052】
第1組のコードのHTMLまたはXML構文解析では、ツリーの作成により、WAC処理の順序を制御するために使用できるDocument Object Model(DOM)が生成される。
【0053】
この可能な実装形態では、Java(R)クラスを実装することにより、新しいWACを作成することができる。Java(R)クラスは、特定のオブジェクトを定義するデータ・メンバとメソッドの集合体である。
【0054】
かかる実装形態に基づいた例示的なWACの呼出しを以下に示す。
【0055】
タグ<wac:control>はWACタグの開始を示す。このタグは、使用するWACが、wac.samples.Includeという名称のJava(R)クラスであることを指定する。このクラスは、WACプロセッサ56によって実行される。タグ<wac:parameters>は、このパラメータ・セクションの開始を示す。これは、"include"という名称のパラメータが、値"/source"を有することを指定し、この値はこのインクルードWACによって、このリソース"source"がHTMLページ中に含まれることを意味するものと解釈される。このウェブ・ページは、WACが処理され、"source"のコンテンツに対するHTMLコードが生成されるまで、"source"のコンテンツを含まない。ウェブ・ページが処理されるとき、WACプロセッサは、ページを読み取り、WACをそのページに見つけ、WACに指定されたパラメータを渡し、WACを実行し、その出力をウェブ・ページに戻してマージする。
【0056】
Java(R)の実装では、制御要素は、名称、クラス、および使用可能値(enablementvalue)を有する。名称は、ある制御を他の制御から参照できるようにするための、その制御に対する一意的な識別子である。クラスは、制御を実装するJava(R)クラスの名称である。使用可能値は、この制御がそのマークアップを再生成すべきかどうかを判定するために設定される。以下は、制御要素の構造の一例である。
【0057】
制御要素は、プロパティを設定するために使用されるパラメータと、生成済みのマークアップを含むマークアップ要素とを含むパラメータ要素を含む。
【0058】
パラメータ要素は、制御プロパティを設定するために使用されるパラメータを含む。以下は、あるパラメータ要素の構造の一例である。
【0059】
パラメータ要素は、1つの制御プロパティを定義するparam要素を含む。このparam要素の構造の一例は、以下の通りである。
【0060】
このparam要素は、プロパティ名とプロパティ値を有する。このparam要素はまたプロパティ値タイプを有し、これは(ストリング番号などの)データ、URL参照、または別の要素とすることができる。プロパティ・タイプがURLである場合、プロパティ・タイプは、絶対的すなわち"http:"などのスキームで開始してもよいし、また相対的なものでもよい。相対的なURLは、同じプロジェクトの別のリソースを参照する。
【0061】
パラメータ要素はまた、param array要素を含み、以下にその構造の一例の概略を示す。
【0062】
paramarray要素は、制御インデックス・プロパティを定義する。このparamarrayは、param要素と同様に、プロパティ名とプロパティ値タイプを有する。
【0063】
paramarrayはまた、paramvalue要素を有し、その構造の一例を以下に概説する。
【0064】
このparamvalue要素は、所与のインデックスに対するインデックス付きプロパティ値を定義する。paramarray要素中のparamvalue要素の位置が、インデックスを定義する。
【0065】
マークアップ要素は、制御要素によって生成されるマークアップを含む。このマークアップ要素は、任意の有効な非WACマークアップ、ならびに制御およびusermarkup要素を、直接または間接に含むことができる。制御要素使用可能値を使用不能にすることにより、生成済みのマークアップをユーザが変更することができる。あるいは、生成済みのマークアップからWACタグを取り除くことができる。
【0066】
usermarkup要素を用いると、WACによって生成されるマークアップ中に、ユーザがマークアップを挿入することが可能になる。WACがマークアップを再生成するとき、usermarkup要素のコンテンツは保存される。usermarkup要素は、その目的を識別する要素を識別する名称を有する。usermarkup要素は、任意の非WACマークアップ、ならびに制御要素を含むことができる。
【0067】
付録A:WAC.DTDの例
<!DOCTYPE eBAF-WAC-1.0 [
<!--
このDTDは、ウェブ・オーサリング制御、すなわち略語で表すとWACを記述する。WACは、ウェブ・ページをオーサリングするための生産性支援手段である。WACを使用して、複雑なマークアップを生成するタスクを簡略化することができ、すなわち、WACにより、マークアップが依存するリソースが変化するときのマークアップの更新など、退屈なタスクを自動化することができる。WACは、開発時に実行される。すべてのWACタグは、ランタイム環境に展開されるとき、ドキュメントから取り除くことができる。
【0068】
WACは、HTML、JSP、または総称的XMLでもよいドキュメント中に含まれる。このドキュメントは、関連するドキュメントおよびリソースを含むプロジェクトの一部である。例えば、WACを使用して、サイト・マップ・リソースからナビゲーション・バーを生成することができる。プロジェクトおよびドキュメントはWACの実行コンテキストの一部である。実行の過程で、WACは、リソースを読み取り、既存のリソースを更新または削除し、新しいリソースを作成することができる。ドキュメント中にWACを埋め込むために使用するタグ付けスキームは、XML規格に準拠している。WACタグに含まれるすべての非マークアップ・データ(すなわちメタデータ)は、WACを含むドキュメントを通常のウェブ・ブラウザによって表示できるようにするために要素の属性として表される。対照的にWebBotおよびDTCは、ネストすることができないHTMLコメント中にメタデータを記憶する。XML要素を使用すると、WACをネストし、したがって構成することが可能なので、より強力となる。例えば、ページ・レイアウトWACは、ネストされたナビゲーションWACを含むことができる。
-->
<!-- The <control> Element
【0069】
ある制御は、マークアップをパラメータから生成するJavaBeanである。ある制御は、パラメータ付きのマクロに似ている。パラメータは、数字や文字列などの簡単なデータ、あるいは同じドキュメント内の他の制御、またはプロジェクト中に置かれたリソースの参照とすることができる。
【0070】
制御は、ユーザがパラメータを設定するのを支援するユーザ・インターフェースを提示することにより、ウェブ・オーサリングを簡単にする。このユーザ・インターフェースは、JavaBeanによって定義され、任意選択のカスタム・プロパティ・エディタを伴うプロパティ・シートとすることができ、またカスタマイザとすることもできる。制御を編集のために選択するとき、エディタはプロパティ・シートまたはカスタマイザをユーザに提示する必要がある。
【0071】
制御を使用して、リストに行番号を追加するなど退屈なタスクを自動化することができ、またユーザが複雑なHTMLタグおよびJSPタグ、またはJava(R)スクリプトレットを書き込むことができるという必要をなくすことができる。
【0072】
<control>要素は以下の属性を有する。
名称:制御に対する一意のID、したがって、この名称を他の制御から参照することができる
クラス:制御を実施するJava(R)クラスの名称
使用可能(enabled):制御がマークアップを再生成すべき場合に真(true)
【0073】
ID属性は、制御を他の制御から参照できるようにするためのIDである。
【0074】
クラス属性は、制御を実施するクラスの完全に適格な名称である。WACプロセッサがクラスを位置決めする方法は定義されていない。
【0075】
使用可能属性により、必要なら、ユーザは制御を使用不能にすることが可能になる。例えば、ユーザは、生成済みのマークアップの一時的な変更を希望することができる。
【0076】
<control>要素は、JavaBeanプロパティを設定するのに使用されるパラメータの<parameters>要素、および生成済みのマークアップを含む<markup>要素を含む。
-->
<!ELEMENT control (parameters,markup)>
<!ATTLIST control
id ID #REQUIRED
class CDATA #REQUIRED
enabled (true I false)"true">
<!-- The <parameters> Element
【0077】
<parameters>要素は、制御プロパティを設定するのに使用されるパラメータを含む。制御がJavaBeanであるので、このプロパティは、単一値でも、またインデックス付きのものでもよい。
【0078】
<parameters>要素は、ゼロまたは1個以上の<param>要素または<paramarray>要素を含むことができる。
【0079】
<param>要素は、単一値のプロパティを定義する。
<paramarray>要素は、インデックス付きのプロパティを定義する。
-->
<!ELEMENT parameters (param | paramarray)*>
<!-- The <param> Element
<param>要素は、制御プロパティを定義する。この要素は、以下の属性を含む。
名称:プロパティ名称
値(value):プロパティ名称
値タイプ(valuetype):プロパティ値タイプであり、これは以下のうちの1つとすることができる。
データ:値は、数字や文字列などの簡単なデータである
参照(ref):値はURLである
オブジェクト:値はこのドキュメント中の別の要素のIDである
【0080】
タイプ参照(type ref)の値はURLである。URLは絶対的なものでも、また相対的なものでもよい。URLが例えば「http:」のスキームで始まる場合、URLは絶対的である。そうでない場合には、URLは相対的である。
【0081】
相対的なURLは、プロジェクト中の別のリソースを参照する。URLが「/」で始まる場合、URLは、プロジェクト・ルートに対して相対的である。そうでない場合には、URLは、ドキュメントに対して相対的である。参照されたリソースを移動し、または名称変更する場合、あるいはドキュメントを移動する場合に、WAC準拠のサイト管理ツールは、この値を更新する必要がある。
【0082】
タイプ・オブジェクトの値は、ドキュメント中における別の要素のIDである。参照された要素のIDを変更する場合、WAC準拠のエディタは、この値を更新する必要がある。
-->
<!ELEMENT param EMPTY>
<!ATTLIST param
name CDATA #REQUIRED
value CDATA #REQUIRED
valuetype (data | ref | object)"data">
<!-- The <paramarray> Element
<paramarray>要素は、制御インデックス付きのプロパティを定義する。この要素は、以下の属性を含む。
名称:プロパティ名称
値タイプ(valuetype):プロパティ値タイプ(<param>要素を参照)
【0083】
<paramarray>要素は、ゼロまたは1個以上の<paramvalue>要素を含み、<paramvalue>要素は、インデックス付きのプロパティの値を定義する。
-->
<!ELEMENT paramarray (paramvalue)*>
<!ATTLIST paramarray
name CDATA #REQUIRED
valuetype (data | ref | object)"data">
<!-- The <paramvalue> Element
<paramvalue>要素は、所与のインデックスに対するインデックス付きプロパティの値を定義する。<paramarray>要素中の<paramvalue>要素の位置が、このインデックスを定義する。
【0084】
<paramvalue>要素は、以下の属性を有する。
値(value):プロパティ値
-->
<!ELEMENT paramvalue EMPTY>
<!ATTLIST paramvalue
value CDATA #REQUIRED>
<!-- The <markup> Element
<markup>要素は、制御が生成するマークアップを含む。<markup>要素は、任意の有効な非WACマークアップを含むことができ、また<control>要素および<usermarkup>要素を直接的または間接的に含むこともできる。
【0085】
マークアップを再生成するとき、ユーザがマークアップに対して施した変更がどれも置き換えられるので、エディタは、<usermarkup>要素中に含まれないマークアップはどれも書き込み保護されているものとして扱うべきである。ユーザ・マークアップを保持するために、ユーザ・マークアップを<usermarkup>要素中に含めなければならない。
【0086】
ユーザが、生成済みのマークアップを変更する必要がある場合、2つの選択肢がある。
【0087】
第1に、その制御の使用可能にされた属性を偽(false)に設定することによって、制御を使用不能にすることができる。WAC準拠のエディタは、ユーザがすべてのまたは選択された制御を使用可能または使用不能にする方法を提供する必要がある。
【0088】
第2に、ユーザは、生成済みのマークアップを囲むWACタグをドキュメントから取り除くことができる。WAC準拠のエディタは、ユーザがすべてのまたは選択された制御を取り除く方法を提供する必要がある。
-->
<!ELEMENT markup ANY >
<!-- The <usermarkup> Element
<usermarkup>要素により、WACが生成するマークアップ中に、ユーザがマークアップを挿入することが可能になる。WACがマークアップを再生成するとき、<usermarkup>要素のコンテンツは、通常は保存される。
【0089】
<usermarkup>要素は、以下の属性を有する。
名称:目的を識別する要素の名称
【0090】
<usermarkup>要素のコンテンツは、通常は保持されるが、WACがマークアップを再生成するとき、要素のコンテンツの相対的な順序が変化することもある。さらに、新しい<usermarkup>要素が生成され、既存のものが除去されることもある。WACは、<usermarkup>要素を生成し、WACプロセッサは、名称属性を合致させることによって、既存のコンテンツにマージされる。
【0091】
<usermarkup>要素は、任意の非WACマークアップを含むことができ、また<control>要素も含むことができる。
-->
<!ELEMENT usermarkup ANY >
<!ATTLIST usermarkup name CDATA"">
]>
【図面の簡単な説明】
【0092】
【図1】本発明の実施形態によるコンピューティング環境を示す概略図である。
【図2】コンテンツ・ソースからマークアップ・コードを自動的に生成することにより、ウェブ・オーサリングを支援する方法を示す流れ図である。
【図3】図2のマークアップ・コードを生成するステップをより詳細に示す流れ図である。
【図4】コンテンツ・ソースからマークアップ・コードを自動的に生成することにより、ウェブ・オーサリングを支援するためのシステムを示すシステム図である。
【図5】図4のWACプロセッサを示すシステム・アーキテクチャ図である。
【0001】
本発明は、ウェブ・ページのオーサリング支援用のツールを対象としており、詳細には、ウェブ・ページのための表示フォーマッティング・コードを自動的に生成するためのツールを対象とする。
【背景技術】
【0002】
World Wide Web(WWW)の普及につれて、ウェブ・ページの迅速な設計および生成が必要になっている。ウェブ・ページは、速やかに作成する必要があるとはいえ、複雑さと柔軟さを保つ必要がある。入力パラメータに基づいてHypertext Markup Language(HTML)などのマークアップ・コードを自動的に生成することによってウェブ・ページの作成を支援するウェブ・ページ・オーサリング用のツールがいくつかある。マークアップ・コードは、コードによって識別されるデータをどのようにして提示し、表示するかという指示を伝える。これらのツールにより、ページ全体を再作成する必要なしにウェブ・ページのコンテンツを変更することが可能になる。この変更はしばしば、ウェブ・ページとは別に変化するコンテンツを記憶し、マークアップ・コード中に変化するコンテンツの位置を指すタグを含めることによって実現される。次いで、別々に記憶された変化するコンテンツに対して作成され、組み込まれたタグおよびマークアップによって指定された制御に従って、ウェブ・ページを処理することができる。
【0003】
Microsoft社は、マークアップ・コード・ファイル中に挿入することができ、ランタイム(run-time)以前のページの設計時に処理することができるActiveX DesignTime Controls(DTCs)を提供している。これについては、米国特許第6,025,119号を参照されたい。しかしながら、DTC処理は、マークアップ・コード・ファイルがその中で作成され、しばしばオーサリング・クライアント上に配置されるエディタに限定される。クライアント上の指定されたエディタ中で処理を行う必要がないようにオーサリングを処理から切り離すことによって、多くの操作をより効率的に実施することができる。
【0004】
DTCは、マークアップ・コード・コメントに基づいており、このマークアップ・コード・コメントは、制御を囲むために使用される。残念ながら、マークアップ・コード・コメントは、互いにネストすることができず、そのため、ページ・レイアウトの作成におけるDTCの使用が制限される。すなわち、DTCを使用し、そのDTC中に他のDTCを埋め込むことによってページ・レイアウトを制御することはできない。ページ・レイアウト機能を提供するためには、別のツールをDTCと組み合わせて使用しなければならない。
【0005】
DTCには、その利用がMicrosoftプラットフォームだけに限定されるという欠点がある。一方、JSP(Java(R)ServerPage)のtaglibは、同様な機能を提供するが、Java(R)言語に基づいており、プラットフォーム特有ではない。しかしながら、taglibは、要求時にのみ実行され、taglibプロセッサがウェブ・アプリケーション・サーバの一部であることが必要となる。さらに、taglibは、動的なコンテンツを生成するので、サーバの処理の負荷が増大する。
【特許文献1】
米国特許第6,025,119号
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、コードのライフサイクルの様々な段階において、ウェブ・ページの表示フォーマッティング・コードを生成することを可能とし、ウェブ・ページ・レイアウトに使用することができる、ウェブ・ページのオーサリング支援の方法を提供する。
【課題を解決するための手段】
【0007】
本発明は、請求項1で請求される、サーバ上の複数のドキュメントに対する表示フォーマッティングを自動的に生成する方法を提供する。本発明は、請求項9の対応するサーバ・システムおよび請求項10のコンピュータ・プログラム製品を提供する。
【0008】
本発明は、ウェブ・ページのコンテンツ・ソースをウェブ・ページから切り離すことを可能とし、ソースの変更に応答して、ウェブ・ページの速やかで自動的な更新を実現する。本発明の制御は、互いに埋め込むことができ、これによって、複雑なウェブ・ページを容易に作成することが可能になる。
【0009】
本発明を、図面に関連して以下に説明する。
【発明を実施するための最良の形態】
【0010】
図1およびそれに関連した説明は、本発明を実施できる適切なコンピューティング環境の一例を示すものである。本発明の実施形態は、パーソナル・コンピュータ上で実行されるコンピュータ・プログラムのコンピュータで実行可能な命令という一般的な文脈で説明するが、本発明はまた、他のプログラム・モジュールと組み合わせて実施することもできる。
【0011】
一般に、プログラム・モジュールは、個々のタスクを実行し、個々の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、本発明はまた、ハンドヘルド装置、マルチプロセッサ・システム、マイクロプロセッサ・ベースもしくはプログラム可能な大衆消費電子製品、ミニコンピュータ、メインフレーム・コンピュータ、およびローカルのメモリ記憶装置にもリモートのメモリ記憶装置にもプログラム・モジュールを配置できる分散コンピューティング環境を含めて、その他のコンピュータ・システム構成を使用して実施することもできる。
【0012】
図1を参照すると、本発明は、処理装置210、システム・メモリ220、およびシステム・メモリ220を含めた様々なシステム・コンポーネントを処理装置210に結合するシステム・バス230を含めて、従来技術によるパーソナル・コンピュータ200の形式の汎用コンピューティング装置内で実装することができる。このシステム・メモリ220は、読出し専用メモリ(ROM)240およびランダム・アクセス・メモリ(RAM)250を含む。
【0013】
(例えば、スタートアップ時に)パーソナル・コンピュータ200内の要素間で情報を転送する助けをする基本ルーチンを含む基本入出力システム(BIOS)260が、ROM240に記憶されている。パーソナル・コンピュータ200はさらに、ハード・ディスク(図示せず)からデータを読み取り、またはそれにデータを書き込むためのハード・ディスク・ドライブ270、着脱可能な磁気ディスク290からデータを読み取り、またはそれにデータを書き込むための磁気ディスク・ドライブ280、およびCD ROMや他の光メディアなど着脱可能な光ディスク292からデータを読み取り、またはそれにデータを書き込むための光ディスク・ドライブ291を含み、これらはすべて、それぞれインターフェース292、293、294によりシステム・バス230に接続される。これらのドライブおよび関連するコンピュータ読取り可能な媒体は、パーソナル・コンピュータ200用のコンピュータ読取り可能な命令、データ構造、プログラム・モジュールその他のデータの不揮発性記憶を提供する。本明細書に記載の環境の例では、ある種のディスクを使用しているが、データを記憶するための他の種類のコンピュータ読取り可能な媒体も使用できることが、当業者には理解されよう。
【0014】
オペレーティング・システム295、1以上のアプリケーション・プログラム296、その他プログラム・モジュール297、およびプログラム・データ298を含めて、いくつかのプログラム・モジュールは、ディスク290、292、ROM240、またはRAM250に記憶することができる。入力装置(例えば、キーボード201、ポインティング装置202、マイクロフォン、ジョイスティックなど)を介して、コマンドおよび情報をパーソナル・コンピュータ200に入力することができる。これらの入力装置は、シリアル・ポート・インターフェース206、パラレル・ポート、ゲーム・ポート、またはuniversal serial bus(USB)を介して、処理装置210に接続することができる。モニタ207、またはその他の表示装置も、ビデオ・アダプタ208などのインターフェースを介して、システム・バス230に接続される。
【0015】
パーソナル・コンピュータ200は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、その他共通ネットワーク・ノードなど1以上のリモート・コンピュータ209への論理接続を使用して、ネットワーク環境中で動作することができる。図1に示す論理接続は、ローカル・エリア・ネットワーク(LAN)212および広域ネットワーク(WAN)213を含む。かかるネットワーキング環境は、オフィス、企業規模のコンピュータ・ネットワーク、イントラネット、およびインターネットでは一般的である。
【0016】
LANネットワーキング環境中で使用するとき、パーソナル・コンピュータ200は、ネットワーク・インターフェースまたはアダプタ214を介して、ローカル・ネットワーク212に接続される。WANネットワーキング環境で使用するとき、パーソナル・コンピュータ200は一般に、シリアル・ポート・インターフェース206を介してシステム・バス230に接続されたモデム215、またはインターネットなど広域ネットワーク213上で通信を確立するためのその他の手段を含む。本発明の動作は、例えば一方がサーバとして、他方がクライアントとして(図4参照)機能する2台のコンピュータ200、209の間で分散することができる。各コンピュータ200、209(クライアントおよびサーバ)についての本発明の動作は、アプリケーション・プログラム296、その他のプログラム・モジュール297として、各コンピュータ200、209のRAM250にあるいはディスク270、280、291の1つに記憶することができる。図に示したネットワーク接続は例であり、コンピュータ間で通信リンクを確立するための他の手段を使用することもできることが理解されよう。
【0017】
図2は、コンテンツ・ソースからマークアップ・コードを自動的に生成することによって、ウェブ・オーサリングを支援する方法10を示す流れ図である。マークアップ・コードという用語は、ウェブ・ページのフォーマッティングおよび表示で使用される任意のコードを意味し、表示フォーマッティング命令という用語と区別なく使用することができる。マークアップ・コードは、HTML、Java(R) Server Page(JSP)、Active Server Page(ASP)、Extensible MarkupLanguage(XML)などのマークアップ言語によるものでよい。簡単な入力パラメータに基づいて、マークアップ・コードを自動的に生成する方法10により、複雑なウェブ・ページを作成する。方法10は、ウェブ・ページの基礎となるコード中のこれらのコンテンツ・ソースを参照し、表示の実行前にこのコードを処理することによって、ウェブ・ページから切り離すことのできるソースからコンテンツを組み込む方式を実現する。
【0018】
ステップ12で、第1組のマークアップ・コードが作成され、これがウェブ・ページの基礎として機能する。この第1組のマークアップ・コードには、ステップ14でコード中に挿入されるweb authoring control(WAC)タグが含まれる。WACは、表示のためにコンテンツ・ソースをフォーマットする動作、および任意選択でフォーマット済みのコンテンツ・ソースをウェブ・ページに挿入する動作を定義する。WACタグは、タグ中で参照されるコンテンツ・ソースをどのようにフォーマットし、第1組のコード中に挿入すべきかを指定する。タグ中で参照されるコンテンツ・ソースは、第1組のコードが属する関連するドキュメントおよびリソースを含むプロジェクトの一部をなす。WACタグ中の入力パラメータ値を設定し、次いでプロセッサを実行することにより、WACタグが参照するコンテンツ・ソースに対するマークアップ・コードを生成する。WACの実行により、パラメータ化したマクロと同様な結果が生じる。
【0019】
例えば、サイト・マップ・リソースと、このサイト・マップを読み取りナビゲーション制御を生成しそれぞれ個々のウェブ・ページに挿入するWACとを作成することにより、ナビゲーション制御をウェブ・サイトのすべてのページに追加することができる。すなわち、ナビゲーション制御コンテンツ用のWACタグをウェブ・ページに挿入することによって、ナビゲーション制御用のマークアップ・コードを自動的に生成しそのページに追加することができる。かかる結果は以前にはしばしば、マークアップ・コード中の既存のナビゲーション制御をそれぞれ個々のページに追加するためのコピーおよび貼り付け動作によって実現されていた。
【0020】
別の例として、データベース・テーブル中の各レコード、およびこれらのレコードにリンクするインデックス・ページをウェブ・ページに表示する場合、WACを使用して各レコードおよびインデックス・ページ用のマークアップを生成するプロセスを簡略化することができる。インデックス用とレコード用の合わせて1対のWACを使用することによって、インデックスおよびレコードをもつウェブ・ページを作成することができる。インデックスおよびレコードの表示に使用されるウェブ・ページ中に、これらのWAC用のタグを組み込むことができる。
【0021】
ステップ16で、WAC入力パラメータの値をWACタグ中で設定する。第1組のマークアップ・コードの作成、WACタグの挿入、およびパラメータ値の設定(ステップ12ないし16)は、すべて標準的なマークアップ・コード・エディタで実施することができる。
【0022】
ステップ18で、WACタグによって参照されるコンテンツ・ソースから第2組のマークアップ・コードを生成する。WACは、この生成プロセス、すなわち、どのようにしてコンテンツ・ソースを読み取り、マークアップ・コード中にフォーマットして入れるかを定義する。
【0023】
ウェブ・ページ・オーサリングのライフ・サイクルは、作成、保存、編集、プレビュー、チェックイン、および発行を含めて、定義された1組のコンテキストを有する。ここで、チェックイン段階および発行段階は、多分オーサリング・サーバ上で行われる。ライフ・サイクル中のこれらの段階は、多分オーサリング・サーバ上でWACの実行を開始するトリガ・ポイントとして使用することができる。例えば、プロジェクト中の1つのドキュメントが変化し、チェックインされるとき、この変化の影響を受けるすべてのドキュメントを再処理して、これらの変化を含めることができる。これによって、静的コンテンツを使用してしかも容易に変更できるようにすることが可能となり、WACをウェブ・ページのライフ中の任意の時点で処理することが可能になる。静的コンテンツの使用により、サーバの処理の負荷が減り、検索エンジンによってウェブ・ページにインデックス付けすることが可能になる。
【0024】
マークアップ・コードを生成するためのWACの処理は、ウェブ・ページのライフ・サイクル中の様々な段階で行うことができる。これにより、入力パラメータ、リソース、またはコンテンツ・ソースの全体を変更するとき、それを再処理することができるので、ウェブ・ページの保守が簡単になる。ナビゲーション制御の上記の例では、サイト・マップが変化するとき、それぞれ個々のページを手作業で変更する必要なしに、ナビゲーション制御ソースを参照するWACタグを含むウェブ・ページを再処理することができる。
【0025】
ステップ20で、コンテンツ・ソースから生成される第2組のマークアップ・コードを、第1組のマークアップ・コード中に組み込む。任意選択で、第2組のマークアップ・コードを別の出力ファイルに組み込むこともできる。ステップ22で、この結合された1組のマークアップ・コードが保存される。ステップ24で検索および表示の要求を受け取ると、この結合されたマークアップ・コードを要求側に送る。
【0026】
第1組のマークアップ・コードに組み込む前に、任意選択で第2組のマークアップ・コードを編集することができる。この時にユーザによって行われるどの変更および追加も、ユーザによって生成されたものとマークされる。
【0027】
図3は、図2のうちのマークアップ・コード18を生成するステップをより詳細に示す流れ図である。WACプロセッサは、ステップ30で第1組のマークアップ・コードを読み取り、ステップ32でこのコード中のすべてのWACタグの位置を見つける。第1組のマークアップ・コード中のすべてのWACタグからツリー構造を形成する。WACの位置の突き止めおよびツリー構造の形成は、既知の技術に従って実施することができる。例えば、Java(R)やXMLを使用して実施されるWACでは、Document Object Model(DOM)規格に従ってツリーを形成することができる。このツリーは、処理する必要があるすべてのWAC、および第1組のコード中で発生する順序を設定する、第1組のマークアップ・コードに対するマップとして機能する。WACタグを内蔵できる場合には、このツリーを用いると、WACの深さ優先の順序処理が可能になり、WAC処理の結果の相対配置が保持される。
【0028】
ステップ34で、具体的なWACタグに対するパラメータ入力が、WACプロセッサに渡され、次いでステップ36で、WACが実行される。複数のWACが単一の第1組のコード内に見つけられると、個々のWACについてステップ34および36がそれぞれ反復される。すべてのWACの実行が完了すると、ステップ20で、処理結果が第1組のコードに組み込まれる。
【0029】
図4は、コンテンツ・ソース68から自動的にマークアップ・コードを生成することにより、ウェブ・オーサリングを支援するシステム50を示すシステム図である。図に示すシステム50は、クライアント54およびサーバ52を使用し、ここでは、ウェブ・ページのオーサリングが、クライアント54上で行われ、WACの実行がサーバ52上で行われる。
【0030】
クライアント54は、標準のマークアップ言語エディタ62を含む。エディタ62は、第1組のマークアップ・コード64の作成に使用される。この第1組のコード64は、ウェブ・ページの基礎となる。第1組のコード64の内部には、第1組のコード64の外部のコンテンツ・ソース68を指定するWACへのタグ66がある。コンテンツ・ソース68および第1組のコード64は、より大きなプロジェクトの一部とすることもできる。タグ66中で示されるWACは、どのようにしてコンテンツ・ソース68を処理し、また任意選択で第1組のコード64に組み込むべきかを指定する。
【0031】
クライアント54は、例えば、あるプロジェクト中のリソースを制御するためのプロジェクト・マネージャや、リソースを処理するためのビルド・プロセッサなど、その他の開発ツールを含むことができる。クライアント54は、プロジェクト・リソースのバージョンを記憶し、それらへの同時アクセスを制御するための、ソース・コード制御システムを含むこともできる。
【0032】
サーバ52は、コンテンツ・ソース68および第1組のコード64が属するプロジェクトのすべてのドキュメントを記憶するためのリポジトリを含む。このリポジトリ、すなわちウェブ・ページ記憶装置58は、1以上のクライアント54からプロジェクトに関連するドキュメントを受け取る。複数のクライアント54がこのデータを共用している場合、記憶装置58は、ドキュメントの編集能力を一時に単一のクライアント54だけに制限するドキュメント制御メカニズムを含むことができる。第1組のコード64などのドキュメントは、作成後、クライアント54からの関連するドキュメント(すなわちコンテンツ・ソース68)と共にウェブ・ページ記憶装置58に記憶される。サーバ52は、記憶装置58に記憶されているウェブ・ページを閲覧することを求める要求を処理する要求発行プロセッサ60も含む。
【0033】
サーバ52は、WAC定義記憶装置70に記憶されているWAC定義に従って、記憶装置58内のドキュメント中のWACタグを処理するためのWACプロセッサ56を有する。ドキュメント中のWACタグは、WAC識別子すなわち名称に対する参照、ならびに処理を制御するためのデータをWACに供給するパラメータを含む。WACプロセッサ56は、プロジェクトのドキュメントを更新するとき、クライアント54中のビルド・プロセッサから呼び出すことができる。
【0034】
WAC定義記憶装置70に記憶されている各WAC定義は、3つの構成要素、すなわち識別子72、パラメータ74、および制御アクション76を有する。処理のためにサーバ52に保存されている第1組のコード64からWACタグを読み取るとき、WAC識別子およびパラメータは、WACの実行中に使用すべき別々の要素として記憶される。識別子72は、ある種のWACに特有の一意の識別子である。パラメータ74は、基本的なフォーマッティング情報を含み、その他のWACへの参照を含むこともできる。制御アクション76は、パラメータ74中で供給される情報に従って、マークアップを生成する。制御アクション76によって生成されるマークアップは、WACタグ66中で参照されたドキュメント中に挿入されるキャラクタ・シーケンスである。このキャラクタ・シーケンスは、第1組のコード64の表示に関連してどのようにコンテンツ・ソース68を表示すべきかを示す。すなわち、制御アクション76は、2組のコードのシームレスな表示ができるように、すなわちコンテンツ・ソース68を第1組のコード64に組み込むことができるようにするために、コンテンツ・ソース68を、第1組のコード64のマークアップ言語に、例えばHTMLに変換する。
【0035】
制御アクション76を用いると、パラメータ74を設定する助けとなるインターフェースを提示することによりウェブ・オーサリングが簡単になる。クライアント側54のエディタ62は、例えばプロパティ・シートを介した識別子72によるWACの参照を、任意選択のカスタム・プロパティ・エディタとともに含むことができる。制御アクション76を使用して、リストに行番号を追加するなどの退屈な作業を自動化することができ、またユーザが複雑なHTMLまたはJava(R)スクリプトを書き込むことができるという必要をなくすことができる。
【0036】
図5は、図4のWACプロセッサ56を示すシステム・アーキテクチャ図である。WACプロセッサ56は、処理し、第1組のコード64を含むファイルに含めるべきドキュメントを指定するパラメータを受け入れる。WACプロセッサ56はまた、第1組のコード64のライフ・サイクル段階に関するパラメータ、および出力前に第1組のコード64を更新すべきか、それともそれからWACタグを取り除くべきかなど他の処理オプションも受け取る。
【0037】
WACプロセッサ56中のドキュメント読取り機構80は、現在のプロジェクトから第1組のコード64を読み取る。第1組のコード64を含むファイルを読み取ると、ドキュメント読取り機構80は、読取りファイルをドキュメント・パーサ82に送り、そこで、読取りファイルのコンテンツからツリー構造が形成される。
【0038】
ドキュメント更新機構84は、構文解析されたファイル中でWACを更新する。ドキュメント更新機構84の実行は、入力パラメータを使用することによって抑制することができる。これは、ファイルがすでに更新を完了しているが、発行前にWACタグを取り除く必要があるときに役に立つ。ドキュメント更新機構84は、ツリーをトラバースし、ツリー中のタグ付けされた各WACを実行する。実行済みの各WACは、ツリーの一部となり実行される追加のWACを含むことができるマークアップ・コードを生成する。ツリーは、ファイル中のWACの順序に相当する深さ優先の順序で一度トラバースされる。ドキュメント更新機構84はまた、第1組のコード64からWACタグを抽出し、各タグからのWAC識別子およびパラメータを一時的に記憶する。
【0039】
ドキュメント更新機構84中の制御ローダ90が、一時的に記憶されたWAC識別子を取得する。この制御ローダ90は、WAC定義を使ってWAC定義記憶装置70中を探索して、保持されているものと同じ識別子72をもつWAC定義を見つける。一致する識別子を見つけると、制御ローダ90は、WAC定義のインスタンスを作成する。WACインスタンスは、性能を改善するためにプールし再利用することができる。
【0040】
制御実行機構92が、保持されたパラメータを取得し、これらのパラメータを制御ローダ90によって作成されるWACインスタンスのパラメータ74の定義のプロパティとして設定する。次いで制御実行機構92は、WACインスタンスを実行し、第2組のコードなど更新済みのマークアップ・コードを作成する。WACインスタンスは、その実行時にプロジェクト・リソースにアクセスして、WACタグから参照される、サーバ52上またはそれ以外の場所に記憶されているコンテンツ・ソースからコンテンツを取得する。
【0041】
制御実行機構92中のリソース・マネージャ96が、実行中のWACインスタンスに、コンテンツ・ソースなどのプロジェクト・リソースへのアクセスを提供する。WACインスタンスは、プロジェクト・リソースを作成し、読み取り、更新し、削除することができる。例えば、バナーまたはナビゲーション・バーを生成するWACは、サイト・マップ・プロジェクト・リソースにアクセスすることができる。また、データベースからページを生成するWACは、既存の1組のページを削除し、新しい1組のページを作成することもできる。
【0042】
ドキュメント更新機構84中のコンテンツ・マージ機構94が、更新済みのマークアップ・コードを取得し、それをファイルにマージする。すなわち、コンテンツ・マージ機構94は、自動的に生成されたか、それともユーザによって生成されたかというコードのタイプに従って、第2組のコードを第1組のコード64にマージする。これらのコードのタイプは互いに区別され、それによって第2組のコードの第1組64へのマージが容易になる。ユーザによって生成されたコードは、ユーザによって生成されたものとマークが付けられ、ユーザによって生成されていない残りのコードはどれも、自動的に生成されるものと想定される。第2組のコードは、自動的に生成されまたはユーザによって生成される、新しいマークアップ・コードから形成されるが、第1組のコード64は以前のコードを含む。2組のコードをマージする前に、対応付けを行って、2組の一部分が相互に関連するかどうかを判定する。かかる対応する部分のどれに対しても注記が行われる。
【0043】
(第1組のコード64中の)自動的に生成された以前のマークアップ・コードは、ファイルから取り除かれ、第2組のコードからの自動的に生成された新しいマークアップ・コードで置き換えられる。自動的に生成され、またはユーザによって生成された、第1組のコード64の一部分と対応しない新しいマークアップ・コードは、第1組64中に挿入される。新しいマークアップ・コードがユーザからのマークアップを含む場合、一致するコードがあるかどうか、以前のマークアップ・コードを検査する。以前のユーザ・マークアップ・コードを対応する新しいユーザ・マークアップ・コードの上に保持することもできる。これによって、例えば、現在のプロジェクトのドキュメントの変更に応答して、オリジナル・ユーザが、保持すべきでありWACの自動的な実行中に上書きすべきではないフォーマットに変更を加えることが可能になる。あるいは、パラメータ中でそのように指定することにより、以前のユーザ・コードを対応する新しいユーザ・コードで置き換えることもできる。このユーザ・マークアップ・コードは、以前のマークアップ・コードと新しいマークアップ・コードの間の対応付けを行うためにマージ・プロセス中で使用される名称の属性を有することができる。対応する新しいユーザ・マークアップ・コードは、以前のユーザのマークアップ・コードと異なる順序となることができ、この場合、コンテンツ・マージ機構94モジュールが、以前のユーザのマークアップ・コードを順序変更することができる。これにより、WACが柔軟なページ・レイアウトを実施することが可能となる。例えば、ページ・レイアウトが主題およびサイドバーを定義し、サイドバーの位置がWACのパラメータによって指定されるものと想定する。その場合、位置を変更するとき、コンテンツ・マージ機構94は、レイアウト領域を正しく順序変更する。
【0044】
WACプロセッサ56中の制御ストリッパ86が、WACタグを第1組のコードから取り除く。WACプロセッサ56は、通常WACタグを保持するが、WACタグ中のWACプロセッサ56への入力パラメータを指定することにより、任意選択でWACタグを取り除くことができる。第1組のコード64からWACタグを取り除くことにより、ドキュメント・サイズを小さくすることができ、またデータベースのパスワードなど取扱いに慎重を要するパラメータ情報を取り除くこともできる。
【0045】
WACプロセッサ56中のドキュメント・ライタ88が、マージされたコードを出力ファイルに書き込む。マージ機構の出力は、オリジナル・ファイルを上書きすることができ、また異なるファイルに書き込むこともできる。マージされたコードは、制御ストリッピングが望ましいことがあるので、発行時に異なるファイルに書き込むことができる。
【0046】
WAC処理を1つの位置で行うこともでき、この場合、サーバ機能およびクライアント機能が1つのコンピュータ(図示せず)上に配置される。この場合、マークアップ・コード・ファイルは、コードを開発するために使用するコンピュータ上で完全に処理することができる(すなわち、WACの実行はクライアント上で行われる)。処理後、表示要求を処理するために、第1組のコードを伴うファイルを標準のウェブ・サーバに発行することができる。コンテキスト・パラメータを入力としてWACプロセッサに送ることにより、この処理を制御することができる。このコンテキスト・パラメータは、ドキュメントのライフ・サイクル段階(すなわち、作成、保守など)を指定する。開発コンピュータ上に存在するWACプロセッサは、コードを完全に処理して、ウェブ・サーバが要求を受け取るのに応答して表示できるように準備する。
【0047】
これまでに記載した本発明の実施形態は、オーサリングの完了時に処理されていたが、WACはまた、ウェブ・ページを表示するための要求を受け取ったとき実行時に処理することもできる。
【0048】
WACを使用して、ウェブ・ページ上のコンテンツを定期的に自動的にリフレッシュすることができる。例えば、ウェブ・サイトが、毎日更新されるデータベースに記憶されている製品情報を伴う製品カタログを含む場合、WACは、データベースの変更を反映するようにウェブ・ページを更新する際に支援することができる。ウェブ・サイトのウェブ・ページ中のWACをそのデータベースにリンクし、WACを使用してウェブ・ページ中にデータベースの情報を抽出することができ、このウェブ・ページが次いでウェブ・サーバに発行される。データベースをそれぞれ更新するごとに、WACプロセッサを使用して、インデックス・ページ、および製品ページのすべてをデータベースから再生成することができる。生成されたドキュメントは、さらなる動的コンテンツがウェブ・ページに含まれない場合はHTML形式、追加の動的コンテンツが必要な場合は例えばJSP形式とすることができる。WACを使用してあまり変化することのない(すなわちどちらかというと静的な)コンテンツを生成することにより、必要な処理量を低減することができる。JSPをWACなしに使用する場合、データベースは、実行時に要求されるページごとにアクセスされ、そのため、性能が低下し、許容可能な性能を維持するためにより多くのコンピュータが必要になる。WACを使用することにより、実行時処理が、しばしば変化する動的なコンテンツを生成することに限定される。
【0049】
本発明の可能な一実施形態は、document type definition(DTD)を使用するWACタグ、XMLファイル中で使用することができるタグを定義するルール、およびこれらのタグの有効な値を指定するものである。WACの定義は、WACをウェブ・ページ中に挿入するためのタグを指定するXMLスキーマ、WACを開発するためのJava(R)ライブラリ、およびWACを含むウェブ・ページ中でコードを生成するためのJava(R)プロセッサを使用することができる。XMLスキーマは、データの要素および属性ならびに要素間の関係を定義する、データ・モデルを表現するシステムである。識別子72、パラメータ74、および制御アクション76は、要素として実装することができ、これらの要素は、開始タグおよび終了タグ、ならびにこれらのタグ間のコンテンツと称する情報を有する、XML構造の構造体である。
【0050】
かかる実装形態では、パラメータ値やコンテンツ・ソース位置など、WACの実行に関する情報は、WACタグ中に属性として含まれる。これにより、第1のWACの実行中に埋め込まれた第2のWACを見つけ実行して、その結果を第1のWACの実行結果に含めることができるように、WACをネストすることが可能になる。
【0051】
WACのDTDでは、すべてのデータがWACタグのXML属性で表されるものと指定している。WACのDTDの完全な実装を付録A(wac.dtd)に示す。ウェブ・ブラウザの通常の挙動作はHTMLタグだけを示すことなので、ドキュメントが表示されるとき、すべてのWACタグは実際には非表示になる。したがって、このXMLの使用により、HTMLコメントの使用と同じ効果が実現され、複雑なウェブ・ページ・レイアウトの作成にとって望ましいことであるが、WACをネストすることが可能になる。
【0052】
第1組のコードのHTMLまたはXML構文解析では、ツリーの作成により、WAC処理の順序を制御するために使用できるDocument Object Model(DOM)が生成される。
【0053】
この可能な実装形態では、Java(R)クラスを実装することにより、新しいWACを作成することができる。Java(R)クラスは、特定のオブジェクトを定義するデータ・メンバとメソッドの集合体である。
【0054】
かかる実装形態に基づいた例示的なWACの呼出しを以下に示す。
【0055】
タグ<wac:control>はWACタグの開始を示す。このタグは、使用するWACが、wac.samples.Includeという名称のJava(R)クラスであることを指定する。このクラスは、WACプロセッサ56によって実行される。タグ<wac:parameters>は、このパラメータ・セクションの開始を示す。これは、"include"という名称のパラメータが、値"/source"を有することを指定し、この値はこのインクルードWACによって、このリソース"source"がHTMLページ中に含まれることを意味するものと解釈される。このウェブ・ページは、WACが処理され、"source"のコンテンツに対するHTMLコードが生成されるまで、"source"のコンテンツを含まない。ウェブ・ページが処理されるとき、WACプロセッサは、ページを読み取り、WACをそのページに見つけ、WACに指定されたパラメータを渡し、WACを実行し、その出力をウェブ・ページに戻してマージする。
【0056】
Java(R)の実装では、制御要素は、名称、クラス、および使用可能値(enablementvalue)を有する。名称は、ある制御を他の制御から参照できるようにするための、その制御に対する一意的な識別子である。クラスは、制御を実装するJava(R)クラスの名称である。使用可能値は、この制御がそのマークアップを再生成すべきかどうかを判定するために設定される。以下は、制御要素の構造の一例である。
【0057】
制御要素は、プロパティを設定するために使用されるパラメータと、生成済みのマークアップを含むマークアップ要素とを含むパラメータ要素を含む。
【0058】
パラメータ要素は、制御プロパティを設定するために使用されるパラメータを含む。以下は、あるパラメータ要素の構造の一例である。
【0059】
パラメータ要素は、1つの制御プロパティを定義するparam要素を含む。このparam要素の構造の一例は、以下の通りである。
【0060】
このparam要素は、プロパティ名とプロパティ値を有する。このparam要素はまたプロパティ値タイプを有し、これは(ストリング番号などの)データ、URL参照、または別の要素とすることができる。プロパティ・タイプがURLである場合、プロパティ・タイプは、絶対的すなわち"http:"などのスキームで開始してもよいし、また相対的なものでもよい。相対的なURLは、同じプロジェクトの別のリソースを参照する。
【0061】
パラメータ要素はまた、param array要素を含み、以下にその構造の一例の概略を示す。
【0062】
paramarray要素は、制御インデックス・プロパティを定義する。このparamarrayは、param要素と同様に、プロパティ名とプロパティ値タイプを有する。
【0063】
paramarrayはまた、paramvalue要素を有し、その構造の一例を以下に概説する。
【0064】
このparamvalue要素は、所与のインデックスに対するインデックス付きプロパティ値を定義する。paramarray要素中のparamvalue要素の位置が、インデックスを定義する。
【0065】
マークアップ要素は、制御要素によって生成されるマークアップを含む。このマークアップ要素は、任意の有効な非WACマークアップ、ならびに制御およびusermarkup要素を、直接または間接に含むことができる。制御要素使用可能値を使用不能にすることにより、生成済みのマークアップをユーザが変更することができる。あるいは、生成済みのマークアップからWACタグを取り除くことができる。
【0066】
usermarkup要素を用いると、WACによって生成されるマークアップ中に、ユーザがマークアップを挿入することが可能になる。WACがマークアップを再生成するとき、usermarkup要素のコンテンツは保存される。usermarkup要素は、その目的を識別する要素を識別する名称を有する。usermarkup要素は、任意の非WACマークアップ、ならびに制御要素を含むことができる。
【0067】
付録A:WAC.DTDの例
<!DOCTYPE eBAF-WAC-1.0 [
<!--
このDTDは、ウェブ・オーサリング制御、すなわち略語で表すとWACを記述する。WACは、ウェブ・ページをオーサリングするための生産性支援手段である。WACを使用して、複雑なマークアップを生成するタスクを簡略化することができ、すなわち、WACにより、マークアップが依存するリソースが変化するときのマークアップの更新など、退屈なタスクを自動化することができる。WACは、開発時に実行される。すべてのWACタグは、ランタイム環境に展開されるとき、ドキュメントから取り除くことができる。
【0068】
WACは、HTML、JSP、または総称的XMLでもよいドキュメント中に含まれる。このドキュメントは、関連するドキュメントおよびリソースを含むプロジェクトの一部である。例えば、WACを使用して、サイト・マップ・リソースからナビゲーション・バーを生成することができる。プロジェクトおよびドキュメントはWACの実行コンテキストの一部である。実行の過程で、WACは、リソースを読み取り、既存のリソースを更新または削除し、新しいリソースを作成することができる。ドキュメント中にWACを埋め込むために使用するタグ付けスキームは、XML規格に準拠している。WACタグに含まれるすべての非マークアップ・データ(すなわちメタデータ)は、WACを含むドキュメントを通常のウェブ・ブラウザによって表示できるようにするために要素の属性として表される。対照的にWebBotおよびDTCは、ネストすることができないHTMLコメント中にメタデータを記憶する。XML要素を使用すると、WACをネストし、したがって構成することが可能なので、より強力となる。例えば、ページ・レイアウトWACは、ネストされたナビゲーションWACを含むことができる。
-->
<!-- The <control> Element
【0069】
ある制御は、マークアップをパラメータから生成するJavaBeanである。ある制御は、パラメータ付きのマクロに似ている。パラメータは、数字や文字列などの簡単なデータ、あるいは同じドキュメント内の他の制御、またはプロジェクト中に置かれたリソースの参照とすることができる。
【0070】
制御は、ユーザがパラメータを設定するのを支援するユーザ・インターフェースを提示することにより、ウェブ・オーサリングを簡単にする。このユーザ・インターフェースは、JavaBeanによって定義され、任意選択のカスタム・プロパティ・エディタを伴うプロパティ・シートとすることができ、またカスタマイザとすることもできる。制御を編集のために選択するとき、エディタはプロパティ・シートまたはカスタマイザをユーザに提示する必要がある。
【0071】
制御を使用して、リストに行番号を追加するなど退屈なタスクを自動化することができ、またユーザが複雑なHTMLタグおよびJSPタグ、またはJava(R)スクリプトレットを書き込むことができるという必要をなくすことができる。
【0072】
<control>要素は以下の属性を有する。
名称:制御に対する一意のID、したがって、この名称を他の制御から参照することができる
クラス:制御を実施するJava(R)クラスの名称
使用可能(enabled):制御がマークアップを再生成すべき場合に真(true)
【0073】
ID属性は、制御を他の制御から参照できるようにするためのIDである。
【0074】
クラス属性は、制御を実施するクラスの完全に適格な名称である。WACプロセッサがクラスを位置決めする方法は定義されていない。
【0075】
使用可能属性により、必要なら、ユーザは制御を使用不能にすることが可能になる。例えば、ユーザは、生成済みのマークアップの一時的な変更を希望することができる。
【0076】
<control>要素は、JavaBeanプロパティを設定するのに使用されるパラメータの<parameters>要素、および生成済みのマークアップを含む<markup>要素を含む。
-->
<!ELEMENT control (parameters,markup)>
<!ATTLIST control
id ID #REQUIRED
class CDATA #REQUIRED
enabled (true I false)"true">
<!-- The <parameters> Element
【0077】
<parameters>要素は、制御プロパティを設定するのに使用されるパラメータを含む。制御がJavaBeanであるので、このプロパティは、単一値でも、またインデックス付きのものでもよい。
【0078】
<parameters>要素は、ゼロまたは1個以上の<param>要素または<paramarray>要素を含むことができる。
【0079】
<param>要素は、単一値のプロパティを定義する。
<paramarray>要素は、インデックス付きのプロパティを定義する。
-->
<!ELEMENT parameters (param | paramarray)*>
<!-- The <param> Element
<param>要素は、制御プロパティを定義する。この要素は、以下の属性を含む。
名称:プロパティ名称
値(value):プロパティ名称
値タイプ(valuetype):プロパティ値タイプであり、これは以下のうちの1つとすることができる。
データ:値は、数字や文字列などの簡単なデータである
参照(ref):値はURLである
オブジェクト:値はこのドキュメント中の別の要素のIDである
【0080】
タイプ参照(type ref)の値はURLである。URLは絶対的なものでも、また相対的なものでもよい。URLが例えば「http:」のスキームで始まる場合、URLは絶対的である。そうでない場合には、URLは相対的である。
【0081】
相対的なURLは、プロジェクト中の別のリソースを参照する。URLが「/」で始まる場合、URLは、プロジェクト・ルートに対して相対的である。そうでない場合には、URLは、ドキュメントに対して相対的である。参照されたリソースを移動し、または名称変更する場合、あるいはドキュメントを移動する場合に、WAC準拠のサイト管理ツールは、この値を更新する必要がある。
【0082】
タイプ・オブジェクトの値は、ドキュメント中における別の要素のIDである。参照された要素のIDを変更する場合、WAC準拠のエディタは、この値を更新する必要がある。
-->
<!ELEMENT param EMPTY>
<!ATTLIST param
name CDATA #REQUIRED
value CDATA #REQUIRED
valuetype (data | ref | object)"data">
<!-- The <paramarray> Element
<paramarray>要素は、制御インデックス付きのプロパティを定義する。この要素は、以下の属性を含む。
名称:プロパティ名称
値タイプ(valuetype):プロパティ値タイプ(<param>要素を参照)
【0083】
<paramarray>要素は、ゼロまたは1個以上の<paramvalue>要素を含み、<paramvalue>要素は、インデックス付きのプロパティの値を定義する。
-->
<!ELEMENT paramarray (paramvalue)*>
<!ATTLIST paramarray
name CDATA #REQUIRED
valuetype (data | ref | object)"data">
<!-- The <paramvalue> Element
<paramvalue>要素は、所与のインデックスに対するインデックス付きプロパティの値を定義する。<paramarray>要素中の<paramvalue>要素の位置が、このインデックスを定義する。
【0084】
<paramvalue>要素は、以下の属性を有する。
値(value):プロパティ値
-->
<!ELEMENT paramvalue EMPTY>
<!ATTLIST paramvalue
value CDATA #REQUIRED>
<!-- The <markup> Element
<markup>要素は、制御が生成するマークアップを含む。<markup>要素は、任意の有効な非WACマークアップを含むことができ、また<control>要素および<usermarkup>要素を直接的または間接的に含むこともできる。
【0085】
マークアップを再生成するとき、ユーザがマークアップに対して施した変更がどれも置き換えられるので、エディタは、<usermarkup>要素中に含まれないマークアップはどれも書き込み保護されているものとして扱うべきである。ユーザ・マークアップを保持するために、ユーザ・マークアップを<usermarkup>要素中に含めなければならない。
【0086】
ユーザが、生成済みのマークアップを変更する必要がある場合、2つの選択肢がある。
【0087】
第1に、その制御の使用可能にされた属性を偽(false)に設定することによって、制御を使用不能にすることができる。WAC準拠のエディタは、ユーザがすべてのまたは選択された制御を使用可能または使用不能にする方法を提供する必要がある。
【0088】
第2に、ユーザは、生成済みのマークアップを囲むWACタグをドキュメントから取り除くことができる。WAC準拠のエディタは、ユーザがすべてのまたは選択された制御を取り除く方法を提供する必要がある。
-->
<!ELEMENT markup ANY >
<!-- The <usermarkup> Element
<usermarkup>要素により、WACが生成するマークアップ中に、ユーザがマークアップを挿入することが可能になる。WACがマークアップを再生成するとき、<usermarkup>要素のコンテンツは、通常は保存される。
【0089】
<usermarkup>要素は、以下の属性を有する。
名称:目的を識別する要素の名称
【0090】
<usermarkup>要素のコンテンツは、通常は保持されるが、WACがマークアップを再生成するとき、要素のコンテンツの相対的な順序が変化することもある。さらに、新しい<usermarkup>要素が生成され、既存のものが除去されることもある。WACは、<usermarkup>要素を生成し、WACプロセッサは、名称属性を合致させることによって、既存のコンテンツにマージされる。
【0091】
<usermarkup>要素は、任意の非WACマークアップを含むことができ、また<control>要素も含むことができる。
-->
<!ELEMENT usermarkup ANY >
<!ATTLIST usermarkup name CDATA"">
]>
【図面の簡単な説明】
【0092】
【図1】本発明の実施形態によるコンピューティング環境を示す概略図である。
【図2】コンテンツ・ソースからマークアップ・コードを自動的に生成することにより、ウェブ・オーサリングを支援する方法を示す流れ図である。
【図3】図2のマークアップ・コードを生成するステップをより詳細に示す流れ図である。
【図4】コンテンツ・ソースからマークアップ・コードを自動的に生成することにより、ウェブ・オーサリングを支援するためのシステムを示すシステム図である。
【図5】図4のWACプロセッサを示すシステム・アーキテクチャ図である。
Claims (10)
- ランタイム時間中にクライアント上で複数のドキュメントを表示するために、サーバ上で前記複数のドキュメント用の表示フォーマッティング命令を自動的に生成する方法において、前記サーバが、複数のフォーマッティング制御と、それぞれが前記複数のフォーマッティング制御のうちの1つのフォーマッティング制御および前記複数のドキュメントのうちの1つのドキュメントを示す複数の参照を含む第1組のフォーマッティング命令を伴うファイルとを有する方法であって、
(A)前記ファイルを処理して、前記複数の参照のそれぞれを配置して、ツリーを形成するステップと、
(B)前記複数の参照のうちの1つの参照に従って前記複数のフォーマッティング制御のうちの1つのフォーマッティング制御を実行して、前記複数の参照のうちの前記1つの参照で示される前記ドキュメントに基づいて、第2組のフォーマッティング命令を作成するステップと、
(C)前記第2組のフォーマッティング命令を出力ファイルに組み込むステップと、
(D)前記ツリー中の前記複数の参照のそれぞれに対して、ステップ(B)および(C)を反復するステップと
を含み、前記複数の参照で示される前記複数のフォーマッティング制御のそれぞれが前記ランタイム時間の前に実行される方法。 - 前記複数のフォーマッティング制御が、前記ツリー中のそれらの深さに従って、深さ優先の順序で実行される、請求項1に記載の方法。
- 前記第1組のフォーマッティング命令と前記第2組のフォーマッティング命令が、両方ともマークアップ言語による、請求項1ないし2のいずれかに記載の方法。
- 前記ツリー中の前記複数の参照のそれぞれを実行後、前記第1組のフォーマッティング命令から前記複数の参照を取り除くステップをさらに含む、請求項1ないし3のいずれかに記載の方法。
- フォーマッティング命令が自動生成タイプまたはユーザ生成タイプのものであり、前記第1組のフォーマッティング命令が、それらの命令中で示される前記自動生成タイプおよびユーザ生成タイプを有し、ステップ(C)が、
(I)前記第2組のフォーマッティング命令のうちの自動的に生成されたフォーマッティング命令を前記自動生成タイプと指定するステップと、
(II)前記第2組のフォーマッティング命令のうちのユーザによって生成されたフォーマッティング命令を前記ユーザ生成タイプと指定するステップと、
(III)自動的に生成されたフォーマッティング命令およびユーザによって生成された命令を、フォーマッティング命令のタイプおよび前記第1組のフォーマッティング命令に従って前記ファイル中に挿入するステップと
を含む、請求項1ないし4のいずれかに記載の方法。 - ステップ(III)が、
(a)前記第1組のフォーマッティング命令の一部分が、前記第2組のフォーマッティング命令の一部分に対応するかどうかを判定するステップと、
(b)前記第1組のフォーマッティング命令に対応しない前記第2組のフォーマッティング命令のすべての部分を挿入するステップと、
(c)前記第1組のフォーマッティング命令の一部分に対応する前記第2組のフォーマッティング命令の部分が前記自動生成タイプのものである場合、前記第1組のフォーマッティング命令の前記対応する部分を前記第2組のフォーマッティング命令の対応する部分で置き換えるステップと、
(d)前記第1組のフォーマッティング命令の一部分に対応する前記第2組のフォーマッティング命令の部分が前記ユーザ生成タイプのものである場合、前記第1組の命令の前記対応する部分を前記第2組のフォーマッティング命令の対応する部分のフォーマットに従って再フォーマッティングするステップと
を含む請求項5に記載の方法。 - ステップ(d)が、
(i)前記ユーザ生成タイプの前記第1組のフォーマッティング命令中の対応する部分と、前記ユーザ生成タイプの前記第2組の命令中の対応する部分の間の対応関係を作成するステップと、
(ii)前記対応するユーザ生成タイプの第1組のフォーマッティング命令の順序を、前記対応するユーザ生成タイプの第2組のフォーマッティング命令の順序に対応させるステップと
を含む、請求項6に記載の方法。 - 前記ファイルが複数のファイルのうちの1つであり、さらに
(E)ステップ(A)以前に、前記複数のファイルのうちの1つのファイルの変化を検出するステップと、
(F)前記複数のファイルのそれぞれについてステップ(A)ないし(D)を反復するステップと
を含む、請求項1ないし7のいずれかに記載の方法。 - 請求項1ないし8のいずれかに記載の方法を実行するサーバ・コンピュータ・システム。
- コンピュータ読取り可能な記憶媒体上に記憶され、コンピュータ・システム上で実行されるとき、請求項1ないし8のいずれかに記載の方法を実行するよう前記コンピュータ・システムに命令するコンピュータ・プログラム製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002350723A CA2350723A1 (en) | 2001-06-15 | 2001-06-15 | Tool for web authoring assistance |
PCT/GB2002/002494 WO2002103553A2 (en) | 2001-06-15 | 2002-05-28 | Tool for web authoring assistance |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005506608A true JP2005506608A (ja) | 2005-03-03 |
Family
ID=4169288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003505802A Withdrawn JP2005506608A (ja) | 2001-06-15 | 2002-05-28 | ウェブ・オーサリング支援用のツール |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1395913A2 (ja) |
JP (1) | JP2005506608A (ja) |
KR (1) | KR20040007570A (ja) |
CN (1) | CN1545664A (ja) |
CA (1) | CA2350723A1 (ja) |
TW (1) | TW530240B (ja) |
WO (1) | WO2002103553A2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765006A (en) * | 1992-04-30 | 1998-06-09 | Ricoh Company, Ltd. | Method and system to process external entities in a document processing language |
US6031989A (en) * | 1997-02-27 | 2000-02-29 | Microsoft Corporation | Method of formatting and displaying nested documents |
US6792575B1 (en) * | 1999-10-21 | 2004-09-14 | Equilibrium Technologies | Automated processing and delivery of media to web servers |
-
2001
- 2001-06-15 CA CA002350723A patent/CA2350723A1/en not_active Abandoned
- 2001-10-08 TW TW090124841A patent/TW530240B/zh not_active IP Right Cessation
-
2002
- 2002-05-28 JP JP2003505802A patent/JP2005506608A/ja not_active Withdrawn
- 2002-05-28 WO PCT/GB2002/002494 patent/WO2002103553A2/en not_active Application Discontinuation
- 2002-05-28 EP EP02727765A patent/EP1395913A2/en not_active Withdrawn
- 2002-05-28 KR KR10-2003-7014881A patent/KR20040007570A/ko not_active Application Discontinuation
- 2002-05-28 CN CNA028115473A patent/CN1545664A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2002103553A3 (en) | 2003-12-11 |
CA2350723A1 (en) | 2002-12-15 |
EP1395913A2 (en) | 2004-03-10 |
CN1545664A (zh) | 2004-11-10 |
KR20040007570A (ko) | 2004-01-24 |
WO2002103553A2 (en) | 2002-12-27 |
TW530240B (en) | 2003-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6356920B1 (en) | Dynamic, hierarchical data exchange system | |
US8078960B2 (en) | Rendering an HTML electronic form by applying XSLT to XML using a solution | |
US7143344B2 (en) | Transformation stylesheet editor | |
RU2371759C2 (ru) | Программируемая объектная модель для поддержки библиотеки пространств имен или схем в программном приложении | |
KR101098718B1 (ko) | 재사용 가능한 코드 세그먼트들을 생성 및 재사용하는 컴퓨터화된 방법 및 컴퓨터 구현 시스템, 및 컴퓨터 판독 가능 저장 매체 | |
US7516145B2 (en) | System and method for incrementally transforming and rendering hierarchical data files | |
US20020059345A1 (en) | Method for generating transform rules for web-based markup languages | |
US20040006743A1 (en) | Method and apparatus for re-editing and redistributing web documents | |
US7644095B2 (en) | Method and system for compound document assembly with domain-specific rules processing and generic schema mapping | |
US20080263101A1 (en) | Data Processing Device and Data Processing Method | |
US20040268229A1 (en) | Markup language editing with an electronic form | |
US20050080804A1 (en) | System and method for maintaining componentized content | |
EP1927922A1 (en) | Data managing apparatus, data editing apparatus, data browsing apparatus, data managing method, data editing method, and data browsing method | |
EP1818835A1 (en) | Document processing device, and document processing method | |
US20080209572A1 (en) | Data Processing System, Data Processing Method, and Management Server | |
US20090021767A1 (en) | Document processing device | |
US20080133563A1 (en) | Data Processing Device And Data Processing Method | |
US7437663B2 (en) | Offline dynamic web page generation | |
US6317760B1 (en) | Extensible ordered information within a web page | |
US7805452B2 (en) | Data processing device and data processing method | |
EP1830274A1 (en) | Server device and name space issuing method | |
US20080250311A1 (en) | Document Processing Device, and Document Processing Method | |
US7827195B2 (en) | Document management device and document management method | |
US20110078552A1 (en) | Transclusion Process | |
EP1821220A1 (en) | Data processing device, document processing device, and document processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20061228 |