データの保存、インポート、およびエクスポート > FileMaker Pro へのデータのインポート > XML データのインポート
 
XML データのインポート
FileMaker Pro では、XML データを既存の FileMaker Pro ファイルにインポートしたり、XML を新しい FileMaker Pro ファイルに変換することができます。
XML には、物理的なファイルや、Web サーバーに送信される HTTP リクエストの結果を使用することができます。たとえば、「注文」データベースを設定して、追跡番号を HTTP リクエストの形式で荷物の配送会社に送信し、Web サーバーから「注文」データベースに、そのままインポートすることができる XML 形式で荷物の最新の追跡情報を返すことができます。
インポートする XML は、FileMaker FMPXMLRESULT DTD (文書型定義) に準拠している必要があります。XML が別の形式の場合は、インポートの際に XSLT (Extensible Stylesheet Language for Transformations) スタイルシートを適用して、XML を FMPXMLRESULT 文法に変換することができます。XML 形式を参照してください。
XML をインポートするには、次の操作を行います。
1. 最初の手順は、既存の FileMaker Pro ファイルに XML をインポートするか、XML を新しい FileMaker Pro ファイルに変換するかによって異なります。次のいずれかの操作を行います。
 
XML のインポート方法
操作
既存の FileMaker Pro ファイルにインポートする
手順 2 に進みます。
XML を変換して新しい FileMaker Pro ファイルを作成する
手順 8 に進みます。
2. 既存のレコードまたは一致するレコードを更新する場合は、インポート先のターゲットファイルバックアップコピーを作成します。
重要  既存のレコードまたは一致するレコードを更新すると、インポート先のファイルのデータは上書きされ、元に戻すことはできません。[ファイル] メニュー > [名前を付けて保存...] を選択して、インポート先のファイルのバックアップコピーを作成してください。また、レコードの更新処理の内容を十分に理解してください。既存のファイルへのデータのインポート方法を参照してください。
3. レコードのインポート先の FileMaker Pro ファイル (ターゲットファイル) を開きます。
4. インポート先のファイルに複数のテーブルが含まれている場合、レイアウトポップアップメニューを使用して、インポート先のテーブルのレコードで使用しているレイアウトを表示します。
5. 既存のレコードまたは一致するレコードを更新する場合は、インポートする前に次の操作を実行します。(新しいレコードを追加する場合は、次の手順に進みます。)
ファイルの既存のレコードを更新する場合は、対象レコードの中に置換を必要とするレコードだけが入っていることを確認します。インポートするデータによってインポート先のファイルの正しいレコードが置換されるように、(たとえばフィールド名順に) レコードをソートします。
一致するレコードを更新する場合は、対象レコードの中に更新を必要とするレコードだけが入っていることを確認します。対象レコードに含まれないレコードは、照合フィールドのデータが一致した場合でも更新されません。
6. [ファイル] メニュー > [レコードのインポート] > [XML データソース...] を選択します。
[XML と XSL オプションの指定] ダイアログボックスが表示されます。
7. 手順 11 に進みます。
手順 8 から 10 は、XML を変換して新しい FileMaker Pro ファイルを作成する場合にのみ実行する必要があります。
8. [ファイル]メニュー > [開く...] を選びます。
9. [起動センター] の [ソリューション] タブで、[参照...] をクリックします。
10. [ファイルを開く] ダイアログボックスで、[ファイルの種類:] (Windows) または [表示] (macOS) > [XML データソース...] を選択してファイルを選択します。
[XML と XSL オプションの指定] ダイアログボックスが表示されます。
11. [XML データソースの指定] で、インポートする XML データのソースを選択します。
XML ソースには、ファイルまたは HTTP リクエストの結果を使用することができます。
12. インポートの前に XSLT スタイルシートを XML に適用するには、[XSL スタイルシートを使用] を選択して、XSLT スタイルシートのソースを指定します。
インポートする XML が FMPXMLRESULT DTD に準拠していない場合は、XML を適切な文法に変換する XSLT スタイルシートを適用する必要があります。XSLT ソースには、ファイルまたは HTTP リクエストの結果を使用することができます。
13. [続行] をクリックします。
Xerces ベースの XML パーサ および Xalan ベースの XSLT プロセッサを使用し、FileMaker Pro は、XSLT スタイルシート (指定した場合) を適用して XML データを変換します。エラーメッセージが表示される場合は、エラーを修正してから再度インポートしてください。
14. 次の操作を行います。
 
XML のインポート方法
操作
既存の FileMaker Pro ファイルにインポートする
[フィールドデータのインポート順] ダイアログボックスが表示されます。ここで、実行するインポートのタイプを選択し、データベース内のフィールドをインポートするデータに割り当てます。(インポート時のインポート方法と割り当てるフィールドの設定を参照してください)。ダイアログボックスでオプションを選択し、[インポート] をクリックします。
XML を変換して新しい FileMaker Pro ファイルを作成する
[変換後のファイル名:] ダイアログボックスが表示されます。新しいファイルの名前を入力して場所を選択し、[保存] をクリックします。
メモ 
整形式の XML の詳細については、http://www.w3.org/XML/ で XML の仕様を参照してください。
FileMaker Pro では、Xerces-C++ XML パーサが使用されます。Xerces-C++ XML パーサでは次の文字エンコードをサポートしています。
ASCII
UTF-8
UTF-16 (ビッグ/スモールエンディアン)
UCS4 (ビッグ/スモールエンディアン)
IBM037 と IBM1140 エンコードの EBCDIC
ISO-8859-1 (Latin1)
Windows-1252
Windows のデフォルトのエンコードは Windows-1252 ですが、これは他のさまざまな XML 処理ツールでは認識されません。Windows ベースの編集ツールを使用して XML を生成する場合は、「encoding="..."」の宣言をチェックして、生成される文字セットを確認してください。Apache の Web サイト http://xerces.apache.org/xerces-c/ で、Xerces C++ に関してよく寄せられる質問集を参照してください。
XML ファイルのファイルパスを生成する計算式を使用している場合は、その完全パスに対応するオペレーティングシステムの形式を使用する必要があります。たとえば、次の例はいずれも正しいパスです。
Windows: ドライブ:/ディレクトリ名/ファイル名
macOS: /ボリューム/ボリューム名/ディレクトリ名/ファイル名
クロスプラットフォームソリューションを提供している場合は、Get (システムプラットフォーム) 関数を使用して現在のプラットフォームを識別し、各プラットフォームに対応する正しい形式を使用できます。