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 をインポートするには:
- 最初の手順は、既存の FileMaker Pro ファイルに XML をインポートするか、XML を新しい FileMaker Pro ファイルに変換するかによって異なります。
- 一致するレコードを更新する、または既存のレコードを置き換える場合は、ターゲットファイルのバックアップコピーを作成します。
重要 一致するレコードを更新、または既存のレコードを置換すると、ターゲットファイル内のデータが上書きされ、元に戻すことはできません。データを保護するには、[ファイル] メニュー > [名前を付けて保存...] を選択して、ターゲット FileMaker Pro ファイルのバックアップコピーを作成してください。この操作を行えるのはローカルファイル (ご使用のコンピュータ上) のみです。また、レコードの更新処理または置き換え処理の内容を十分に理解してください。FileMaker Pro へのデータのインポートを参照してください。
- FileMaker Pro で、ターゲットファイルを開きます。
- ターゲットファイルに複数のテーブルが含まれている場合、レイアウトポップアップメニューを使用して、ターゲットテーブルのレコードで使用しているレイアウトを表示します。
- 一致するレコードを更新または既存のレコードを置き換える場合は、インポートする前に次の操作を実行します。(新しいレコードを追加する場合は、次の手順に進みます。)
- 一致するレコードを更新する場合は、対象レコードの中に更新を必要とするレコードだけが入っていることを確認します。対象レコードに含まれないレコードは、照合フィールドのデータが一致した場合でも更新されません。
- ファイル内の既存のレコードを置き換える場合は、対象レコードの中に変更を必要とするレコードだけが入っていることを確認します。必要に応じて、ソースファイルのレコードのデータがターゲットファイルのそれぞれのレコードのデータを適切に置き換えるようにレコードをソートします。
- [ファイル] メニュー > [レコードのインポート] > [XML データソース...] を選択します。
[XML と XSL オプションの指定] ダイアログボックスが表示されます。
- 手順 10 に進みます。
手順 8 から 9 は、XML を変換して新しい FileMaker Pro ファイルを作成する場合にのみ実行する必要があります。
- [ファイル] メニュー > [開く...] を選択します。
- [ファイルを開く] ダイアログボックスで、[ファイルの種類:] (Windows) または [ファイルタイプ:] (macOS) から [XML データソース...] を選択します。
[XML と XSL オプションの指定] ダイアログボックスが表示されます。
- [XML データソースの指定] で、インポートする XML データのソースを選択します。
XML ソースには、ファイルまたは HTTP リクエストの結果を使用することができます。
- インポートの前に XSLT スタイルシートを XML に適用するには、[XSL スタイルシートを使用] を選択して、XSLT スタイルシートのソースを指定します。
インポートする XML が FMPXMLRESULT DTD に準拠していない場合は、XML を適切な文法に変換する XSLT スタイルシートを適用する必要があります。XSLT ソースには、ファイルまたは HTTP リクエストの結果を使用することができます。
- [続行] をクリックします。
Xerces ベースの XML パーサおよび Xalan ベースの XSLT プロセッサを使用し、FileMaker Pro は、XSLT スタイルシート (指定した場合) を適用して XML データを変換します。エラーメッセージが表示される場合は、エラーを修正してから再度インポートしてください。
- 実行するインポート操作を選択し、ターゲットファイル内のフィールドをソースファイルからインポートするデータにマップします(インポート時のインポート方法と割り当てるフィールドの設定を参照してください。) ダイアログボックスでオプションを選択し、[インポート] をクリックします。
XML を新しい FileMaker Pro ファイルに変換する場合は、新しいファイルの名前を入力して、ロケーションを選択してから、[保存] をクリックします。
XML のインポート方法 |
操作 |
既存の FileMaker Pro ファイルにインポートする |
手順 2 に進みます。 |
XML を変換して新しい FileMaker Pro ファイルを作成する |
手順 8 に進みます。 |
メモ
- 整形式の XML の詳細については、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 サイト xerces.apache.org/xerces-c/ で、Xerces C++ に関してよく寄せられる質問集を参照してください。
- [レコードのインポート] スクリプトステップでは、データソースとして XML データを指定するときに、次の 2 つの方法で、XML データと XSL スタイルシートのパスを指定することができます。
- ファイルの場合は、パスを FileMaker 形式にする必要があります (ファイルパスの作成を参照)。
- 計算の場合は、パスをオペレーティングシステム形式の完全パスにする必要があります。例:
Windows:
ドライブ:¥ディレクトリ名¥ファイル名
macOS:
/ディレクトリ名/ファイル名
クロスプラットフォームカスタム App を提供している場合は、Get (システムプラットフォーム) 関数 を使用して現在のプラットフォームを識別し、各プラットフォームに対応する正しい形式を使用できます。