"識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、このメモリに記憶された各データに対応して設けられ、対応するデータを制御するための情報で、少なくとも当該制御情報に対応するデータの識別子を示す情報から構成される制御情報を記憶している制御情報記憶手段と、外部装置から送られ、少なくとも検索するデータ識別子を示すパラメータデータから構成され、第1データ表現形式の識別子を指定するコマンドを受信する受信手段と、この受信手段により前記コマンドを受信すると、当該コマンドのパラメータデータにて指定される識別子と一致する制御情報が前記制御情報記憶手段内にあるか否かを判断する制御情報判断手段と、この制御情報判断手段により前記パラメータデータにて指定される識別子と一致する制御情報があると判断された場合、前記受信手段により受信されたコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子を求める処理手段と、を具備する携帯可能電子装置。前記処理手段は、求めた結果を当該携帯可能電子装置の外部へ出力することを特徴とする請求項1~請求項3のうちいずれか1つに記載の携帯可能電子装置。識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、このメモリに記憶された各データに対応して設けられ、対応するデータを制御するための情報で、少なくとも当該制御情報に対応するデータの識別子を示す情報から構成される制御情報を記憶している制御情報記憶手段と、外部装置から送られ、少なくとも検索するデータ識別子を示すパラメータデータから構成され、第1データ表現形式の識別子を指定するコマンドを受信する受信手段と、この受信手段により前記コマンドを受信すると、当該コマンドのパラメータデータにて指定される識別子と一致する制御情報が前記制御情報記憶手段内にあるか否かを判断する制御情報判断手段と、この制御情報判断手段により前記パラメータデータにて指定される識別子と一致する制御情報があると判断された場合、前記受信手段により受信されたコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子を求める処理手段とを有したICモジュールと、このICモジュールを収納したICカード本体と、を具備するICカード。前記処理手段は、求めた結果を当該ICカードの外部へ出力することを特徴とする請求項5~請求項7のうちいずれか1つに記載のICカード。識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、このメモリに記憶された各データに対応して設けられ、対応するデータを制御するための情報で、少なくとも当該制御情報に対応するデータの識別子を示す情報から構成される制御情報を記憶している制御情報記憶手段と、外部装置から送られ、少なくとも検索するデータ識別子を示すパラメータデータから構成され、第1データ表現形式の識別子を指定するコマンドを受信する受信手段と、この受信手段により前記コマンドを受信すると、当該コマンドのパラメータデータにて指定される識別子と一致する制御情報が前記制御情報記憶手段内にあるか否かを判断する制御情報判断手段と、この制御情報判断手段により前記パラメータデータにて指定される識別子と一致する制御情報があると判断された場合、前記受信手段により受信されたコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子を求める処理手段と、を具備するICモジュール。本発明が解決しようとする課題は、入れ子構造になっているデータをデータ構造解析なしで容易に検出したり、入れ子構造になっているデータの中に含まれるデータを操作することで容易に入れ子構造になっているデータの合計値や最新日付情報などのデータを取得することが可能な携帯可能電子装置、ICカードおよびICモジュールを提供することである。実施形態に係る携帯可能電子装置は、識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、このメモリに記憶された各データに対応して設けられ、対応するデータを制御するための情報で、少なくとも当該制御情報に対応するデータの識別子を示す情報から構成される制御情報を記憶している制御情報記憶手段と、外部装置から送られ、少なくとも検索するデータ識別子を示すパラメータデータから構成され、第1データ表現形式の識別子を指定するコマンドを受信する受信手段と、この受信手段により前記コマンドを受信すると、当該コマンドのパラメータデータにて指定される識別子と一致する制御情報が前記制御情報記憶手段内にあるか否かを判断する制御情報判断手段と、この制御情報判断手段により前記パラメータデータにて指定される識別子と一致する制御情報があると判断された場合、前記受信手段により受信されたコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子を求める処理手段とを具備する。以下、実施形態について図面を参照して説明する。図1は、本実施形態に係る携帯可能電子装置としてのICカードを用いたICカードシステムの構成を概略的に示すものである。図1において、このICカードシステムは、ICカード1に対しデータの読出しや書込みを行なう外部装置としてのリーダライタ2、リーダライタ2が接続された上位装置としてのパーソナルコンピュータ以降、単にパソコンと略称する3から構成されている。パソコン3は、インターネット、公衆電話網、ISDNなどの公衆通信網4を介して外部の情報センタ5へ接続するように構成されている。パソコン3は、演算部6としてCPU6aと主記憶装置としてのメモリ6bとを有している。また、パソコン3は、表示手段としてのディスプレイ7、入力手段としてのキーボード8、記憶手段としてのハードディスク装置HDD9を有している。ディスプレイ7は、操作手順や作動状態をオペレータに知らせるものである。キーボード8は、オペレータによって操作入力されるものである。ハードディスク装置9には、機密情報である複数のファイル、たとえば、第1電子データファイルF1、第2電子データファイルF2、第3電子データファイルF3などが格納されている。そして、リーダライタ2を介して、パソコン3とICカード1との間で各種データ交換が行なわれるようになっている。リーダライタ2は、図示しない内部メモリや送信手段などを有していて、ICカード1に対するデータの読取り、書込み送受信などを接触あるいは非接触で行なうものである。接触式ICカードを用いる場合には、リーダライタ2に接触式ICカードを挿入するためのICカード挿入部図示せずが設けられ、無線式ICカードを用いる場合には、リーダライタ2と無線式ICカードとの間を通信するための通信部図示せずが設けられる。ICカード1は、たとえば、図2に示すように、カード本体1aの表面に設けられた磁気ストライプ部11、リーダライタ2と信号の授受を行なう受信手段および出力手段としての通信部12、および、1つあるいは複数のICチップ13から構成されている。通信部12は、無線式ICカード1の場合にはアンテナ部として構成され、リーダライタ2から送信された変調波を非接触で受信したり外部へ変調波を発信したりするようになっている。また、この通信部12で受信した変調波から内部回路に供給するための電源やクロックを生成するようになっている。また、接触式ICカード1の場合にはコンタクト部として構成され、リーダライタ2に設けられたICカード端子部図示しないと接触することにより電源やクロックを得るようになっている。ICチップ13は、制御素子としてのCPU14、記憶手段してのデータメモリ15、ワーキングメモリ16、プログラムメモリ17から構成され、通信部12と接続された状態で一体的にICモジュール化されて、ICカード本体1a内に埋設されている。CPU14は、本実施形態のポイントである後述するファイルを選択する処理を実行する他、各種の判定処理や判断処理およびメモリへの書込みや読出しなどのデータ処理を行なう制御部である。データメモリ15は、アプリケーションデータなどの各種データの記憶に使用され、たとえば、EEPROMエレクトリカリイレーザブルアンドプログラマブルリードオンリメモリなどの消去書換え可能な不揮発性メモリで構成されている。ワーキングメモリ16は、CPU14が処理を行なう際の処理データを一時的に保持するための作業用のメモリであり、たとえば、RAMランダムアクセスメモリなどの揮発性メモリで構成されている。プログラムメモリ17は、たとえば、マスクROMリードオンリメモリなどの書換え不可能な固定メモリで構成されており、上述するような各基本機能を実現するサブルーチンを備えたCPU14の制御プログラムなどを記憶している。なお、ICカード1に登録されているアプリケーションとしては、たとえば、クレジット、ポイントシステム、IDカードなどが挙げられる。データメモリ15には、たとえば、図3に示すように、複数のアプリケーションに関する情報がファイル構造で記憶されている。このファイル構造は、ISO/IEC7816-4に基づき、色々なフォルダの種類を持ったディレクトリのツリー構造になっており、複数のアプリケーションが登録可能である。すなわち、図3に示すように、最上位がMFMasterFile21で、その配下に各アプリケーションごとに設定されるフォルダとしてDFDedicatedFile22,23,24が設けられ、さらに、それらの配下に実際にアプリケーションで使われるユーザデータの格納に使用されるEFElementaryFile25,26,27,28が設けられている構成になっている。また、MF21の配下には、アクセス権を確立するためのキーの格納に使用されるキーEF29が設けられている。なお、DFは搭載しているアプリケーションに相当する数だけ設けられる。本実施形態では、ICカード1には、たとえば、クレジット系としてX社向けの1つのアプリケーションが、ポイント系としてA社、B社向けの2つのアプリケーションがそれぞれ格納されている。そして、本実施形態では、DF22以後、DF1とも称すには、たとえば、クレジットX社向けアプリケーション用ファイルとしてDF名がクレジットX社と設定され、その配下には、クレジットX社向けアプリケーションで使用されるEF25以後、EF1-1とも称す、EF26以後、EF1-2とも称すという2つのファイルが存在する。また、DF23以後、DF2とも称すには、たとえば、ポイントA社系向けアプリケーション用ファイルとしてDF名がポイントA社系と設定され、その配下には、ポイントA社系向けアプリケーションで使用されるEF27以後、EF2-1とも称す、EF28以後、EF2-2とも称すという2つのファイルが存在する。このうち、EF2-1は共通データ、EF2-2はポイントA社系内のそれぞれのデータが格納されている。EF2-2に格納されるデータは、たとえば、図4に示すような入れ子構造を持つデータである。すなわち、図4aに示すように、ポイントPのデータとして、図4aに示すように、ポイントP識別子EA161とポイントPのデータ長162とポイントPの値163とから構成される第2データ表現形式のデータが格納される。上記ポイントPの値163は、上記第2データ表現形式と同じ第1データ表現形式のデータ、すなわち、ポイント値識別子DF01164とポイント値長165とポイント値166とから構成されるデータ167、ポイント加算値識別子DF04168とポイント加算値長169とポイント加算値01170とから構成されるデータ171、ポイント加算値識別子DF04172とポイント加算値長173とポイント加算値01174とから構成されるデータ175、ポイント加算値識別子DF04176とポイント加算値長177とポイント加算値02178とから構成されるデータ179が並設されて構成される。このようなデータ構造をいわゆる入れ子構造と呼ばれている。また、図4bに示すように、ポイントQのデータとして、ポイントQ識別子EB181とポイントQのデータ長182とポイントQの値183とから構成される第2データ表現形式のデータが格納される。上記ポイントQの値183は、上記第2データ表現形式と同じ第1データ表現形式のデータ、すなわち、ポイント値識別子DF01184とポイント値長185とポイント値186とから構成されるデータ187、ポイント加算値識別子DF04188とポイント加算値長189とポイント加算値01190とから構成されるデータ191、ポイント加算値識別子DF04192とポイント加算値長193とポイント加算値03194とから構成されるデータ195が並設されて構成される。このようなデータ構造をいわゆる入れ子構造と呼ばれている。図5は、データ識別子を指定することにより読出し書換え等が行なわれるデータを管理するデータ管理情報を示しており、たとえば、データメモリ15に格納されている。このデータ管理情報は、データ数領域200、制御情報領域201、空き領域202から構成される。データ数領域200には、制御情報領域201に記憶されたデータの数制御情報の数を示す情報が記憶される。制御情報領域201には、データ入れ子構造のデータについては第1階層のデータの数に応じた数の制御情報201a,201b,...が記憶される。制御情報領域201内の制御情報201a,201b,...は、各データ入れ子構造のデータについては第1階層のデータに対応して設けられる。図5に示す例では、各制御情報201a,201b,...は、データ識別子情報210、設定アドレス情報211、設定可能サイズ情報212、および、セキュリティ条件情報213から構成されている。データ識別子情報210は、外部装置から指定された識別子と当該データ識別子情報とを比較し、両者が一致した場合に本情報を後続の処理に使用する。設定アドレス情報211は、当該データがカード内のデータメモリ15のどのアドレスに配置されているかを示す情報である。設定可能サイズ情報212は、設定可能なサイズを示す情報であり、本情報の範囲内であれば当該データは可変長にて設定可能である。セキュリティ条件情報213は、当該データに対して読出しや書込みを行なう場合に設定されているべきセキュリティ条件である。なお、上記データ管理情報の詳細は、たとえば、特開平11-282989号公報に記載されているので、それを参照されたい。図6は、制御情報により所定のアドレスに設定されるデータのフォーマットを示している。データは、制御情報の設定アドレス情報211の示すデータメモリ15上のアドレスに設定されている。図6において、220はデータの長さを示すデータ管理情報、221はデータの本体部分である。222は当該データの正当性管理情報であり、たとえば、データ管理情報220およびデータ221の排他的論理和などによりデータの正当性の確認に使用される。図7は、リーダライタ2からICカード1に対して供給される入れ子構造のデータの検索存在個数出力を指示するための命令データ検索存在個数出力コマンドの構成を示している。検索存在個数出力コマンドは、コマンドヘッダ部301、および、コマンドヘッダ部301のデータ長を示すLe部306から構成されている。コマンドヘッダ部301は、コマンドの分類部CLA:class302、命令部INS:instruction303、および、パラメータデータP1、P2304,305から構成されている。P1部304、P2部305は、検索するデータ識別子を示している。すなわち、たとえば、図4におけるポイント加算値識別子DF04を検索する場合は、P1部304にDF、P2部305に04がセットされる。ICカード1のCPU14は、この検索存在個数出力コマンドのコマンドヘッダ部301のP1部304とP2部305にセットされたデータ識別子から、指定されたデータ識別子を探し出し、出力する。図8は、リーダライタ2から送られた検索存在個数出力コマンドを実行した後、ICカード1がリーダライタ2へ出力するレスポンスデータの構成を示している。このレスポンスデータは、検索存在個数出力コマンドのP1部304、P2部305で指定された識別子のCPU14による検索結果指定された識別子を含む識別子情報がセットされるデータ部401、および、処理結果を示すステータスコードがセットされるステータスコード部402,403から構成されている。上記データ部401には、検索存在個数出力コマンドに対する検索結果がセットされる。ここでは、上記データ部401には、検索存在個数出力コマンドで指定された第2階層のデータの識別子の検索結果として、指定された識別子の第2階層のデータを含む第1階層のデータの識別子を示す情報とその存在個数がセットされる。すなわち、たとえば、図4に示すデータを有するICカード1では、第2階層のデータとしてポイント加算値識別子DF04を指定するコマンドを実行した場合、データ部401には、ポイントP識別子EA161と存在個数03と、ポイントQ識別子EB181と存在個数02とがセットされて出力される。図9は、出力するレスポンスデータが格納されるレスポンス用データメモリの構成を示しており、たとえば、データメモリ15内に設けられている。このレスポンス用データメモリは、レスポンスデータ長管理情報が格納される領域501、および、レスポンスデータが格納される領域502から構成されている。このレスポンス用データメモリに格納されるデータは、図8に示すデータ部401にセットされるデータである。次に、このような構成において検索存在個数出力コマンドに対する処理について図10および図11に示すフローチャートを参照して説明する。まず、外部装置としてのリーダライタ2がICカード1に対して検索存在個数出力コマンドを供給したものとする。ICカード1では、通信部12が検索存在個数出力コマンドを受信する。受信した検索存在個数出力コマンドは、通信部12からCPU14に供給される。すると、CPU14は、受信した検索存在個数出力コマンドのコマンドヘッダ部301のCLA部302およびINS部303により当該コマンドが検索存在個数出力コマンドであることを判断する。ICカード1のCPU14は、受信されたコマンドが検索存在個数出力コマンドであると判断すると、図5のデータ管理情報から第1番目の制御情報制御情報1201aを読出すステップS100。次に、当該制御情報201a内の設定アドレス情報211で示すアドレスに既に第1階層のデータが設定されているか否かを確認するステップS101。第1階層のデータが設定されている場合はステップS103へ、第1階層のデータが設定されていない場合は後述するステップS122へ進む。ステップS103では、当該データのデータ長管理情報220が制御情報201a内の設定可能サイズ情報212の範囲内であるかを確認する。範囲内である場合はステップS105へ、範囲を超えている場合はステップS104へ進む。ステップS104では、データ管理情報異常の応答ステータスをリーダライタ2へ出力する。ステップS105では、当該データのデータ正当性管理情報222を確認する。正当性が確認できた場合はステップS107へ、異常である場合はステップS106へ進む。ステップS106では、データ正当性管理情報異常の応答ステータスをリーダライタ2へ出力する。ステップS107では、制御情報201a内の設定アドレス情報211が示すアドレスのデータを1バイトByte読込むとともに、ワーキングメモリ16の識別子カウンタをクリアする。次に、この読込んだデータを確認しステップS108、次のデータも識別子の一部であると確認された場合は、ステップS109へ進み、次のデータを1バイト読込む。ステップS108の確認の結果、次のデータも識別子の一部でないと確認された場合、あるいは、ステップS109の処理後、読込んだ識別子がコマンドのP1部304、P2部305で指定されている識別子と一致するか否かをチェックしステップS110、一致する場合はステップS111へ進み、一致しない場合はステップS112へ進む。ステップS112では、次のデータを1バイト読込み、読込んだ値をデータ長とし、次の識別子に相当するアドレスを求める。次に、ステップS112で求められた次の識別子に相当するアドレスとデータ長管理情報220との整合性を確認しステップS113、後ろにデータがない場合は後述するステップS120へ進み、後ろにデータがある場合はステップS116へ進む。ここで、後ろにデータがないと判定する状態としては、たとえば、求められたアドレスがデータ長管理情報220で指定されたデータ長のアドレスの範囲を超えている場合などがある図12参照。ステップS116では、ステップS112で求められた次の識別子に相当するアドレスのデータを1バイト読込む。次に、この読込んだデータを確認しステップS117、次のデータも識別子の一部であると確認された場合は次のデータを1バイト読込みステップS118、ステップS117へ戻る。ステップS117の確認の結果、次のデータも識別子の一部でないと確認された場合、ステップS117,S118で読込んだデータが次のデータの識別子を示すデータであるものと判断する。したがって、次のデータは識別子の一部でないと判断した場合、ステップS110へ戻り、読込んだ識別子がコマンドのP1部304とP2部305で指定されている識別子と一致するか否かを判断する。ステップS110における判断の結果、読込んだ識別子がコマンドのP1部304とP2部305で指定されている識別子と一致すると判断した場合、ワーキングメモリ16の識別子カウンタをインクリメントしステップS111、ステップS112へ進む。ステップS113における判断の結果、後ろにデータが無い場合つまり、1つの制御情報で示される第1階層のデータの検索が終了した場合、CPU14はワーキングメモリ16の識別子カウンタが零0であるか否かを判断するステップS120。ステップS120における判断の結果、零0でない場合、CPU14は当該制御情報201a内のデータ識別子情報210つまり、第1階層のデータの識別子とワーキングメモリ16の識別子カウンタの値をレスポンス用データメモリ図9参照の領域502に格納するステップS121。この際、当該第1階層のデータの識別子は、レスポンス用データメモリの領域501に格納しているレスポンスデータ長管理情報としてデータ長をオフセットしたアドレスにセットされる。また、CPU14は、レスポンス用データメモリの領域502に識別子とワーキングメモリ16の識別子カウンタの値をセットすると、レスポンスデータ長管理情報をセットしたデータ長分を加算することにより、セットした識別子のデータ分だけレスポンスデータのデータ長を変更するステップS121。ステップS122で、CPU14は、データ管理情報に、当該制御情報の後に更に次の制御情報があるか否かを確認し、ある場合はステップS123へ進み、次の制御情報201bを読出して、ステップS101へ戻る。すなわち、CPU14は、ステップS100~S123の処理を全ての制御情報について実行する。これにより、各制御情報で示される全ての第1階層のデータについて、当該検索存在個数出力コマンドで指定された識別子の第2階層のデータの検索およびカウントを行なう。ステップS122における確認の結果、次の制御情報がない場合、CPU14は、各制御情報で示される全ての第1階層のデータについての検索が完了したと判断する。これにより、検索処理が完了したと判断した場合、CPU14は、異常無しの応答ステータスとともにレスポンス用データメモリ図9参照内のレスポンスデータ長管理情報分のレスポンスデータをリーダライタ2へ出力するステップS124。なお、本例では、識別子が1バイト長または2バイト長のみで構成されるデータで説明を行なったが、3バイト以上の識別子が含まれる場合も同様である。また、本例では、長さ情報が1バイト長のみで構成されるデータで説明を行なったが、たとえば、ISO/IEC7816-4Annex.Dで記載されているような、長さ情報が1バイト以上で表現される場合も同様である。次に、ICカード1における第2階層のデータの合計値を出力する処理について説明する。図13は、リーダライタ2からICカード1に対して供給される第2階層のデータの合計値を出力する指示を行なうための命令データ合計値出力コマンドの構成を示している。合計値出力コマンドは、コマンドヘッダ部601、および、コマンドヘッダ部601のデータ長を示すLe部606から構成されている。コマンドヘッダ部601は、コマンドの分類部CLA:class602、命令部INS:instruction603、および、パラメータデータP1、P2604,605から構成されている。P1部604、P2部605は、検索するデータ識別子を示している。すなわち、たとえば、図4におけるポイント加算値識別子DF04を検索する場合は、P1部604にDF、P2部605に04がセットされる。ICカード1のCPU14は、この合計値出力コマンドのコマンドヘッダ部601のP1部604とP2部605にセットされたデータ識別子から、指定されたデータ識別子を探し出し、合計値を計算して出力する。図14は、リーダライタ2から送られた合計値出力コマンドを実行した後、ICカード1がリーダライタ2へ出力するレスポンスデータの構成を示している。このレスポンスデータは、合計値出力コマンドのP1部604、P2部605で指定された識別子のCPU14による計算結果がセットされるデータ部701、および、処理結果を示すステータスコードがセットされるステータスコード部702,703から構成されている。上記データ部701には、合計値出力コマンドに対する計算結果がセットされる。ここでは、上記データ部701には、合計値出力コマンドで指定された第2階層のデータの識別子の検索結果として、指定された識別子の第2階層のデータの合計値がセットされる。すなわち、たとえば、図4に示すデータを有するICカード1では、第2階層のデータとしてポイント加算値識別子DF04を指定するコマンドを実行した場合、データ部701には、ポイントP識別子EAとポイントQ識別子EBに含まれるポイント加算値識別子DF04のポイント加算値170,174,178,190,194の合計値08がセットされて出力される。次に、このような構成において合計値出力コマンドに対する処理について図15および図16に示すフローチャートを参照して説明する。まず、外部装置としてのリーダライタ2がICカード1に対して合計値出力コマンドを供給したものとする。ICカード1では、通信部12が合計値出力コマンドを受信する。受信した合計値出力コマンドは、通信部12からCPU14に供給される。すると、CPU14は、受信した合計値出力コマンドのコマンドヘッダ部601のCLA部602およびINS部603により当該コマンドが合計値出力コマンドであることを判断する。ICカード1のCPU14は、受信されたコマンドが合計値出力コマンドであると判断すると、図5のデータ管理情報から第1番目の制御情報制御情報1201aを読出すステップS200。次に、当該制御情報201a内の設定アドレス情報211で示すアドレスに既に第1階層のデータが設定されているか否かを確認するステップS201。第1階層のデータが設定されている場合はステップS203へ、第1階層のデータが設定されていない場合は後述するステップS220へ進む。ステップS203では、当該データのデータ長管理情報220が制御情報201a内の設定可能サイズ情報212の範囲内であるかを確認する。範囲内である場合はステップS205へ、範囲を超えている場合はステップS204へ進む。ステップS204では、データ管理情報異常の応答ステータスをリーダライタ2へ出力する。ステップS205では、当該データのデータ正当性管理情報222を確認する。正当性が確認できた場合はステップS207へ、異常である場合はステップS206へ進む。ステップS206では、データ正当性管理情報異常の応答ステータスをリーダライタ2へ出力する。ステップS207では、制御情報201a内の設定アドレス情報211が示すアドレスのデータを1バイト読込むとともに、ワーキングメモリ16の合計値エリアをクリアする。次に、この読込んだデータを確認しステップS208、次のデータも識別子の一部であると確認された場合は、ステップS209へ進み、次のデータを1バイト読込む。ステップS208の確認の結果、次のデータも識別子の一部でないと確認された場合、あるいは、ステップS209の処理後、読込んだ識別子がコマンドのP1部604、P2部605で指定されている識別子と一致するか否かをチェックしステップS210、一致する場合はステップS211へ進み、一致しない場合はステップS212へ進む。ステップS212では、次のデータを1バイト読込み、読込んだ値をデータ長とし、次の識別子に相当するアドレスを求める。次に、ステップS212で求められた次の識別子に相当するアドレスとデータ長管理情報220との整合性を確認しステップS213、後ろにデータがある場合はステップS216へ進む。ここで、後ろにデータがないと判定する状態としては、たとえば、求められたアドレスがデータ長管理情報220で指定されたデータ長のアドレスの範囲を超えている場合などがある図12参照。ステップS216では、ステップS212で求められた次の識別子に相当するアドレスのデータを1バイト読込む。次に、この読込んだデータを確認しステップS217、次のデータも識別子の一部であると確認された場合は次のデータを1バイト読込みステップS218、ステップS217へ戻る。ステップS217の確認の結果、次のデータも識別子の一部でないと確認された場合、ステップS217,S218で読込んだデータが次のデータの識別子を示すデータであるものと判断する。したがって、次のデータは識別子の一部でないと判断した場合、ステップS210へ戻り、読込んだ識別子がコマンドのP1部604とP2部605で指定されている識別子と一致するか否かを判断する。ステップS210における判断の結果、読込んだ識別子がコマンドのP1部604とP2部605で指定されている識別子と一致すると判断した場合、当該識別子の次のデータを1バイト読込み、読込んだ値をデータ長とするとともに、当該識別子のデータ長分のデータを読込み、ワーキングメモリ16の合計値エリアに加算するステップS211。ステップS213における判断の結果、後ろにデータがない場合つまり、1つの制御情報で示される第1階層のデータの検索が終了した場合、CPU14は、データ管理情報に、当該制御情報の後に更に次の制御情報があるか否かを確認しステップS220、ある場合はステップS221へ進み、次の制御情報201bを読出して、ステップS201へ戻る。すなわち、CPU14は、ステップS200~S221の処理を全ての制御情報について実行する。これにより、各制御情報で示される全ての第1階層のデータについて、当該合計値出力コマンドで指定された識別子の第2階層のデータの検索および合計値の計算を行なう。ステップS220における確認の結果、次の制御情報がない場合、CPU14は、各制御情報で示される全ての第1階層のデータについての検索が完了したと判断する。これにより、検索処理が完了したと判断した場合、CPU14は、異常無しの応答ステータスとともにワーキングメモリ16の合計値エリアのデータをリーダライタ2へ出力するステップS222。これにより、データ全体を読出すことなく、指定された第2階層のデータの合計値を得ることができる。次に、ICカード1における第2階層のデータの最終更新日値最新の日付情報を出力する処理について説明する。図17は、データ内に最終更新日値が含まれる入れ子構造のデータ例を示している。図17aに示すように、ポイントXのデータとして、ポイントX識別子E1101とポイントXのデータ長102とポイントXの値112とから構成される第2データ表現形式のデータが格納される。上記ポイントXの値112は、上記第2データ表現形式と同じ第1データ表現形式のデータ、すなわち、ポイント値識別子DF01103とポイント値長104とポイント値105とから構成されるデータ113、ポイント上限値識別子DF02106とポイント上限値長107とポイント上限値108とから構成されるデータ114、ポイント最終更新日識別子DF03109とポイント最終更新日値長110とポイント最終更新日値20041224111とから構成されるデータ115が並設されて構成される。このようなデータ構造をいわゆる入れ子構造と呼ばれている。また、図17bに示すように、ポイントYのデータとして、ポイントY識別子E2121とポイントYのデータ長122とポイントYの値123とから構成される第2データ表現形式のデータが格納される。上記ポイントYの値123は、上記第2データ表現形式と同じ第1データ表現形式のデータ、すなわち、ポイント値識別子DF01124とポイント値長125とポイント値126とから構成されるデータ127、ポイント上限値識別子DF02128とポイント上限値長129とポイント上限値130とから構成されるデータ131が並設されて構成される。このようなデータ構造をいわゆる入れ子構造と呼ばれている。また、図17cに示すように、ポイントZのデータとして、ポイントZ識別子E3141とポイントZのデータ長142とポイントZの値143とから構成される第2データ表現形式のデータが格納される。上記ポイントZの値143は、上記第2データ表現形式と同じ第1データ表現形式のデータ、すなわち、ポイント値識別子DF01144とポイント値長145とポイント値146とから構成されるデータ147、ポイント上限値識別子DF02148とポイント上限値長149とポイント上限値150とから構成されるデータ151、ポイント最終更新日識別子DF03152とポイント最終更新日値長153とポイント最終更新日値20050401154とから構成されるデータ155が並設されて構成される。このようなデータ構造をいわゆる入れ子構造と呼ばれている。図18は、リーダライタ2からICカード1に対して供給される第2階層のデータの最終更新日値を出力する指示を行なうための命令データ最終更新日出力コマンドの構成を示している。最終更新日出力コマンドは、コマンドヘッダ部801、および、コマンドヘッダ部801のデータ長を示すLe部806から構成されている。コマンドヘッダ部801は、コマンドの分類部CLA:class802、命令部INS:instruction803、および、パラメータデータP1、P2804,805から構成されている。P1部804、P2部805は、検索するデータ識別子を示している。すなわち、たとえば、図17におけるポイント最終更新日識別子DF03を検索する場合は、P1部604にDF、P2部605に03がセットされる。ICカード1のCPU14は、この最終更新日出力コマンドのコマンドヘッダ部801のP1部804とP2部805にセットされたデータ識別子から、指定されたデータ識別子を探し出し、最終更新日値を計算して出力する。図19は、リーダライタ2から送られた最終更新日出力コマンドを実行した後、ICカード1がリーダライタ2へ出力するレスポンスデータの構成を示している。このレスポンスデータは、最終更新日出力コマンドのP1部804、P2部805で指定された識別子のCPU14による計算結果がセットされるデータ部901、および、処理結果を示すステータスコードがセットされるステータスコード部902,903から構成されている。上記データ部901には、最終更新日出力コマンドに対する計算結果がセットされる。ここでは、上記データ部701には、合計値出力コマンドで指定された第2階層のデータの識別子の検索結果として、指定された識別子の第2階層のデータの最終更新日値がセットされる。すなわち、たとえば、図17に示すデータを有するICカード1では、第2階層のデータとしてポイント最終更新日識別子DF03を指定するコマンドを実行した場合、データ部901には、ポイントX識別子E1とポイントZ識別子E3に含まれるポイント最終更新日識別子DF03のポイント最終更新日値20050401154がセットされて出力される。次に、このような構成において最終更新日出力コマンドに対する処理について図20および図21に示すフローチャートを参照して説明する。まず、外部装置としてのリーダライタ2がICカード1に対して最終更新日出力コマンドを供給したものとする。ICカード1では、通信部12が最終更新日出力コマンドを受信する。受信した最終更新日出力コマンドは、通信部12からCPU14に供給される。すると、CPU14は、受信した最終更新日出力コマンドのコマンドヘッダ部801のCLA部802およびINS部803により当該コマンドが最終更新日出力コマンドであることを判断する。ICカード1のCPU14は、受信されたコマンドが最終更新日出力コマンドであると判断すると、図5のデータ管理情報から第1番目の制御情報制御情報1201aを読出すステップS300。次に、当該制御情報201a内の設定アドレス情報211で示すアドレスに既に第1階層のデータが設定されているか否かを確認するステップS301。第1階層のデータが設定されている場合はステップS303へ、第1階層のデータが設定されていない場合は後述するステップS321へ進む。ステップS303では、当該データのデータ長管理情報220が制御情報201a内の設定可能サイズ情報212の範囲内であるかを確認する。範囲内である場合はステップS305へ、範囲を超えている場合はステップS304へ進む。ステップS304では、データ管理情報異常の応答ステータスをリーダライタ2へ出力する。ステップS305では、当該データのデータ正当性管理情報222を確認する。正当性が確認できた場合はステップS307へ、異常である場合はステップS306へ進む。ステップS306では、データ正当性管理情報異常の応答ステータスをリーダライタ2へ出力する。ステップS307では、制御情報201a内の設定アドレス情報211が示すアドレスのデータを1バイト読込むとともに、ワーキングメモリ16の最終更新日エリアをクリアする。次に、この読込んだデータを確認しステップS308、次のデータも識別子の一部であると確認された場合は、ステップS309へ進み、次のデータを1バイト読込む。ステップS308の確認の結果、次のデータも識別子の一部でないと確認された場合、あるいは、ステップS309の処理後、読込んだ識別子がコマンドのP1部804、P2部805で指定されている識別子と一致するか否かをチェックしステップS310、一致する場合はステップS311へ進み、一致しない場合はステップS312へ進む。ステップS312では、次のデータを1バイト読込み、読込んだ値をデータ長とし、次の識別子に相当するアドレスを求める。次に、ステップS312で求められた次の識別子に相当するアドレスとデータ長管理情報220との整合性を確認しステップS313、後ろにデータがある場合はステップS316へ進む。ここで、後ろにデータがないと判定する状態としては、たとえば、求められたアドレスがデータ長管理情報220で指定されたデータ長のアドレスの範囲を超えている場合などがある図12参照。ステップS316では、ステップS312で求められた次の識別子に相当するアドレスのデータを1バイト読込む。次に、この読込んだデータを確認しステップS317、次のデータも識別子の一部であると確認された場合は次のデータを1バイト読込みステップS318、ステップS317へ戻る。ステップS317の確認の結果、次のデータも識別子の一部でないと確認された場合、ステップS317,S318で読込んだデータが次のデータの識別子を示すデータであるものと判断する。したがって、次のデータは識別子の一部でないと判断した場合、ステップS310へ戻り、読込んだ識別子がコマンドのP1部804とP2部804で指定されている識別子と一致するか否かを判断する。ステップS310における判断の結果、読込んだ識別子がコマンドのP1部804とP2部804で指定されている識別子と一致すると判断した場合、当該識別子の次のデータを1バイト読込み、読込んだ値をデータ長とするとともに、当該識別子のデータ長分のデータを読込むステップS311。次に、ステップS311で読込んだデータとワーキングメモリ16の最終更新日エリアのデータ更新日との比較を行ないステップS319、ワーキングメモリ16の最終更新日エリアのデータ更新日の方が新しいと判断した場合ワーキングメモリ16の最終更新日エリアのデータの方が新しい、ステップS312へ進む。ステップS319における比較の結果、ワーキングメモリ16の最終更新日エリアのデータ更新日の方が古いと判断した場合ワーキングメモリ16の最終更新日エリアのデータの方が古い、ワーキングメモリ16の最終更新日エリアのデータを読込んだデータに変更しステップS320、ステップS312へ進む。ステップS313における判断の結果、後ろにデータがない場合つまり、1つの制御情報で示される第1階層のデータの検索が終了した場合、CPU14は、データ管理情報に、当該制御情報の後に更に次の制御情報があるか否かを確認しステップS321、ある場合はステップS322へ進み、次の制御情報201bを読出して、ステップS301へ戻る。すなわち、CPU14は、ステップS300~S322の処理を全ての制御情報について実行する。これにより、各制御情報で示される全ての第1階層のデータについて、当該最終更新日出力コマンドで指定された識別子の第2階層のデータの検索および最終更新日値最新の更新日値の計算を行なう。ステップS321における確認の結果、次の制御情報がない場合、CPU14は、各制御情報で示される全ての第1階層のデータについての検索が完了したと判断する。これにより、検索処理が完了したと判断した場合、CPU14は、異常無しの応答ステータスとともにワーキングメモリ16の最終更新日エリアのデータをリーダライタ2へ出力するステップS323。以上説明したように、上記実施の形態によれば、入れ子構造データを記憶するICカードにおいて、入れ子構造になっているデータをデータ構造解析なしで容易に検出したり、入れ子構造になっているデータの中に含まれるデータを操作することで容易に入れ子構造データの合計値や最終更新日値などのデータを取得することが可能となる。なお、前記実施の形態では、求めた識別子、その存在個数、値の合計値、最終更新日値などのデータを外部リーダライタへ出力する場合について説明したが、必ずしも外部へ出力する必要はなく、たとえば、内部で保持しておくことで、内部で利用したり、必要に応じて外部へ出力したりする場合にも適用できる。また、携帯可能電子装置としてICカードに適用した場合について説明したが、これに限定されるものではなく、たとえば、PDAと称される携帯端末装置や携帯電話機などであっても適用でき、また、カード型に限らず、冊子型、ブロック形あるいはタグ型であってもよい。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。以下に、本願出願の当所の特許請求の範囲に記載された発明を付記する。[1]識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子と当該第2データ表現形式のデータ内に存在する第1データ表現形式の識別子の存在個数を求める処理手段と、を具備したことを特徴とする携帯可能電子装置。[2]識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子を求める処理手段と、を具備したことを特徴とする携帯可能電子装置。[3]識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータ内に存在する第1データ表現形式の識別子の存在個数を求める処理手段と、を具備したことを特徴とする携帯可能電子装置。[4]前記処理手段は、求めた結果を当該携帯可能電子装置の外部へ出力することを特徴とする請求項1~請求項3のうちいずれか1つに記載の携帯可能電子装置。[5]識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子と当該第2データ表現形式のデータ内に存在する第1データ表現形式の識別子の存在個数を求める処理手段とを有したICモジュールと、このICモジュールを収納したICカード本体と、を具備したことを特徴とするICカード。[6]識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子を求める処理手段とを有したICモジュールと、このICモジュールを収納したICカード本体と、を具備したことを特徴とするICカード。[7]識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータ内に存在する第1データ表現形式の識別子の存在個数を求める処理手段とを有したICモジュールと、このICモジュールを収納したICカード本体と、を具備したことを特徴とするICカード。[8]前記処理手段は、求めた結果を当該ICカードの外部へ出力することを特徴とする請求項5~請求項7のうちいずれか1つに記載のICカード。[9]識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子と当該第2データ表現形式のデータ内に存在する第1データ表現形式の識別子の存在個数を求める処理手段と、を具備したことを特徴とするICモジュール。[10]識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータの識別子を求める処理手段と、を具備したことを特徴とするICモジュール。[11]識別子と長さと値とから構成されるデータの表現形式を第1データ表現形式とし、前記値に第1データ表現形式で表現されるデータが少なくとも1つ以上並設されてなる第2データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて指定された第1データ表現形式の識別子を前記メモリ内の第2データ表現形式のデータから検索し、当該指定された第1データ表現形式の識別子を含む第2データ表現形式のデータ内に存在する第1データ表現形式の識別子の存在個数を求める処理手段と、を具備したことを特徴とするICモジュール。"