【事件の表示】
　平成　４年特許願第　７１４１７号「文字列置換処理装置および方法」拒絶査定に対する審判事件〔平成　５年１０月２２日出願公開、特開平　５−２７４１３３、請求項の数（２）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
１．手続の経緯、本件発明
  本願は、平成４年３月２７日の出願であって、請求項１及び請求項２に係る発明は、手続補正書により補正された明細書及び図面の記載からみて、その特許請求の範囲の請求項１及び請求項２に記載された以下のとおりのものである。
「【請求項１】構造を有するドキュメントを対象とした文字列置換処理装置であって、
　複数の種別のそれぞれについて、文字列置換対象範囲の一つあるいは複数を対応付けて管理する種別チェックテーブルと、
　置換対象文字列、置換文字列、置換対象の種別を受付ける置換処理受付手段と、
　前記置換対象の種別より、前記種別チェックテーブルを参照して置換対象範囲を特定し、該対象範囲内の前記置換対象文字列により前記置換文字列への置換を実行する文字列置換処理手段
　とを備えることを特徴とする文字列置換処理装置。
【請求項２】構造を有するドキュメントを対象とした文字列置換処理方法であって、
　置換対象文字列、置換文字列、置換対象の種別を受付け、　
　複数の種別のそれぞれについて文字列置換対象の一つあるいは複数を関連付けた対応関係に基づいて、受付けた前記種別より置換対象範囲を特定し、
　前記絞り込んだ置換対象範囲内にある前記置換対象文字列により前記置換文字列への置換を実行する
　ことを特徴とする文字列置換処理方法。」
　
２．原査定の理由
　これに対して、原査定の拒絶の理由は、「この出願の下記の請求項に係る発明は、その出願前日本国内又は外国において頒布された下記の引用例に記載された発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。　　　　　　　　　　　　　　　　
　　　　　 記　　　（引用文献等については引用文献等一覧参照）　　　　　 
(請求項１について)　引用例１
　引用例１には、プログラム中の名標の置換処理において、置換対象条件として名称(キーワード)と当該名標の属性とを考慮するようにした技術が示されており、該技術を周知の置換機能を有するエディタに用いて、本願発明のように構成することは、当業者であれば容易になし得ることと認められる。
　引　用　文　献　等　一　覧
１．特開平３−２５０２２０号公報」というものである。
　そして、拒絶査定では、
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　
３．引用例記載の発明について
（１）引用例１には以下の事項が記載されている。
ア．「変換前情報とその変換前情報に対応する変換後情報が定義された変換規則が格納されるテーブル手段と、このテーブル手段に格納されている変換前情報と変換対象プログラムの各情報とを照合して、変換対象プログラムを構成する各情報に対応した変換後情報の情報形式を認識しその認識した情報形式に基づいて前記変換対象プログラムを所定の新プログラムに変換する変換手段とを具備し、既存ソフトウェア資源を新開発基盤のソフトウェアに自動的に変換することを特徴とするプログラムの変換方式。」（第１頁左下欄第５行乃至第１５行、特許請求の範囲の記載から抽出）
　
イ．「変換制御モジュール８は、第１の変換テーブル２に登録されている変換規則、または第２の変換テーブル３に登録されている変換規則に従って、変換対象のＣＯＢＯＬソースを新プログラムに変換する。」（第３頁左上欄第７行乃至第１１行から抽出）
　
ウ．「変換規則は、ＣＯＢＯＬソースの各変換対象情報毎に区分情報、旧キーワード情報、新キーワード情報、および属性情報が定義されたものである。区分情報は変換対象情報の情報の種類を示すものであり、例えば区分情報「０１」はデータを示し、「０５」はファイルを示す。旧キーワード情報はＣＯＢＯＬソースの変換対象情報すなわち変換前情報を示すものであり、新キーワード情報は新プログラムに対応した変換後情報を示している。属性情報は、変換対象情報の情報のデータ型や桁数を示すものである。」（第３頁右上欄第１１行乃至左下欄第２行から抽出）
　
エ．「第３図を参照して、変換規則の登録動作を説明する。…変換テーブル２に変換規則が登録されている状態で、ＣＯＢＯＬソースの宣言部の変換対象情報がプログラムソースファイル１から変換制御モジュール８に入力された時、第１および第２の変換テーブル２，３の内容は、変換制御モジュール８および変換テーブル照合モジュール１１によって検索される。…第１または第２の変換テーブル２，３の変換規則内に、入力された変換対象情報に一致する旧キーワードが登録されているか否かが判断される。（ステップＡ１）。
　登録されている場合は、その登録されている旧キーワードの属性情報と入力された変換対象情報の属性情報が一致するか否か判断される。（ステップＡ２）。属性情報が一致する場合には、…それら情報は…返却される(ステップＡ６)。
　また、ステップＡ１で入力された変換対象情報に一致する旧キーワード情報が登録されてないと判断された場合と、登録されていてもステップＡ２で属性情報が一致しないと判断された場合には、次のような登録処理が実行される。」（第３頁左下欄第１２行乃至第４頁左上欄第２行から抽出）
　
オ．「次に、第４図を参照して、手続き部の情報を新情報に変換する変換動作を説明する。
　ＣＯＢＯＬソースの手続き部の変換対象情報がプログラムソースファイル１から変換制御モジュール８に入力された時、第１および第２の変換テーブル２，３の内容は、変換制御モジュール８および変換テーブル照合モジュール１１によって検索される。…
　探し出された旧キーワードに対応した新キーワードが読み出され、その新キーワードに基づいて入力された変換対象情報が新プログラム情報に変換される（ステップＢ２）。」（第４頁左上欄第１６行乃至右上欄第１２行から抽出）
　
　上記ア．〜オ．の事項を参照すると、引用例１には、
　ＣＯＢＯＬ言語の既存プログラムソースを対象としたプログラムの変換方式であって、
　区分情報、旧キーワード情報、新キーワード情報、および属性情報が定義された変換規則を格納した変換テーブルと、
　変換規則の属性情報を参照して、変換テーブルに変換規則を登録する変換テーブル登録モジュールと、
　変換テーブルの変換規則を参照して、旧キーワードに対応した新キーワードが読み出され、その新キーワードに基づいて、新プログラムの情報に変換する変換制御モジュールおよび変換テーブル照合モジュールを備えたプログラムの変換方式の発明（以下、「引用例１記載の発明」という。）が記載されていると認められる。
　
４．対比・判断
［請求項１に係る発明について］
　請求項１に係る発明と引用例１に記載された発明とを比較すると、
　
ア．引用例１記載の発明の「旧キーワード情報」、「新キーワード情報」は、請求項１記載の発明の「置換対象文字列」、「置換文字列、」に相当すると認められる。
　
イ．引用例１記載の発明の「変換テーブル」は、請求項１記載の発明の「チェックテーブル」に相当すると認められる。
　
ウ．引用例１記載の発明の「変換制御モジュールおよび変換テーブル照合モジュール」は、請求項１記載の発明の「文字列置換処理手段」に相当すると認められる。
エ．引用例１記載の発明の「プログラムの変換方式」は、請求項１記載の発明と同様に、「文字列置換処理装置」に相当すると認められる。
　
　したがって、両者は、以下の点で一致し、以下の各点で相違している。
　
＜一致点＞
　文字列置換処理装置であって、
　チェックテーブルと、
　置換対象文字列、置換文字列を受付ける置換処理受付手段と、
　置換対象文字列により前記置換文字列への置換を実行する文字列置換処理手段
　とを備える文字列置換処理装置である点。
　
＜相違点＞　
（ア） 文字列置換処理装置が、
　請求項１に係る発明では、構造を有するドキュメントを対象としたものであるのに対し、
　引用例１記載の発明では、ＣＯＢＯＬのプログラムソースを対象としたものである点。
　
（イ） チェックテーブルが、
　請求項１に係る発明では、複数の種別のそれぞれについて、文字列置換対象範囲の一つあるいは複数を対応付けて管理する種別チェックテーブルであるのに対し、
　引用例１記載の発明では、置換対象文字列、置換文字列、および属性情報を管理するチェックテーブルである点。
　
（ウ）置換処理受付手段が、
　請求項１記載の発明では、置換対象の種別を受付けるのに対し、
　引用例１記載の発明では、上記構成は備えていない点。
　
（エ）文字列置換処理手段が、
　請求項１記載の発明では、置換対象の種別より、種別チェックテーブルを参照して置換対象範囲を特定し、対象範囲内の文字列を置換するのに対し、　引用例１記載の発明では、上記構成は備えていない点。
　
　上記の各相違点について検討すると、
　まず、上記の相違点（イ）については、引用例１記載の発明では、変換テーブル内に、属性情報が定義されてはいるが、この属性情報は、文字列のデータ型や桁数を示すものであって、個々の文字列あるはキーワードに付随した属性情報に過ぎず、また、この属性情報は、変換規則を登録する場合に参照されているものであって、請求項１に係る発明の種別とは相違するものである。
　
　即ち、引用例１記載の発明の属性情報は、文字列を置換する対象範囲を特定するものではなく、
　一方、請求項１に係る発明の複数の種別は、文字列置換対象範囲の一つあるいは複数に対応付けられるものであって、上記の相違点（ア）の、構造を有するドキュメントについて文字列を置換する対象範囲の特定するためのものであって、両者は、その技術的内容が相違するものである。
　
　また、請求項１に係る発明の文字列置換処理手段では、上記の相違点（ウ）により受け付けられた種別を参照して、上記の相違点（エ）の構成の、その種別で示される置換対象範囲を特定し、その対象範囲内の文字列が置換される構成が備えられており、構造を有するドキュメントの特定された範囲内の文字列のみを置換することができるものであるが、
　引用例１記載の発明には、このような構成は開示もなく、また、示唆もされていないものである。
　
　そして、請求項１に係る発明は、上記（ア）〜（エ）の構成を採用することにより、明細書に記載された「本発明では、利用者が置換対象とする名標の種別を指定することを可能としているため、プログラム作成上において、利用者が意図する種別の名標のみを置換対象とするよう適切に絞り込むことができる。これにより置換時の操作（置換の回避や追加など）をなくし、また置換後の見直しや修正等の手戻りがなくなる。」という作用、及び「本発明により、プログラム修正／変更時の関連修正（探索／置換動作）を行う必要がなくなり、プログラムの生産性が向上する。」という効果を奏するものと認められる。
　
　したがって、本願の請求項１に係る発明は、引用例１記載の発明に基いて当業者が容易に発明をすることができたものとは言えないと認められる。
　
［請求項２に係る発明について］
　請求項２に係る発明と引用例１記載の発明を比較すると、
　両者は、以下の点で一致し、以下の各点で相違すると認められる。
　
＜一致点＞
　文字列置換処理方法であって、
　置換対象文字列、置換文字列を受付け、
　置換対象文字列により前記置換文字列への置換を実行する文字列置換処理方法である点。
　
＜相違点＞
（ア）文字列置換処理方法が、
　請求項２に係る発明では、構造を有するドキュメントを対象としたものであるのに対し、
　引用例１記載の発明では、ＣＯＢＯＬのプログラムソースを対象としたものである点。
　
（イ）文字列置換処理方法が、
　請求項２に係る発明では、置換対照の種別を受付けているのに対し、
　引用例１記載の発明では、上記構成は備えていない点。
　
（ウ）文字列置換処理方法が
　請求項２に係る発明では、複数の種別のそれぞれについて文字列置換対象の一つあるいは複数を関連付けた対応関係に基づいて、受付けた前記種別より置換対象範囲を特定しているのに対し、
　引用例１記載の発明では、上記構成は備えていない点。
　
（エ）文字列置換処理方法が、
　請求項２に係る発明では、絞り込んだ置換対象範囲内にある置換対象文字列により前記置換文字列への置換を実行するのに対し、
　引用例１記載の発明では、上記構成は備えていない点。
　
　上記（ア）〜（エ）の点については、引用例１には記載されておらず、また、引用例１記載の発明に基いて当業者が容易に想到することができたものであるとすることはできないと認められる。
　
　したがって、請求項２に係る発明は、引用例１記載の発明に基いて当業者が容易に発明をすることができたは言えない。
　
４．まとめ                     
　したがって、この出願の発明は、特許法第２９条第２項の規定により特許を受けることができないという原査定の判断は妥当ではない。
　また、他に本願を拒絶すべき理由を発見しない。
  よって、結論のとおり審決する。