B1WD-2942-03Z0(00)
2013年3月
Windows
Interstage Information Quality
Standard Edition V10
アプリケーション開発ガイド
クレンジング編
まえがき
本マニュアルの目的
本マニュアルは、Interstage Information Quality(以降では、"Information Quality"と略します)のクレンジング機能のC言語インターフェー ス、JavaインターフェースおよびWebサービスを利用したアプリケーションを開発する上で必要な情報について説明しています。 Information Qualityとは、さまざまな業務データの品質を向上させるための機能を提供する、富士通株式会社のソフトウェア製品です。
表記上の約束
本マニュアルでは、次に示すマニュアル名称、略称および記号を使用しています。マニュアル名称
・
マニュアル中で、自身を参照する場合は、「本マニュアル」と記述します。・
Information Qualityのマニュアル名称を記述する場合、マニュアル名の先頭の「Interstage Information Quality Standard Edition V10」は省略し、「導入ガイド」「運用ガイド クレンジング編」と記述する場合があります。Information Quality以外のマニュアルを参照する際も、マニュアル名の先頭の製品名称を省略する場合があります。
略称
Information Quality
正式名称 略称
Interstage Information Quality Standard Edition Information Quality Interstage Information Quality 住所辞書更新サービス 住所辞書更新サービス
関連製品
正式名称 略称
Interstage Charset Manager Standard Edition Charset Manager
オペレーティングシステム Windowsの場合
略称 正式名称
Windows Windows Server 2008
Windows Server 2008(x86)
Microsoft(R) Windows Server(R) 2008 Standard Microsoft(R) Windows Server(R) 2008 Enterprise Microsoft(R) Windows Server(R) 2008 Standard without Hyper-V(TM)
Microsoft(R) Windows Server(R) 2008 Enterprise without Hyper-V(TM)
Windows Server 2008(x64)
Microsoft(R) Windows Server(R) 2008 Standard(64-bit) Microsoft(R) Windows Server(R) 2008 Enterprise(64-bit) Windows Server
2008 R2
Microsoft(R) Windows Server(R) 2008 R2 Standard Microsoft(R) Windows Server(R) 2008 R2 Enterprise Windows Server
2003
Windows Server 2003
Microsoft(R) Windows Server(R) 2003, Standard Edition Microsoft(R) Windows Server(R) 2003, Enterprise Edition Microsoft(R) Windows Server(R) 2003 R2, Standard Edition Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition Windows Server
2003 (x64)
Microsoft(R) Windows Server(R) 2003, Standard x64 Edition Microsoft(R) Windows Server(R) 2003, Enterprise x64 Edition
略称 正式名称
Microsoft(R) Windows Server(R) 2003 R2, Standard x64 Edition
Microsoft(R) Windows Server(R) 2003 R2, Enterprise x64 Edition
Windows 7 Windows(R) 7 Ultimate Windows(R) 7 Enterprise Windows(R) 7 Professional Windows(R) 7 Home Premium Windows(R) 7 Starter Windows Vista Windows Vista(R) Ultimate
Windows Vista(R) Enterprise Windows Vista(R) Business Windows Vista(R) Home Premium Windows Vista(R) Home Basic
Windows XP Microsoft(R) Windows(R) XP Professional operating system Microsoft(R) Windows(R) XP Home Edition operating system
-
Windows Server 2008 R2、Windows Server 2008(x64)、Windows Server 2003(x64)を総称して、Windows for x64と略します。
-
次の製品すべてを区別せずに指す場合は、「Windows Vista以降のOS」と表記しています。 Windows Server 2008 Windows 7 Windows Vista記号
本マニュアルでは、キーやメニューなどを表記するために、次のように記号を使用します。 記号 意味 [ ] 画面やダイアログボックスに表示される文字、およびキーボードのキーを示します。 例:[設定]ダイアログボックス、[ファイル]メニュー、[項目名]、[OK]ボタン、[Enter]キー [ ]-[ ] 画面のメニューとメニューコマンドを示します。 例:[ツール]メニューの[設定]コマンドの場合 [ツール]-[設定] ・ ・ ・ 途中を省略していることを示します。 例: <TABLE> ・ ・ ・ </TABLE> また、次のアイコン表記を使用します。注意
注意が必要な情報を示します。参考
参考記事を示します。例
例を示します。ポイント
ポイントを示します。商標
Microsoft、WindowsおよびWindows Serverまたはその他のマイクロソフト製品の名称および製品名は、米国Microsoft Corporationの
米国およびその他の国における登録商標または商標です。 Javaは、Oracle Corporationおよびその子会社、関連会社の米国およびその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。 Microsoft Corporationのガイドラインに従って画面写真を使用しています。
マニュアル体系と読み方
本マニュアルの読者
本マニュアルは、Information Qualityのクレンジング機能のC言語インターフェース、JavaインターフェースおよびWebサービスを利用 したアプリケーションを開発される方を対象としています。 本マニュアルを参照することによって、Information Qualityのクレンジング機能のC言語インターフェース、Javaインターフェースおよび Webサービスに関する情報を得ることができます。本マニュアルの構成
本マニュアルは、次の構成になっています。 第1章 開発前に知っておくべきこと Information QualityのAPIを利用したアプリケーションを開発する前に知っておくべきことについて説明しています。 第2章 C APIを利用したアプリケーション開発Information QualityのC APIを利用したアプリケーション開発方法について説明しています。
第3章 C APIリファレンス
Information QualityのC APIのリファレンスです。
第4章 Java APIを利用したアプリケーション開発
Information QualityのJava APIを利用したアプリケーション開発方法について説明しています。
第5章 Java APIリファレンス
Information QualityのJava APIのリファレンスです。
第6章 Webサービスを利用したアプリケーション開発
第7章 WebサービスAPIリファレンス Information QualityのWebサービスAPIのリファレンスです。 第8章 API共通リファレンス C APIとJava APIの共通のリファレンスです。
マニュアル体系
マニュアル名称 内容Interstage Information Quality Standard Edition V10導入ガイド 概要、インストール手順、およびアンインストール手順 について説明しています。
Interstage Information Quality Standard Edition V10運用ガイド クレ
ンジング編
クレンジング機能の運用手順、および、運用時に必要 となる情報について説明しています。
Interstage Information Quality Standard Edition V10アプリケーション
開発ガイド クレンジング編 (本マニュアル) クレンジング機能のC言語インターフェース、Javaイン ターフェースおよびWebサービスを利用したアプリケー ションを開発するときに必要となる情報について説明し ています。
Interstage Information Quality Standard Edition V10運用ガイド 名
寄せ編
名寄せ機能の運用手順、および、運用時に必要となる 情報について説明しています。
Java APIリファレンス(Javadoc形式) クレンジング機能のJavaインターフェースのリファレンス です。
関連マニュアル
本マニュアルを読むにあたり、次のマニュアルもあわせて参照してください。 文字コード変換でコードの対応定義が必要になる場合
-
Interstage Charset Manager Standard Edition V9 使用手引書 標準コード変換機能編出版年月
2013年3月
著作権表示
目 次
第1章開発前に知っておくべきこと...1 第2章 C APIを利用したアプリケーション開発...2 2.1 概要...2 2.2 利用方法...3 2.2.1 初期化処理...3 2.2.2 終了処理...4 2.2.3 ステータス情報格納用インスタンスの生成...4 2.2.4 ステータス情報格納用インスタンスの破棄...5 2.2.5 クレンジング結果格納用インスタンスの生成...5 2.2.6 クレンジング結果取得...6 2.2.7 クレンジング結果格納用インスタンスの破棄...7 2.2.8 クレンジング...7 2.3 注意事項...8 2.3.1 クレンジングサービスへの接続数について...8 2.3.2 その他の注意事項...8 2.4 サンプルプログラム...8 第3章 C APIリファレンス...10 3.1 基本クレンジング...10 3.1.1 初期化と終了...11 3.1.1.1 iqchar_cleanser_initialize...11 3.1.1.2 iqchar_cleanser_terminate...12 3.1.2 ステータス情報操作関数...13 3.1.2.1 iqchar_cleanser_createStatus...13 3.1.2.2 iqchar_cleanser_destroyStatus...14 3.1.2.3 iqchar_cleanser_getStatusCode...14 3.1.3 クレンジング関数...16 3.1.3.1 iqchar_cleanser_formatCharWidth...16 3.1.3.2 iqchar_cleanser_formatDakuten...17 3.1.3.3 iqchar_cleanser_formatKanaKind...18 3.1.3.4 iqchar_cleanser_formatCaseFullwidth...20 3.1.3.5 iqchar_cleanser_formatSpaceFullwidth...21 3.1.3.6 iqchar_cleanser_formatCase...23 3.1.3.7 iqchar_cleanser_formatSpace...24 3.1.3.8 iqchar_cleanser_formatPaddingState...25 3.1.3.9 iqchar_cleanser_formatMaxlength...27 3.1.4 クレンジング結果文字列長の計算式...29 3.2 住所クレンジング...29 3.2.1 初期化と終了...30 3.2.1.1 iqjaddress_cleanser_initialize...30 3.2.1.2 iqjaddress_cleanser_terminate...31 3.2.2 ステータス情報操作...32 3.2.2.1 iqjaddress_cleanser_createStatus...32 3.2.2.2 iqjaddress_cleanser_destroyStatus...33 3.2.2.3 iqjaddress_cleanser_getStatusCode...33 3.2.3 クレンジング結果操作...35 3.2.3.1 iqjaddress_cleanser_createIQJADDRESS...35 3.2.3.2 iqjaddress_cleanser_destroyIQJADDRESS...36 3.2.3.3 iqjaddress_cleanser_getElement...37 3.2.3.4 iqjaddress_cleanser_getElementValue...39 3.2.4 クレンジング関数...40 3.2.4.1 iqjaddress_cleanser_getAddress...40 3.2.4.2 iqjaddress_cleanser_getAddressCandidates...42 3.2.4.3 iqjaddress_cleanser_getAddressByChimeiCode...443.2.4.4 iqjaddress_cleanser_getAddressesByPostalCode...45 3.3 氏名クレンジング...47 3.3.1 初期化と終了...48 3.3.1.1 iqjname_cleanser_initialize...48 3.3.1.2 iqjname_cleanser_terminate...49 3.3.2 ステータス情報操作...49 3.3.2.1 iqjname_cleanser_createStatus...49 3.3.2.2 iqjname_cleanser_destroyStatus...50 3.3.2.3 iqjname_cleanser_getStatusCode...51 3.3.3 クレンジング結果操作...52 3.3.3.1 iqjname_cleanser_createIQJNAME...52 3.3.3.2 iqjname_cleanser_destroyIQJNAME...53 3.3.3.3 iqjname_cleanser_getElement...54 3.3.4 クレンジング関数...55 3.3.4.1 iqjname_cleanser_parse...55 3.4 法人名クレンジング...57 3.4.1 初期化と終了...57 3.4.1.1 iqjcorp_cleanser_initialize...57 3.4.1.2 iqjcorp_cleanser_terminate...58 3.4.2 ステータス情報操作...59 3.4.2.1 iqjcorp_cleanser_createStatus...59 3.4.2.2 iqjcorp_cleanser_destroyStatus...60 3.4.2.3 iqjcorp_cleanser_getStatusCode...61 3.4.3 クレンジング結果操作...62 3.4.3.1 iqjcorp_cleanser_createIQJCORP...62 3.4.3.2 iqjcorp_cleanser_destroyIQJCORP...63 3.4.3.3 iqjcorp_cleanser_getElement...64 3.4.3.4 iqjcorp_cleanser_getElementValue...65 3.4.4 クレンジング関数...67 3.4.4.1 iqjcorp_cleanser_parse...67 3.5 置換クレンジング...68 3.5.1 初期化と終了...68 3.5.1.1 iqreplace_cleanser_initialize...68 3.5.1.2 iqreplace_cleanser_terminate...69 3.5.2 ステータス情報操作...70 3.5.2.1 iqreplace_cleanser_createStatus...70 3.5.2.2 iqreplace_cleanser_destroyStatus...71 3.5.2.3 iqreplace_cleanser_getStatusCode...72 3.5.3 クレンジング関数...73 3.5.3.1 iqreplace_cleanser_replace...73 3.5.4 クレンジング結果文字列長の計算式...75 第4章 Java APIを利用したアプリケーション開発...76 4.1 動作環境...76 4.2 利用方法...76 4.2.1 (1) クレンジング処理機能プロバイダへの接続を開く...77 4.2.2 (2) クレンジング実行...78 4.2.3 (3) クレンジング結果確認...78 4.2.4 (4) クレンジング処理機能プロバイダへの接続を閉じる...79 4.2.5 (5) 例外処理...79 4.2.6 各クレンジング機能固有の利用方法...79 4.2.6.1 住所クレンジングの場合...79 4.2.6.2 氏名クレンジングの場合...82 4.2.6.3 法人名クレンジングの場合...83 4.2.6.4 置換クレンジングの場合...83 4.3 注意事項...84 4.3.1 クレンジングサービスへの接続数について...84
4.3.2 J2SE 5.0環境について...85 4.3.3 その他の注意事項...85 第5章 Java APIリファレンス...86 5.1 ドキュメントの見方...86 第6章 WebサービスAPIを利用したアプリケーション開発...87 6.1 動作環境...87 6.2 クライアントアプリケーションの作成方法例...87 6.2.1 注意事項...87
6.2.2 Interstage Application Serverの場合...87
6.2.3 JAX-WSの場合...88
6.2.3.1 Stubを作成する...88
6.2.3.2 Stubを使って、Webサービスを呼び出すサンプルアプリケーションを作成する...88
6.2.3.3 サンプルアプリケーションを実行する...88
6.2.4 Microsoft Visual Studio 2010の場合...88
6.2.4.1 Stubを作成する...88 6.2.4.2 Stubを使って、Webサービスを呼び出すサンプルアプリケーションを作成する...89 6.2.4.3 サンプルアプリケーションを実行する...89 6.3 注意事項...89 6.3.1 クレンジングサービスへの接続数について...89 6.3.2 文字列の制約について...89 6.3.3 マーシャル/アンマーシャルの曖昧性について...89 6.3.4 リクエストXMLの最大サイズについて...90 第7章 WebサービスAPIリファレンス...92 7.1 ドキュメントの見方...92 7.2 WebサービスAPIとJava APIの対応...92 7.2.1 基本クレンジング(サービス名=CharCleanserService)...92 7.2.2 住所クレンジング(サービス名=JAddressCleanserService)...93 7.2.3 氏名クレンジング(サービス名=JPersonalNameCleanserService)...94 7.2.4 法人名クレンジング(サービス名=JCorporateNameCleanserService)...95 7.2.5 置換クレンジング(サービス名=ReplaceCleanserService)...95 7.3 入出力文字列の仕様について...96 第8章 API共通リファレンス...97 8.1 定数...97 8.1.1 共通で使用する定数(C API)...97 8.1.2 基本クレンジングの定数...97 8.2 構造体(C API)...98 8.2.1 住所クレンジングの構造体...99 8.2.2 置換クレンジングの構造体...99 8.3 復帰値/例外...100 8.3.1 基本クレンジングの復帰値/例外一覧...100 8.3.2 住所クレンジングの復帰値/例外一覧...102 8.3.3 氏名クレンジングの復帰値/例外一覧...104 8.3.4 法人名クレンジングの復帰値/例外一覧...105 8.3.5 置換クレンジングの復帰値/例外一覧...107 8.4 ステータス情報...109 8.4.1 ステータス情報の構造と取得方法...109 8.4.2 ステータス情報の参照順序...111 8.4.3 基本クレンジング...111 8.4.3.1 半角/全角の統一...112 8.4.3.2 濁点/半濁点分離状態の統一...112 8.4.3.3 ひらがな/カタカナの統一...113 8.4.3.4 全角英字の大文字/小文字の統一...114 8.4.3.5 全角空白の削除...114 8.4.3.6 半角英字の大文字/小文字の統一...115
8.4.3.7 半角空白の削除...116 8.4.3.8 パディング/トリム...116 8.4.3.9 最大長による切り詰め...117 8.4.4 住所クレンジング...118 8.4.4.1 文字列からの住所特定...119 8.4.4.2 文字列からの住所類推...123 8.4.4.3 地名コードからの住所特定...124 8.4.4.4 郵便番号からの住所特定...125 8.4.5 氏名クレンジング...126 8.4.5.1 文字列からの氏名解析...126 8.4.6 法人名クレンジング...128 8.4.6.1 文字列からの法人名解析...128 8.4.7 置換クレンジング...131 8.4.7.1 置換...131 索引...133
第
1
章
開発前に知っておくべきこと
本製品では、各クレンジング機能を利用することができるC API、Java API、WebサービスAPIを提供しています。APIとそれに関連する 機能群の構成は、以下のようになっています。図
1.1 API
と関連機能群
それぞれのインターフェースを利用してアプリケーション開発を行う前に、APIと、APIの動作に必要な機能について理解し、必要に応 じてサービスや辞書を準備しておく必要があります。 各インターフェースについては、本マニュアルの図中の章番号を参照してください。クレンジングサービスや辞書の準備に関しては「運 用ガイド クレンジング編」の図中の章番号を参照してください。第
2
章
C API
を利用したアプリケーション開発
本章では、Information Quality C APIを利用したアプリケーション開発方法を説明します。
2.1
概要
Information Quality C APIとは、C言語で作成したアプリケーションからInformation Qualityのクレンジング機能を利用するためのイン
ターフェースです。
C APIを利用したアプリケーションは、文字列をInformation Qualityに渡して、クレンジングされた文字列を受け取ります。 C APIの概要について以下の図に示します。
図
2.2
クレンジングの詳細
2.2
利用方法
2.2.1
初期化処理
クレンジングの初期化を行います。 利用したいクレンジングの初期化関数を呼び出します。初期化関数では、各クレンジングを行うためのハンドルを生成して返却します。 初期化関数は、クレンジングの種類ごとに異なっています。そのため、利用したいクレンジングに対応した初期化関数を呼び出してく ださい。 各クレンジングの初期化関数は次のとおりです。 クレンジングの種類 初期化関数 基本クレンジング iqchar_cleanser_initialize 住所クレンジング iqjaddress_cleanser_initialize 氏名クレンジング iqjname_cleanser_initialize 法人名クレンジング iqjcorp_cleanser_initialize 置換クレンジング iqreplace_cleanser_initialize 各関数の詳細は「第3章 C APIリファレンス」を参照してください。 クレンジングの終了時には、必ず初期化処理に対応した終了処理を実行してください。注意
・
同じ種類のクレンジングの初期化関数を同一プロセス内で複数回呼び出すことが可能ですが、初期化関数にも処理コストがかか るため、プロセスで一度だけ呼び出すことを推奨します。また、終了時には、初期化関数の呼び出し回数と同じ回数の終了関数を 呼び出す必要があります。・
初期化処理と終了処理を短時間に大量に繰り返すと、一時的にネットワーク資源が枯渇することがあります。 詳細は「運用ガイド クレンジング編」の「5.3.1 APIからの利用数について」を参照してください。2.2.2
終了処理
クレンジングを終了します。 初期化を行ったハンドルの終了関数を呼び出します。 終了関数は、クレンジングの種類ごとに異なっています。そのため、初期化したハンドルに対応した終了関数を呼び出してください。 各クレンジングの終了関数は次のとおりです。 クレンジングの種類 終了関数 基本クレンジング iqchar_cleanser_terminate 住所クレンジング iqjaddress_cleanser_terminate 氏名クレンジング iqjname_cleanser_terminate 法人名クレンジング iqjcorp_cleanser_terminate 置換クレンジング iqreplace_cleanser_terminate 各関数の詳細は「第3章 C APIリファレンス」を参照してください。2.2.3
ステータス情報格納用インスタンスの生成
C APIのステータス情報を格納するためのインスタンスを生成します。ステータス情報
ステータス情報には以下の情報が含まれます。これらが不要の場合は、ステータス情報格納用インスタンスの生成は不要です。・
クレンジング処理詳細情報-
クレンジングを正常に処理できたか-
辞書を使用したクレンジングにおいて、入力された文字列が辞書とマッチしたか-
クレンジングを正常に処理できなかった場合、その原因・
文字列変更情報-
クレンジングによって文字列を変更したか-
クレンジング時に代替文字が発生したか ステータス情報にはそれぞれ、回答コード(数値)があります。詳細は「8.4 ステータス情報」を参照してください。インスタンスの生成方法
ステータス情報格納用インスタンス生成関数を呼び出します。 ステータス情報格納用インスタンス生成関数は、クレンジングの種類ごとに異なっています。そのため、利用したいクレンジングに対応 したステータス情報格納用インスタンス生成関数を呼び出してください。各クレンジングのステータス情報格納用インスタンス生成関数は次のとおりです。 クレンジングの種類 ステータス情報格納用インスタンス生成関数 基本クレンジング iqchar_cleanser_createStatus 住所クレンジング iqjaddress_cleanser_createStatus 氏名クレンジング iqjname_cleanser_createStatus 法人名クレンジング iqjcorp_cleanser_createStatus 置換クレンジング iqreplace_cleanser_createStatus 各関数の詳細は「第3章 C APIリファレンス」を参照してください。 クレンジングの終了時には、必ず生成したステータス情報格納用インスタンスを破棄してください。
2.2.4
ステータス情報格納用インスタンスの破棄
C APIのステータス情報を格納するためのインスタンスを破棄します。 生成したステータス情報格納用インスタンスの破棄関数を呼び出します。 破棄関数は、クレンジングの種類ごとに異なっています。そのため、生成したインスタンスに対応した破棄関数を呼び出してください。 各クレンジングのステータス情報格納用インスタンス破棄関数は次のとおりです。 クレンジングの種類 ステータス情報格納用インスタンス破棄関数 基本クレンジング iqchar_cleanser_destroyStatus 住所クレンジング iqjaddress_cleanser_destroyStatus 氏名クレンジング iqjname_cleanser_destroyStatus 法人名クレンジング iqjcorp_cleanser_destroyStatus 置換クレンジング iqreplace_cleanser_destroyStatus 各関数の詳細は「第3章 C APIリファレンス」を参照してください。2.2.5
クレンジング結果格納用インスタンスの生成
C APIのクレンジング結果を格納するためのインスタンスを生成します。 以下のクレンジングを行う場合に必要です。・
住所クレンジング・
氏名クレンジング・
法人名クレンジングクレンジング結果
クレンジング結果はクレンジングの種類ごとに以下の情報が含まれます。 クレンジングの種類 クレンジング結果 住所クレンジング 都道府県 郡 市区町村 政令区 通り名 大字/町クレンジングの種類 クレンジング結果 字/丁目 番地 その他 都道府県読み(全角カタカナ) 郡読み(全角カタカナ) 市区町村読み(全角カタカナ) 政令区読み(全角カタカナ) 通り名読み(全角カタカナ、全角算用数字) 大字/町読み(全角カタカナ、全角算用数字) 字/丁目読み(全角カタカナ、全角算用数字) 地名コード(半角) 郵便番号(半角) カスタマバーコード 氏名クレンジング 姓 名 法人名クレンジング 法人名称 法人種別 法人種別の正式表記 法人種別の位置情報 その他
インスタンスの生成方法
クレンジング結果格納用インスタンス生成関数を呼び出します。 クレンジング結果格納用インスタンス生成関数は、クレンジングの種類ごとに異なっています。そのため、利用したいクレンジングに対 応したクレンジング結果格納用インスタンス生成関数を呼び出してください。 各クレンジングのクレンジング結果格納用インスタンス生成関数は次のとおりです。 クレンジングの種類 クレンジング結果格納用インスタンス生成関数 住所クレンジング iqjaddress_cleanser_createIQJADDRESS 氏名クレンジング iqjname_cleanser_createIQJNAME 法人名クレンジング iqjcorp_cleanser_createIQJCORP 各関数の詳細は「第3章 C APIリファレンス」を参照してください。 クレンジングの終了時には、必ず生成したクレンジング結果格納用インスタンスを破棄してください。2.2.6
クレンジング結果取得
C APIのクレンジング結果をクレンジング結果インスタンスから取得します。 クレンジング結果取得関数は、クレンジングの種類ごとに異なっています。そのため、生成したインスタンスに対応したクレンジング結 果取得関数を呼び出してください。 各クレンジングのクレンジング結果取得関数は次のとおりです。 クレンジングの種類 クレンジング結果取得関数 住所クレンジング iqjaddress_cleanser_getElement iqjaddress_cleanser_getElementValue 氏名クレンジング iqjname_cleanser_getElement 法人名クレンジング iqjcorp_cleanser_getElementクレンジングの種類 クレンジング結果取得関数 iqjcorp_cleanser_getElementValue 各関数の詳細は「第3章 C APIリファレンス」を参照してください。
注意
クレンジング処理が正常終了しても、上記クレンジング結果取得関数 (index=0) がクレンジング結果取得時のindexパラメーターエラー になることがあります。 例) 住所/氏名/法人名クレンジング関数に、住所/氏名/法人名として解析できない文字列を指定した場合 ステータス情報を参照すると、上記状態の判定を行うことや、理由を知ることができます。 上記状態の判定を行う場合、利用したクレンジング関数の「正常に処理できたか」のステータス情報を取得することで判定できます。 ステータス情報の利用については、「8.4 ステータス情報」を参照してください。参考
基本クレンジングおよび置換クレンジングでは、クレンジング関数のパラメーターで渡したchar型の配列でクレンジング後の文字列を受 け取ります。2.2.7
クレンジング結果格納用インスタンスの破棄
C APIのクレンジング結果を格納するためのインスタンスを破棄します。 生成したクレンジング結果格納用インスタンスの破棄関数を呼び出します。 破棄関数は、クレンジングの種類ごとに異なっています。そのため、生成したインスタンスに対応した破棄関数を呼び出してください。 各クレンジングのクレンジング結果格納用インスタンス破棄関数は次のとおりです。 クレンジングの種類 クレンジング結果格納用インスタンス破棄関数 住所クレンジング iqjaddress_cleanser_destroyIQJADDRESS 氏名クレンジング iqjname_cleanser_destroyIQJNAME 法人名クレンジング iqjcorp_cleanser_destroyIQJCORP 各関数の詳細は「第3章 C APIリファレンス」を参照してください。2.2.8
クレンジング
文字列をクレンジングします。 利用したいクレンジング関数を呼び出します。呼び出すクレンジング関数に対応した初期化を事前に行っている必要があります。初期 化については「2.2.1 初期化処理」を参照してください。 クレンジング関数の詳細は「第3章 C APIリファレンス」を参照してください。2.3
注意事項
2.3.1
クレンジングサービスへの接続数について
・
C APIのクレンジング処理機能の初期化においては、初期化回数や初期化済みインスタンス数の上限制約があるため、初期化処 理と終了処理を短時間に大量に繰り返すと、一時的にネットワーク資源が枯渇することがあります。 詳しくは、「運用ガイド クレンジング編」の「5.3.1 APIからの利用数について」を参照してください。2.3.2
その他の注意事項
・
Information Quality C APIは、以下の場合に正しく動作しないことがあります。-
ユーザーアプリケーションがC++言語を使用していて、かつnewの例外動作を変更している場合・
開発環境によっては、APIのヘッダーファイル内で変数の宣言不足エラーが発生することがあります。この場合はAPIのヘッダー ファイルのインクルードより前にCの標準ヘッダーをインクルードしてください。2.4
サンプルプログラム
IQCHAR_CLEANSER_HANDLE handle; IQCHAR_CLEANSING_STATUS status; char message[1024]; size_t messageBufferSize=sizeof(message); char resultBuffer[1024]; size_t resultBufferSize=sizeof(resultBuffer); int code; int ret; HINSTANCE hLibModule; PFiqchar_cleanser_initialize iqchar_cleanser_initialize; PFiqchar_cleanser_terminate iqchar_cleanser_terminate; PFiqchar_cleanser_createStatus iqchar_cleanser_createStatus; PFiqchar_cleanser_destroyStatus iqchar_cleanser_destroyStatus; PFiqchar_cleanser_getStatusCode iqchar_cleanser_getStatusCode; PFiqchar_cleanser_formatCharWidth iqchar_cleanser_formatCharWidth; const char sourceString[]="ABC DEF"; /* クレンジング対象文字列 *//* 各種変数の初期化 */
/* ライブラリのリンク */
hLibModule = LoadLibrary("C:\\Program Files\\Interstage Information Quality\\lib\\f3jqiiqapibasicentry.dll"); if(hLibModule == NULL){ /* エラー処理 */ } iqchar_cleanser_initialize =(PFiqchar_cleanser_initialize)GetProcAddress(hLibModule,"iqchar_cleanser_initialize"); iqchar_cleanser_terminate =(PFiqchar_cleanser_terminate)GetProcAddress(hLibModule,"iqchar_cleanser_terminate"); iqchar_cleanser_createStatus =(PFiqchar_cleanser_createStatus)GetProcAddress(hLibModule,"iqchar_cleanser_createStatus"); iqchar_cleanser_destroyStatus =(PFiqchar_cleanser_destroyStatus)GetProcAddress(hLibModule,"iqchar_cleanser_destroyStatus"); iqchar_cleanser_getStatusCode =(PFiqchar_cleanser_getStatusCode)GetProcAddress(hLibModule,"iqchar_cleanser_getStatusCode"); iqchar_cleanser_formatCharWidth =(PFiqchar_cleanser_formatCharWidth)GetProcAddress(hLibModule,"iqchar_cleanser_formatCharWidth"); if((iqchar_cleanser_initialize ==NULL)|| (iqchar_cleanser_terminate ==NULL)|| (iqchar_cleanser_createStatus ==NULL)|| (iqchar_cleanser_destroyStatus ==NULL)||
(iqchar_cleanser_getStatusCode ==NULL)|| (iqchar_cleanser_formatCharWidth ==NULL)){ /* エラー処理 */ } /* クレンジング初期化機能の呼び出し */ ret=iqchar_cleanser_initialize(&handle,NULL,ENCODING_SHIFT_JIS,message,messageBufferSize,NULL); if(ret!=0){ /* エラー処理 */ } /* ステータス情報格納用インスタンスの生成 */ ret=iqchar_cleanser_createStatus(&status,message,messageBufferSize,NULL); if(ret!=0){ /* エラー処理 */ } /* 半角->全角変換を行う */ ret=iqchar_cleanser_formatCharWidth(handle, ENCODING_SHIFT_JIS, sourceString, CHAR_WIDTH_FULL, resultBuffer, resultBufferSize, status, message, messageBufferSize, NULL); if(ret!=0){ /* エラー処理 */ } /* 正常に処理できたかを調査 */ ret=iqchar_cleanser_getStatusCode(status,1,&code,message,messageBufferSize,NULL); if(ret!=0){ /* エラー処理 */ } /* 正常に処理できなかった場合はエラー */ if(code!=2){ /* エラー処理 */ } /* 処理結果を標準出力へ出力 */ printf("半角を全角へ変換 : [%s] → [%s]\n",sourceString,resultBuffer); /* ステータス情報格納用インスタンスを破棄 */ ret=iqchar_cleanser_destroyStatus(status,message,messageBufferSize,NULL); if(ret!=0){ /* エラー処理 */ } /* クレンジング終了機能の呼び出し */ ret=iqchar_cleanser_terminate(handle,message,messageBufferSize,NULL); if(ret!=0){ /* エラー処理 */ } /* 各種終了処理 */ FreeLibrary(hLibModule);
注意
本サンプルプログラムは、APIの利用方法を概説するためのものです。 ユーザーアプリケーションに、サンプルコードをそのまま組み込まないでください。 ユーザーアプリケーションの仕様/要件に合わせ、適切に設計/コーディングし直してください。第
3
章
C API
リファレンス
本章では、Information QualityのC APIで提供される関数の利用方法について説明します。 本リファレンスの表記は、次のとおりです。
機能説明
関数の機能を説明しています。呼び出し形式
関数を呼び出す形式を記載しています。パラメーターの説明
各パラメーターを説明しています。説明は以下の形式です。 パラメーターの型パラメーター名【IN/OUT】 パラメーターの詳細説明です。 アドレスを渡してデータを受け取る場合は【OUT】とします。復帰値
関数の復帰値を説明しています。3.1
基本クレンジング
基本クレンジングを行う関数群について説明します。 基本クレンジングでは、以下のファイルを使用します。ライブラリ
%ISIQ_HOME%\lib\f3jqiiqapibasicentry.dllヘッダーファイル
%ISIQ_HOME%\include\f3jqiiqapibasicentry.h注意
この機能を使用するときは"%ISIQ_HOME%\include"をインクルードパスに追加してください。表
3.1
基本クレンジング関数一覧
関数名 説明 iqchar_cleanser_initialize 基本クレンジングの初期化処理を行います。 iqchar_cleanser_terminate 基本クレンジングの終了処理を行います。 iqchar_cleanser_createStatus ステータス情報格納用インスタンスを生成します。 iqchar_cleanser_destroyStatus ステータス情報格納用インスタンスを破棄します。 iqchar_cleanser_getStatusCode ステータス情報のコードを取得します。 iqchar_cleanser_formatCharWidth 半角/全角を統一します。関数名 説明 iqchar_cleanser_formatDakuten 濁点/半濁点の分離状態を統一します。 iqchar_cleanser_formatKanaKind ひらがな/カタカナを統一します。 iqchar_cleanser_formatCaseFullwidth 全角英字の大文字/小文字を統一します。 iqchar_cleanser_formatSpaceFullwidth 全角空白を削除します。 iqchar_cleanser_formatCase 半角英字の大文字/小文字を統一します。 iqchar_cleanser_formatSpace 半角空白を削除します。 iqchar_cleanser_formatPaddingState 文字列のパディング/トリムを行います。 iqchar_cleanser_formatMaxlength 文字列を最大長で切り詰めます。
3.1.1
初期化と終了
3.1.1.1 iqchar_cleanser_initialize
機能説明
基本クレンジングの初期化を行う関数です。基本クレンジングのハンドルを生成して返却します。 iqchar_cleanser_terminate関数とセットで呼び出してください。呼び出し形式
int iqchar_cleanser_initialize ( IQCHAR_CLEANSER_HANDLE *handle, const char *home,ENCODING_TYPE useEncoding, char *message, size_t messageBufferSize, void *reserve );
パラメーターの説明
IQCHAR_CLEANSER_HANDLE *handle 【OUT】
基本クレンジングのハンドルを格納するアドレスを指定します。関数が成功するとIQCHAR_CLEANSER_HANDLEが生成され、ハ ンドルが格納されます。
NULLを指定すると、エラーになります。
const char *home 【IN】
NULLを指定します。 ENCODING_TYPE useEncoding 【IN】 基本クレンジングの対象となる文字列のエンコーディングを指定します。 指定できる値はENCODING_TYPEを参照してください。
参考
-
Information Qualityでは、クレンジング処理においてUnicodeでデータを扱うため、内部で文字コード変換を行います。 基本クレンジングでは、アプリケーションで使用するエンコーディングのみをuseEncodingに指定することで、文字コード変換に 使用するリソースを最小限にすることができます。-
ひとつのハンドルで異なるエンコーディングの文字列をクレンジングすることも可能です。その場合は、複数のエンコーディング を組み合わせて指定します。複数のエンコーディングを組み合わせて指定する方法は以下のとおりです。 例) Shift_JISとUTF-8を指定する場合
ENCODING_SHIFT_JIS|ENCODING_UTF_8
注意
useEncodingで指定していないエンコーディングを基本クレンジングの各関数で指定した場合はエラーになります。
char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。 メッセージは最長で1023バイトです(NULLターミネートは含みません)。 NULLを指定した場合、メッセージは取得されません。 size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。 void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.1.2 iqchar_cleanser_terminate
機能説明
基本クレンジングの終了処理を行い、ハンドルを解放します。呼び出し形式
int iqchar_cleanser_terminate ( IQCHAR_CLEANSER_HANDLE handle, char *message, size_t messageBufferSize, void *reserve );パラメーターの説明
IQCHAR_CLEANSER_HANDLE handle 【IN】 基本クレンジングのハンドルを指定します。iqchar_cleanser_initialize関数で取得したIQCHAR_CLEANSER_HANDLEを指定しま す。char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。
格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。
メッセージは最長で1023バイトです(NULLターミネートは含みません)。 NULLを指定した場合、メッセージは取得されません。 size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。 void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.2
ステータス情報操作関数
3.1.2.1 iqchar_cleanser_createStatus
機能説明
基本クレンジングのステータス情報格納用のIQCHAR_CLEANSING_STATUSインスタンスを生成して返却します。 iqchar_cleanser_destroyStatus関数とセットで呼び出してください。呼び出し形式
int iqchar_cleanser_createStatus ( IQCHAR_CLEANSING_STATUS *status, char *message, size_t messageBufferSize, void *reserve );パラメーターの説明
IQCHAR_CLEANSING_STATUS *status 【OUT】
基 本 ク レ ン ジ ン グ の ス テ ー タ ス 情 報 格 納 用 イ ン ス タ ン ス を 保 持 す る ア ド レ ス を 指 定 し ま す 。 関 数 が 成 功 す る と
IQCHAR_CLEANSING_STATUSインスタンスが生成され、インスタンスのアドレスが格納されます。 NULLを指定すると、エラーになります。
char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。 メッセージは最長で1023バイトです(NULLターミネートは含みません)。 NULLを指定した場合、メッセージは取得されません。 size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。
void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.2.2 iqchar_cleanser_destroyStatus
機能説明
基本クレンジングのステータス情報格納用のIQCHAR_CLEANSING_STATUSインスタンスを破棄します。呼び出し形式
int iqchar_cleanser_destroyStatus ( IQCHAR_CLEANSING_STATUS status, char *message, size_t messageBufferSize, void *reserve );パラメーターの説明
IQCHAR_CLEANSING_STATUS status 【IN】 基 本 ク レ ン ジ ン グ の ス テ ー タ ス 情 報 格 納 用 イ ン ス タ ン ス を 指 定 し ま す 。iqchar_cleanser_createStatus関 数 で 取 得 し た IQCHAR_CLEANSING_STATUSインスタンスを指定します。 NULLを指定した場合、エラーとなります。char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。 メッセージは最長で1023バイトです(NULLターミネートは含みません)。 NULLを指定した場合、メッセージは取得されません。 size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。 void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.2.3 iqchar_cleanser_getStatusCode
機能説明
基本クレンジングのステータス情報格納用のIQCHAR_CLEANSING_STATUSインスタンスからコードを取得します。 取得されるコードは、「8.4.3 基本クレンジング」の「回答コード」です。注意
各クレンジング関数が正常終了した場合だけ呼び出してください。正常終了でない場合の動作は不定です。呼び出し形式
int iqchar_cleanser_getStatusCode ( const IQCHAR_CLEANSING_STATUS status, int groupID, int *code, char *message, size_t messageBufferSize, void *reserve );パラメーターの説明
const IQCHAR_CLEANSING_STATUS status 【IN】
基 本 ク レ ン ジ ン グ の ス テ ー タ ス 情 報 格 納 用 イ ン ス タ ン ス を 指 定 し ま す 。iqchar_cleanser_createStatus関 数 で 取 得 し た IQCHAR_CLEANSING_STATUSインスタンスを指定します。 NULLを指定した場合、エラーとなります。 int groupID 【IN】 取得するステータス情報のIDを指定します。規定外の値を指定した場合はエラーになります。 指定する値については「8.4.3 基本クレンジング」を参照してください。
int *code 【OUT】
処理情報の数値を格納する領域を指定します。NULL指定時にはエラーになります。 格納される値については「8.4.3 基本クレンジング」を参照してください。
char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。 メッセージは最長で1023バイトです(NULLターミネートは含みません)。 NULLを指定した場合、メッセージは取得されません。 size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。 void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.3
クレンジング関数
3.1.3.1 iqchar_cleanser_formatCharWidth
機能説明
指定文字列の半角/全角を統一し、結果を返します。 クレンジング処理仕様については、「運用ガイド クレンジング編」の「2.1.1 半角/全角の統一」を参照してください。呼び出し形式
int iqchar_cleanser_formatCharWidth ( IQCHAR_CLEANSER_HANDLE handle, ENCODING_TYPE encoding, const char *source, CHAR_WIDTH_TYPE type, char *result, size_t resultBufferSize, IQCHAR_CLEANSING_STATUS status, char *message, size_t messageBufferSize, void *reserve );パラメーターの説明
IQCHAR_CLEANSER_HANDLE handle 【IN】 基本クレンジングのハンドルを指定します。iqchar_cleanser_initialize関数で取得したIQCHAR_CLEANSER_HANDLEを指定しま す。 ENCODING_TYPE encoding 【IN】 クレンジングする文字列のエンコーディングを指定します。 指定できる値はENCODING_TYPEを参照してください。 const char *source 【IN】クレンジングする文字列が格納された領域のアドレスを指定します。文字列はNULLターミネートされている必要があります。 クレンジング可能な文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 CHAR_WIDTH_TYPE type 【IN】 全角に変換するか半角に変換するかを指定します。 指定できる値はCHAR_WIDTH_TYPEを参照してください。 char *result 【OUT】
クレンジング後の文字列を格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 クレンジング後の文字列が格納されます。文字列はNULLターミネートされます。 クレンジング結果の文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 size_t resultBufferSize 【IN】 resultパラメーターで与えられる領域の大きさをバイト数で指定します。 指定されたバイト数がクレンジング後の文字列を格納するのに十分な大きさでない場合、エラーになります。 クレンジング後の文字列長の目安は「3.1.4 クレンジング結果文字列長の計算式」を参照してください。 IQCHAR_CLEANSING_STATUS status 【OUT】
基本クレンジングのステータス情報格納用インスタンスを指定します。
iqchar_cleanser_createStatus関数で取得したIQCHAR_CLEANSING_STATUSインスタンスまたはNULLを指定します。 インスタンスを指定した場合、ステータス情報が格納されます。
NULLを指定した場合、ステータス情報は取得されません。
ステータス情報の詳細は「8.4.3 基本クレンジング」を参照してください。 char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。 メッセージは最長で1023バイトです(NULLターミネートは含みません)。 NULLを指定した場合、メッセージは取得されません。 size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。 void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.3.2 iqchar_cleanser_formatDakuten
機能説明
指定文字列の濁点/半濁点の分離状態を統一し、結果を返します。 クレンジング処理仕様については、「運用ガイド クレンジング編」の「2.1.2 濁点/半濁点分離状態の統一」を参照してください。呼び出し形式
int iqchar_cleanser_formatDakuten ( IQCHAR_CLEANSER_HANDLE handle, ENCODING_TYPE encoding, const char *source, DAKUTEN_TYPE type, char *result, size_t resultBufferSize, IQCHAR_CLEANSING_STATUS status, char *message, size_t messageBufferSize, void *reserve );パラメーターの説明
IQCHAR_CLEANSER_HANDLE handle 【IN】 基本クレンジングのハンドルを指定します。iqchar_cleanser_initialize関数で取得したIQCHAR_CLEANSER_HANDLEを指定しま す。 ENCODING_TYPE encoding 【IN】 クレンジングする文字列のエンコーディングを指定します。 指定できる値はENCODING_TYPEを参照してください。const char *source 【IN】 クレンジングする文字列が格納された領域のアドレスを指定します。文字列はNULLターミネートされている必要があります。 クレンジング可能な文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 DAKUTEN_TYPE type 【IN】 濁点/半濁点を分離するか結合するかを指定します。 指定できる値はDAKUTEN_TYPEを参照してください。 char *result 【OUT】
クレンジング後の文字列を格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 クレンジング後の文字列が格納されます。文字列はNULLターミネートされます。 クレンジング結果の文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 size_t resultBufferSize 【IN】 resultパラメーターで与えられる領域の大きさをバイト数で指定します。 指定されたバイト数がクレンジング後の文字列を格納するのに十分な大きさでない場合、エラーになります。 クレンジング後の文字列長の目安は「3.1.4 クレンジング結果文字列長の計算式」を参照してください。 IQCHAR_CLEANSING_STATUS status 【OUT】
iqchar_cleanser_createStatus関数で取得したIQCHAR_CLEANSING_STATUSインスタンスまたはNULLを指定します。 インスタンスを指定した場合、ステータス情報が格納されます。
NULLを指定した場合、ステータス情報は取得されません。
ステータス情報の詳細は「8.4.3 基本クレンジング」を参照してください。 char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。 メッセージは最長で1023バイトです(NULLターミネートは含みません)。 NULLを指定した場合、メッセージは取得されません。 size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。 void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.3.3 iqchar_cleanser_formatKanaKind
機能説明
指定文字列のひらがな/カタカナを統一し、結果を返します。 クレンジング処理仕様については、「運用ガイド クレンジング編」の「2.1.3 ひらがな/カタカナの統一」を参照してください。呼び出し形式
int iqchar_cleanser_formatKanaKind ( IQCHAR_CLEANSER_HANDLE handle, ENCODING_TYPE encoding, const char *source, KANA_KIND_TYPE type, char *result, size_t resultBufferSize, IQCHAR_CLEANSING_STATUS status, char *message, size_t messageBufferSize, void *reserve );
パラメーターの説明
IQCHAR_CLEANSER_HANDLE handle 【IN】 基本クレンジングのハンドルを指定します。iqchar_cleanser_initialize関数で取得したIQCHAR_CLEANSER_HANDLEを指定しま す。 ENCODING_TYPE encoding 【IN】 クレンジングする文字列のエンコーディングを指定します。 指定できる値はENCODING_TYPEを参照してください。 const char *source 【IN】クレンジングする文字列が格納された領域のアドレスを指定します。文字列はNULLターミネートされている必要があります。 クレンジング可能な文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 KANA_KIND_TYPE type 【IN】 ひらがなにするかカタカナにするかを指定します。 指定できる値はKANA_KIND_TYPEを参照してください。 char *result 【OUT】
クレンジング後の文字列を格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 クレンジング後の文字列が格納されます。文字列はNULLターミネートされます。 クレンジング結果の文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 size_t resultBufferSize 【IN】 resultパラメーターで与えられる領域の大きさをバイト数で指定します。 指定されたバイト数がクレンジング後の文字列を格納するのに十分な大きさでない場合、エラーになります。 クレンジング後の文字列長の目安は「3.1.4 クレンジング結果文字列長の計算式」を参照してください。 IQCHAR_CLEANSING_STATUS status 【OUT】
基本クレンジングのステータス情報格納用インスタンスを指定します。
iqchar_cleanser_createStatus関数で取得したIQCHAR_CLEANSING_STATUSインスタンスまたはNULLを指定します。 インスタンスを指定した場合、ステータス情報が格納されます。
NULLを指定した場合、ステータス情報は取得されません。
ステータス情報の詳細は「8.4.3 基本クレンジング」を参照してください。 char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。
格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。
メッセージは最長で1023バイトです(NULLターミネートは含みません)。
size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。 void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.3.4 iqchar_cleanser_formatCaseFullwidth
機能説明
指定文字列の全角英字の大文字/小文字を統一し、結果を返します。 クレンジング処理仕様については、「運用ガイド クレンジング編」の「2.1.4 全角英字の大文字/小文字の統一」を参照してください。呼び出し形式
int iqchar_cleanser_formatCaseFullwidth ( IQCHAR_CLEANSER_HANDLE handle, ENCODING_TYPE encoding, const char *source, CASE_TYPE type, char *result, size_t resultBufferSize, IQCHAR_CLEANSING_STATUS status, char *message, size_t messageBufferSize, void *reserve );パラメーターの説明
IQCHAR_CLEANSER_HANDLE handle 【IN】 基本クレンジングのハンドルを指定します。iqchar_cleanser_initialize関数で取得したIQCHAR_CLEANSER_HANDLEを指定しま す。 ENCODING_TYPE encoding 【IN】 クレンジングする文字列のエンコーディングを指定します。 指定できる値はENCODING_TYPEを参照してください。 const char *source 【IN】クレンジングする文字列が格納された領域のアドレスを指定します。文字列はNULLターミネートされている必要があります。 クレンジング可能な文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 CASE_TYPE type 【IN】 大文字にするか小文字にするかを指定します。 指定できる値はCASE_TYPEを参照してください。
char *result 【OUT】 クレンジング後の文字列を格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 クレンジング後の文字列が格納されます。文字列はNULLターミネートされます。 クレンジング結果の文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 size_t resultBufferSize 【IN】 resultパラメーターで与えられる領域の大きさをバイト数で指定します。 指定されたバイト数がクレンジング後の文字列を格納するのに十分な大きさでない場合、エラーになります。 クレンジング後の文字列長の目安は「3.1.4 クレンジング結果文字列長の計算式」を参照してください。 IQCHAR_CLEANSING_STATUS status 【OUT】
基本クレンジングのステータス情報格納用インスタンスを指定します。
iqchar_cleanser_createStatus関数で取得したIQCHAR_CLEANSING_STATUSインスタンスまたはNULLを指定します。 インスタンスを指定した場合、ステータス情報が格納されます。
NULLを指定した場合、ステータス情報は取得されません。
ステータス情報の詳細は「8.4.3 基本クレンジング」を参照してください。 char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。 メッセージは最長で1023バイトです(NULLターミネートは含みません)。 NULLを指定した場合、メッセージは取得されません。 size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。 void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.3.5 iqchar_cleanser_formatSpaceFullwidth
機能説明
指定文字列の全角空白(U+3000)を削除し、結果を返します。 クレンジング処理仕様については、「運用ガイド クレンジング編」の「2.1.5 全角空白の削除」を参照してください。呼び出し形式
int iqchar_cleanser_formatSpaceFullwidth ( IQCHAR_CLEANSER_HANDLE handle, ENCODING_TYPE encoding, const char *source, SPACE_TYPE type, char *result,size_t resultBufferSize, IQCHAR_CLEANSING_STATUS status, char *message,
size_t messageBufferSize, void *reserve );
パラメーターの説明
IQCHAR_CLEANSER_HANDLE handle 【IN】 基本クレンジングのハンドルを指定します。iqchar_cleanser_initialize関数で取得したIQCHAR_CLEANSER_HANDLEを指定しま す。 ENCODING_TYPE encoding 【IN】 クレンジングする文字列のエンコーディングを指定します。 指定できる値はENCODING_TYPEを参照してください。 const char *source 【IN】クレンジングする文字列が格納された領域のアドレスを指定します。文字列はNULLターミネートされている必要があります。 クレンジング可能な文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 SPACE_TYPE type 【IN】 単一化するか削除するかを指定します。 指定できる値はSPACE_TYPEを参照してください。 char *result 【OUT】
クレンジング後の文字列を格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 クレンジング後の文字列が格納されます。文字列はNULLターミネートされます。 クレンジング結果の文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 size_t resultBufferSize 【IN】 resultパラメーターで与えられる領域の大きさをバイト数で指定します。 指定されたバイト数がクレンジング後の文字列を格納するのに十分な大きさでない場合、エラーになります。 クレンジング後の文字列長の目安は「3.1.4 クレンジング結果文字列長の計算式」を参照してください。 IQCHAR_CLEANSING_STATUS status 【OUT】
基本クレンジングのステータス情報格納用インスタンスを指定します。
iqchar_cleanser_createStatus関数で取得したIQCHAR_CLEANSING_STATUSインスタンスまたはNULLを指定します。 インスタンスを指定した場合、ステータス情報が格納されます。
NULLを指定した場合、ステータス情報は取得されません。
ステータス情報の詳細は「8.4.3 基本クレンジング」を参照してください。 char *message 【OUT】
復帰値に対応したメッセージを格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 格納されるメッセージについては「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。文字列はNULLターミネート されます。 メッセージは最長で1023バイトです(NULLターミネートは含みません)。 NULLを指定した場合、メッセージは取得されません。 size_t messageBufferSize 【IN】 messageパラメーターで与えられる領域の大きさをバイト数で指定します。 0を指定した場合はメッセージは取得されません。 指定されたバイト数がメッセージを格納するのに十分な大きさでない場合、可能な限り書き込みます。メッセージは途中で切れます が、NULLターミネート文字列になることは保証されます。 void *reserve 【IN】 予約域です。NULLを指定します。NULL以外を指定した場合はエラーになります。
復帰値
正常終了した場合は0で復帰します。エラーが発生した場合は0以外で復帰します。 復帰値の詳細は「8.3.1 基本クレンジングの復帰値/例外一覧」を参照してください。3.1.3.6 iqchar_cleanser_formatCase
機能説明
指定文字列の半角英字の大文字/小文字を統一し、結果を返します。 クレンジング処理仕様については、「運用ガイド クレンジング編」の「2.1.6 半角英字の大文字/小文字の統一」を参照してください。呼び出し形式
int iqchar_cleanser_formatCase ( IQCHAR_CLEANSER_HANDLE handle, ENCODING_TYPE encoding, const char *source, CASE_TYPE type, char *result, size_t resultBufferSize, IQCHAR_CLEANSING_STATUS status, char *message, size_t messageBufferSize, void *reserve );パラメーターの説明
IQCHAR_CLEANSER_HANDLE handle 【IN】 基本クレンジングのハンドルを指定します。iqchar_cleanser_initialize関数で取得したIQCHAR_CLEANSER_HANDLEを指定しま す。 ENCODING_TYPE encoding 【IN】 クレンジングする文字列のエンコーディングを指定します。 指定できる値はENCODING_TYPEを参照してください。 const char *source 【IN】クレンジングする文字列が格納された領域のアドレスを指定します。文字列はNULLターミネートされている必要があります。 クレンジング可能な文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 CASE_TYPE type 【IN】 大文字にするか小文字にするかを指定します。 指定できる値はCASE_TYPEを参照してください。 char *result 【OUT】
クレンジング後の文字列を格納する領域のアドレスを指定します。領域は呼出元が確保する必要があります。 クレンジング後の文字列が格納されます。文字列はNULLターミネートされます。 クレンジング結果の文字列は最長で32MBです(NULLターミネートは含みません)。 NULLを指定した場合、エラーになります。 size_t resultBufferSize 【IN】 resultパラメーターで与えられる領域の大きさをバイト数で指定します。 指定されたバイト数がクレンジング後の文字列を格納するのに十分な大きさでない場合、エラーになります。 クレンジング後の文字列長の目安は「3.1.4 クレンジング結果文字列長の計算式」を参照してください。