(57)【要約】【課題】本発明の課題は、追加した値をエラー無くＸＭＬ解析可能とすることを目的とする。【解決手段】上記課題は、入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成し、前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する処理をコンピュータに実行させるエンコードプログラムにより達成される。【選択図】図２
2017208608.tif 000002
【特許請求の範囲】
【請求項１】
入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成し、
前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する、
処理をコンピュータに実行させるエンコードプログラム。
【請求項２】
前記記述部分は、前記許容タグ以外の非許容タグを用いて記述したＸＭＬ記述であることを特徴とする請求項１記載のエンコードプログラム。
【請求項３】
前記コンピュータに、
前記入力データ内において、対応するタグを持たない項目値を前記複数のコードを用いてエンコードし、エンコードにより得られた該項目値のエンコードデータを前記記述部分のエンコードデータが挿入された許容タグ以外の許容タグに挿入する
処理を行わせることを特徴とすることを特徴とする請求項１記載のエンコードプログラム。
【請求項４】
入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成し、
前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する、
処理をコンピュータが行うエンコード方法。
【請求項５】
入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成するエンコードデータ生成部と、
前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する修正ＸＭＬデータ生成部と、
を有するエンコード装置。
【請求項６】
送信側装置と、
前記送信側装置と通信する受信側装置とを有し、
前記送信側装置は、
入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成するエンコードデータ生成部と、
前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する修正ＸＭＬデータ生成部と、
生成した前記修正ＸＭＬデータを受信側装置へ送信する送信部とを有し、
前記受信側装置は、
前記送信側装置から前記修正ＸＭＬデータを受信する受信部と、
受信した前記修正ＸＭＬデータの前記許容タグ内に含まれる前記エンコードデータを、前記複数のコードでデコードして、前記記述部分を復元するデコード部とを有する
ことを特徴とするデータ通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンコードプログラム、エンコード方法、エンコード装置、及びデータ通信システムに関する。
【背景技術】
【０００２】
近年、インターネットの普及と共に、データ構造の記述がし易いことからＸＭＬ形式でデータを送受信するシステムが多く存在する。
【０００３】
セキュリティ上の観点から、隠蔽する文字をランダムに変換し、特定のＸＭＬビューアでのみ判別されるタグを用いて、隠蔽する文字と変換後の文字との対応付けを示すことで、通常のＸＭＬビューアでは意味のない文字列を描画させる技術等が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２９４２４２号公報
【特許文献２】特開２００２−２３７９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＸＭＬデータに含める値を追加したい場合であっても、ＸＭＬデータを解析するサーバ装置では、タグ名を容易に増やすことができない場合がある。そのような場合には、未知のタグ名を含むＸＭＬデータを受信すると、正常にＸＭＬ解析が行えないといった問題がある。
【０００６】
したがって、１つの側面では、本発明は、追加した値をエラー無くＸＭＬ解析可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
一態様によれば、入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成し、前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する処理をコンピュータに実行させるエンコードプログラムが提供される。
【０００８】
また、上記課題を解決するための手段として、エンコード方法、及びエンコード装置とすることもできる。更に、他の態様によれば、送信側装置と、前記送信側装置と通信する受信側装置とを有し、前記送信側装置は、入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成するエンコードデータ生成部と、前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する修正ＸＭＬデータ生成部と、生成した前記修正ＸＭＬデータを受信側装置へ送信する送信部とを有し、前記受信側装置は、前記送信側装置から前記修正ＸＭＬデータを受信する受信部と、受信した前記修正ＸＭＬデータの前記許容タグ内に含まれる前記エンコードデータを、前記複数のコードでデコードして、前記記述部分を復元するデコード部とを有することを特徴とするデータ通信システムが提供される。
【発明の効果】
【０００９】
追加した値をエラー無くＸＭＬ解析可能とすることができる。
【図面の簡単な説明】
【００１０】
【図１】データ通信システムのネットワーク構成例を示す図である。
【図２】新入力画面に対するＸＭＬのデータ構造例を示す図である。
【図３】端末のハードウェア構成を示す図である。
【図４】サーバ装置のハードウェア構成を示す図である。
【図５】端末の機能構成例を示す図である。
【図６】サーバ装置の機能構成例を説明するための図である。
【図７】第１のデータ通信方法における端末での処理を説明するためのフローチャート図である。
【図８】第１のデータ通信方法における端末での処理例を説明するための図である。
【図９】第１のデータ通信方法におけるサーバ装置での処理を説明するためのフローチャート図である。
【図１０】第２のデータ通信方法における端末での処理を説明するためのフローチャート図である。
【図１１】第２のデータ通信方法における端末での処理例を説明するための図である。
【図１２】第２のデータ通信方法におけるサーバ装置での処理を説明するためのフローチャート図である。
【図１３】第３のデータ通信方法における端末での処理を説明するためのフローチャート図である。
【図１４】端末のエンコード部による、追加項目と項目値とを示すＸＭＬ記述の文字列に対する処理を示している。
【図１５】第３のデータ通信方法におけるサーバ装置での処理を説明するためのフローチャート図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。図１は、データ通信システムのネットワーク構成例を示す図である。図１において、データ通信システム１０００は、サーバ装置１００と、複数の端末３とを有し、各端末３は、インターネット等のネットワーク２を介してサーバ装置１００と接続可能である。
【００１２】
複数の端末３は、ＰＣ（Personal  Computer）３ａ、タブレット端末３ｂ等であり、ユーザによって使用される。各端末３では、例えば、所定の入力画面を表示し、ユーザに入力を促し、ユーザが入力したデータをＸＭＬ（Extensible  Markup  Language）形式で示すＸＭＬ送信データ６ｂ又は７ｂを作成して、サーバ装置１００へ送信する。
【００１３】
入力画面の一例として、ユーザの住所、氏名、年齢等をユーザ情報を入力する画面を示すが、これらの入力項目に限定されない。旧入力画面６ａでは、住所、氏名、及び年齢が入力項目である場合に、新たに、都道府県を入力項目として追加する場合について説明する。新入力画面７ａでは、都道府県、住所、氏名、及び年齢が入力項目となるとする。
【００１４】
サーバ装置１００が旧入力画面６ａに対応している旧システムの場合、ＸＭＬ送信データ６ｂを正常に受信する。即ち、サーバ装置１００では、ＸＭＬ解析部１７２が、受信したＸＭＬ送信データ６ｂに対して、ＸＭＬ解析を正常に終了する。ＸＭＬ解析部１７２は、ＸＭＬ送信データ６ｂをサーバ装置１００が提供するサービスに係るサーバ処理部１７４が処理可能なデータ形式に変換する。
【００１５】
しかしながら、旧入力画面６ａのみに対応しているサーバ装置１００が、新入力画面７ａに対応したＸＭＬ記述によるＸＭＬ送信データ９ｂを受信すると、ＸＭＬ解析部１７２は、未知のタグを認識できず、ＸＭＬ解析を正常に終了できない場合がある。サーバ装置１００側の開発者は、サーバ処理部１７４の開発に加えて、新システムに対応させるために、ＸＭＬ解析部１７２の修正を行わなくてはならない。
【００１６】
一方で、複数の端末３の動作環境は、全て同一であるとは限らない。全ての端末３で一斉に新入力画面７ａをサポートできない場合がある。この場合には、サーバ装置１００は、旧入力画面６ａと新入力画面７ａに対応した夫々異なるデータ構造を示すＸＭＬ記述を解釈しなければならず、ＸＭＬ解析部１７２に処理負担が生じる。
【００１７】
発明者は、タグ内の「空白」、「タブ」、「ＣＲ（Carriage  Return）」、及び「ＬＦ（Line  Feed）」を解釈しないＸＭＬ規約に着目した。タグ内において、ＸＭＬの解釈には無視される「空白」、「タブ」、「ＣＲ」、及び「ＬＦ」の文字を、以下、「特定文字」という。
【００１８】
発明者は、旧入力画面６ａに対応したデータ構造で追加された項目値を埋め込んだＸＭＬ送信データ７ｂをサーバ装置１００に送信した場合、ＸＭＬ送信データ６ａを解釈するＸＭＬ解析部１７２によって正常にＸＭＬ解釈が可能であることを見出した。
【００１９】
本実施例は、旧入力画面６ａに対応するＸＭＬ送信データ６ｂのデータ構造を変更することなく、新入力画面７ａの追加項目の項目値をサーバ装置１００で正常に受信可能とする、入力データのエンコード方法を提供する。
【００２０】
先ず、新入力画面７ａに対するＸＭＬ送信データ９ｂと本実施例におけるＸＭＬ送信データ７ｂについて説明する。図２は、新入力画面に対するＸＭＬのデータ構造例を示す図である。
【００２１】
図２（Ａ）に示す新入力画面７ａでは、住所、氏名、及び年齢の既存の入力項目７ａ−１に加えて、都道府県が新たに入力項目７ａ−２として追加された例を示している。新たに入力項目「都道府県」に対して「京都府」が入力された例を示している。
【００２２】
この新入力画面７ａは、通常、受信側である端末３ｐにおいて、ＸＭＬ規約に従い、図２（Ｂ）のＸＭＬ送信データ９ｂに示すようなデータ構造で記述される。通信電文をＸＭＬ形式で記述する場合、送信項目を追加するには、新たにタグを増やすことになる。
【００２３】
即ち、既存のデータ構造９ｂ−１に対して入力項目名「都道府県」のタグが追加され、「都道府県」を示す開始タグと終了タグの間に入力値「京都府」を示したＸＭＬ記述９ｂ−２により、既存のデータ構造９ｂ−１とは異なったデータ構造となる。既存のデータ構造９ｂ−１のタグは、既存のシステムにおいて正常に解析される許容タグといえる。
【００２４】
受信側であるサーバ装置１００のＸＭＬ解析部１７２がタグ名「都道府県」をサポートしていない場合に、この既存のデータ構造９ｂ−１とは異なったデータ構造のＸＭＬ送信データ９ｂを受信すると、ＸＭＬ記述「<都道府県>京都府</都道府県>」を解釈できない。よって、ＸＭＬ解析部１７２での処理が正常に行なわれずエラーになってしまう。
【００２５】
一方、上述したように、ＸＭＬ規約では、タグ名の直後等では、４種類の特定文字（「空白」、「タブ」、「ＣＲ」、及び「ＬＦ」）は解釈しないルールである。これらの特定文字に変換し、既存のタグ内に埋め込んだ例が、本実施例における図２（Ｃ）に示すＸＭＬ送信データ７ｂである。
【００２６】
ＸＭＬ送信データ７ｂにおけるデータ構造７ｂ−１は、既存のデータ構造９ｂ−１と同じである。タグ名が一致する場合に、データ構造が同じであるという。
【００２７】
データ構造７ｂ−１では、開始タグ「住所」内、即ち、「＜住所」と「＞」の間に、ＸＭＬ記述９ｂ−２を特定文字に変換した文字列７ｂ−２が挿入されている。このように、追加する情報を特定文字に変換した場合、サーバ装置１００のＸＭＬ解析部１７２は、データ構造７ｂ−１を正常に解釈できる。ＸＭＬ記述９ｂ−２には、既存のサーバ装置ではＸＭＬ解析を正常に行なえない不明確な（未知の）タグが示される。このようなタグは非許容タグといえる。
【００２８】
即ち、タグ名毎に値を取得でき、サーバ処理部１７４が処理可能なデータ形式に変換することができる。サーバ処理部１７４が処理可能なデータ形式とは、例えば、Ｃ言語等の構造体等である。タグ名に対応する構造体での要素に対して、データ構造７ｂ−１で示される値が設定される。
【００２９】
以下に、本実施例における端末３及びサーバ装置１００について説明する。
【００３０】
図３は、端末のハードウェア構成を示す図である。図３において、端末３は、コンピュータによって制御されるタブレット型、携帯電話等の情報処理端末であって、ＣＰＵ（Central  Processing  Unit）１１ｂと、主記憶装置１２ｂと、ユーザＩ／Ｆ（インターフェース）１６ｂと、通信Ｉ／Ｆ１７ｂと、ドライブ装置１８ｂとを有し、バスＢ２に接続される。
【００３１】
ＣＰＵ１１ｂは、主記憶装置１２ｂに格納されたプログラムに従って端末３を制御するプロセッサに相当する。主記憶装置１２ｂには、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）等が用いられ、ＣＰＵ１１ｂにて実行されるプログラム、ＣＰＵ１１ｂでの処理に必要なデータ、ＣＰＵ１１ｂでの処理にて得られたデータ等を記憶又は一時保存する。主記憶装置１２ｂに格納されているプログラムが、ＣＰＵ１１ｂに実行されることによって、各種処理が実現される。
【００３２】
ユーザＩ／Ｆ１６ｂは、ＣＰＵ１１ｂの制御のもとに必要な各種情報を表示し、また、ユーザによる操作入力を可能とするタッチパネル等である。通信Ｉ／Ｆ１７ｂによる通信は無線又は有線に限定されるものではない。
【００３３】
端末３によって行われる処理を実現するプログラムは、ネットワーク２を介して外部装置からダウンロードされる。或いは、予め端末３の主記憶装置１２ｂ又は記憶媒体１９ｂに記憶されていても良い。主記憶装置１２ｂ及び／又は記憶媒体１９ｂが記憶部１３０ｂに相当する。
【００３４】
ドライブ装置１８ｂは、ドライブ装置１８ｂにセットされた記憶媒体１９ｂ（例えば、ＳＤ（Secure  Digital）メモリカード等）と端末３とのインターフェースを行う。尚、記憶媒体１９ｂは、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。
【００３５】
端末３は、デスクトップ型、ノートブック型、ラップトップ型等の情報処理端末であっても良く、そのハードウェア構成は、後述する図４のハードウェア構成と同様であるので、その説明を省略する。
【００３６】
図４は、サーバ装置のハードウェア構成を示す図である。図４において、サーバ装置１００は、コンピュータによって制御される情報処理装置であって、ＣＰＵ（Central  Processing  Unit）１１ａと、主記憶装置１２ａと、補助記憶装置１３ａと、入力装置１４ａと、表示装置１５ａと、通信Ｉ／Ｆ（インターフェース）１７ａと、ドライブ装置１８ａとを有し、バスＢ１に接続される。
【００３７】
ＣＰＵ１１ａは、主記憶装置１２ａに格納されたプログラムに従ってサーバ装置１００を制御するプロセッサに相当する。主記憶装置１２ａには、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）等が用いられ、ＣＰＵ１１ａにて実行されるプログラム、ＣＰＵ１１ａでの処理に必要なデータ、ＣＰＵ１１ａでの処理にて得られたデータ等を記憶又は一時保存する。
【００３８】
補助記憶装置１３ａには、ＨＤＤ（Hard  Disk  Drive）等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３ａに格納されているプログラムの一部が主記憶装置１２ａにロードされ、ＣＰＵ１１ａに実行されることによって、各種処理が実現される。
【００３９】
入力装置１４ａは、マウス、キーボード等を有し、管理者がサーバ装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５ａは、ＣＰＵ１１ａの制御のもとに必要な各種情報を表示する。入力装置１４ａと表示装置１５ａとは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信Ｉ／Ｆ１７ａは、有線又は無線などのネットワークを通じて通信を行う。通信Ｉ／Ｆ１７ａによる通信は無線又は有線に限定されるものではない。  
サーバ装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact  Disc  Read-Only  Memory）等の記憶媒体１９ａによってサーバ装置１００に提供される。
【００４０】
ドライブ装置１８ａは、ドライブ装置１８ａにセットされた記憶媒体１９ａ（例えば、ＣＤ−ＲＯＭ等）とサーバ装置１００とのインターフェースを行う。
【００４１】
また、記憶媒体１９ａに、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体１９ａに格納されたプログラムは、ドライブ装置１８ａを介してサーバ装置１００にインストールされる。インストールされたプログラムは、サーバ装置１００により実行可能となる。
【００４２】
尚、プログラムを格納する記憶媒体１９ａはＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００４３】
図５は、端末の機能構成例を示す図である。図５において、端末３は、主に、入力部４１と、エンコード部４２と、送信部４３とを有する。入力部４１と、エンコード部４２と、送信部４３とは、ＣＰＵ１１ｂが対応するプログラムを実行して行われる処理によって実現する。
【００４４】
また、記憶部１３０ｂは、入力データ５１、文字コードデータ５２、４進数データ５３、文字置換後データ５４、ＸＭＬ送信データ７ｂ、文字コード変換表８ａ、特定文字変換表８ｂ等を記憶する。
【００４５】
入力部４１は、新入力画面７ａをユーザＩ／Ｆ１６ｂに表示してユーザに入力を促し、ユーザＩ／Ｆ１６ｂから送信要求と入力データ５１とを受信する。入力データ５１は、項目名と項目値とを示し記憶部１３０ｂに記憶される。
【００４６】
エンコード部４２は、入力データ５１に基づいて、少なくとも、追加項目の項目値を本実施例における変換方法によって変換して、ＸＭＬ送信データ７ｂを生成する。ＸＭＬ送信データ７ｂは、記憶部１３０ｂに記憶される。
【００４７】
少なくとも、ユーザが入力したテキスト等の項目値が、エンコード部４２がＸＭＬ送信データ７ｂに埋め込む対象となる。更に、タグと項目値とを示したＸＭＬ記述を追加するようにしてもよい。即ち、追加項目名をタグ名で示し、タグと項目値とをＸＭＬで記述した文字列を対象としてもよい。複数の項目値及び／又は複数の追加のＸＭＬ記述が、埋め込み対象となり得る。以下、追加項目の項目値のみ、又は、追加のＸＭＬ記述を、単に、「埋め込み対象」という。
【００４８】
エンコード部４２は、入力データ５１のうち、既存の入力項目と項目値とをＸＭＬで記述してＸＭＬ送信データ７ｂを生成し、記憶部１３０ｂに記憶する。
【００４９】
エンコード部４２は、文字コード変換表８ａを参照して、入力データ５１のうち、埋め込み対象を文字コードに変換する。文字コードへの変換によって、１文字は２桁の英数字で表され、例えば、１６進コードで表される。埋め込み対象を全て数値に置き換えた文字コードデータ５２が生成され、記憶部１３０ｂに記憶される。
【００５０】
エンコード部４２は、文字コードデータ５２を４進数データ５３に変換する。エンコード部４２は、文字コードデータ５２から１コード２桁毎に、４進数に変換して、４進数データ５３を生成し、記憶部１３０ｂに記憶する。
【００５１】
エンコード部４２は、更に、文字コード変換表８ａを参照して、４進数データ５３の各１桁を特定文字に置き換えて文字置換後データ５４を生成し、記憶部１３０ｂに記憶する。そして、エンコード部４２は、既存のタグ名のうちの１つのタグ名の直後に文字置換後データ５４を挿入する。必ずしも、タグ名を特定する必要はない。例えば、最初のタグ名に挿入することでもよい。
【００５２】
送信部４３は、エンコード部４２からＸＭＬ送信データ７ｂの通知を受けると、少なくとも、追加項目の入力データが埋め込まれた既存のデータ構造によるＸＭＬ送信データ７ｂを通信Ｉ／Ｆ１７ｂを介してサーバ装置１００へ送信する。
【００５３】
文字コード変換表８ａは、情報処理端末に標準的に実装される文字コード表であればよい。
【００５４】
特定文字変換表８ｂは、ＸＭＬ規約においてタグ内では解釈しない（無視する）各特定文字と、特定文字を識別する値とを対応付けたテーブルである。例えば、値「０」は「空白」に対応し、値「１」は「タブ」に対応し、値「２」は「ＣＲ」に対応し、値「３」は「ＬＦ」に対応する。
【００５５】
本実施例における、少なくとも追加項目の項目値を含むＸＭＬ送信データ７ｂは、サーバ装置１００によって正常に解釈及び処理される。次に、サーバ装置１００の機能構成について説明する。
【００５６】
図６は、サーバ装置の機能構成例を説明するための図である。図６では、ＸＭＬ送信データ７ｂ及びＸＭＬ送信データ９ｂのいずれも解析可能な装置として、サーバ装置１００の機能構成例を示す。
【００５７】
図６において、サーバ装置１００は、主に、受信部１７１と、ＸＭＬ解析部１７２と、デコード部１７３と、サーバ処理部１７４とを有する。ＣＰＵ１１ａが対応するプログラムを実行して行われる処理によって実現する。
【００５８】
また、記憶部１３０ａは、ＸＭＬ送信データ７ｂ、解析結果１５５、文字置換後データ１５４、４進数データ１５３、文字コードデータ１５２、文字コード変換表８ａ、特定文字変換表８ｂ等を記憶する。
【００５９】
受信部１７１は、通信Ｉ／Ｆ１７ａから、ネットワーク２を介して端末３から送信されたＸＭＬ送信データ７ｂを受信する。受信部１７１は、受信したＸＭＬ送信データ７ｂを記憶部１３０ａに記憶する。
【００６０】
ＸＭＬ解析部１７２は、受信部１７１からＸＭＬ送信データ７ｂの受信通知に応じて、ＸＭＬ送信データ７ｂを解析し、解析結果１５５を記憶部１３０ａに出力する。ＸＭＬ解析部１７２は、ＸＭＬパーサーに相当する。解析結果１５５では、タグ名と、項目値とが対応付けられる。文字置換後データ５４がＸＭＬ送信データ７ｂに存在する場合、文字置換後データ５４は、デコード部１７３によってデコードされる。
【００６１】
デコード部１７３は、ＸＭＬ送信データ７ｂの特定タグ内のタグ名の直後から、文字置換後データ５４を抽出して、特定文字変換表８ｂを参照して、文字置換後データ５４の特定文字毎に４進数データ５３に変換する。特定タグは、単に、最初のタグであってもよい。
【００６２】
デコード部１７３は、得られた４進数データ５３の４桁毎に、１６進数に変換して、文字コードデータ５２を得る。得た文字コードデータ５２は、記憶部１３０ａに記憶される。
【００６３】
デコード部１７３は、更に、文字コード変換表８ａを参照することで、文字コードデータ５２の２桁毎に１６進数の値を文字に復元して、埋め込み対象となった文字列を取得する。追加項目の項目値、又は、追加のＸＭＬ記述を示す文字列が取得される。
【００６４】
デコード部１７３は、解析結果１５５に取得した項目値を追加する。項目値のみの場合は、所定の変数に設定する値として、解析結果１５５に追加する。追加のタグを含む文字列の場合は、文字列はＸＭＬ記述であるため、デコード部１７３は、ＸＭＬ解析部１７２に追加のＸＭＬ記述を解析させて、追加タグと項目値とを切り分けし、解析結果１５５に追加する。項目値のみの記述と、追加のＸＭＬ記述とが混在して存在する場合、デコード部１７３は、項目値の復元処理と、追加のＸＭＬ記述の復元処理とを夫々行う。
【００６５】
サーバ処理部１７４は、ＸＭＬ解析部１７２とデコード部１７３とによって得られた解析結果１５５に基づく既存の項目値と追加の項目値とから、端末３から受信したデータに対する処理を行うことができる。
【００６６】
次に、第１のデータ通信方法、第２のデータ通信方法、及び、第３のデータ通信方法について説明する。
【００６７】
第１のデータ通信方法は、１又は複数の追加項目及びその項目値（追加のＸＭＬ要素）をエンコードして埋め込んだＸＭＬ送信データ７ｂを送信及び受信する方法である。１又は複数の追加のＸＭＬ記述が埋め込み対象である。
【００６８】
第２のデータ通信方法は、１又は複数の追加の項目値（対応するタグを持たない単純なテキスト）をエンコードして埋め込んだＸＭＬ送信データ７ｂを送信及び受信する方法である。１又は複数の追加の項目値が埋め込み対象である。
【００６９】
第３のデータ通信方法は、エンコードした１又は複数の追加の項目値と、エンコードした１又は複数の追加のＸＭＬ項目及びその項目値（追加のＸＭＬ要素）とを埋め込んだＸＭＬ送信データ７ｂを送信及び受信する方法である。１又は複数の追加の項目値と１又は複数の追加のＸＭＬ記述とが埋め込み対象である。
【００７０】
図７〜図９を参照して、第１のデータ通信方法について説明する。図７は、第１のデータ通信方法における端末での処理を説明するためのフローチャート図である。図７において、端末３の入力部４１は、ユーザＩ／Ｆ１６ｂから、送信要求と入力データ５１とを受け付ける（ステップＳ１１０１）。
【００７１】
エンコード部４２は、入力データ５１から追加項目及び項目値以外のデータを取得してＸＭＬで記述し、ＸＭＬ送信データ７ｂを作成する（ステップＳ１１０２）。ＸＭＬ送信データ７ｂは、記憶部１３０ｂに記憶される。この時点では、ＸＭＬ送信データ７ｂは、既存のＸＭＬ送信データ６ｂと同様である。
【００７２】
エンコード部４２は、入力データ５１の残りのデータから追加項目と項目値とを取得し（ステップＳ１１０３）、追加項目毎に、追加項目とその項目値とを示したＸＭＬ要素を作成し、作成した全てのＸＭＬ要素を連結した文字列を作成する（ステップＳ１１０４）。追加項目がタグ名として使用される。
【００７３】
そして、エンコード部４２は、文字コード変換表８ａを参照して、ＸＭＬ記述を文字コードに変換し、文字コードデータ５２を作成する（ステップＳ１１０５）。エンコード部４２は、作成した文字コードデータ５２の１桁毎に４進数化して４進数データ５３を作成する（ステップＳ１１０６）。
【００７４】
文字コードデータ５２の１桁は１６進数で表されるため、エンコード部４２は、文字コードデータ５２から１桁ずつ読み取り、４進数化した値を２桁で示す。例えば、１６進数「１」の場合は４進数「０１」で表され、１６進数「Ａ」の場合は４進数「２２」で表され、１６進数「Ｆ」の場合は４進数「３３」で表される。
【００７５】
次に、エンコード部４２は、特定文字変換表８ｂを参照して、４進数データ５３の各桁の値を、特定文字に置き換えて文字置換後データ５４を作成する（ステップＳ１１０７）。そして、エンコード部４２は、ＸＭＬ送信データ７ｂの特定タグ内のタグ名の直後に文字置換後データ５４を挿入する（ステップＳ１１０８）。
【００７６】
送信部４３が、通信Ｉ／Ｆ１７ｂによって、ＸＭＬ送信データ７ｂをサーバ装置１００へと送信する（ステップＳ１１０９）。ＸＭＬ送信データ７ｂの送信後、端末３による処理を終了する。
【００７７】
図８は、第１のデータ通信方法における端末での処理例を説明するための図である。図８では、端末３のエンコード部４２による、追加項目と項目値とを示すＸＭＬ記述の文字列９１に対する処理を示している。
【００７８】
文字列９１は、郵便番号と都道府県の２つの追加項目の各ＸＭＬ記述を連結した例を示している。この例では、追加項目「郵便番号」と項目値「600-8441」とがＸＭＬ記述「<郵便番号>600-8441</郵便番号>」で示され、追加項目「都道府県」と項目値「京都府」とがＸＭＬ記述「<都道府県>京都府</都道府県>」で示されている。
【００７９】
エンコード部４２は、文字コード変換表８ａを参照して、文字列９１をコード化する。文字列９１は、１６進数で表された文字コードデータ５２１に変換される。例えば、文字コード変換表８ａにより、「郵便番号」が「53  6A  25  1E」に、項目値「600-8441」が「36  30  30  2E  38  34  34  31」に、「都道府県」が「43  4A  5B  7C」に、「京都府」が「5F  7A  63」に、「＜」、「＞」、及び「／」が夫々「2A」、「2B」、及び「2D」に変換されるとする。この場合、文字列９１は、文字コードデータ５２１のようにコード化される。
【００８０】
エンコード部４２は、更に、文字コードデータ５２１を１桁ずつ４進数へと変換して、４進数データ５３１を作成する。文字コードデータ５２１の１番目の値「２」は「０２」に変換され、２番目の値「Ａ」は「２２」に変換される。以下同様に４進数に置き換えられ、４進数データ５３１のように４進数化される。
【００８１】
エンコード部４２は、特定文字変換表８ｂを参照して、４進数データ５３１をＸＭＬ規約では解釈されない４種類の文字で表わした文字置換後データ５４１に変換する。この例では、４進数データ５３１において、１番目の値「０」が「空白」に置き換えられ、２番目の値「２」が「ＣＲ」に置き換えられる。以下同様に４つの特定文字のいずれかに置き換えられ、文字置換後データ５４１のように表される。
【００８２】
エンコード部４２は、文字置換後データ５４１を特定タグ内のタグ名の直後に挿入して、ＸＭＬ送信データ７ｂ１に追加項目及びその項目値とを埋め込む。特定タグは、最初のタグとすればよい。
【００８３】
図９は、第１のデータ通信方法におけるサーバ装置での処理を説明するためのフローチャート図である。図９では、サーバ装置１００の受信部１７１は、ＸＭＬ送信データ７ｂを受信すると（ステップＳ１２０１）、記憶部１３０ａに記憶して、ＸＭＬ解析部１７２に通知する。
【００８４】
ＸＭＬ解析部１７２は、ＸＭＬ送信データ７ｂを解析して、解析結果１５５を記憶部１３０ａに出力する（ステップＳ１２０２）。ＸＭＬ解析部１７２は、ＸＭＬ送信データ７ｂのＸＭＬ記述を解析することによって、タグ名と項目値とを特定し、タグ名と項目値とを対応付けた解析結果１５５を出力する。
【００８５】
デコード部１７３は、ＸＭＬ送信データ７ｂの特定タグから文字置換後データ５４を取得する（ステップＳ１２０３）。デコード部１７３は、特定タグ名の先頭から１文字ずつ解析し、ＸＭＬ規約で解釈されない４つの特定文字の１つを検出した場合、検出した最初の特定文字からタグ名の最後の特定文字までを文字置換後データ５４として抽出する。特定タグは、単に、解析結果１５５の最初のタグであってもよい。
【００８６】
デコード部１７３は、特定文字変換表８ｂを参照して、抽出した文字置換後データ５４を１文字毎（即ち、特定文字毎）に数値に置き換えて、４進数データ５３を復元する（ステップＳ１２０４）。
【００８７】
デコード部１７３は、４進数データ５３を１桁ずつ１６進数に変換して、文字コードデータ５２を復元し（ステップＳ１２０５）、更に、文字コード変換表８ａを用いて、文字コードデータ５２からＸＭＬ記述の文字列を復元する（ステップＳ１２０６）。
【００８８】
デコード部１７３は、復元したＸＭＬ記述の文字列をＸＭＬ解析して、追加タグ名と項目値とを取得し、解析結果に追加タグ名と項目値とを追加する（ステップＳ１２０７）。そして、デコード部１７３は、解析結果１５５の特定タグ名から文字置換後データ５４を削除して、既存のタグ名のみが示されるようにする（ステップＳ１２０８）。サーバ装置１００での処理を終了する。
【００８９】
図１０〜図１２を参照して、第２のデータ通信方法について説明する。図１０は、第２のデータ通信方法における端末での処理を説明するためのフローチャート図である。図１０において、端末３の入力部４１は、ユーザＩ／Ｆ１６ｂから、送信要求と入力データ５１とを受け付ける（ステップＳ２１０１）。
【００９０】
エンコード部４２は、入力データ５１から追加項目及び項目値以外のデータを取得してＸＭＬで記述し、ＸＭＬ送信データ７ｂを作成する（ステップＳ２１０２）。ＸＭＬ送信データ７ｂは、記憶部１３０ｂに記憶される。この時点では、ＸＭＬ送信データ７ｂは、既存のＸＭＬ送信データ６ｂと同様である。
【００９１】
エンコード部４２は、入力データ５１の残りのデータから追加の項目値を取得し（ステップＳ２１０３）、文字コード変換表８ａを参照して、項目値を文字コードに変換し、文字コードデータ５２を作成する（ステップＳ２１０４）。エンコード部４２は、作成した文字コードデータ５２の１桁毎に４進数化して４進数データ５３を作成する（ステップＳ２１０５）。追加の項目値は、対応するタグの無い単純なテキスト等が相当する。
【００９２】
文字コードデータ５２の各桁は１６進数で表されるため、エンコード部４２は、文字コードデータ５２から１桁ずつ読み取り、４進数化した値を２桁で示す。例えば、１６進数「１」の場合は４進数「０１」で表され、１６進数「Ａ」の場合は４進数「２２」で表され、１６進数「Ｆ」の場合は４進数「３３」で表される。
【００９３】
次に、エンコード部４２は、特定文字変換表８ｂを参照して、４進数データ５３の各桁の値を、特定文字に置き換えて文字置換後データ５４を作成する（ステップＳ２１０６）。そして、エンコード部４２は、ＸＭＬ送信データ７ｂの特定タグ内のタグ名の直後に文字置換後データ５４を挿入する（ステップＳ２１０７）。
【００９４】
送信部４３が、通信Ｉ／Ｆ１７ｂによって、ＸＭＬ送信データ７ｂをサーバ装置１００へと送信する（ステップＳ２１０８）。ＸＭＬ送信データ７ｂの送信後、端末３による処理を終了する。
【００９５】
図１１は、第２のデータ通信方法における端末での処理例を説明するための図である。図１１では、端末３のエンコード部４２による、項目値を示す文字列９２に対する処理を示している。
【００９６】
文字列９２は、氏名のふりがなを示す。この例では、「ふじおかたろう」が示されている。エンコード部４２は、文字コード変換表８ａを参照して、文字列９２をコード化する。文字列９２は、１６進数で表された文字コードデータ５２２に変換される。この例では、文字コード変換表８ａに従って、「ふじおかたろう」が「526A31204E5564」に変換されることする。
【００９７】
エンコード部４２は、更に、文字コードデータ５２２を１桁ずつ４進数へと変換して、４進数データ５３２を作成する。文字コードデータ５２２の１番目の値「５」は「１１」に変換され、２番目の値「２」は「０２」に変換される。以下同様に４進数に置き換えられ、４進数データ５３２のように４進数化される。
【００９８】
エンコード部４２は、特定文字変換表８ｂを参照して、４進数データ５３２をＸＭＬ規約では解釈されない４種類の文字で表わした文字置換後データ５４２に変換する。この例では、４進数データ５３２において、１番目の値「１」及び２番目の値「１」が夫々「タブ」に置き換えられ、３番目の値「０」が「空白」に置き換えられる。以下同様に４つの特定文字のいずれかに置き換えられ、文字置換後データ５４２のように表される。
【００９９】
エンコード部４２は、文字置換後データ５４２を特定タグ内のタグ名の直後に挿入して、ＸＭＬ送信データ７ｂ２に項目値を埋め込む。特定タグは、最初のタグとすればよい。
【０１００】
また、複数の項目値を埋め込む場合は、項目値毎に、順にタグを選択して、タグ名の直後に挿入してもよい。この場合、埋め込む項目値の数は、既存のタグ数以下であることが望ましい。
【０１０１】
図１２は、第２のデータ通信方法におけるサーバ装置での処理を説明するためのフローチャート図である。図１２では、サーバ装置１００の受信部１７１は、ＸＭＬ送信データ７ｂを受信すると（ステップＳ２２０１）、記憶部１３０ａに記憶して、ＸＭＬ解析部１７２に通知する。
【０１０２】
ＸＭＬ解析部１７２は、ＸＭＬ送信データ７ｂを解析して、解析結果１５５を記憶部１３０ａに出力する（ステップＳ２２０２）。ＸＭＬ解析部１７２は、ＸＭＬ送信データ７ｂのＸＭＬ記述を解析することによって、タグ名と項目値とを特定し、タグ名と項目値とを対応付けた解析結果１５５を出力する。
【０１０３】
デコード部１７３は、解析結果１５５の特定タグ名から文字置換後データ５４を取得する（ステップＳ２２０３）。デコード部１７３は、特定タグ名の先頭から１文字ずつ解析し、ＸＭＬ規約で解釈されない４つの特定文字の１つを検出した場合、検出した最初の特定文字からタグ名の最後の特定文字までを文字置換後データ５４として抽出する。特定タグ名は、単に、解析結果１５５の最初のタグ名であってもよい。
【０１０４】
デコード部１７３は、特定文字変換表８ｂを参照して、抽出した文字置換後データ５４を１文字毎（即ち、特定文字毎）に数値に置き換えて、４進数データ５３を復元する（ステップＳ２２０４）。
【０１０５】
デコード部１７３は、４進数データ５３を１桁ずつ１６進数に変換して、文字コードデータ５２を復元し（ステップＳ２２０５）、更に、文字コード変換表８ａを用いて、文字コードデータ５２から項目値を復元する（ステップＳ２２０６）。
【０１０６】
デコード部１７３は、解析結果に、復元した項目値を追加する（ステップＳ２２０７）。そして、デコード部１７３は、解析結果１５５の特定タグ名から文字置換後データ５４を削除して、既存のタグ名のみが示されるようにする（ステップＳ２２０８）。サーバ装置１００での処理を終了する。
【０１０７】
図１３〜図１５を参照して、第３のデータ通信方法について説明する。図１３は、第３のデータ通信方法における端末での処理を説明するためのフローチャート図である。図１３において、端末３の入力部４１は、ユーザＩ／Ｆ１６ｂから、送信要求と入力データ５１とを受け付ける（ステップＳ３１０１）。
【０１０８】
エンコード部４２は、入力データ５１から追加項目及び項目値以外のデータを取得してＸＭＬで記述し、ＸＭＬ送信データ７ｂを作成する（ステップＳ３１０２）。ＸＭＬ送信データ７ｂは、記憶部１３０ｂに記憶される。この時点では、ＸＭＬ送信データ７ｂは、既存のＸＭＬ送信データ６ｂと同様である。
【０１０９】
ステップＳ３１０３〜ステップＳ３１０９が、エンコード部４２による追加のＸＭＬ記述に対して文字置換後データ５４を作成する処理に相当する。
【０１１０】
エンコード部４２は、入力データ５１の残りのデータからＸＭＬで記述する追加項目と項目値とを取得する（ステップＳ３１０３）。
【０１１１】
エンコード部４２は、入力データ５１の残りのデータから追加項目と項目値とを取得し（ステップＳ３１０３）、追加項目毎に、追加項目とその項目値とを示したＸＭＬ要素を作成し、作成した全てのＸＭＬ要素を連結した文字列を作成する（ステップＳ３１０４）。追加項目がタグ名として使用される。
【０１１２】
そして、エンコード部４２は、文字コード変換表８ａを参照して、ＸＭＬ記述を文字コードに変換し、文字コードデータ５２を作成する（ステップＳ３１０５）。エンコード部４２は、作成した文字コードデータ５２の１桁毎に４進数化して４進数データ５３を作成する（ステップＳ３１０６）。
【０１１３】
文字コードデータ５２の１桁は１６進数で表されるため、エンコード部４２は、文字コードデータ５２から１桁ずつ読み取り、４進数化した値を２桁で示す。例えば、１６進数「１」の場合は４進数「０１」で表され、１６進数「Ａ」の場合は４進数「２２」で表され、１６進数「Ｆ」の場合は４進数「３３」で表される。
【０１１４】
次に、エンコード部４２は、特定文字変換表８ｂを参照して、４進数データ５３の各桁の値を、特定文字に置き換えて文字置換後データ５４を作成し（ステップＳ３１０７）、文字置換後データ５４の先頭にデータがＸＭＬ記述であることを示すデータ種別「空白」を追加する（ステップＳ３１０８）。
【０１１５】
そして、エンコード部４２は、ＸＭＬ送信データ７ｂの特定タグ内のタグ名の直後に、先頭にデータ種別「空白」を示す文字置換後データ５４を挿入する（ステップＳ３１０９）。
【０１１６】
ステップＳ３１１０〜ステップＳ３１１６が、エンコード部４２による追加の項目値のみに対して文字置換後データ５４を作成する処理に相当する。
【０１１７】
エンコード部４２は、入力データ５１から埋め込み対象が項目値のみである追加の項目値を取得する（ステップＳ３１１０）。追加の項目値は、対応するタグを持たない項目値等である。
【０１１８】
エンコード部４２は、文字コード変換表８ａを参照して、項目値を文字コードに変換し、文字コードデータ５２を作成し（ステップＳ３１１１）、作成した文字コードデータ５２の１桁毎に４進数化して４進数データ５３を作成する（ステップＳ３１１２）。
【０１１９】
次に、エンコード部４２は、特定文字変換表８ｂを参照して、４進数データ５３の各桁の値を、特定文字に置き換えて文字置換後データ５４を作成し（ステップＳ３１１３）、文字置換後データ５４の先頭にデータが項目値であることを示すデータ種別「タブ」を追加する（ステップＳ３１１４）。
【０１２０】
そして、エンコード部４２は、ＸＭＬ送信データ７ｂの特定タグ内のタグ名の直後に文字置換後データ５４を挿入する（ステップＳ３１１５）。
【０１２１】
送信部４３が、通信Ｉ／Ｆ１７ｂによって、ＸＭＬ送信データ７ｂをサーバ装置１００へと送信する（ステップＳ３１０８）。ＸＭＬ送信データ７ｂの送信後、端末３による処理を終了する。
【０１２２】
図１３は、第３のデータ通信方法における端末での処理例を説明するための図である。図１３では、端末３のエンコード部４２による、項目値を示す文字列９３に対する処理を示している。
【０１２３】
文字列９３は、氏名のふりがなを示す。この例では、「ふじおかたろう」が示されている。エンコード部４２は、文字コード変換表８ａを参照して、文字列９３をコード化する。
【０１２４】
文字列９３は、進数で表された文字コードデータ５２３に変換される。この例では、文字コード変換表８ａに従って、「ふじおかたろう」が「526A31204E5564」に変換されることする。
【０１２５】
エンコード部４２は、更に、文字コードデータ５２３を１桁ずつ４進数へと変換して、４進数データ５３３を作成する。文字コードデータ５２３の１番目の値「５」は「１１」に変換され、２番目の値「２」は「０２」に変換される。以下同様に４進数に置き換えられ、４進数データ５３３のように４進数化される。
【０１２６】
エンコード部４２は、特定文字変換表８ｂを参照して、４進数データ５３３をＸＭＬ規約では解釈されない４種類の文字で表わした文字置換後データ５４３に変換する。この例では、４進数データ５３３において、１番目の値「１」及び２番目の値「１」が夫々「タブ」に置き換えられ、３番目の値「０」が「空白」に置き換えられる。以下同様に４つの特定文字のいずれかに置き換えられ、文字置換後データ５４３のように表される。
【０１２７】
エンコード部４２は、文字置換後データ５４２を特定タグ内のタグ名の直後に挿入して、ＸＭＬ送信データ７ｂ３に項目値を埋め込む。特定タグは、最初のタグとすればよい。
【０１２８】
また、複数の項目値を埋め込む場合は、項目値毎に、連結したＸＭＬ記述を埋め込むタグ以外の１以上のタグから順に選択して、タグ名の直後に挿入してもよい。この場合、埋め込む項目値の数は、既存のタグの数から１つ少ないタグ数以下であることが望ましい。
【０１２９】
図１４は、第３のデータ通信方法における端末での処理例を説明するための図である。図１４では、端末３のエンコード部４２による、追加項目と項目値とを示すＸＭＬ記述の文字列９３ａに対する処理を示している。
【０１３０】
文字列９３ａは、郵便番号と都道府県の２つの追加項目の各ＸＭＬ記述を連結した図８の文字列９１を例として示している。エンコード部４２は、文字コード変換表８ａを参照して、文字列９３ａをコード化する。文字列９３ａは、１６進数で表された文字コードデータ５２３ａ（図８の文字コードデータ５２１に相当）に変換される。
【０１３１】
エンコード部４２は、更に、文字コードデータ５２３ａを１桁ずつ４進数へと変換して、４進数データ５３３ａ（図８の文字コードデータ５３１に相当）を作成する。
【０１３２】
エンコード部４２は、特定文字変換表８ｂを参照して、４進数データ５３３ａをＸＭＬ規約では解釈されない４種類の文字で表わした文字置換後データ５４３（図８の文字コードデータ５４１に相当）に変換する。
【０１３３】
エンコード部４２は、文字置換後データ５４３ａの先頭にデータ種類「空白」を付加した後、特定タグ内のタグ名の直後に挿入して、ＸＭＬ送信データ７ｂ３に追加項目及びその項目値とを埋め込む。特定タグは、最初のタグとすればよい。
【０１３４】
文字列９３ｂは、氏名のふりがなを示し、図１１の文字列９２を例として示している。エンコード部４２は、文字コード変換表８ａを参照して、文字列９３ｂをコード化する。文字列９３ｂは、１６進数で表された文字コードデータ５２３ｂ（図１１の文字コードデータ５２２に相当）に変換される。
【０１３５】
エンコード部４２は、更に、文字コードデータ５２３ｂを１桁ずつ４進数へと変換して、４進数データ５３３ｂ（図１１の文字コードデータ５３２に相当）を作成する。
【０１３６】
エンコード部４２は、特定文字変換表８ｂを参照して、４進数データ５３３ｂをＸＭＬ規約では解釈されない４種類の文字で表わした文字置換後データ５４３ｂに変換する。この例では、４進数データ５３３ｂにおいて、１番目の値「１」及び２番目の値「１」が夫々「タブ」に置き換えられ、３番目の値「０」が「空白」に置き換えられる。以下同様に４つの特定文字のいずれかに置き換えられ、文字置換後データ５４３ｂのように表される。
【０１３７】
エンコード部４２は、文字置換後データ５４３ｂの先頭にデータ種類「タブ」を付加した後、特定タグ内のタグ名の直後に挿入して、ＸＭＬ送信データ７ｂ３に項目値を埋め込む。特定タグは、最初のタグとすればよい。文字置換後データ５４３ａ及び文字置換後データ５４３ｂを含むＸＭＬ送信データ７ｂ３がサーバ装置１００へ送信される。
【０１３８】
図１５は、第３のデータ通信方法におけるサーバ装置での処理を説明するためのフローチャート図である。図１５では、サーバ装置１００の受信部１７１は、ＸＭＬ送信データ７ｂを受信すると（ステップＳ３２０１）、記憶部１３０ａに記憶して、ＸＭＬ解析部１７２に通知する。
【０１３９】
ＸＭＬ解析部１７２は、ＸＭＬ送信データ７ｂを解析して、解析結果１５５を記憶部１３０ａに出力する（ステップＳ３２０２）。ＸＭＬ解析部１７２は、ＸＭＬ送信データ７ｂのＸＭＬ記述を解析することによって、タグ名と項目値とを特定し、タグ名と項目値とを対応付けた解析結果１５５を出力する。
【０１４０】
デコード部１７３は、ＸＭＬ送信データ７ｂから特定タグを１つ選択して、特定タグ名を読み込み（ステップＳ３２０３）、特定タグ名の直後に特定文字を検出したか否かを判断する（ステップＳ３２０４）。デコード部１７３は、特定タグ内の特定タグ名の先頭から１文字ずつ解析する。ＸＭＬ規約では解釈されない４つの特定文字の１つを検出しなかった場合（ステップＳ３２０４のＮＯ）、デコード部１７３は、ステップＳ３２１６へと進む。
【０１４１】
一方、特定文字の１つを検出した場合（ステップＳ３２０４のＹＥＳ）、デコード部１７３は、検出した最初の特定文字がＸＭＬ記述のデータ種別か否かを判断する（ステップＳ３２０５）。
【０１４２】
ＸＭＬ記述のデータ種別の場合（ステップＳ３２０５のＹＥＳ）、即ち、検出した最初の特定文字が「空白」であった場合、デコード部１７３は、読み込んだ特定タグの特定タグ名に対して、ステップＳ３２０６〜ステップＳ３２１１までの処理を行う。
【０１４３】
ステップＳ３２０３〜ステップＳ３２１１が、デコード部１７３による追加のＸＭＬ記述を復元する処理に相当する。
【０１４４】
デコード部１７３は、解析結果１５５から読み込んだ特定タグ名から、文字置換後データ５４を取得する（ステップＳ３２０６）。特定文字の２番目から最後の特定文字までを文字置換後データ５４として抽出する。
【０１４５】
デコード部１７３は、特定文字変換表８ｂを参照して、抽出した文字置換後データ５４を１文字毎（即ち、特定文字毎）に数値に置き換えて、４進数データ５３を復元する（ステップＳ３２０７）。
【０１４６】
デコード部１７３は、４進数データ５３を１桁ずつ１６進数に変換して、文字コードデータ５２を復元し（ステップＳ３２０８）、更に、文字コード変換表８ａを用いて、文字コードデータ５２からＸＭＬ記述の文字列を復元する（ステップＳ３２０９）。
【０１４７】
デコード部１７３は、復元したＸＭＬ記述の文字列をＸＭＬ解析して、追加タグ名と項目値とを取得し、解析結果に追加タグ名と項目値とを追加する（ステップＳ３２１０）。そして、デコード部１７３は、解析結果１５５の特定タグ名から文字置換後データ５４を削除して、既存のタグ名のみが示されるようにする（ステップＳ３２１１）。
【０１４８】
そして、デコード部１７３は、全ての特定タグを処理したか否かを判断する（ステップＳ３２１８）。未処理の特定タグが存在する場合（ステップＳ３２１８のＮＯ）、ステップＳ３２０３へと戻り上述同様の処理を繰り返す。一方、全ての特定タグを処理した場合（ステップＳ３２１８のＹＥＳ）、サーバ装置１００での処理を終了する。
【０１４９】
一方、項目値のデータ種別の場合（ステップＳ３２０５のＮＯ）、即ち、検出した最初の特定文字が「タグ」であった場合、デコード部１７３は、読み込んだ特定タグの特定タグ名に対して、ステップＳ３２１２〜ステップＳ３２１７までの処理を行う。
【０１５０】
ステップＳ３２１２〜ステップＳ３２１７が、デコード部１７３による追加の項目値を復元する処理に相当する。
【０１５１】
デコード部１７３は、解析結果１５５から読み込んだ特定タグ名から、文字置換後データ５４を取得する（ステップＳ３２１２）。特定文字の２番目から最後の特定文字までを文字置換後データ５４として抽出する。
【０１５２】
デコード部１７３は、特定文字変換表８ｂを参照して、抽出した文字置換後データ５４を１文字毎（即ち、特定文字毎）に数値に置き換えて、４進数データ５３を復元する（ステップＳ３２１３）。
【０１５３】
デコード部１７３は、４進数データ５３を１桁ずつ１６進数に変換して、文字コードデータ５２を復元し（ステップＳ３２１４）、更に、文字コード変換表８ａを用いて、文字コードデータ５２から項目値を復元する（ステップＳ２２１５）。
【０１５４】
デコード部１７３は、解析結果に、復元した項目値を追加する（ステップＳ２２１６）。そして、デコード部１７３は、解析結果１５５の特定タグ名から文字置換後データ５４を削除して、既存のタグ名のみが示されるようにする（ステップＳ２２１７）。
【０１５５】
そして、デコード部１７３は、全ての特定タグを処理したか否かを判断する（ステップＳ３２１８）。未処理の特定タグが存在する場合（ステップＳ３２１８のＮＯ）、ステップＳ３２０３へと戻り上述同様の処理を繰り返す。一方、全ての特定タグを処理した場合（ステップＳ３２１８のＹＥＳ）、サーバ装置１００での処理を終了する。
【０１５６】
上述したように、本実施例では、ＸＭＬ記述が追加される場合、項目値が追加される場合、又は、ＸＭＬ記述及び項目値の両方が追加される場合に、サーバ装置１００にてエラーを起こすことなく、新たな入力項目に対応することができる。
【０１５７】
上述では、新たな入力項目（追加項目）をサポートするサーバ装置１００においても、既存のＸＭＬ解析部１７２を利用可能とする構成にいて説明したが、新たな入力項目をサポートしていないサーバ装置では、ＸＭＬ規約においては解釈されない特定文字を利用しているため、何らエラーを発生することがない。
【０１５８】
従って、追加項目をサポートする端末３ａ、及び、サポートしたない端末３ｂが混在したとしても、追加項目をサポート有無に係らずいずれのサーバ装置であってもエラーを起こすことなく、正常にＸＭＬ解析を行うことができる。
【０１５９】
本実施例において、各送信側機器（端末３）は、受信側機器（サーバ装置１００）での対応状況が不明確なタグ（追加）項目）及び値（項目値）を、送信するＸＭＬ送信データの目的の位置に使用した状態で、受信側機器でパーシングでスキップされる文字を用いて、送信することができる。また、新たなタグを増やすことなく、受信側でエラーとならないように、項目を追加できる。
【０１６０】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【０１６１】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成し、
前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する、
処理をコンピュータに実行させるエンコードプログラム。
（付記２）
前記記述部分は、前記許容タグ以外の非許容タグを用いて記述したＸＭＬ記述であることを特徴とする付記１記載のエンコードプログラム。
（付記３）
前記コンピュータに、
前記記述部分が複数の場合は、複数の該記述部分を連結させる
処理を実行させる付記２記載のエンコードプログラム。
（付記４）
前記コンピュータに、
前記入力データ内において、対応するタグを持たない項目値を前記複数のコードを用いてエンコードし、エンコードにより得られた該項目値のエンコードデータを前記記述部分のエンコードデータが挿入された許容タグ以外の許容タグに挿入する
処理を行わせることを特徴とする付記１記載のエンコードプログラム。
（付記５）
前記コンピュータに、
前記各エンコード値の先頭に、前記ＸＭＬ記述又は前記項目値のいずれかを特定するデータ種別を付加させる
処理を行わせることを特徴とする付記４記載のエンコードプログラム。
（付記６）
入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成し、
前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する、
処理をコンピュータが行うエンコード方法。
（付記７）
入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成するエンコードデータ生成部と、
前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する修正ＸＭＬデータ生成部と、
を有するエンコード装置。
（付記８）
送信側装置と、
前記送信側装置と通信する受信側装置とを有し、
前記送信側装置は、
入力データのＸＭＬ記述のうち、許容タグを用いた記述以外の記述部分を、ＸＭＬ解析ではタグ内において解釈されない複数のコードを用いてエンコードしたエンコードデータを生成するエンコードデータ生成部と、
前記エンコードデータを、前記入力データに用いられた前記許容タグの少なくともいずれかのタグ内に挿入した、修正ＸＭＬデータを生成する修正ＸＭＬデータ生成部と、
生成した前記修正ＸＭＬデータを受信側装置へ送信する送信部とを有し、
前記受信側装置は、
前記送信側装置から前記修正ＸＭＬデータを受信する受信部と、
受信した前記修正ＸＭＬデータの前記許容タグ内に含まれる前記エンコードデータを、前記複数のコードでデコードして、前記記述部分を復元するデコード部とを有する
ことを特徴とするデータ通信システム。
（付記９）
ＸＭＬデータの複数の第１のタグのいずれかに含まれる、ＸＭＬ解析によって解釈されない複数のコードを用いてエンコードされたエンコードデータを、該複数のコードを用いてデコードし、前記ＸＭＬデータの前記複数の第１のタグとは異なる第２のタグを用いて記述された記述部分を復元する
処理をコンピュータに実行させるデコードプログラム。
【符号の説明】
【０１６２】
２          インターネット
３          端末
６ａ        旧入力画面
６ｂ        ＸＭＬ送信データ
７ａ        新入力画面
７ｂ        ＸＭＬ送信データ
８ａ        文字コード変換表
８ｂ        特定文字変換表
１１ａ、１１ｂ      ＣＰＵ
１２ａ、１２ｂ      主記憶装置
１３ａ      補助記憶装置
１４ａ      入力装置
１５ａ      表示総理
１６ｂ      ユーザＩ／Ｆ
１７ａ、１７ｂ      通信Ｉ／Ｆ
１８ａ、１８ｂ      ドライブ装置
１９ａ、１９ｂ      記憶媒体
４１        入力部
４２        エンコード部
４３        送信部
５１        入力データ
５２        文字コードデータ
５３        ４進数データ
１００      サーバ装置
１３０ａ、１３０ｂ    記憶部
１７１      受信部
１７２      ＸＭＬ解析部
１７３      デコード部
１７４      サーバ処理部
【図１】
2017208608.tif 000003
【図２】
2017208608.tif 000004
【図３】
2017208608.tif 000005
【図４】
2017208608.tif 000006
【図５】
2017208608.tif 000007
【図６】
2017208608.tif 000008
【図７】
2017208608.tif 000009
【図８】
2017208608.tif 000010
【図９】
2017208608.tif 000011
【図１０】
2017208608.tif 000012
【図１１】
2017208608.tif 000013
【図１２】
2017208608.tif 000014
【図１３】
2017208608.tif 000015
【図１４】
2017208608.tif 000016
【図１５】
2017208608.tif 000017