FAMLog
クエリーコマンドを使用する際の注意点 (2)
January 24, 2005
FileMaker Server 7 Advancedでは、クエリーコマンドごとに、対応するクエリー引数を指定する必要があります。例外として、XMLを使用したカスタムWeb公開で、-dbnamesクエリーコマンドを使用する場合のみ、クエリー引数を指定する必要がありません。
XSLTを使用したカスタムWeb公開では、XML文法を指定するための-grammarクエリー引数がXSLTリクエストで必須となっています。
-dbnamesおよび-processクエリーコマンドは、クエリー対象のデータベースを指定する-db引数を必要としませんが、-processはXSLTリクエストの場合のみ利用できるクエリーコマンドであることから、-grammarクエリー引数の指定が必要です。
処理命令
January 20, 2005
FileMaker XSLTスタイルシートにおいて<?xslt-cwp-query?>処理命令を使用することにより、XMLデータを要求するクエリーコマンドおよび引数をあらかじめ定義しておくことができます。
(使用例)
<?xslt-cwp-query params="-grammar=fmresultset&-db=dbname
<?xslt-cwp-query?>処理命令は、FileMaker Server Advanced固有の処理命令です。この処理命令を使用すると、あらかじめ定義したクエリーコマンドや引数が優先されるため、クエリーコマンドとクエリー引数の不正使用を防止することができます。
URLのクエリー文字列でクエリーコマンドや引数を指定する必要もないため、URLを短くできる利点もあります。
クエリーコマンドを使用する際の注意点 (1)
January 19, 2005
FileMakerクエリー文字列でクエリーコマンドおよび引数を使用する場合には、いくつか注意すべき点があります。
まず重要な点として、FileMakerクエリー文字列に含めるクエリーコマンドは、1つだけにする必要があります。クエリーコマンドを指定しなかったり、2種類以上のクエリーコマンドを指定すると、データベースに接続できず正常に処理されません。
XSLTスタイルシート内の<?xslt-cwp-query?>処理命令でクエリーコマンドを指定しなかった場合には、Webブラウザーでアクセスするときに、URLのクエリー文字列でクエリーコマンドを指定する必要があります。
エラー処理対策およびセキュリティ上の観点からすると、<?xslt-cwp-query?>処理命令でクエリーコマンドを指定することが推奨されるでしょう。
バージョン7でサポートされなくなった引数名 (2)
January 18, 2005
FileMaker Server 7 Advancedでは、エラー処理関連やメール送信関連の変数タグもサポートされなくなっています。
下記の変数タグがCDMLのエラー処理に使用されていましたが、バージョン7ではエラーはXSLTスタイルシートで処理されます。
-error
-errnum
-errfmtfield
サポートされなくなったメール送信関連の変数タグは下記の通りで、Web公開エンジンでメールの送信を実行するには、FileMaker XSLT拡張関数を使用することになります。
-mailto
-mailfrom
-mailhost
-mailformat
-mailcc
-mailbcc
-mailsub
バージョン7でサポートされなくなった引数名 (1)
January 17, 2005
FileMaker Server 7 Advancedでは、「-password」や「-format」、「-fmtfield」、エラー処理関連およびメール送信関連の変数タグが引数名としてサポートされなくなりました。
-passwordは、-dbopenにデータベースのパスワードを指定するために使用されていました。
-formatは、CDMLフォーマットファイルまたはXML文法を指定するために使用されていました。バージョン7ではCDMLがサポートされなくなり、XSLTスタイルシートを使用するようにWeb公開の方法が変わったことにより、-format変数タグは使用する必要がなくなっています。
-fmtfieldは、データベース内のフィールドからフォーマットファイルの情報を取得するために使用されていました。
FileMaker Server 7 Advanced用クエリー引数一覧
January 11, 2005
Web公開エンジンを使用してFileMakerのデータにアクセスする場合に、クエリー文字列で使用できるクエリー引数の一覧は下記の通りです。
-db
-encoding
-field
[フィールド名]
[フィールド名].op
-grammar
-lay
-lay.response
-lop
-max
-modid
-recid
-script
-script.prefind
-script.presort
-skip
-sortfield.[1-9]
-sortorder.[1-9]
-styletype
-stylehref
-token.[文字列]
FileMaker Server 7 Advancedでは、-password、-format、-fmtfieldやエラー処理関連およびメール送信関連の引数が廃止されています。
FileMaker Server 7 Advanced用クエリーコマンド一覧
January 07, 2005
FileMaker Server Web公開エンジンを使用してFileMakerのデータにアクセスする場合に、クエリー文字列で使用できるクエリーコマンドの一覧は下記の通りです。
-dbnames
-delete
-dup
-edit
-find
-findall
-findany
-layoutnames
-new
-process
-scriptnames
-view
-dbnames、-layoutnamesおよび-scriptnames以外のすべてのクエリーコマンドで、レイアウトを指定するための-layクエリー引数が必須になっています。
また、-dbopen、-dbcloseおよび-imgといったリクエスト名はバージョン7では廃止され、サポートされなくなりました。
FileMaker クエリー文字列リファレンス
December 30, 2004
FileMaker Server 7 Advancedのインストール用CD-ROMには、FileMakerの各クエリーコマンドとクエリー引数の簡単な説明と例が含まれた「Query Strings Reference.fp7」というFileMakerデータベースが収録されています。
クエリーコマンドはCDMLにおけるアクションタグに、クエリー引数はCDMLにおける変数タグに相当するものと言えます。FileMakerに対する処理要求を文字列として表したもので、FileMaker独自のものとなっています。
FileMaker クエリー文字列リファレンスは、FileMaker Server Advanced CDの「Custom Web Publishing Reference」フォルダにあります。
XMLを使用したカスタムWeb公開のURL構文
December 17, 2004
Web公開エンジンを使用してFileMakerデータベースのXMLデータにアクセスするためのURL構文は次のようになります。
<スキーム>://<ホスト>[:<ポート>]/fmi/xml/<XML文法>.xml[?<クエリー文字列>]
(例)http://www.example.com/fmi/xml/fmresultset.xml?-db=
各要素の意味は、下記の通りです。
・<スキーム>には、HTTPまたはHTTPSプロトコルを指定します。
・<ホスト>には、WebサーバーがインストールされているホストのIPアドレスまたは完全修飾ドメイン名を指定します。
・<ポート>には、Webサーバーが使用するTCPのポート番号を指定します(オプション)。ポートが指定されていない場合は、プロトコルのデフォルトのポート(HTTPではポート80、HTTPSではポート443)が使用されます。
・<XML文法>には、FileMaker XML文法の名前を指定します。指定できる値は、fmresultset、FMPXMLRESULT、FMPXMLLAYOUTまたはFMPDSORESULTです。
・<クエリー文字列>には、XMLを使用したカスタムWeb公開で使用する1つのクエリーコマンドと1つまたは複数のクエリー引数の組み合わせを指定することができます。
XSLTを使用したカスタムWeb公開のURL構文
December 14, 2004
FileMaker XSLTスタイルシートをWeb公開エンジンで使用するためのURL構文は次のようになります。
<スキーム>://<ホスト>[:<ポート>]/fmi/xsl/[<パス>/]<スタイルシート.xsl>[?<クエリー文字列>]
(例)http://www.example.com/fmi/xsl/foldername/example.xsl
各要素の意味は、下記の通りです。
・<スキーム>には、HTTPまたはHTTPSプロトコルを指定します。
・<ホスト>には、WebサーバーがインストールされているホストのIPアドレスまたは完全修飾ドメイン名を指定します。
・<ポート>には、Webサーバーが使用するTCPのポート番号を指定します(オプション)。ポートが指定されていない場合は、プロトコルのデフォルトのポート(HTTPではポート80、HTTPSではポート443)が使用されます。
・<パス>はオプションで、XSLTスタイルシートが保存されている「xslt-template-files」フォルダ内のフォルダ名を指定します。
・<スタイルシート.xsl>には、XSLTスタイルシートのファイル名を指定します。
・<クエリー文字列>には、XSLTを使用したカスタムWeb公開で使用する1つのクエリーコマンドと1つまたは複数のクエリー引数の組み合わせを指定することができます。