This application claims priority from JP 2004-043821, filed Feb. 20, 2004, the entire disclosure of which is incorporated herein by reference thereto.
The disclosure relates to a data processing unit for importing text data into a database and a data processing program stored in a computer readable medium.
Currently, there exist various kinds of software pieces for handling character strings (text data) on a computer and data passing between different software pieces has been carried out frequently. For example, personal address data is used for an address for mail created with word processing software, and the address data is also used for being printed on a post card and the like. Further, the address data may be transmitted by electronic mail. In this case, because the address data is stored in a file used by software in a format used by that software, when the address is used for other software, that address data needs to be exported/imported into a format readable by both software pieces or by activating both the software pieces, it is necessary to represent an address portion text so as to copy and paste it manually.
A method for using data without such a need of time and labor is disclosed in Japanese Patent Application Laid-Open Publication No. HEI 11-296512. According to the address processing unit and address processing method disclosed in the publication, inputted document data is analyzed for each line using a dictionary so as to determine a line attribute and a kind of the entire data is determined based on an aggregation of the line attribute. The data is then stored in a database of corresponding attributes.
However, according to the conventional unit and method, the volume of a dictionary becomes very large in order to intensify the accuracy for determination of the attribute because the dictionary is used for determining the attribute of data, thereby affecting processing speed and a processing unit having a low processing capacity is incapable of properly using this conventional method.
Accordingly, this disclosure solves the above-described problems. An object of the disclosed exemplary embodiments is to provide a data processing unit capable of importing data having a simple structure and a data processing program stored in a computer readable medium.
To achieve the object, in a first aspect, there is provided a data processing unit that analyzes an inputted character string and imports components of the inputted character string into a database field corresponding to a kind of the inputted character string, comprising memorizing means for storing the database which includes plural fields and records; displaying means for displaying the character string; selecting means for selecting a predetermined range for the character string displayed by the displaying means; record allocating means for allocating a character string selected by the selecting means to the records; component dividing means for dividing a character string in a record allocated by the record allocating means into components; attribute determining means for determining the attribute of the components divided by dividing with the component dividing means; and storing means for storing the component in the database field corresponding to the attribute determined by the attribute determining means.
According to a second aspect, there is provided a data processing unit that analyzes an inputted character string and imports components of the inputted character string into a database field corresponding to a kind of the inputted character string, comprising memorizing means for storing the database which includes plural fields and records; displaying means for displaying the character string; selecting means for selecting a predetermined range for the character string displayed by the displaying means; attribute determining means for allocating a character string selected by the selecting means to a record according to a preliminarily set importing format, and dividing a character string allocated in the record into components so as to determine the attribute of the components obtained by the dividing; and storing means for storing the component in the database field corresponding to the attribute determined by the attribute determining means.
According to a third aspect, there is provided a data processing program stored in a computer readable medium that makes a computer analyze an inputted character string and execute data importing into a database field corresponding to a kind of the inputted character string, the data processing program comprising a memorizing process that memorizes plural fields and records in a storable database; a displaying process that displays the character string; a selecting process that selects a predetermined range for the character string displayed by the displaying process; a record allocating process that allocates a character string selected by the selecting process to the records; a component dividing process that divides a character string in a record allocated by the record allocating process into components; an attribute determining process that determines the attribute of the components obtained by dividing with the component dividing process; and a storing process that stores the component in a database field corresponding to the attribute determined by the attribute determining process.
According to a fourth aspect, there is provided a data processing program stored in a computer readable medium that makes a computer analyze an inputted character string and execute data importing into a database field corresponding to a kind-of the inputted character string, the data processing program comprising a memorizing process that stores plural fields and records in a storable database; a displaying process that displays the character string; a selecting process that selects a predetermined range for the character string displayed by the displaying process; an attribute determining process that allocates a character string selected by the selecting process to a record according to a preliminarily set importing format, and divides a character string allocated in the record into components so as to determine the attribute of the components obtained by the dividing; and a storing process for storing the component in a database field corresponding to the attribute determined by the attribute determining process.
Exemplary embodiments of the invention will be described below in detail with reference to the accompanying drawings in which:
Next, the preferred embodiments will be described with reference to the accompanying drawings. First, a first exemplary embodiment of a data processing unit 1 using the data processing program will be described. This embodiment aims at importing data into an address database from software which handles text, such as word processing software and text editor. A imported result can be used from an address record software which handles an address database in the same manner as address data inputted by user manually. First, the structure of the data processing unit 1 will be described with reference to
As shown in
As shown in
Next, as shown in
Next, the operation of the data processing unit 1 having such a structure will be described with reference to the flow charts of
If the program is started, first, whether a record allocation condition is set is determined (S1). The setting of the record allocation condition can be carried out when a record allocation setting screen 100, as shown in
If it is intended to set up a record allocation condition (S1: YES), a set condition is stored in the record allocation condition buffer 221 in the RAM 22 (S3). If it is not intended to set a record allocation condition (S1: NO) or after the setting of the record allocation condition ends, processing of a selected text is executed. For that reason, first, a record allocation condition stored in the record allocation condition buffer 221 is acquired (S5). In the meantime, unless the user sets up a record allocation condition, a predetermined value is stored in the record allocation condition buffer 221. It is permissible to store a previously set importing format. For example, in the case of
Next, text in the selected range is acquired and stored in the text data buffer 222 (S7). Then, the record allocation condition acquired in step S5 is applied to divide the selected text into records (S9). In the case of
Next, record data allocated in step S9 is stored in the record data buffer 223 (S11). According to the former example, “YOSHIDA Jiro . . . Tokyo-to” is stored as a first record and “ITO Saburo . . . Nagoya-shi” is recorded as a second record.
Next, line head character string deletion processing occurs if all the line head characters of the records stored in the record data buffer 223 are identical, e.g., > or >>, determining that the character is a quotation mark used in an electronic mail, e.g., #, and deleting of the line head character string is carried out (S13). The detail of the line head character string deletion processing will be described with reference to
Next, data on the first line of record data stored in the record data buffer 223 is determined to belong to name attribute (S15). According to this embodiment, data of each line separated by line feed code of record data stored in the record data buffer 223 is treated as a single component. Then, in this step, further, the attribute of the component constituted of data of the first line is automatically determined as a name attribute.
Next, the attribute of data on the second line and following is determined to belong to an address attribute (S17). Because, in the former example, the record data is constituted of two lines, only the second line is determined to be an address attribute and there are two components. If the number of record allocation lines is three or more, the second, the third, the fourth and so on are also regarded as the address attribute.
Next, whether the component of the address attribute is continuous is determined (S19). Because all the data attribute of the second line and following is determined to be an address attribute, if the number of record allocation lines is three or more, the components of the address attribute exist continuously. If the components of the address attribute are continuous (S19: YES), text data of the components are combined using the text combining buffer 225 (S21). Then, the combined text data is written over the attribute data buffer as the component of address attribute and stored therein, and the procedure proceeds to step S23.
If the address attribute is constituted of only one component (S19: NO), the procedure proceeds to step S23. In S23, the attribute and the component are read out from the attribute data buffer 224 and stored in a field of corresponding address database 32. For example, in the former example, “YOSHIDA Jiro” is stored in the name field 321 and “T 104-0035 3-3-8, Kyobashi, Chuo-ku, Tokyo-to” is stored in the address field 322. The symbol “T” before the postal code 104-0035 is a Japanese postal code symbol.
Next, whether an untreated next record exists in the record data buffer 223 is determined (S25). If there is a next record (S25: YES), the procedure returns to step S13, in which the attribute of each component is determined, until there are no more untreated records, and the processing for storing the attributes of each component in the appropriate database field is repeated. If there is no next record (S25: NO), the address record software is started and, as shown in
Next, the line head character string deletion processing to be executed in step S13 of
First whether all the line head character strings of respective lines in text data of a record stored in the record data buffer 223 are identical is determined (S31). For example, in text data in the record data buffer 223 acquired from the selected range 122 in
If all the line head character strings are identical (S31: YES), the identical character string is deleted (S33). In the former example, the first “>” of all the line heads are deleted. Then, after the deletion, the remaining data is stored in the record data buffer 223 (S35). Then, the procedure returns to step S31, in which whether all the line head character strings in the text data after the deletion are identical is again determined (S31). Although in the former example, in the data, the first “>” is deleted, another “>” still remains at the line head and thus, YES is determined in step S31 and the remaining “>” is deleted. By checking the character string at a line head repeatedly in this way, even if the quotation marks are attached repeatedly, all the line head character strings can be deleted. If it comes that the line head character strings are not identical (S31: NO), the procedure returns to the main routine in
In the data processing unit 1 of this embodiment, if the user selects a text data inputted with word processing software or the like using a mouse or the like and starts an add-in program as described above, the attribute of each line is determined easily without any detailed setting and data is imported into a database of other software.
Next, a second exemplary embodiment will be described. According to the second embodiment, data is imported from spreadsheet software into the address database 32. Because the configuration of the second embodiment is identical to the first embodiment,
Hereinafter, an example of importing data from a spreadsheet software will be described. When user starts a spreadsheet software, a spreadsheet program window 140 shown in
When the program is started, first, text data of the selected range is acquired corresponding to each field (S41), each record is allocated to records in the database and then, each record is stored in the record data buffer 223 (S42). Next, data processing is executed successively from the first record. First, data of a head field is determined as name attribute and stored in the attribute buffer 224 (S43). According to this embodiment, with a field of its original data as the component, its attribute is determined.
Next, all data of remaining fields are determined as address attribute and stored in the attribute data buffer 224 (S45). Then, the postal code confirmation processing for checking whether data of a final field is a postal code is executed (S47). The detail of the postal code confirmation processing will be described with reference to
After the postal code confirmation processing ends, whether the attribute of the component stored in the attribute data buffer 224 is an address attribute, which is continuous in plural quantities, is determined (S49). If the address attribute is continuous (S49: YES), text data of the components are combined using the text combining buffer 225 (S51). Then, the combined text data is written over the attribute data buffer 224 as components of the address attribute and stored, and the procedure proceeds to step S53.
If there is only one component having the address attribute (S49: NO), the procedure proceeds to step S53. In step S53, an attribute and component are read out from the attribute data buffer 224 and stored in a field of a corresponding address database 32. For example, in case of
Next, whether an untreated next record exists in the record data buffer 223 is determined (S55). If there exists such a next record (S55: YES), the procedure returns to step S43, in which the attribute of each component is determined, until there are no more untreated records, and a processing for storing into a database field is repeated. When a next record no longer exists (S55: NO), the address record software is started and, as shown in
Next, the postal code confirmation processing to be executed in step S10 of
Data in a last field of a record being processed stored in the record data buffer 223 is stored in the postal code confirmation buffer 226 (S61). Next, whether any hyphen is contained in stored data is determined (S63). Any postal code is constituted of numbers but there is an example in which a hyphen is inputted depending on a case. If the hyphen is found in the stored data, it cannot be determined to be of numeric type. Therefore, it is necessary to remove it preliminarily and this determination is carried out.
If a hyphen is found (S63: YES), the hyphen is deleted and the data is stored in the postal code confirmation buffer 226 (S65). Then, the procedure proceeds to step S67. If no hyphen is found (S63: NO), the procedure proceeds to step S67. In step S67, whether data stored in the postal code confirmation buffer 226 is numeric type is determined. If it is numeric type (S67: YES), data of the field is determined to belong to the postal code attribute and stored in the attribute data buffer 224 (S69). Then, the procedure returns to the main routine in
As described above, the data processing unit 1 of this embodiment is capable of easily importing into the address database the data stored in the type spreadsheet. Even if an address is stored in separate fields, they are combined and stored in the address field so that it does take no time and labor for arranging the sequence of fields.
Next, a third examplary embodiment will be described. According to the third embodiment, when importing from software handling text, such as word processing software and text editor, into the address database, an importing format is set up preliminarily and the importing is carried out according to that format. Because the configuration of the third embodiment is substantially identical to the first and second embodiments,
As shown in
Next, examples of the importing format and imported data will be described with reference to
For example, in example 1 in
In example 2, the importing format is described in three lines, “<CODE> (line feed code)<ADDRESS> (line feed code)<NAME> <NAME>” and stored in the format data buffer 231. This indicates that data separated with the line feed codes are arranged in the order of postal code attribute, address attribute and name attribute and a single record is constituted of three lines. Therefore, the record of the selected range is expressed as “467-8561 (line feed code) 15-1,Naeshiro-cho,Mizuho-ku,Nagoya-shi (line feed code) YAMADA Taro” as indicated in the example 2 of the record data buffer 238. Then, if the importing processing described later is executed, the name attribute (NAME) is determined to be “YAMADA Taro”, the postal code attribute (CODE) is determined to be “467-8561” and the address attribute (ADDRESS) is determined to be “15-1,Naeshiro-cho,Mizuho-ku, Nagoya-shi” and stored in the attribute data buffer 239.
In example 3, a Japanese postal code symbol “T” is described before the tag <CODE> in the importing format and stored in the format data buffer 231. This symbol “T” is the starting character 303. Then, this data is described in two lines, “<CODE> <ADDRESS> (line feed code) <NAME> <NAME>”. On the first line, the data separated with a single space are arranged in the order of postal code attribute and the address attribute and data of the name attribute is disposed on the second line, indicating that a record is constituted of two lines. Therefore, the record of the selected range is expressed as “467-8561 15-1,Naeshiro-cho,Mizuho-ku,Nagoya-shi (line feed code) YAMADA Taro” as indicated in the example 3 of the record data buffer 238. Then, if the import processing described later is executed, the name attribute (NAME) is determined as “YAMADA Taro”, the postal code attribute (CODE) is determined as “467-8561” and the address attribute (ADDRESS) is determined as “15-1,Naeshiro-cho,Mizuho-ku,Nagoya-shi” and stored in the attribute data buffer 239.
In example 4, the Japanese postal code symbol “T” which is the starting character 303 is described in front of the tag <CODE> in the importing format and memorized format data buffer 231. Then, the data is described in four lines, “<CODE> (line feed code) <ADDRESS> (line feed code) <ADDRESS> (line feed code) <NAME> <NAME>”. This indicates that data of the postal code attribute is disposed separately on a first line and data of the address attribute are disposed on a second line and a third line, and data of the name attribute is disposed on a fourth line, indicating that a single record is constituted of four lines. Thus, the record of the selected range is expressed as “467-8561(line feed code) 15-1,Naeshiro-cho,(line feed code) Mizuho-ku, Nagoya-shi(line feed code) YAMADA Taro” as indicated in the example 4 of the record data buffer 238. Then, when the import processing described later is executed, the name attribute (NAME) is determined to be “YAMADA Taro” and the postal code attribute (CODE) is determined to be “467-8561”, the address attribute (ADDRESS) is determined to be “15-1,Naeshiro-cho, Mizuho-ku,Nagoya-shi” and stored in the attribute data buffer 239.
In the importing format of example 5, the Japanese postal code symbol “T” which is the starting character 303 is described before the tag <CODE> and “<CODE> <> <ADDRESS> <ADDRESS> <NAME> <NAME>” are described with a single line. An empty tag is described next to the tag <CODE>. This empty tag indicates an instruction that although data exists here, that data does not need to be imported to the attribute data buffer 239. Therefore, data separated with a space are arranged in the order of postal code attribute, unnecessary data, address attribute, address attribute, and name attribute, indicating that a record is constituted of a line. Thus, a record in the selected range is arranged as “467-8561 052-123-4567 15-1 Naeshiro-cho,Mizuho-ku,Nagoya-shi YAMADA Taro” as indicated in the example 5 of the record data buffer 238 in the order of postal code data, telephone number data, address data, name data. When the import processing described later is executed, the name attribute (NAME) is determined to be “YAMADA Taro”, the postal code attribute (CODE) is determined to be “467-8561”, the address attribute (ADDRESS) is determined to be “15-1 Naeshiro-cho,Mizuho-ku,Nagoya-shi” and then stored in the attribute data buffer 239. Then, the telephone number data, which is determined to be unnecessary, is not imported into the attribute data buffer 239.
Next, the operation of the data processing unit 1 according to the third embodiment having such a structure will be described with reference to the flow charts of
If the program is started, whether an importing format is set up is determined (S101). When the right button of the mouse is clicked during activation of the program, the importing format setting screen 160, as shown in
If an importing format is set up (S101: YES), the display screen, as shown in
Next, text of a selected range is acquired and stored in the text data buffer 237 (S109). Then, by applying the record allocation condition extracted and stored in step S107, the record allocation processing for dividing the selected text into each record is executed (S111). The detail of the record allocation processing will be described with reference to
Next, the attribute determining processing for determining the attribute of each component in a record data stored in the record data buffer 238 is executed (S115). The detail of the attribute determining processing will be described with reference to
Then, whether components of an identical attribute are continuous is determined (S117). If components of identical attribute are continuous (S117: YES), text data of the components are combined with inserting space using the text combining buffer 225 (S119). Then, the combined text data is written over the attribute data buffer 239 as a single component and the procedure proceeds to step S121.
If there is only one component of the identical attribute (S117: NO), the procedure proceeds to step S121. In step S121, an attribute and component are read out from the attribute data buffer 239 and stored in a corresponding field in the address database 32.
Next, whether there is an untreated next record in the record data buffer 238 is determined (S123). If there is a next record (S123: YES), the procedure returns to step S115, in which a processing of determining the attribute of each component and storing it into a field of database is repeated until no untreated record exists. Unless a next record exits (S123: NO), the address record software is started and an imported result is indicated on the display 24 (S125). Then, the data processing program ends.
Next, the record allocation processing to be executed in step S111 of
If the character being treated falls under a starting character (S133: YES), selected text after the starting character is divided into record units by applying the record allocation condition stored in the record allocation condition buffer 236 because the text after that character is an importing object (S137). Then, allocated record data is stored in the record data buffer 238 (S139) and the procedure returns to the main routine of
By specifying the starting character in this way, only necessary data can be imported without importing irrelevant data even if the user randomly selects text from before a text which he wants to import.
Next, the attribute determination processing to be executed in step S115 of
If a tag name is acquired (S153: YES), a processing for determining the attribute of each character is executed on a record being processed. First, a first character is read (S155). Then, whether the read character is a punctuation character string stored in the character string buffer 235, such as a space or line feed code, is determined (S157). Unless the character string is a punctuation character string (S157: NO), the attribute of the tag name acquired in step S151 is determined because that character is an importing object data and stored in the attribute data buffer 239 (S159). Then, the procedure returns to step S155, in which a next character is read and processing of that character is executed.
If the read character string is a punctuation character string (S157: YES), the procedure returns to step S151, in which a next tag name is acquired, because attribute data up to here ends. Then, a processing of reading out a character one by one (S155), determining whether the read character is a punctuation character (S157) and determining the attribute (S159) is repeated until a next tag name cannot be acquired (S153: NO).
As described above, because, according to the data processing unit 1 of this embodiment, the import of data is executed after an importing format is preliminarily set up, if text is inputted according to a specific format, the user can specify the attribute of a component by allocating data to records using the tags. Thus, data can more appropriately be imported into the database.
Next, a fourth exemplary embodiment will be described. According to the fourth embodiment, when importing data from a spreadsheet program software and the like into the address database, an importing format is set up preliminarily and the import is executed according to that format. Because the configuration of the fourth embodiment is identical to the third embodiment,
Next, the operation of the data processing unit 1 of the fourth embodiment will be described with reference to the flow chart of
If the program is started, first, whether it is intended to set up an importing format is determined (S171). Like the third embodiment, the setting of the importing format can be executed by operating the mouse by clicking the right button thereof or the like during activation of the program, while an importing format setting screen 170, as shown in
If it is intended to set up an importing format (S171: YES), a display screen, as shown in
If it is not intended to set up an importing format (S171: NO), or after the setting of the importing format ends, an importing format stored in the format data buffer 231 is acquired so as to execute processing of a selected text (S177). Then, the order of the tags is extracted from that importing format (S179). Unless the user sets up an importing format, a default importing format is stored in the format data buffer 231. Alternatively, an importing format set up previously may be stored as it is. Because data is inputted into each field in the case of a spreadsheet program software, matching this field with the order of arrangement of the tags set up according to the importing format determines an attribute so that data can be stored in the database.
Next, text data in the selected range is acquired corresponding to each field (S181) and by allocating respective records to records in the database, each record is stored in the record data buffer 238 (S182). Then, the processing is executed successively from a first record. By matching the order of arrangement of tags extracted in step S179 with the order of arrangement of fields of a processing object record, the attribute of each data in the record is determined (S183). In the case of
Next, whether a field (component) of an identical attribute is continuous is determined (S185). If the components of an identical attribute are continuous (S185: YES), text data of the components are combined using the text combining buffer 240 (S187). Then, the combined text data is written over the attribute data buffer 239 as a single component and the procedure proceeds to step S189.
If there is only a component having an identical attribute (S185: NO), the procedure proceeds to step S189. In step S189, the attribute and component are read but from the attribute data buffer 239 and stored in a field of a corresponding address database 32.
Next, whether there is an untreated next record in the record data buffer 238 is determined (S191). If there is a next record (S191: YES), the procedure returns to step S183, in which a processing of determining the attribute of each component and storing in a field of the database, until there are no untreated records, is repeated. Unless there is a next record (S191: NO), an imported result is represented on the display 24 (S193). Then, the data processing program ends.
As described above, because the data processing unit 1 of the fourth embodiment sets up an importing format preliminarily and then executes importing of data in case of spreadsheet program software in which data is inputted in a field format, the user can specify the attribute of a component appropriately so that importing of data can be achieved securely.
If, as described above, in the data processing unit, the user selects a portion which he/she wants to import of a displayed character string using a selecting means, a character string selected is allocated to a record by the record allocating means. Then, a character string allocated to a record is analyzed by a component dividing means and divided into components. Further, the attribute (for example, name, address, postal code and the like in the address database) of each component obtained by the dividing is determined and the component is stored in a database field corresponding to that attribute. Therefore, a database can be built-up easily by using already existing inputted text data without inputting any new character strings into the database.
If a character string composed of plural lines is selected, a single line is given to a single component and a character string of a first line is determined to be of the name attribute while character strings of a second and following lines are determined to be of address attribute. Because the attribute of a component is determined without the user's confirming the content of the component, the data can be imported into the address database easily. For example, this is particularly effective for a case where an inputted character string is arranged in the order of an address in English style.
If data divided with a field code is selected like spreadsheet data, each field is regarded as a single component and a first field is determined to be of the name attribute while all remaining fields are determined to be of the address attribute. Because the attribute of the component is determined without the user confirming the contents of the component, the data can be imported into the address database easily. This is particularly effective for the spreadsheet data because a name is often inputted into a first field in case of the spreadsheet.
If a final field is of numeric type when importing data from the spreadsheet data, it is regarded as a postal code and its attribute is determined. Thus, the postal code can be imported separately from the address when storing into the database.
If components obtained by dividing a character string have an identical attribute continuously (for example, name, address, address, address, postal code), the identical components are integrated to a single component when storing into a field. Thus, this embodiment can correspond to a case where the quantities of fields are different between an importing object and an import-into destination.
When plural ranges are also selected, it is possible to allocate them to a single record and execute import processing all at once.
By setting a specified character string as a record punctuation character string preliminarily, it is possible to allocate a range separated with that character string to a single record and execute the import processing all at once.
If the quantity of lines to be allocated to a single record is specified preliminarily, text data in which a character string of a specified format repeats every several lines can be imported effectively.
If an identical character string is inputted to a line head like, for example, a quotation mark, that character string is removed and the remaining data is allocated to a record. Thus, it is possible to automatically import only a necessary portion and store in the database.
Because, the data import is executed using a preliminarily set importing format, if text is inputted in a specified format, the user can specify the allocation of a record and the attribute of a component according to the importing format and import them into the database appropriately.
Further, because the attribute type and allocation of the component and the quantity of lines in a record are set up according to the importing format, data can be imported into the database more appropriately. Further, a set importing format can be reused.
Using the punctuation character string enables an importing format to be set up easily. Because the importing format is set up by sandwiching a character string indicating attribute information between specific symbols, the user can recognize the attribute clearly and set up the attribute easily. Further a component which does not have to be imported into the receiving program can be specified with a simple format and components having an identical attribute can be integrated into one without a user's consciousness.
When selecting a character string with a selecting means, it is possible to select it without being conscious of any character string which does not have to be imported into the receiving program.
Further, according to the data processing program stored in a computer readable medium of the disclosure, if the user selects a portion, which he/she wants to import, of a displayed character string with a selecting means, the selected character string is allocated to a record by the record allocating means. Then, a character string allocated to a single record is analyzed by a component dividing means and divided into components. Further, the attribute (for example, name, address, postal code and the like in the address database) of each component obtained by such dividing is determined and the component is stored in a database field corresponding to that attribute. Thus, the database can be built up easily using already existing inputted text data without newly inputting an additional character string for database.
Although the invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the exemplary embodiments or structures. Though various elements of the exemplary embodiments are shown in various combinations and configurations, which are exemplary, other combinations and configurations, including more, less or only a single element, are also within the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2004-043821 | Feb 2004 | JP | national |