JP4071462B2 - Html文書生成プログラム及びコンピュータ可読媒体 - Google Patents

Html文書生成プログラム及びコンピュータ可読媒体 Download PDF

Info

Publication number
JP4071462B2
JP4071462B2 JP2001214928A JP2001214928A JP4071462B2 JP 4071462 B2 JP4071462 B2 JP 4071462B2 JP 2001214928 A JP2001214928 A JP 2001214928A JP 2001214928 A JP2001214928 A JP 2001214928A JP 4071462 B2 JP4071462 B2 JP 4071462B2
Authority
JP
Japan
Prior art keywords
tag
html
html document
predetermined
identification
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.)
Expired - Fee Related
Application number
JP2001214928A
Other languages
English (en)
Other versions
JP2002169801A (ja
Inventor
良則 田辺
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001214928A priority Critical patent/JP4071462B2/ja
Publication of JP2002169801A publication Critical patent/JP2002169801A/ja
Application granted granted Critical
Publication of JP4071462B2 publication Critical patent/JP4071462B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、HTML文書に規定されていない拡張タグを含むHTML文書に基づき、当該拡張タグを含まないHTML文書を生成するHTML文書生成プログラム,HTML文書生成プログラムを格納したコンピュータ可読媒体,HTML文書生成方法,及びHTML文書生成装置に、関する。
【0002】
【従来の技術】
HTML(Hypertext Markup Language)は、インターネットやイントラネットにおけるページ記述言語として広く利用されている。このHTMLで記述されたデータ(HTML文書)は、WWW(World Wide Web)ブラウザによって画面表示される。なお、このHTML文書内に、データベース等による外部のデータを組み込むために、拡張タグが利用される。この拡張タグは、HTMLにより規定された正式のタグではないが、正式のタグに類似した形式で記述される。
【0003】
この拡張タグを含んだHTML文書(拡張HTML文書)は、HTML文書生成装置により処理される。即ち、このHTML文書生成装置は、拡張HTML文書中の拡張タグによる指定に従って、データベースから必要なデータを取得し、取得したデータに基づいてHTML文書を生成する。なお、生成されたHTML文書には、拡張タグは含まれていない。
【0004】
このHTML文書生成装置における処理の内容に応じて、拡張タグは、第1種の拡張タグと第2種の拡張タグとに、分類される。第1種の拡張タグは、HTML文書生成装置における処理の際に、当該拡張タグ自体がテキストに展開されないものである。一方、第2種の拡張タグは、HTML文書生成装置における処理の際に、当該拡張タグ自体がテキストに展開されるものである。
【0005】
図22は、第1種の拡張タグの例を示す図である。この図において、<!IF "t == 0">,<!ELSE>,及び<!/IF>が、拡張タグであり、いずれも第1種の拡張タグである。この図22の拡張HTML文書は、HTML文書生成装置により、図23の(a)又は(b)のHTML文書に変換される。なお、データベース中の変数tの値が0である場合には、図23の(a)のHTML文書が生成され、それ以外の場合には、図23の(b)のHTML文書が生成される。
【0006】
この図22の拡張タグは、データベース中の変数tの値に応じて、<!IF "t == 0">及び<!ELSE>間のデータ,又は,<!ELSE>及び<!/IF>間のデータのいずれか一方のみが選択されることを指定している。なお、当該拡張タグ自体は、テキストに展開されていない。
【0007】
図24は、第2種の拡張タグの例を示す図である。この図において、<!REPLACE x>が、第2種の拡張タグである。この拡張タグは、HTML文書生成装置により、データベース操作言語の変数xの値に置換される。例えば、変数xの値が500であれば、<!REPLACE x>は、500に置き換えられる。このため、図25に示されたHTML文書が生成される。即ち、この第2種の拡張タグは、当該拡張タグ自体がテキストに展開される。
【0008】
なお、HTML文書生成装置から出力された図23及び図25のようなHTML文書には、拡張タグが含まれていない。従って、これらのHTML文書は、WWWブラウザによって正常に画面表示される。
【0009】
【発明が解決しようとする課題】
上記のように、図22及び図24に示された形式で拡張HTML文書が作成されていると、HTML文書生成装置は、これらの拡張HTML文書を正常に処理することができる。なお、拡張HTML文書の作成者は、これらの拡張HTML文書を、テキストエディタを用いて作成することもできるが、通常は、HTMLエディタを用いて作成している。このHTMLエディタは、作成者が入力したデータを、HTMLの形式に正しく適合させるように修正する修正機能を有する。この修正機能は、通常のHTML文書作成の際には、便利な機能である。しかし、この修正機能は、上記の拡張タグを含んだ拡張HTML文書作成の際には、以下に示すような不都合を生じさせることがある。
【0010】
まず、<UL></UL>等のように、開始タグ及び終了タグ間に要素を含ませるHTMLのタグ対が、要素として第1種の拡張タグを含む場合の問題について、説明する。例えば、あるHTMLエディタは、図22に示された拡張HTML文書を、図26に示された拡張HTML文書に変換してしまう。
【0011】
なお、HTMLによると、開始タグ<UL>及び終了タグ</UL>によりなるタグ対間には、下位のタグ対である<LI>及び</LI>に挟まれたリストが列挙されるはずである。このため、HTMLエディタは、拡張タグ<!IF "t == 0">,<!ELSE>,及び,<!/IF>を、リストとして扱い、これら各拡張タグの前後に、<LI>及び</LI>を追加してしまう。このため、<!IF "t == 0">,<!ELSE>,及び,<!/IF>は、夫々、<LI><!IF "t == 0"></LI>,<LI><!ELSE></LI>,及び,<LI><!/IF></LI>に、変換されてしまう。このため、HTML文書生成装置は、図23の(a)又は(b)のHTML文書を生成することができない。
【0012】
また、あるHTMLエディタは、図24に示された拡張HTML文書を、図27に示された拡張HTML文書に変換してしまう。即ち、HTMLによると、文字飾りに関するタグ対(例えば、開始タグ<EM>及び終了タグ</EM>)間には、テキストが存在するはずである。このため、HTMLエディタは、この<EM>の直後に、タグ状の形式をした第2種の拡張タグ<!REPLACE x>が配置されるべきではないと判断する。そして、HTMLエディタは、<EM>及び<!REPLACE x>の順番を入れ換える。すると、図27に示されるように、<EM>及び</EM>間には、テキストであるyenのみが存在するようになる。この図27の拡張HTML文書は、HTML文書生成装置により、500<EM>yen</EM>というHTML文書に変換されてしまう。これでは、“500yen”の部分に対して文字飾り(EM:強調)が施されるのではなく、“yen”の部分に対してのみ文字飾りが施されてしまう。
【0013】
これらの問題を解消するためには、上記の拡張タグを正しく認識するHTMLエディタが開発されればよい。しかし、現在広く利用されている各種HTMLエディタを、全て上記拡張タグに対応させることは、現実的ではない。
【0014】
そこで、HTMLエディタを変更することなく、現状のままのHTMLエディタにより編集された拡張タグを含むHTML文書を処理可能なHTML文書生成装置,HTML文書生成プログラム,及びHTML文書生成プログラムを格納したコンピュータ可読媒体を提供することを、本発明の課題とする。
【0015】
【課題を解決するための手段】
本発明によるHTML文書生成装置は、プログラムを読み込むことによって、このプログラムに従った処理を実行する処理装置と、HTML文書生成プログラムを記憶した記憶媒体とを、備えている。
【0016】
このHTML文書生成プログラムには、自身はテキストに展開されないように規定された第1種の拡張タグに関する処理を行う第1のHTML文書生成プログラムと、自身がテキストに展開されるように規定された第2種の拡張タグに関する処理を行う第2のHTML文書生成プログラムとがある。
【0017】
第1のHTML文書生成プログラムは、前記処理装置に対して、前記HTML文書を読み込ませ、開始タグ及び終了タグ間に所定の形式で構成要素を含ませるHTMLのタグ対が、構成要素として第1種の拡張タグにより記述されたもののみを含む場合,又は,構成要素を有しない場合には、当該タグ対が存在しないものとみなすことにより、第1種の拡張タグを認識させ、この第1種の拡張タグによる指定に従って該第1種の拡張タグを含まないHTML文書を生成させる。
【0018】
この第1のHTML文書生成プログラムは、HTMLエディタによって作成者の意図に反して挿入されてしまったHTMLタグを、存在しないものとみなすことにより、処理装置に対して第1種の拡張タグを作成者の意図通りに認識させることができる。このため、作成者の意図通りのHTML文書が生成される。
【0019】
第2のHTML文書生成プログラムは、前記処理装置に対して、HTMLの文字飾りに関する開始タグ及び終了タグ間に、第2種の拡張タグが配置される場合には、文字飾りに関する開始タグの直後及び文字飾りに関する終了タグの直前に夫々任意のテキストが付加され、これら文字飾りに関するタグ及びテキストの各組が夫々所定の識別用拡張タグ対で挟まれるように記述されたHTML文書を、読み込ませ、識別用拡張タグ対で挟まれたもののうち、テキストを存在しないものとみなすとともに、識別用拡張タグ対を存在しないものとみなすことにより、文字飾りに関するタグを認識させ、第2種の拡張タグによる指定に従って該第2種の拡張タグを含まないHTML文書を生成させる。
【0020】
この第2のHTML文書生成プログラムは、HTML文書中の文字飾りに関するタグに識別用拡張タグ及び任意のテキストが追加されていれば、このHTML文書が、HTMLエディタにより作成者の意図に反して変換されたとしても、文字飾りに関するタグを、正しく第2種の拡張タグに対して作用させることができる。このため、第2種の拡張タグがテキストに変換されると、このテキストに、文字飾りに関するタグが正しく作用する。
【0021】
【発明の実施の形態】
以下、図面に基づいて本発明の一実施形態を説明する。図1は、本実施形態のシステム構成図である。このシステムは、パーソナルコンピュータやワークステーション等のコンピュータにより夫々構成されたエディタ装置1,データベース装置2,HTML文書生成装置3,WWWサーバ装置4,及びWWWブラウザ装置5を、備えている。
【0022】
エディタ装置1は、図示せぬHDDを、有している。このエディタ装置1のHDD内には、予め、HTMLエディタ・プログラムがインストールされている。そして、HTML文書の作成者は、このHTMLエディタ・プログラムが稼動した状態のエディタ装置1を利用して、HTML文書を作成する。
【0023】
データベース装置2は、図示せぬHDDを、有している。このデータベース装置2のHDD内には、予め、データベース・マネジメント・システム(DBMS)21がインストールされているとともに、データベース22が蓄積されている。
【0024】
HTML文書生成装置3は、コンピュータ可読媒体としての図示せぬHDDを、有している。このHTML文書生成装置3のHDD内には、予め、拡張タグ処理用のHTML文書生成プログラムが、インストールされている。このHTML文書生成プログラムは、第1種の拡張タグに関する処理を行う部分(第1のHTML文書生成プログラム),及び,第2種の拡張タグに関する処理を行う部分(第2のHTML文書生成プログラム)を、含んでいる。そして、HTML文書生成装置3のHDDにおける第1のHTML文書生成プログラムを格納した領域が、第1の記憶媒体に相当し、HTML文書生成装置3のHDDにおける第2のHTML文書生成プログラムを格納した領域が、第2の記憶媒体に相当する。このHTML文書生成装置3は、エディタ装置1及びデータベース装置2に、夫々接続されている。
【0025】
そして、このHTML文書生成装置3は、エディタ装置1からHTML文書を取得するとともに、取得したHTML文書に対して後述のごとく事前処理を施す。さらに、このHTML文書生成装置3は、事前処理したHTML文書中の拡張タグの指定に従って、データベース22を参照する。そして、HTML文書生成装置3は、データベース22中のデータを取得してHTML文書を生成する。なお、生成されたHTML文書は、拡張タグを含まない通常のHTML文書である。
【0026】
サーバ装置4は、図示せぬHDDを、有している。このサーバ装置4のHDD内には、予め、WWWサーバ・プログラムがインストールされている。このサーバ装置4は、HTML文書生成装置3に接続されている。そして、このサーバ装置4は、HTML文書生成装置3により生成されたHTML文書を取得する。取得されたHTML文書は、サーバ装置4のHDD内に格納される。
【0027】
ブラウザ装置5は、図示せぬHDDを、有している。このブラウザ装置5のHDD内には、予め、WWWブラウザ・プログラムがインストールされている。このブラウザ装置5は、インターネットやイントラネット等のネットワークを介して、サーバ装置4に接続されている。そして、このブラウザ装置5は、サーバ装置4からHTML文書を取得する。取得されたHTML文書は、ブラウザ装置5の図示せぬディスプレイ上に、表示される。
【0028】
なお、上記のエディタ装置1にインストールされたHTMLエディタ・プログラムは、拡張タグに対応していない。このため、HTML文書の作成者が、第1種の拡張タグを含む図22のHTML文書をエディタ装置1に入力すると、このエディタ装置1は、入力されたHTML文書を、図26のように変換してしまう。この図26のHTML文書は、作成者が意図したものとは異なっている。
【0029】
本実施形態のHTML文書生成装置3は、図26のHTML文書を、後述のように事前処理することにより、図22と同内容のHTML文書を取得することができる。そのうえで、HTML文書生成装置3は、図22のHTML文書に基づいてその拡張タグを処理し、拡張タグを含まない図23のHTML文書を生成する。
【0030】
また、HTML文書の作成者が、第2種の拡張タグを含む図24のHTML文書をエディタ装置1に入力したとすると、このエディタ装置1は、入力されたHTML文書を、図27のように変換してしまう。この図27のHTML文書は、作成者の意図したものとは異なっている。
【0031】
しかし、後述するように、HTML文書の作成者が、所定の識別用拡張タグ対である<!WLFONT>及び<!/WLFONT>,並びに任意のテキスト(例えば“a”)による“<!WLFONT>a<!/WLFONT>”を用いて、図2のようなHTML文書をエディタ装置1に入力すると、HTML文書生成装置3は、作成者の意図した通りのHTML文書を取得することができる。
【0032】
なお、エディタ装置1は、作成者が入力した図2のHTML文書を、図3のように変換してしまうが、HTML文書生成装置3は、この図3のHTML文書を後述のように事前処理することにより、図24のHTML文書を取得することができる。そのうえで、HTML文書生成装置3は、図24のHTML文書に基づいてその拡張タグを処理し、拡張タグを含まない図25のHTML文書を生成する。
【0033】
以下、HTML文書生成装置3における処理について、説明する。このHTML文書作成装置3は、エディタ装置1から取得したHTML文書を構文解析(パーズ:parse)することにより、構造木を作成する。そして、このHTML文書作成装置3は、作成した構造木を所定の仕様を満たすように、変換する。さらに、HTML文書生成装置3は、所定の仕様を満たすように変換した構造木を、HTML文書に変換することにより、作成者の意図した通りのHTML文書を作成する。ここまでの処理を、事前処理という。
【0034】
そのうえで、HTML文書生成装置3は、データベース装置2におけるデータベース22を参照しながら、事前処理後のHTML文書中の第1の拡張タグ及び第2種の拡張タグを処理し、これら拡張タグを含まないHTML文書を生成する。生成されたHTML文書は、サーバ装置4へ送信されて、このサーバ装置4のHDD内に格納される。
【0035】
以下、このHTML文書生成装置3における事前処理について、さらに説明する。このHTML文書生成装置3は、HTML文書をパーズして得た構造木を利用して、事前処理を行っている。このパーズの際に、HTMLのタグ及び拡張タグは、以下のようにタイプAとタイプBとに分類されて、処理される。
【0036】
タイプAのタグは、当該タグの位置において意味を与えるものである。このタイプAのタグは、単独で取り扱われるために、対応する終了タグがない。タイプBのタグは、所定の範囲を対象として意味を与えるものである。この所定の範囲は、例えば、開始タグ及び終了タグにより規定される。この場合には、タイプBのタグは、開始タグ及び終了タグによりなるタグ対として用いられる。
【0037】
そして、HTML文書生成装置3は、第1の拡張タグに関連した処理を行う場合には、所定の第1の設定に従って、HTML文書をパーズする。この第1の設定は、以下に示すHTMLの構造タグ及びその要素タグをタイプBとみなすとともに、これら構造タグ又は要素タグ以外のHTMLタグと拡張タグとをタイプAとみなすように、設定するものである。
【0038】
この構造タグは、通常、開始タグ及び終了タグからなるタグ対として利用される。そして、このタグ対間には、該タグ対に対応する要素タグが列挙されることが、想定されている。なお、要素タグも、通常は、開始タグ及び終了タグからなるタグ対として利用される。そして、この要素タグのタグ対は、構成要素を含むことができる。この構造タグの例として、<UL>及び</UL>が挙げられる。この構造タグに対応する要素タグは、<LI>である。即ち、<UL>及び</UL>間には、<LI>により記述されたリスト(構成要素)が列挙されることが、想定されている。なお、<LI>に対応する終了タグ</LI>は、省略可能である。
【0039】
予め、HTML文書生成装置3は、そのHDD内に、構造タグ及び要素タグのテーブルを、格納している。図4は、構造タグ及び要素タグのテーブルを示す図である。この図4に示されるように、<UL>は構造タグであり、その要素タグは<LI>である。また、<TABLE>は構造タグであり、その要素タグは<TH>及び<TR>である。さらに、これら<TH>及び<TR>は構造タグでもあり、対応する要素タグは<TD>である。そして、HTML文書生成装置3は、この図4のテーブルを参照することにより、HTML文書中の構造タグ及び要素タグを、認識することができる。
【0040】
さらに、HTML文書生成装置3は、そのHDD内に、第1種拡張タグのテーブルを、格納している。図5は、第1種拡張タグのテーブルを示す図である。そして、HTML文書生成装置3は、この図5に示されるテーブルを参照することにより、HTML文書中の<!IF>,<!ELSE>,<!/IF>,<!FOREACH>,及び<!/FOREACH>等が第1種の拡張タグであると、認識することができる。
【0041】
一方、HTML文書生成装置3は、第2の拡張タグに対する処理を行う場合には、所定の第2の設定に従って、HTML文書をパーズする。この第2の設定は、識別用拡張タグ対<!WLFONT>及び<!/WLFONT>のみをタイプBとみなすとともに、それ以外の拡張タグ又はHTMLのタグをタイプAとみなすように、指定するものである。なお、HTML文書作成装置3は、そのHDD内に、図示せぬ識別用拡張タグ対のテーブルを格納している。そして、HTML文書作成装置3は、このテーブルを参照することにより、HTML文書中の識別用拡張タグ対を認識することができる。
【0042】
図6は、HTML文書生成装置3の事前処理を示すフローチャートである。以下、この図の各ステップ毎に説明する。この図6のフローチャート開始後のS1では、HTML文書生成装置3は、エディタ装置1から取得したHTML文書を、第1の設定に従ってパーズすることにより、構造木を作成する。例えば、エディタ装置1により図26のように変換されてしまったHTML文書は、このS1の処理により、図7の構造木に変換される。
【0043】
次のS2では、HTML文書生成装置3は、S1で作成された構造木を、所定の第1の仕様を満たすように変換する。例えば、図7の構造木は、(図8の状態を経て)図9に示されるように変換される。なお、このS2の処理については、後において詳述する。
【0044】
次のS3では、HTML文書生成装置3は、S2で変換された構造木に基づいて、HTML文書を作成する。このHTML文書生成装置3は、例えば、図9の構造木に基づいて、図22と同内容のHTML文書を作成する。
【0045】
以上のS1乃至S3の処理により、第1の拡張タグに関する問題は、解決する。そして、次のS4以降の処理により、第2の拡張タグに関する問題が、解決することになる。
【0046】
S4では、HTML文書生成装置3は、S3において作成されたHTML文書を、第2の設定に従ってパーズすることにより、構造木を作成する。例えば、エディタ装置1により図3のように変換されたHTML文書は、第1種の拡張タグを含まないので、S1乃至S3の処理によって変換されることがない。このため、S4では、この図3のHTML文書が処理されることになる。このS4の処理により、図3のHTML文書は、図10の構造木に変換される。
【0047】
次のS5では、HTML文書生成装置3は、S4で作成された構造木を、第2の仕様を満たすように変換する。例えば、図10の構造木は、図11のように変換される。なお、このS5の処理については、後において詳述する。
【0048】
次のS6では、HTML文書生成装置3は、S5で変換された構造木に基づいて、HTML文書を作成する。このHTML文書生成装置3は、例えば、図11の構造木に基づいて、図24と同内容のHTML文書を作成する。
【0049】
以下、図6におけるS2の処理について詳述する。このS2において、HTML文書生成装置3は、S1において作成した構造木のルートを処理基準に設定して、図12のフローチャートを起動する。
【0050】
この図12のフローチャート開始後最初のS201では、HTML文書生成装置3は、処理基準の直下に未処理のノードがあるかどうか、判別する。そして、HTML文書生成装置3は、未処理のノードがあれば処理をS202へ進め、未処理のノードがなければ処理をS210へ進める。例えば、図7の構造木の場合に、処理基準がルートに設定されていると、この処理基準の直下のノードは、タグ“UL”のノードである。この“UL”のノードが未処理であれば、処理はS202へ進む。
【0051】
S202では、HTML文書生成装置3は、未処理のノードのうちの1つを、処理対象ノードに設定する。図7の構造木の場合には、“UL”のノードが処理対象ノードになる。
【0052】
次のS203では、HTML文書生成装置3は、処理対象ノードが構造タグ又は要素タグであるかどうか、判別する。HTML文書生成装置3は、処理対象ノードが構造タグ又は要素タグである場合には処理をS204へ進め、それ以外の場合には処理をS201へ戻す。図7の構造木において、“UL”のノードが処理対象ノードである場合には、HTML文書生成装置3は、図4のテーブルを参照することにより、この“UL”のノードが構造タグであることを認識する。この場合には、処理は、S204へ進む。
【0053】
S204では、HTML文書生成装置3は、処理対象ノードが直下のノードを持つかどうか判別する。そして、HTML文書生成装置3は、処理対象ノードが直下のノードを持たない場合には処理をS205へ進め、処理対象ノードを持つ場合には処理をS206へ進める。図7の構造木において、“UL”のノードが処理対象ノードであれば、このノードは直下のノードを持つので、処理はS206へ進む。なお、この図7の構造木の例では、S205の処理は一度も実行されない。このため、S205の処理については、別の構造木の例を用いて後述する。
【0054】
S206では、HTML文書生成装置3は、処理対象ノードの直下のノードに構造タグ又は要素タグがあるかどうか、判別する。そして、HTML文書生成装置3は、処理対象ノードの直下に構造タグ又は要素タグがある場合には処理をS207へ進め、処理対象ノードの直下に構造タグがない場合には、処理をS208へ進める。図7の構造木において、“UL”のノードが処理対象ノードであれば、このノードの直下には、“LI”のノードが6つある。なお、HTML文書生成装置3は、図4のテーブルを参照することにより、この“LI”のノードが要素タグであると判別するので、処理をS207へ進める。
【0055】
S207では、HTML文書生成装置3は、処理対象ノードを処理基準とした再帰的処理を実行する。即ち、“UL”のノードが処理対象ノードであれば、この“UL”のノードを処理基準とした図12のフローチャートを、再帰的に呼び出す。このS207において呼び出された図12のフローチャートは、一段階下の階層の処理として実行される。この一段階下の階層の図12のフローチャートの処理が完了することにより、当該S207の処理は終了する。そして、処理は、S201へ移行する。
【0056】
なお、以下の説明において、元の階層(▲1▼の階層)の各ステップと、一段階下の階層(▲2▼の階層)の各ステップとを区別するために、元の階層のステップを▲1▼−S201の形式で表記し、一段階下の階層のステップを、▲2▼−S201の形式で標記する。
【0057】
上記の元の階層の▲1▼−S202において、図7の構造木の“UL”タグが処理対象ノードに設定されていた場合には、一段階下の階層のステップ(▲2▼−S201以降のステップ)において、“UL”のノードが処理基準となる。すると、第1回目の▲2▼−S201では、この処理基準である“UL”のノードの下に未処理の“LI”のノードが6つあるので、処理は▲2▼−S202へ進む。
【0058】
この▲2▼−S202において、6つの“LI”のノードのうちの先頭のものが処理対象ノードに設定されると、▲2▼−S203において、当該タグは要素タグであると判別されて、処理は▲2▼−S204へ進む。さらに、この“LI”のノードは、その直下に“!IF”のノードを有するので、処理は▲2▼−S206へ進む。この▲2▼−S206において、当該直下のノードには構造タグが含まれていないと判別され、処理は▲2▼−S208へ進む。
【0059】
▲2▼−S208では、HTML文書生成装置3は、▲2▼−S202において設定された処理対象ノードの直下のノードが、第1種の拡張タグのノードのみであるかどうか判別する。そして、HTML文書作成装置3は、処理対象ノードの直下のノードが第1種の拡張タグのみである場合には、処理を▲2▼−S209へ進め、それ以外の場合には処理を▲2▼−S201へ戻す。図7の構造木における6つの“LI”のノードのうちの先頭のものが、処理対象ノードに設定されていると、このノードの直下のノードは、第1種の拡張タグ“!IF”のノードのみであるので、処理は、▲2▼−S209へ進む。
【0060】
▲2▼−S209では、HTML文書生成装置3は、処理対象ノードの直下の第1種の拡張タグを、当該処理対象ノードの位置へ移動させるとともに、この処理対象ノード自体を削除する。図7の構造木における6つの“LI”のノードのうちの先頭のものが、処理対象ノードに設定されていると、このノードの直下の第1種の拡張タグ“!IF”のノードが、図8に示されるように、処理基準である“UL”タグの直下へ移動する。
【0061】
なお、上述の処理が同様に繰り返されることにより、他の第1種の拡張タグである“!ELSE”及び“!/IF”のノードも、処理基準である“UL”のノードの直下へ移動する。即ち、6つの“LI”のノードが全て処理されると、図9に示される構造木が得られる。すると、その後の▲2▼−S201において、HTML文書生成装置3は、処理基準である“UL”のノードの直下に未処理のノードがないと判別して、処理を▲2▼−S210へ進める。
【0062】
▲2▼−S210では、HTML文書生成装置3は、処理基準の直下のノードが第1種の拡張タグのノードのみであるかどうか判別する。そして、HTML文書生成装置3は、処理基準の直下のノードが第1種の拡張タグのノードのみであれば処理を▲2▼−S211へ進め、それ以外の場合には処理を終了させる。図9の構造木の例では、いずれの階層においてもS211の処理は実行されない。このため、S211の処理については、後において、別の構造木の例を参照して説明する。
【0063】
この図9の構造木が得られた後に、上記の如く▲2▼の階層の処理は終了する。この▲2▼の階層の処理が終了することは、元の階層の▲1▼−S207の処理が終了することに相当する。従って、処理は▲1▼−S201へ移行する。この▲1▼の階層では、ルートが処理基準になっている。このため、ルートの直下のノードが全て処理済であれば、全ての処理は完了する。即ち、図6のS2の処理が完了する。
【0064】
この図9の構造木は、図6のS3において図22と同内容のHTML文書に変換される。後において説明するが、S3において得られたHTML文書が識別用拡張タグ<!WLFONT>を含んでいない場合には、図6のS4乃至S6の処理の結果得られるHTML文書は、S3において得られたHTML文書と同内容になる。従って、事前処理である図6の処理の結果、図22と同内容のHTML文書が得られる。
【0065】
この事前処理後、HTML文書生成装置3は、データベース装置2におけるデータベース22を参照しながら、HTML文書中の第1の拡張タグ及び第2種の拡張タグを処理し、これら拡張タグを含まないHTML文書を生成する。このHTML文書生成装置3は、例えば、図22のHTML文書に基づいて、図23の(a)又は(b)のHTML文書を生成する。この生成処理の際に、データベース22中の変数tの値が0である場合には、HTML文書生成装置3は、図23の(a)のHTML文書を生成する。一方、変数tの値が0でなければ、図23の(b)のHTML文書を生成する。
【0066】
以下、事前処理を示す図6のフローチャートにおけるS2の処理(上記図12の処理)について、他の構造木の例を参照してさらに説明する。まず、この構造木の元になるHTML文書について説明する。図13は、HTML文書の一例を示す図である。まず、HTML文書の作成者がエディタ装置1を用いて図13のHTML文書を入力する。
【0067】
なお、エディタ装置1は、構造タグ対<TABLE>及び</TABLE>は、タグ対<TH>及び</TH>と、このタグ対<TH>及び</TH>の後に配置されるタグ対<TR>及び</TR>とを含むものと、認識している。さらに、エディタ装置1は、これらタグ対<TH>及び</TH>とタグ対<TR>及び</TR>とは、夫々タグ対<TD>及び</TD>を含むものと、認識している。このため、エディタ装置1は、図13のHTML文書中の<!FOREACH>の前後と<!/FOREACH>の前後とには、タグ対が不足しているものと判別する、そして、エディタ装置1は、作成者の意図に反するタグ対<TD>及び</TD>(<TR>及び</TR>)を補ってしまう。このため、図13のHTML文書は、図14に示されるように変換されてしまう。
【0068】
そして、HTML文書生成装置3は、この図14のHTML文書を取得して、図6に示される事前処理を行う。この図6のS1において、図14のHTML文書は、図15の構造木を作成する。この図15の構造木は、図6のS2即ち図12のフローチャートにおいて、以下のように処理される。
【0069】
この図12における▲1▼−S201では、処理基準はルートになっている。このルートの直下には、未処理のノードである“TABLE”のノードがある。このため、処理は▲1▼−S202へ進む。この▲1▼−S202において、“TABLE”のノードが、処理対象ノードに設定される。
【0070】
次の▲1▼−S203では、HTML文書生成装置3は、“TABLE”が構造タグであるので、処理を▲1▼−S204へ進める。▲1▼−S204では、HTML文書生成装置3は、“TABLE”のノードが直下のノードを持つので、処理を▲1▼−S206へ進める。
【0071】
図15に示されるように、この“TABLE”タグの直下には、1つの“TH”のノードと3つの“TR”のノードがある。これら“TH”及び“TR”は、構造タグである。このため、▲1▼−S206において、HTML文書生成装置3は、処理を▲1▼−S207へ進める。
【0072】
▲1▼−S207では、HTML文書生成装置3は、この▲1▼の階層における処理対象ノードの“TABLE”のノードを、▲2▼の階層における処理基準として、この▲2▼の階層の図12の処理を再帰的に呼び出す。▲2▼−S201では、HTML文書生成装置3は、処理基準である“TABLE”のノードの直下に未処理のノードがある場合には、処理を▲2▼−S202へ進める。図15に示されるように、処理基準である“TABLE”のノードの直下には、1つの“TH”のノードと3つの“TR”のノードがある。但し、図示の都合上、“TH”のノード,及び,3つの“TR”のノードのうちの先頭のもの以外の2つの“TR”のノードは、それらの直下のノードが詳細に記載されていない。このため、“TH”のノードに対する処理が既に終了し、3つの“TR”のノードが未処理の状態を想定して、以下、説明する。
【0073】
▲2▼−S202では、HTML文書生成装置3は、3つの“TR”のノードのうちの先頭の1つを、処理対象ノードとする。次の▲2▼−S203では、HTML文書生成装置3は、処理対象ノードのタグ“TR”が構造タグであると判別して、処理を▲2▼−S204へ進める。この処理対象ノードである“TR”のノードは、その直下に3つの“TD”のノードを持っている。このため、▲2▼−S204では、HTML文書生成装置3は、処理を▲2▼−S206へ進める。なお、これら3つの“TD”は、要素タグである。このため、▲2▼−S206では、HTML文書生成装置3は、処理を▲2▼−S207へ進める。
【0074】
▲2▼−S207では、HTML文書生成装置3は、この▲2▼の階層における処理対象ノードの“TR”のノードを、さらに一段下の▲3▼の階層における処理基準として、この▲3▼の階層の図12の処理を再帰的に呼び出す。第1回目の▲3▼−S201では、HTML文書生成装置3は、処理基準である“TR”のノードの直下に未処理のノードがあると判別して、処理を▲3▼−S202へ進める。
【0075】
▲3▼−S202では、HTML文書生成装置3は、3つの“TD”のノードのうちの先頭の1つを、処理対象ノードとする。次の▲3▼−S203では、HTML文書生成装置3は、処理対象ノードが要素タグであると判別して、処理を▲3▼−S204へ進める。この処理対象ノードである“TD”のノードは、直下に“!FOREACH”のノードを有している。このため、▲3▼−S204では、HTML文書生成装置3は、処理を▲3▼−S206へ進める。
【0076】
この処理対象ノードは、その直下に、第1種の拡張タグ“!FOREACH”のノードのみを有していて、構造タグ又は要素タグのノードを有していない。このため、▲3▼−S206では、HTML文書生成装置3は、処理を▲3▼−S208へ進める。
【0077】
▲3▼−S208では、HTML文書生成装置3は、処理対象ノードの直下のノードが第1種の拡張タグのノードのみであるかどうか、判別する。そして、HTML文書生成装置3は、処理対象ノードの直下のノードが第1種の拡張タグのノードのみである場合には、処理を▲3▼−S209へ進め、それ以外の場合には処理を▲3▼−S201へ戻す。なお、処理対象ノードである“TD”のノードの直下のノードは、第1種の拡張タグ“!FOREACH”のノードのみであるので、処理は▲3▼−S209へ進む。
【0078】
▲3▼−S209では、HTML文書生成装置3は、処理対象ノードである“TD”のノードの直下にある“!FOREACH”のノードを、処理対象ノードである“TD”のノードの位置に移動させるとともに、この処理対象ノード自体を削除する。この処理により、図15の構造木は、図16に示されるように変換される。そのうえで、処理は、▲3▼−S201へ戻る。
【0079】
この段階において、“!FOREACH”のノードは処理済になっているが、この“!FOREACH”のノードの並びの2つの“TD”のノードは、まだ未処理である。このため、▲3▼−S201では、HTML文書生成装置3は、処理を▲3▼−S202へ進める。
【0080】
▲3▼−S202では、HTML文書生成装置3は、2つの“TD”のノードのうちの先頭の1つを、処理対象ノードとする。この処理対象ノードの“TD”は、要素タグである。このため、▲3▼−S203では、HTML文書生成装置3は、処理を▲3▼−S204へ進める。なお、処理対象ノードである“TD”のノードは、直下のノードを有していない。このため、▲3▼−S204では、HTML文書生成装置3は、処理を▲3▼−S205へ進める。
【0081】
▲3▼−S205では、HTML文書生成装置3は、処理対象ノードを削除した後、処理を▲3▼−S201へ戻す。即ち、処理対象ノードである“TD”のノードが削除された後に、処理は▲3▼−S201へ戻る。この▲3▼−S201以降の処理において、処理基準である“TR”のノード直下の最後の“TD”のノードが、同様に削除される。すると、図17の構造木が得られる。この図17に示されるように、3つの“TR”のノードのうちの先頭のもの(処理基準)は、その直下に、“!FOREACH”のノードのみを有している。この“!FOREACH”のノードは、上記の如く既に処理済である。このため、HTML文書生成装置3は、▲3▼−S201において、処理基準の直下に未処理のノードがないと判別して、処理を▲3▼−S210へ分岐させる。
【0082】
▲3▼−S210において、HTML文書生成装置3は、処理基準の直下のノードが第1種の拡張タグのノードのみであるかどうか、判別する。そして、HTML文書生成装置3は、処理基準の直下のノードが第1種の拡張タグのノードのみである場合には、処理を▲3▼−S211へ進め、それ以外の場合には▲3▼の階層の処理を終了させる。図17の構造木に示されるように、3つの“TR”のノードのうちの先頭のもの(処理基準)は、その直下に、第1種の拡張タグ“!FOREACH”のノードのみを有している。このため、HTML文書生成装置3は、▲3▼−S210において処理を▲3▼−S211へ進める。
【0083】
▲3▼−S211では、HTML文書生成装置3は、処理基準の直下の第1種の拡張タグのノードを、処理基準の位置に移動させるとともに、当該処理基準自体を削除する。そのうえで、HTML文書作成装置3は、処理(▲3▼の階層の処理)を終了させる。図17の構造木の例では、“!FOREACH”のノードが、処理基準である“TR”のノードの位置に移動し、この処理基準である“TR”のノード自体が削除され、図18の構造木が得られる。そして、▲3▼の階層の処理が終了する。
【0084】
この▲3▼の階層の処理が終了するということは、一段階上の階層における▲2▼−S207の処理が終了することに相当する。従って、処理は▲2▼−S201へ移行する。図18の構造木の例では、▲2▼の階層において、“TABLE”のノードが処理基準になっている。この処理基準の“TABLE”のノードの直下の“!FOREACH”のノードは、上記の如く処理済となっている。しかし、“!FOREACH”のノードの並びの2つの“TR”のノードは未処理である。
【0085】
そして、HTML文書生成装置3は、これら未処理のノードを順次処理することにより、図18の構造木を、図19に示されるように変換する。そのうえで、HTML文書生成装置3は、この▲2▼の階層の処理を終了する。
【0086】
この▲2▼の階層の処理が終了することは、一段階上の階層における▲1▼−S207の処理が終了することに相当する。従って、処理は▲1▼−S201へ移行する。この▲1▼の階層では、ルートが処理基準になっている。図19の例では、ルートの直下には“TABLE”のノードのみが図示されている。この“TABLE”のノードは、上記の如く処理済であるので、処理は▲1▼−S210へ分岐する。この“TABLE”のノードの直下には、第1種の拡張タグのノード以外のものもある(▲1▼−S210:No)。従って、▲1▼の階層の処理が終了する。この▲1▼の階層の処理が終了することは、図6のS2の処理が終了することに相当する。
【0087】
この図19の構造木は、図6のS3において図13のHTML文書に変換される。後において説明するが、S3において得られたHTML文書が識別用拡張タグである<!WLFONT>を含んでいない場合には、図6のS4乃至S6の処理の結果得られるHTML文書は、S3において得られたHTML文書と同内容になる。従って、事前処理である図6の処理の結果、図13と同じHTML文書が得られる。
【0088】
この事前処理後、HTML文書生成装置3は、データベース装置2におけるデータベース22を参照しながら、HTML文書中の拡張タグを処理し、この拡張タグを含まないHTML文書を生成する。この図13のHTML文書に基づいて生成処理が行われる際に、データベース中のttの値が、[[columnName->"氏名"], [columnName->"住所"], [columnName->"年齢"]]であり、ssの値が、[[name->"鈴木", address->"杉並区", age->"35"], [name->"田中", address->"横浜市", age->"24"]]である場合には、図20のHTML文書が生成される。
【0089】
以下、事前処理を示す図6におけるS5の処理について詳述する。このS5において、HTML文書生成装置3は、S4において作成した構造木を、図21のフローチャートに従って処理する。以下、S4において図10の構造木が得られた場合の例を用いて、図21のフローチャートについて説明する。
【0090】
この図21のフローチャート開始後最初のS501では、HTML文書生成装置3は、構造木のルートの直下に未処理のノードがあるかどうか判別する。そして、HTML文書生成装置3は、未処理のノードがある場合には、処理をS502へ進め、それ以外の場合には処理を終了させる。図10の構造木におけるルートは、その直下に、4つのノードを有している。即ち、ルートの直下には、識別用拡張タグ“!WLFONT”のノード,第2種拡張タグ“!REPLACE”のノード,テキスト“yen”のノード,及び,識別用拡張タグ“!WLFONT”のノードが、夫々接続されている。図21のフローチャート開始の際の初期状態では、ルートの直下の各ノードはいずれも未処理である。このため、HTML文書作成装置3は、処理をS502へ進める。
【0091】
S502では、HTML文書生成装置3は、未処理のノードのうちの先頭の1つを処理対象ノードとして設定する。図10の構造木におけるルートの直下の4つのノードがいずれも未処理であれば、先頭の識別用拡張タグ“!WLFONT”のノードが、処理対象ノードになる。
【0092】
次のS503では、HTML文書生成装置3は、処理対象ノードが識別用拡張タグ“!WLFONT”のノードであるかどうか、判別する。そして、HTML文書生成装置3は、処理対象ノードが識別用拡張タグ“!WLFONT”のノードである場合には、処理をS504へ進めるが、それ以外の場合には処理をS501へ戻す。
【0093】
S504では、処理対象ノードの直下のノードのうちのテキストのノードを削除する。処理対象ノードが“!WLFONT”タグのノードであれば、その直下のテキスト“a”のノードが削除される。すると、“!WLFONT”のノードの直下には、タグ“EM”のノードのみが残される。
【0094】
次のS505では、処理対象ノードの直下のノードを処理対象ノードの位置へ移動し、処理対象ノードを削除する。そして、HTML文書生成装置3は、処理をS501へ戻す。このS505の処理により、“!WLFONT”のノードの直下に残った“EM”のノードは、“!WLFONT”のノードの位置へ移動する。そして、“!WLFONT”のノード自体は、削除される。その結果、構造木は、そのルートの直下に、“EM”のノード,“!REPLACE”のノード,“yen”のノード,及び“!WLFONT”のノードが接続された状態になる。そのうえで、処理はS501へ戻る。
【0095】
以降の処理において、“EM”のノードは、処理済とみなされ、“!REPLACE”のノード,“yen”のノード,及び,“!WLFONT”のノードは、未処理とみなされる。このため、2回目のS501では、未処理のノードがあると判別されて、処理はS502へ進む。そして、S502では、“!REPLACE”のノードが、処理対象ノードになる。すると、S503では、HTML文書生成装置3は、処理対象ノードが“!WLFONT”のノードではないと判別して、処理をS501へ戻す。
【0096】
以降の処理において、“EM”のノード,及び“!REPLACE”のノードは、処理済とみなされ、“yen”のノード,及び,“!WLFONT”のノードは、未処理とみなされる。このため、3回目のS501では、未処理のノードがあると判別されて、処理はS502へ進む。そして、S502では、“yen”のノードが、処理対象ノードになる。すると、S503では、HTML文書生成装置3は、処理対象ノードが“!WLFONT”のノードではないと判別して、処理をS501へ戻す。
【0097】
以降の処理において、最後の“!WLFONT”のノードのみが未処理とみなされる。このため、HTML文書生成装置3は、4回目のS501において処理をS502へ進め、このS502において“!WLFONT”のノードを処理対象ノードとして設定する。
【0098】
そして、HTML文書生成装置3は、このように処理対象ノードが“!WLFONT”のノードである(S503:Yes)ため、この処理対象ノードの直下のテキスト“a”のノードを削除する(S504)。さらに、HTML文書生成装置3は、残された“/EM”のノードを“!WLFONT”のノードの位置へ移動し、この“!WLFONT”のノード自体を削除する(S505)。すると、図11の構造木が得られる。そして、HTML文書生成装置3は、処理をS501へ戻す。この5回目のS501では、ルートの直下に未処理のノードがないので、HTML文書生成装置3は、処理を終了する。
【0099】
この図21の処理が終了することは、図6のS5の処理が終了することに相当する。この図6のS5の処理により得られた図11の構造木は、図6のS6において図24のHTML文書に変換される。従って、事前処理である図6の処理の結果、作成者が意図した通りのHTML文書が生成される。
【0100】
この事前処理後、HTML文書生成装置3は、データベース装置2におけるデータベース22を参照しながら、HTML文書中の拡張タグを処理し、これら拡張タグを含まないHTML文書を生成する。この生成処理の際に、データベース22におけるxの値が500であれば、この図24のHTML文書は、図25のHTML文書に変換される。
【0101】
上述のように、HTML文書の作成者は、第2種の拡張タグが文字飾りのタグとともに使用された図24のようなHTML文書を作成したい場合には、識別用拡張タグ対及び任意のテキスト“<!WLFONT>a<!/WLFONT >”を用いて図2のようなHTML文書を、エディタ装置1に入力する。
【0102】
すると、エディタ装置1は、図2のHTML文書を図3のように変換してしまうが、HTML文書生成装置3は、この図3のHTML文書を正しく認識して、図25のHTML文書を生成することができる。
【0103】
【発明の効果】
以上のように構成された本発明のHTML文書生成プログラム,HTML文書生成プログラムを格納したコンピュータ可読媒体,HTML文書生成方法,及びHTML文書生成装置によれば、HTMLエディタが、拡張タグを含んだHTML文書を、作成者の意図に反して変換してしまったとしても、変換されたHTML文書は作成者の意図した通りに認識される。このため、拡張タグを含んだHTML文書は、正しく処理されて、この拡張タグの指定に従って、該拡張タグを含まないHTML文書が作成者の意図した通りに生成される。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるシステム構成図
【図2】 作成者が入力するHTML文書例
【図3】 エディタ装置が変換したHTML文書例
【図4】 構造タグ及び要素タグのテーブルを示す図
【図5】 第1種拡張タグのテーブルを示す図
【図6】 HTML文書生成装置による事前処理を示すフローチャート
【図7】 図26に基づいて作成された構造木
【図8】 図7から変換された構造木
【図9】 図8から変換された構造木
【図10】 図3に基づいて作成された構造木
【図11】 図10から変換された構造木
【図12】 図6のS2の処理を示すフローチャート
【図13】 作成者が入力するHTML文書例
【図14】 エディタ装置が変換したHTML文書例
【図15】 図14に基づいて作成された構造木
【図16】 図15から変換された構造木
【図17】 図16から変換された構造木
【図18】 図17から変換された構造木
【図19】 図18から変換された構造木
【図20】 HTML生成装置により生成されたHTML文書例
【図21】 図6のS5の処理を示すフローチャート
【図22】 作成者が入力するHTML文書例
【図23】 HTML生成装置により生成されたHTML文書例
【図24】 作成者が入力するHTML文書例
【図25】 HTML生成装置により生成されたHTML文書例
【図26】 エディタ装置が変換したHTML文書例
【図27】 エディタ装置が変換したHTML文書例
【符号の説明】
1 エディタ装置
2 データベース装置
22 データベース
3 HTML文書生成装置
4 WWWサーバ装置
5 ブラウザ装置

Claims (6)

  1. 編集されたHTML文書に第1の所定のHTMLタグ対が含まれていると、該第1の所定のHTMLタグ対に挟まれた要素の前後に該要素を挟むように第2の所定のHTMLタグ対を追加する修正処理を実行するHTMLエディタを用いて編集されたHTML文書に対して処理を行うためのHTML文書生成プログラムであって、
    コンピュータに対し、
    前記HTMLエディタが前記修正処理を施して得たHTML文書を、読み込む読込手順、
    前記読込手順で読み込んだHTML文書の中から、自身はテキストに展開されないように規定されたHTML拡張タグを識別する識別手順、及び、
    前記識別手順で識別したHTML拡張タグのみを要素とする前記第2の所定のHTMLタグ対を削除する削除手順
    を実行させる
    ことを特徴とするHTML文書生成プログラム。
  2. 編集されたHTML文書にHTMLの文字飾りに関する第3の所定のHTMLタグ対が含まれているとともに、該第3の所定のHTMLタグ対の開始タグの直後にその位置に配置されるべきではない要素が配置されていると、該開始タグとその要素と順番を入れ替える修正処理を実行するHTMLエディタを用いて編集されたHTML文書に対して処理を行うためのHTML文書生成プログラムであって、
    コンピュータに対し、
    自身がテキストに展開されるように規定された拡張タグが第3の所定のHTMLタグ対の間に配置されているとともに、該第3の所定のHTMLタグ対の開始タグの直後と終了タグの直前とにそれぞれ任意のテキストが付加され、更に、該開始タグとその直後のテキストとが所定の識別用拡張タグ対で挟まれているとともに該終了タグとその直前のテキストとが所定の識別用拡張タグ対で挟まれているHTML文書に対し、前記HTMLエディタが前記修正処理を施して得たHTML文書を、読み込む読込手順、
    前記読込手順で読み込んだHTML文書の中から識別用拡張タグ対を識別する識別手順、
    前記識別手順で識別した所定の識別用拡張タグ対の間の要素のうち、該第3の所定のHTMLタグ以外の要素を削除する第1の削除手順、及び、
    前記識別手順で識別した所定の識別用拡張タグを削除する第2の削除手順
    を実行させる
    ことを特徴とするHTML文書生成プログラム。
  3. 編集されたHTML文書に第1の所定のHTMLタグ対が含まれていると、該第1の所定のHTMLタグ対に挟まれた要素の前後に該要素を挟むように第2の所定のHTMLタグ対を追加し、尚且つ、編集されたHTML文書にHTMLの文字飾りに関する第3の所定のHTMLタグ対が含まれているとともに、該第3の所定のHTMLタグ対の開始タグの直後にその位置に配置されるべきではない要素が配置されていると、該開始タグとその要素と順番を入れ替える修正処理を実行するHTMLエディタを用いて編集されたHTML文書に対して処理を行うためのHTML文書生成プログラムであって、
    コンピュータに対し、
    自身がテキストに展開されるように規定された拡張タグが第3の所定のHTMLタグ対の間に配置されているとともに、該第3の所定のHTMLタグ対の開始タグの直後と終了タグの直前とにそれぞれ任意のテキストが付加され、更に、該開始タグとその直後のテキストとが所定の識別用拡張タグ対で挟まれているとともに該終了タグとその直前のテキストとが所定の識別用拡張タグ対で挟まれているHTML文書に対し、前記HTMLエディタが前記修正処理を施して得たHTML文書を、読み込む読込手順、
    前記読込手順で読み込んだHTML文書の中から、自身はテキストに展開されないように規定されたHTML拡張タグを識別する第1の識別手順、
    前記第1の識別手順で識別したHTML拡張タグのみを要素とする前記第2の所定のHTMLタグ対を削除する第1の削除手順、
    前記読込手順で読み込んだHTML文書の中から識別用拡張タグ対を識別する第2の識別手順、
    前記第2の識別手順で識別した所定の識別用拡張タグ対の間の要素のうち、該第3の所定のHTMLタグ以外の要素を削除する第2の削除手順、及び、
    前記第2の識別手順で識別した所定の識別用拡張タグを削除する第3の削除手順
    を実行させる
    ことを特徴とするHTML文書生成プログラム。
  4. 編集されたHTML文書に第1の所定のHTMLタグ対が含まれていると、該第1の所定のHTMLタグ対に挟まれた要素の前後に該要素を挟むように第2の所定のHTMLタグ対を追加する修正処理を実行するHTMLエディタを用いて編集されたHTML文書に対して処理を行うためのHTML文書生成プログラムであって、
    コンピュータに対し、
    前記HTMLエディタが前記修正処理を施して得たHTML文書を、読み込む読込手順、
    前記読込手順で読み込んだHTML文書の中から、自身はテキストに展開されないように規定されたHTML拡張タグを識別する識別手順、及び、
    前記識別手順で識別したHTML拡張タグのみを要素とする前記第2の所定のHTMLタグ対を削除する削除手順
    を実行させるためのHTML文書生成プログラム
    を格納したことを特徴とするコンピュータ可読媒体。
  5. 編集されたHTML文書にHTMLの文字飾りに関する第3の所定のHTMLタグ対が含まれているとともに、該第3の所定のHTMLタグ対の開始タグの直後にその位置に配置されるべきではない要素が配置されていると、該開始タグとその要素と順番を入れ替える修正処理を実行するHTMLエディタを用いて編集されたHTML文書に対して処理を行うためのHTML文書生成プログラムであって、
    コンピュータに対し、
    自身がテキストに展開されるように規定された拡張タグが第3の所定のHTMLタグ対の間に配置されているとともに、該第3の所定のHTMLタグ対の開始タグの直後と終了タグの直前とにそれぞれ任意のテキストが付加され、更に、該開始タグとその直後のテキストとが所定の識別用拡張タグ対で挟まれているとともに該終了タグとその直前のテキストとが所定の識別用拡張タグ対で挟まれているHTML文書に対し、前記HTMLエディタが前記修正処理を施して得たHTML文書を、読み込む読込手順、
    前記読込手順で読み込んだHTML文書の中から識別用拡張タグ対を識別する識別手順、
    前記識別手順で識別した所定の識別用拡張タグ対の間の要素のうち、該第3の所定のHTMLタグ以外の要素を削除する第1の削除手順、及び、
    前記識別手順で識別した所定の識別用拡張タグを削除する第2の削除手順
    を実行させるためのHTML文書生成プログラム
    を格納したことを特徴とするコンピュータ可読媒体。
  6. 編集されたHTML文書に第1の所定のHTMLタグ対が含まれていると、該第1の所定のHTMLタグ対に挟まれた要素の前後に該要素を挟むように第2の所定のHTMLタグ対を追加し、尚且つ、編集されたHTML文書にHTMLの文字飾りに関する第3の所定のHTMLタグ対が含まれているとともに、該第3の所定のHTMLタグ対の開始タグ の直後にその位置に配置されるべきではない要素が配置されていると、該開始タグとその要素と順番を入れ替える修正処理を実行するHTMLエディタを用いて編集されたHTML文書に対して処理を行うためのHTML文書生成プログラムであって、
    コンピュータに対し、
    自身がテキストに展開されるように規定された拡張タグが第3の所定のHTMLタグ対の間に配置されているとともに、該第3の所定のHTMLタグ対の開始タグの直後と終了タグの直前とにそれぞれ任意のテキストが付加され、更に、該開始タグとその直後のテキストとが所定の識別用拡張タグ対で挟まれているとともに該終了タグとその直前のテキストとが所定の識別用拡張タグ対で挟まれているHTML文書に対し、前記HTMLエディタが前記修正処理を施して得たHTML文書を、読み込む読込手順、
    前記読込手順で読み込んだHTML文書の中から、自身はテキストに展開されないように規定されたHTML拡張タグを識別する第1の識別手順、
    前記第1の識別手順で識別したHTML拡張タグのみを要素とする前記第2の所定のHTMLタグ対を削除する第1の削除手順、
    前記読込手順で読み込んだHTML文書の中から識別用拡張タグ対を識別する第2の識別手順、
    前記第2の識別手順で識別した所定の識別用拡張タグ対の間の要素のうち、該第3の所定のHTMLタグ以外の要素を削除する第2の削除手順、及び、
    前記第2の識別手順で識別した所定の識別用拡張タグを削除する第3の削除手順
    を実行させるためのHTML文書生成プログラム
    を格納したことを特徴とするコンピュータ可読媒体。
JP2001214928A 2000-09-21 2001-07-16 Html文書生成プログラム及びコンピュータ可読媒体 Expired - Fee Related JP4071462B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001214928A JP4071462B2 (ja) 2000-09-21 2001-07-16 Html文書生成プログラム及びコンピュータ可読媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000287303 2000-09-21
JP2000-287303 2000-09-21
JP2001214928A JP4071462B2 (ja) 2000-09-21 2001-07-16 Html文書生成プログラム及びコンピュータ可読媒体

Publications (2)

Publication Number Publication Date
JP2002169801A JP2002169801A (ja) 2002-06-14
JP4071462B2 true JP4071462B2 (ja) 2008-04-02

Family

ID=26600444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001214928A Expired - Fee Related JP4071462B2 (ja) 2000-09-21 2001-07-16 Html文書生成プログラム及びコンピュータ可読媒体

Country Status (1)

Country Link
JP (1) JP4071462B2 (ja)

Also Published As

Publication number Publication date
JP2002169801A (ja) 2002-06-14

Similar Documents

Publication Publication Date Title
US10042828B2 (en) Rich text handling for a web application
US7111234B2 (en) System and method for in-line editing of web-based documents
US7155491B1 (en) Indirect address rewriting
US8281284B2 (en) Method and software for editing web documents
JPH0830620A (ja) 構造検索装置
JP4216323B2 (ja) 構造化データ変換方式
US20030018650A1 (en) Link management of document structures
WO2011069903A1 (en) Method and system for on-line editing electronic documents
JP2005234837A (ja) 構造化文書処理方法、構造化文書処理システム及びそのプログラム
CN113656119A (zh) 一种通过dom节点回溯用户操作的方法及系统
CN112433995A (zh) 文件格式转换方法、系统、计算机设备及存储介质
JP4071462B2 (ja) Html文書生成プログラム及びコンピュータ可読媒体
JP2006065467A (ja) データ抽出定義情報生成装置およびデータ抽出定義情報生成方法
JP2004348341A (ja) 構造化文書処理システム、構造化文書処理方法及びプログラム
JP3715777B2 (ja) 構造化文書編集方法及び構造化文書編集装置並びに構造化文書編集プログラムを記録した記録媒体
CN110019968B (zh) Xml文件的处理方法和装置
JP3843810B2 (ja) マルチテンプレート管理システムおよびマルチテンプレート管理プログラム
JP2003140960A (ja) Xmlデータのデータ変換方法及びプログラム
US20030217334A1 (en) Physical data blending system for updating live presentation documents
JP4134824B2 (ja) 情報処理装置及びプログラム
Kovačević et al. Recognition of common areas in a Web page using a visualization approach
JP2006011549A (ja) 構造化文書変換装置及びプログラム
JPH1125088A (ja) ハイパーテキストファイル作成システム及び方法
JP2000099512A (ja) 文書管理システム
KR20220061538A (ko) 시드를 이용한 지식 그래프 생성 방법 및 그 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070903

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071116

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120125

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140125

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees