Annexe A Noms corrects utilisés dans les chaînes de requête. Filemaker Server 10
Annexe A
Noms corrects utilisés dans les chaînes de requête
Cette annexe décrit les noms valides des commandes et des paramètres de requête que vous pouvez utiliser dans une chaîne de requête lorsque vous accédez à des données FileMaker à l'aide du moteur de publication Web.
A propos des commandes et des paramètres de requête
Voici une liste complète des noms de commandes de requête et des noms de paramètres de requête :
Noms des commandes de requête
–find, –findall, –findany (Voir , page 92.)
–layoutnames (Voir , page 93.)
–process (XSLT uniquement) (Voir , page 94.)
–scriptnames (Voir , page 94.)
Noms des paramètres de requête
–encoding (XSLT uniquement) (Voir , page 95.)
–field (Voir , page 95.) fieldname (Voir , page 95.)
fieldname.op (Voir , page 96.)
–grammar (XSLT uniquement) (Voir , page 97.)
–lay.response (Voir , page 97.)
–relatedsets.filter (Voir , page 99.)
–relatedsets.max (Voir , page 100.)
–script.param (Voir , page 100.)
–script.prefind (Voir , page 101.)
–script.prefind.param (Voir , page 101.)
–script.presort (Voir , page 101.)
–script.presort.param (Voir , page 102.)
–sortfield.[1-9] (Voir , page 102.)
–sortorder.[1-9] (Voir , page 103.)
–token.[string] (XSLT uniquement) (Voir , page 104.)
Important
Le paramètre –lay servant à spécifier un modèle est nécessaire avec toutes les commandes de requête, à l'exception de –dbnames, –layoutnames, –scriptnames et –process (requêtes XSLT uniquement).
Consignes d'utilisation des commandes et des paramètres de requête
Lorsque vous utilisez des commandes et des paramètres de requête dans une chaîne de requête, gardez les consignes suivantes à l'esprit :
1
Une chaîne de requête doit contenir une seule commande de requête, ni plus, ni moins. Une chaîne de requête peut par exemple contenir –new pour ajouter un nouvel enregistrement, mais –new et –edit ne peuvent être contenus dans la même chaîne de requête.
88 Publication Web personnalisée de FileMaker Server avec XML et XSLT
1
La majorité des commandes de requête nécessitent divers paramètres de requêtes correspondants dans la chaîne de requête. Par exemple, toutes les commandes de requête, à l'exception de –dbnames et –process ont besoin du paramètre –db, qui spécifie la base de données sur laquelle effectuer la recherche.
1
Pour les paramètres de requête et les noms de rubrique, indiquez la valeur particulière que vous souhaitez utiliser, par exemple –db=employees. Pour les commandes de requête, n'indiquez pas le signe = ou une valeur après le nom de la commande, par exemple –findall.
1
Les noms de commandes et paramètres de requête doivent être indiqués en minuscules, par exemple
–delete ou –lay.
1
Les noms de bases de données, de modèles et de rubriques utilisés dans les chaînes de requête ne tiennent pas compte de la casse, vous pouvez par exemple indiquer –lay=mylayout pour spécifier MyLayout.
Remarque
Les noms de rubrique et de base de données utilisés dans les instructions XSLT en dehors des chaînes de requête sont sensibles à la casse et doivent donc correspondre aux noms exacts employés dans la base de données. Par exemple, dans l'instruction suivante :
<xsl:value-of select="fmrs:field[@name='LastName']"/> la référence de rubrique LastName doit correspondre exactement au nom de la rubrique LastName dans la base de données.
1
Les noms de rubriques peuvent contenir des points, sauf dans les cas suivants :
1
Le point ne peut pas être suivi d'un chiffre. Par exemple, myfield.9 est un nom de rubrique invalide.
1
Le point ne peut pas être suivi de la chaîne de texte op (les deux lettres « op »). Par exemple, myfield.op est un nom de rubrique invalide.
1
Le point ne peut pas être suivi de la chaîne de texte global (le mot « global »). Par exemple, myfield.global est un nom de fichier invalide.
Les noms de rubrique contenant l’une de ces exceptions ne sont pas accessibles via XML ou XSLT lorsque vous utilisez une requête HTTP. Ces constructions sont destinées aux ID d’enregistrements,
comme décrit dans la section « A propos de la syntaxe d'un nom de rubrique entièrement qualifié »,
ci-dessous.
1
Pour la commande –find, la valeur d'une rubrique ne tient pas compte de la casse. Par exemple, vous pouvez aussi bien écrire Field1=Blue que Field1=blue. Pour les commandes –new and –edit, la casse que vous utilisez dans la valeur d'une rubrique est conservée et stockée dans la base de données exactement comme vous la spécifiez dans la chaîne de requête. Par exemple, LastName=Doe.
A propos du document Référence des chaînes de requête FileMaker
Cette version comprend une base de données FileMaker appelée Query Strings Reference.fp7. Elle contient de courtes descriptions et des exemples de toutes les commandes et de tous les paramètres de requête de
FileMaker. Elle se trouve dans le répertoire suivant de toutes les machines de votre déploiement FileMaker
Server (maîtres ou subordonnées) :
Mac :
/Library/FileMaker Server/Examples/XSLT
Windows :
<lecteur>:\Program Files\FileMaker\FileMaker Server\Examples\XSLT
Où : <lecteur> correspond au lecteur principal servant au démarrage de votre système.
Annexe A
|
Noms corrects utilisés dans les chaînes de requête 89
A propos de la syntaxe d'un nom de rubrique entièrement qualifié
Un nom de rubrique entièrement qualifié identifie une instance précise d'une rubrique. Dans la mesure où les rubriques possédant des noms communs peuvent être basées sur différentes tables, vous devez utiliser des noms entièrement qualifiés, dans certains cas, pour éviter les erreurs.
La syntaxe permettant de spécifier un nom de rubrique entièrement qualifié est la suivante : table-name::field-name(repetition-number).record-id où :
1
table-name est le nom de la table qui contient la rubrique. Le nom de la table est uniquement requis si la rubrique ne se trouve pas dans la table sous-jacente du modèle spécifié dans la chaîne de requête.
1
field-name(repetition-number), qui est une valeur spécifique dans une rubrique multivaluée, est uniquement requis pour les rubriques multivaluées. Le numéro de valeur débute à 1. Par exemple, field-name(2) fait référence à la seconde valeur dans la rubrique multivaluée. Si vous n'indiquez pas de numéro de valeur pour une rubrique multivaluée, la première valeur de celui-ci est utilisée. Le numéro de valeur est requis pour les commandes de requête –new and –edit impliquant des rubriques multivaluées, mais n'est pas requis pour la commande –find.
1
record-id est l'ID de l'enregistrement, qui est uniquement requis si vous utilisez une chaîne de requête pour ajouter ou modifier des enregistrements dans des rubriques de table externe. Consultez les sections
des rubriques de table externe, mais n'est pas requis pour la commande –find.
Remarque
Pour être accessibles, les rubriques doivent être placées dans le modèle que vous spécifiez dans la chaîne de requête.
Utilisation de commandes de requêtes avec des rubriques de table externe
Les sections suivantes décrivent le fonctionnement des commandes de requêtes avec des rubriques de table externe.
Ajout d'enregistrements à une table externe
Pour ajouter un nouvel enregistrement à une table externe en même temps qu'un enregistrement parent, utilisez la commande de requête –new et effectuez les opérations suivantes dans une chaîne de requête :
1
Utilisez le nom de rubrique entièrement qualifié pour la rubrique de table externe correspondante.
1
Spécifiez 0 en guise d'ID d'enregistrement après le nom de la rubrique de table externe liée.
1
Spécifiez au moins une des rubriques pour l'enregistrement parent, avant de spécifier la rubrique de table externe liée.
1
Spécifiez les données pour la rubrique source (rubrique clé) dans l'enregistrement parent.
Par exemple, l'URL suivant ajoute simultanément un nouvel enregistrement Employee parent pour John
Doe, et un nouvel enregistrement lié pour Jane dans la table externe. Le nom de la table liée est Dependents et le nom de la rubrique liée dans la table externe est Names. La rubrique source ID stocke un numéro d'identification de type Employee. http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&FirstName=John&LastName=Doe
&ID=9756&Dependents::Names.0=Jane&–new
Remarque
Vous ne pouvez ajouter qu'un enregistrement correspondant à une table externe par requête.
90 Publication Web personnalisée de FileMaker Server avec XML et XSLT
Modification d'enregistrements dans une table externe
Pour modifier un ou plusieurs enregistrements dans une table externe, utilisez la commande –edit et un ID d'enregistrement pour spécifier l'enregistrement parent qui contient les enregistrements de table externe que vous souhaitez modifier. Spécifiez l'enregistrement de table externe spécifique à modifier en utilisant son ID d'enregistrement dans un nom de rubrique entièrement qualifié. Vous pouvez déterminer un ID d'enregistrement
à partir de l'attribut d'ID d'enregistrement de l'élément <record> dans l'élément <relatedset> au sein des données
XML. Consultez la section « Utilisation de la grammaire fmresultset », page 31.
Par exemple, l'URL suivant modifie un enregistrement dans une table externe, où l'enregistrement parent porte l'ID d'enregistrement 1001. Dependents est le nom de la table liée, Names est le nom de la rubrique liée dans la table externe et le chiffre 2 dans Names.2 est l'ID d'enregistrement d'un enregistrement de table externe. http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&–recid=1001
&Dependents::Names.2=Kevin&–edit
Voici un exemple illustrant comment utiliser une seule requête pour modifier plusieurs enregistrements de table externe par le biais de l'enregistrement parent : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&–recid=1001
&Dependents::Names.2=Kevin&Dependents::Names.5=Susan&–edit
Vous pouvez également utiliser la commande –edit et spécifier 0 en guise d'ID d'enregistrement de table externe pour ajouter un nouvel enregistrement lié dans la table externe pour un enregistrement parent existant. Par exemple : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&–recid=1001
&Dependents::Names.0=Timothy&–edit
Suppression d’enregistrements dans une table externe
Pour supprimer des enregistrements de table externe, utilisez le paramètre –delete.related avec la commande –edit au lieu d'employer la commande –delete.
Par exemple, l’URL suivant supprime l’enregistrement 1001 de la table employés: http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&–recid=1001&–delete
En revanche, l'URL suivant supprime l’enregistrement de table externe dont l'ID est 3 de la table liée nommée Dependents, et dont l'ID d'enregistrement parent est 1001. http://192.168.123.101/fmi/xml/fmresultset.xml?
– db=employees&
– lay=family&
– recid=1001
&
– delete.related=Dependents.3&
– edit
Requêtes de rubriques de table externe
Dans une solution comportant de nombreux enregistrements liés, l'interrogation et le tri des enregistrements externes peuvent demander beaucoup de temps. Pour limiter le nombre d'enregistrements et de lignes à afficher dans un ensemble lié, utilisez les paramètres –relatedsets.filter et –relatedsets.max avec les requêtes de
Annexe A
|
Noms corrects utilisés dans les chaînes de requête 91
A propos de la syntaxe de spécification d'une rubrique de type Global
La syntaxe de spécification d'une rubrique de type Global est la suivante : table-name::field-name(repetition-number).global
où global identifie une rubrique utilisant le stockage global. Pour obtenir des informations à propos de nom-
FileMaker Pro.
Vous devez utiliser la syntaxe .global pour identifier une rubrique de type Global dans une chaîne de requête.
Le moteur de publication Web définit les valeurs de paramètres pour les rubriques de type Global avant d'exécuter la commande de requête ou de définir toute autre valeur de paramètre dans la chaîne de requête.
Pour les requêtes XML directes et les requêtes effectuées par le biais de feuilles de style XSLT n'utilisant pas de sessions, les valeurs globales expirent immédiatement après l'exécution de la requête. Pour les requêtes effectuées par l'intermédiaire d'une feuille de style XSLT utilisant des sessions, les valeurs globales persistent pendant la durée de la session définie dans la feuille de style ou jusqu'à ce qu'elles soient à nouveau modifiées par une autre requête.
Si vous n'utilisez pas la syntaxe .global pour identifier une rubrique de type Global dans une chaîne de requête, le moteur de publication Web traite la rubrique de type Global avec le reste de la chaîne de requête, sans définir la valeur de la rubrique de type Global au préalable.
Par exemple : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&Country.global=USA&–edit
Remarque
Quand vous utilisez la commande –edit pour définir la valeur d'une rubrique de type Global, vous n'avez pas besoin d'utiliser le paramètre –recid si la requête sert uniquement à définir la valeur de la rubrique de type Global.
Important
Si vous utilisez une rubrique de type Global dans une feuille de style XSLT, vous devez utiliser l'Admin Console pour activer l'option Sessions de base de données XSLT pour le moteur de publication
Web. Sinon, les valeurs des rubriques de type Global ne seront pas conservées d'une requête à une autre.
Consultez l'Aide de FileMaker Server.
Références des commandes de requête
Cette section contient des informations à propos des commandes de requête disponibles pour les requêtes
XML et XSLT.
Remarque
Seules les requêtes XSLT nécessitent le paramètre de requête –grammar pour toutes les commandes de requête ci-après.
Commande de requête –dbnames (noms des bases de données)
Extrait le nom de toutes les bases de données hébergées par FileMaker Server et activées pour la Publication
Web personnalisée avec XML ou XSLT.
Paramètres de requête indispensables :
(aucun)
Exemple :
Pour extraire les noms de bases de données : http://192.168.123.101/fmi/xml/fmresultset.xml?–dbnames
92 Publication Web personnalisée de FileMaker Server avec XML et XSLT
Commande de requête –delete (supprimer l'enregistrement)
Supprime l'enregistrement indiqué par le paramètre –recid.
Paramètres de requête indispensables :
–db, –lay, –recid
Paramètres de requête facultatifs :
–script
Exemple :
Pour supprimer un enregistrement : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–recid=4&–delete
Commande de requête –dup (dupliquer l'enregistrement)
Duplique l'enregistrement spécifié par –recid.
Paramètres de requête indispensables :
–db, –lay, –recid
Paramètres de requête facultatifs :
–script
Exemple :
Pour dupliquer l'enregistrement spécifié : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–recid=14&–dup
Commande de requête –edit (modifier l'enregistrement)
Met à jour l'enregistrement indiqué par le paramètre –recid et renseigne les rubriques avec le contenu de n'importe quelle paire nom rubrique/valeur. Le paramètre –recid indique le nom de l'enregistrement qui doit être modifié.
Paramètres de requête indispensables :
–db, –lay, –recid et un ou plusieurs noms de rubriques
Paramètres de requête facultatifs :
–modid, –script
Remarque
Pour plus d'informations sur la modification d'enregistrements dans une table externe, consultez
la section « Modification d'enregistrements dans une table externe », page 90.
Exemple :
Pour modifier un enregistrement : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–recid=13&Country=USA&–edit
Commandes de requête –find, –findall, or –findany (rechercher les enregistrements)
Soumet une requête utilisant des critères de recherche spécifiques.
Paramètres de requête indispensables :
–db, –lay
Paramètres de requête facultatifs :
–recid, –lop, –op, –max, –skip, –sortorder, –sortfield, –script,
–script.prefind, –script.presort, field name
Exemples :
Pour chercher un enregistrement par son nom de rubrique : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&Country=USA&–find
Remarque
Le fait de spécifier un nom de rubrique à plusieurs reprises dans une même requête n'est pas pris en charge ; FileMaker Server analyse toutes les valeurs mais utilise uniquement la dernière valeur analysée.
Pour chercher un enregistrement par son ID d'enregistrement : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&–recid=427&–find
Pour chercher tous les enregistrements de la base de données, utilisez –findall : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&–findall
Pour chercher un enregistrement de façon aléatoire, utilisez –findany : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&–findany
Annexe A
|
Noms corrects utilisés dans les chaînes de requête 93
–findquery (recherche composée), commande de requête
Soumet une requête de recherche avec des critères de recherche multiples ainsi que des exceptions.
Paramètres de requête indispensables :
–db, –lay, –query
Paramètres de requête facultatifs : –max , –skip, –sortorder, –sortfield, –script, –script.prefind,
–script.presort
Exemple :
Rechercher les enregistrements des chats ou des chiens qui ne s'appellent pas « Fluffy ». http://host/fmi/xml/fmresultset.xml?
– db=vetclinic&
– lay=animals&
– query=(q1);(q2);!(q3)
&
– q1=typeofanimal&
– q1.value=Cat&
– q2=typeofanimal&
– q2.value=Dog&
– q3=name&
– q3.value=Fluffy&
– findquery
Utilisation de la commande -findquery pour les recherches composées
Une instruction –findquery se compose de quatre parties, dans l'ordre suivant :
1
Le paramètre de requête –query
1
Les déclarations de demande de requête, composées de l'identificateur de requête et des opérations de demande.
1
Le champ de recherche et les définitions de valeur pour chaque identificateur de requête.
1
La commande –findquery, à la fin de l'instruction complète.
Commande de requête –layoutnames (noms des modèles)
Extrait le nom de tous les modèles disponibles pour une base de données spécifique, hébergée par
FileMaker Server et activée pour la Publication Web personnalisée avec XML ou XSLT.
Paramètres de requête indispensables :
–db
Exemple :
Pour extraire les noms des modèles disponibles : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–layoutnames
Commande de requête –new (nouvel enregistrement)
Crée un nouvel enregistrement et renseigne cet enregistrement avec le contenu de n'importe quelle paire nom/valeur d'une rubrique.
Paramètres de requête indispensables :
–db, –lay
Paramètres de requête facultatifs :
un ou plusieurs noms de rubriques, –script
Remarque
Pour plus d'informations sur la manière d'inclure de nouvelles données pour une table externe,
consultez la section « Ajout d'enregistrements à une table externe », page 89.
Exemple :
Pour ajouter un nouvel enregistrement : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&Country=Australia&–new
94 Publication Web personnalisée de FileMaker Server avec XML et XSLT
–process (traiter les feuilles de style XSLT)
Traite une feuille de style XSLT sans rechercher de données dans la base de données. Cette commande de requête peut uniquement être utilisée avec des feuilles de style XSLT.
Paramètre de requête indispensable :
–grammar. Vous devez utiliser les grammaires fmresultset ou
FMPXMLRESULT.
Exemple :
http://192.168.123.101/fmi/xsl/my_template/my_stylesheet.xsl?–grammar=fmresultset&–process
Commande de requête –scriptnames (noms des scripts)
Extrait le nom de tous les scripts disponibles pour une base de données spécifique, hébergée par FileMaker
Server et activée pour la Publication Web personnalisée avec XML ou XSLT.
Paramètres de requête indispensables :
–db
Exemple :
Pour extraire les noms de tous les scripts : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–scriptnames
Commande de requête –view (affichage des informations de modèle)
Si la grammaire FMPXMLLAYOUT est spécifiée, cette commande extrait des informations de modèle d'une base de données et les affiche dans la grammaire FMPXMLLAYOUT. Si une grammaire de données
(fmresultset or FMPXMLRESULT) est spécifiée, la commande extrait la section de métadonnées d'un document XML et un recordset vide.
Paramètres de requête indispensables :
–db, –lay
Paramètres de requête facultatifs :
–script
Exemples :
Pour extraire des informations de modèle : http://192.168.123.101/fmi/xml/FMPXMLLAYOUT.xml?–db=employees&–lay=departments&–view
Pour extraire des informations de métadonnées : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–view
Références de paramètre de requête
Cette section contient des informations à propos des paramètres de requête disponibles pour les requêtes
XML et XSLT. Pour obtenir des informations sur les paramètres uniquement disponibles pour les requêtes
Paramètre de requête –db (nom de base de données)
Indique la base de données à laquelle la commande de requête s'applique.
Valeur :
nom de la base de données sans l'extension de nom de fichier, si elle existe.
Remarque
Lorsque vous indiquez le nom de la base de données pour le paramètre –db dans les chaînes de requête, n'incluez pas l'extension du nom de fichier. Le nom de fichier réel de la base de données peut
éventuellement comprendre une extension, mais les extensions ne sont pas autorisées comme valeur pour le paramètre –db.
Annexe A
|
Noms corrects utilisés dans les chaînes de requête 95
Obligatoire pour :
toutes les commandes de requête, à l'exception de –dbnames et –process
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–findall
–delete.related (suppression d'enregistrements externes), paramètre de requête
Supprime un enregistrement dans une rubrique de table externe.
Facultatif pour : la commande de requête –edit
Nécessite :
un nom de table liée et un identificateur d'enregistrement
Exemple :
L'exemple suivant supprime l'enregistrement de table externe dont l'ID est 20 de la table liée nommée jobtable, et dont l'ID d'enregistrement parent est 7. http://host/fmi/xml/fmresultset.xml?
– db=career&
– lay=applications&
– recid=7&
– delete.related=jobtable.20&
– edit
Paramètre de requête –encoding (codage de la requête XSLT)
Spécifie le codage de texte pour une requête XSLT. Cette commande de requête peut uniquement être utilisée avec la Publication Web personnalisée pour les requêtes XSLT.
Valeur :
US-ASCII, ISO-8859-1, ISO-8859-15, ISO-2022-JP, Shift_JIS ou UTF-8
Facultatif pour :
toutes les commandes de requête d'une requête XSLT.
Exemple :
http://192.168.123.101/fmi/xsl/my_template/my_stylesheet.xsl?–db=employees&–lay=departments
&–grammar=fmresultset&–encoding=Shift_JIS&–findall
Consultez la section « Définition du codage du texte dans les requêtes », page 59.
Paramètre de requête –field (nom de rubrique Multimédia)
Indique le nom d'une rubrique Multimédia
Obligatoire pour :
les requêtes de données dans une rubrique Multimédia.
Paramètre de requête fieldname (nom de rubrique non-multimédia)
Les noms de rubrique sont utilisés pour contrôler les critères de la commande de requête –find ou pour modifier le contenu d'un enregistrement. Quand vous devez spécifier une valeur pour une rubrique nonmultimédia pour une commande ou un paramètre de requête, utilisez le nom de rubrique sans le trait d'union
(–) en guise de partie nom de la paire nom/valeur.
Nom :
nom de la rubrique dans la base de données FileMaker. Si la rubrique ne se trouve pas dans la table sous-jacente du modèle spécifié dans la chaîne de requête, le nom de rubrique doit être entièrement qualifié.
Les noms de rubriques peuvent contenir des points, sauf dans les cas suivants :
1
Le point ne peut pas être suivi d'un chiffre. Par exemple, myfield.9 est un nom de rubrique invalide.
1
Le point ne peut pas être suivi de la chaîne de texte op (les deux lettres « op »). Par exemple, myfield.op est un nom de rubrique invalide.
1
Le point ne peut pas être suivi de la chaîne de texte global (le mot « global »). Par exemple, myfield.global est un nom de fichier invalide.
96 Publication Web personnalisée de FileMaker Server avec XML et XSLT
Les noms de rubrique contenant l'une de ces exceptions ne sont pas accessibles via XML ou XSLT lorsque vous utilisez une requête HTTP. Ces constructions sont destinées aux ID d'enregistrements, comme décrit
dans la section « A propos de la syntaxe d'un nom de rubrique entièrement qualifié », page 89.
Valeur :
pour les commandes de requête –new and –edit, indiquez la valeur que vous souhaitez stocker dans la rubrique de l'enregistrement actuel. Pour les commandes de requête –find, indiquez la valeur que vous souhaitez rechercher dans la rubrique. Lorsque vous indiquez la valeur d'une rubrique de type date, heure ou horodatage, spécifiez-la en utilisant le format « fm ». Les formats « fm » sont dd/MM/yyy pour la date,
HH:mm:ss pour l'heure et dd/MM/yyyy HH:mm:ss pour l'horodatage.
Obligatoire pour : la commande de requête –edit
Facultatif pour : les commandes de requête –new et –find
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–op=eq&FirstName=Sam
&–max=1&–find
Remarque
Le fait de spécifier un nom de rubrique à plusieurs reprises dans une même requête n'est pas pris en charge ; FileMaker Server analyse toutes les valeurs mais utilise uniquement la dernière valeur analysée.
Paramètre de requête fieldname.op (opérateur de comparaison)
Indique l'opérateur de comparaison à appliquer au nom de rubrique précédant l'opérateur. Les opérateurs de comparaison sont utilisés avec la commande de requête –find.
Valeur :
l'opérateur que vous souhaitez utiliser. L'opérateur par défaut est « begins with ». Les opérateurs valides sont les suivants : ew gt gte lt
Mot-clé
eq cn bw lte neq
Opérateur FileMaker Pro équivalent
= word
*word* word*
*word
> word
>= word
< word
<= word omit, word
Facultatif pour : la commande de requête –find
Nécessite :
un nom de rubrique et une valeur.
La syntaxe de spécification d'un opérateur de comparaison est la suivante : table-name::field-name=value&table-name::field-name.op=op-symbol où :
1
table-name est la table contenant la rubrique et est uniquement requise si la rubrique n'est pas dans la table source du modèle spécifié dans la chaîne de requête.
1
op-symbol est l'un des mots-clés du tableau précédent, tel que cn.
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&name=Tim&name.op=cn&–find
Vous pouvez utiliser n'importe quel opérateur de recherche FileMaker Pro, en spécifiant le mot-clé bw. Par exemple, pour chercher une plage de valeurs à l'aide de l'opérateur de plage (...), spécifiez le mot-clé bw et placez les caractères « ... » devant le critère de recherche.
Annexe A
|
Noms corrects utilisés dans les chaînes de requête 97
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&IDnum=915...925&IDnum.op=bw
&–find
Pour plus d'informations sur les opérateurs pouvant être utilisés pour rechercher du texte, consultez l'aide
FileMaker Pro.
Paramètre de requête –grammar (grammaire pour feuilles de style XSLT)
Indique la grammaire à utiliser pour une feuille de style XSLT. Cette commande de requête peut uniquement
être utilisée avec la Publication Web personnalisée pour les requêtes XSLT.
Valeur :
fmresultset, FMPXMLRESULT ou FMPXMLLAYOUT
Obligatoire pour :
toutes les requêtes XSLT.
Exemple :
http://192.168.123.101/fmi/xsl/my_template/my_stylesheet.xsl?–grammar=fmresultset&–db=mydatabase
&–lay=mylayout&–findall
Paramètre de requête –lay (modèle)
Indique le modèle de base de données que vous souhaitez utiliser.
Valeur :
Nom du modèle.
Obligatoire pour :
Toutes les commandes de requête à l'exception de –dbnames, –layoutnames,
–scriptnames et –process (requêtes XSLT uniquement).
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–view
Paramètre de requête –lay.response (changer de modèle pour la réponse)
Indique que FileMaker Server devrait utiliser le modèle spécifié par le paramètre –lay lors du traitement d'une requête et passer au modèle spécifié par le paramètre–lay.response pour le traitement de la réponse XML.
Si vous n'incluez pas le paramètre –lay.response, FileMaker Server utilise le modèle spécifié par le paramètre –lay pour le traitement de la requête et de la réponse.
Vous pouvez utiliser le paramètre –lay.response pour des requêtes XML ou dans des requêtes de feuille de style XSLT.
Valeur :
nom du modèle.
Facultatif pour :
toutes les commandes de requête à l'exception de –dbnames, –layoutnames, –scriptnames et –process (requêtes XSLT uniquement)
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=Budget&Salary=100000&Salary.op=gt&–find
&–lay.response=ExecList
Paramètre de requête –lop (opérateur logique)
Indique comment les critères de recherche de la commande de requête –find sont combinés en recherche « and » ou « or ».
Valeur :
and ou or (qui doivent être indiqués en minuscules). Si le paramètre de requête –lop n'est pas inclus, la commande de requête –find utilise la valeur and.
Facultatif pour : la commande de requête –find
Remarque
Non pris en charge par la commande de requête -findquery.
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&Last+Name=Smith
&Birthdate=2/5/1972&–lop=and&–find
98 Publication Web personnalisée de FileMaker Server avec XML et XSLT
Paramètres de requête –max (nombre maximal d'enregistrements)
Indique le nombre maximum d'enregistrements que vous souhaitez obtenir.
Valeur :
un nombre, ou la valeur all pour obtenir tous les enregistrements. La valeur all doit être spécifiée en minuscules. Si –max n'est pas spécifié, tous les enregistrements sont renvoyés.
Facultatif pour : les commandes de requête –find , –findall, et –findquery
Exemples :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–max=10&–findall http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–max=all&–findall
Paramètre de requête –modid (numéro d'identification de la modification)
L'ID de modification est un compteur incrémentiel indiquant la version actuelle d'un enregistrement. En spécifiant un ID de modification lorsque vous utilisez une commande de requête –edit, vous pouvez vous assurer que vous éditez la version actuelle d'un enregistrement. Si l'ID de modification que vous spécifiez ne correspond pas à la valeur d'ID de modification actuelle dans la base de données, la commande de requête
–edit n'est pas autorisée et un code d'erreur est renvoyé.
Valeur :
un identifiant (ID) de modification unique, indiquant la dernière version d'un enregistrement d'une base FileMaker.
Facultatif pour :
la commande de requête –edit
Nécessite :
le paramètre –recid
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–recid=22&–modid=6
&last_name=Jones&–edit
–query (requête de recherche composée), commande de requête
Indique les noms de requête et les critères de recherche d'une requête de recherche composée. Consultez
la section « –findquery (recherche composée), commande de requête », page 93.
Valeur :
Une expression de requête.
Obligatoire pour : la commande de requête –findquery
La syntaxe d'une requête de recherche composée est :
–query=<request-declarations><request-definitions>&–findquery
Où :
<request-declarations> représente au moins deux déclarations de requête.
1
Chaque déclaration de requête se compose d'un ou plusieurs identificateur(s) de requête, séparé(s) par des virgules et mis entre parenthèses. Un identificateur de requête est représenté par la lettre « q » suivie d'un nombre. Par exemple : q1
1
Entourées de parenthèses, les requêtes multiples agissent comme un opérateur logique ET, ce qui réduit le résultat de la recherche. Par exemple, (q1), (q2) renvoie des enregistrements correspondant à q1 et q2.
1
Comme avec FileMaker Pro, chaque requête peut être une recherche ou une exclusion. Une requête de recherche ajoute les enregistrements correspondants au jeu d'enregistrements trouvés ; une exclusion les en retire. Par défaut, les requêtes sont des recherches. Pour une requête d'exclusion, placer un point d'exclamation ( !) devant la parenthèse ouvrante.
Par exemple : (q1);!(q2)
Dans cet exemple, q1 est une requête de recherche ; q2 est une requête d'exclusion car elle est précédée d'un point d'exclamation.
Annexe A
|
Noms corrects utilisés dans les chaînes de requête 99
1
Les requêtes sont séparées par des points-virgules. Les requêtes multiples agissent comme un opérateur logique OU, ce qui élargit le résultat de la recherche. Par exemple, (q1);(q2) renvoie des enregistrements correspondant à q1 ou q2. Les requêtes d'exclusion n'agissent pas comme un opérateur logique OU car elles excluent des enregistrements du résultat de la recherche.
1
Les requêtes sont exécutées dans l'ordre indiqué ; le jeu d'enregistrements trouvés inclut les résultats de la totalité de la requête de recherche composée.
<request-definitions> est une définition de requête correspondant à chaque déclaration. Chaque définition de requête se compose d'une rubrique de recherche et d'une définition de valeur. Un signe moins (–) indique le début de la définition de requête.
Syntaxe :
–< query-id >=< fieldname >&–< query-id >.value=< value >
Par exemple :
–q1=typeofanimal&–q1.value=Cat
–q2=name&–q2.value=Fluffy
Exemple :
Rechercher les enregistrements des chats gris qui ne s'appellent pas « Fluffy ».
http://host/fmi/xml/fmresultset.xml?–db=petclinic&–lay=Patients&–query=(q1, q2);!(q3)
&–q1=typeofanimal&–q1.value=Cat&–q2=color&–q2.value=Gray&–q3=name&–q3.value=Fluffy&–findquery
Paramètre de requête –recid (ID d'enregistrement)
Indique l'enregistrement que vous souhaitez traiter. Utilisé principalement dans les commandes de requête
–edit et –delete. Utilisé par la commande –view pour extraire des données de liste de valeurs liées dans la grammaire FMPXMLLAYOUT.
Valeur :
un ID d'enregistrement qui est l'identifiant unique d'un enregistrement de la base de données FileMaker.
Obligatoire pour : les commandes de requête –edit , –delete et –dup
Facultatif pour :
les commandes –find et –view
Exemple 1 :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–recid=22&–delete
Exemple 2 :
http://localhost/fmi/xml/FMPXMLLAYOUT.xml?-db=test&-lay=empty&-view&-recid=9
–relatedsets.filter (filtrage d'enregistrements de table externe), paramètre de requête
Indique s'il convient de filtrer les lignes renvoyées pour les requêtes utilisant des rubriques de table externe.
Valeur :
layout ou none
1
La valeur par défaut est none si ce paramètre n'est pas précisé.
1
Si la requête indique layout, les paramètres indiqués dans la boîte de dialogue Table externe de FileMaker
Pro sont respectés. Les enregistrements sont triés sur la base du tri défini dans la boîte de dialogue Table externe, le jeu d'enregistrements filtré commençant par la ligne initiale indiquée.
1
Si le paramètre Barre de défilement vertical est activé dans la boîte de dialogue Table externe, vous pouvez employer l'option –relatedsets.max pour indiquer le nombre maximum de lignes à renvoyer en réponse à la requête.
1
Si le paramètre Barre de défilement vertical est désactivé, alors le nombre de lignes de la boîte de dialogue Table externe de FileMaker Pro détermine le nombre de lignes à afficher.
100 Publication Web personnalisée de FileMaker Server avec XML et XSLT
1
Si –relatedsets.filter est réglé sur none, le moteur de publication Web renvoie toutes les lignes de la table externe, ainsi que les enregistrements externes qui ne sont pas prétriés.
Facultatif pour :
–find, –edit, –new, –dup et –findquery.
Exemples :
http://localhost/fmi/xml/fmresultset.xml?
– db=FMPHP_Sample&
– lay=English&
– relatedsets.filter=none&
– findany http://localhost/fmi/xml/fmresultset.xml?
– db=FMPHP_Sample& – lay=English&relatedsets.filter=layout
& – relatedsets.max=all& – findany http://localhost/fmi/xml/fmresultset.xml?
– db=FMPHP_Sample&
– lay=English&
– relatedsets.filter=layout
&
– relatedsets.max=10&
– findany
–relatedsets.max (limitation d'enregistrements de table externe), paramètre de requête
Indique le nombre maximum de lignes à renvoyer dans les résultats de cette requête.
Valeur :
un nombre entier, ou all.
1
Si la requête indique un nombre entier, le moteur de publication Web renvoie ce nombre de lignes après la ligne initiale.
1
Si la requête indique all, le moteur de publication Web renvoie tous les enregistrements liés.
1
Si la requête ne précise pas le paramètre –relatedsets.max, le nombre de colonnes est déterminé par la
Facultatif pour : –find , –edit, –new, –dup et–findquery.
Exemples :
http://localhost/fmi/xml/fmresultset.xml?
– db=FMPHP_Sample&
– lay=English&relatedsets.filter=layout
&
– relatedsets.max=all&
– findany http://localhost/fmi/xml/fmresultset.xml?
– db=FMPHP_Sample& – lay=English& – relatedsets.filter=layout
& – relatedsets.max=10& – findany
Paramètre de requête –script (Script)
Indique le script FileMaker à lancer quand la commande de requête et le tri ont été exécutés. Consultez la
section « Comprendre le traitement d'une requête XML », page 41.
Valeur :
nom du script.
Facultatif pour :
toutes les commandes de requête, à l'exception de –dbnames, –layoutnames, –process et
–scriptnames
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–script=myscript&–findall
Paramètre de requête –script.param (transfert du paramètre au script)
Transmet un paramètre au script FileMaker spécifié par –script
Valeur :
Un simple paramètre texte.
1
Pour transmettre plusieurs paramètres, vous pouvez créer une chaîne délimitant les paramètres et faire en sorte que votre script analyse chacun des paramètres. Par exemple, transmettez « param1|param2|param3 » en tant que liste, en utilisant le caractère « | » de codage URL de la façon suivante : param1%7Cparam2%7Cparam3
1
Pour traiter le paramètre texte en tant que valeur qui ne soit pas du texte, votre script peut convertir la valeur texte. Par exemple, pour convertir la valeur texte en nombre, votre script doit intégrer :
ObtenirNombre(Obtenir(ParamètreScript))
Annexe A
|
Noms corrects utilisés dans les chaînes de requête 101
1
Si votre requête contient –script.param sans –script, alors –script.param est ignoré.
1
Si votre requête contien plusieurs –script.param, alors le moteur de publication Web utilise la dernière valeur analysée.
Facultatif pour : –script
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–script=myscript
&–script.param=Smith%7CChatterjee%7CSu&–findall
Paramètre de requête –script.prefind (script avant une recherche)
Spécifie le script FileMaker à exécuter avant la recherche et le tri d'enregistrements (le cas échéant) pendant le traitement d'une commande de requête –find.
Valeur :
Nom du script.
Facultatif pour :
toutes les commandes de requête, à l'exception de –dbnames, –layoutnames, –process et
–scriptnames
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–script.prefind=myscript&–findall
Paramètre de requête –script.prefind.param (transfert du paramètre au script avant recherche)
Transfère un paramètre au script FileMaker spécifié par –script.prefind
Valeur :
Un simple paramètre texte.
1
Pour transmettre plusieurs paramètres, vous pouvez créer une chaîne délimitant les paramètres et faire en sorte que votre script analyse chacun des paramètres. Par exemple, transmettez « param1|param2|param3 » en tant que liste, en utilisant le caractère « | » de codage URL de la façon suivante : param1%7Cparam2%7Cparam3
1
Pour traiter le paramètre texte en tant que valeur qui ne soit pas du texte, votre script peut convertir la valeur texte. Par exemple, pour convertir la valeur texte en nombre, votre script doit intégrer :
ObtenirNombre(Obtenir(ParamètreScript))
1
Si votre requête contient –script.prefind.param sans –script.prefind, alors –script.prefind.param est ignoré.
1
Si votre requête contient plusieurs –script.prefind.param, alors le moteur de publication Web utilise la dernière valeur analysée.
Facultatif pour : –script.prefind
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–script.prefind=myscript
&–script.prefind.param=payroll&–findall
Paramètre de requête –script.presort (script avant un tri)
Spécifie le script FileMaker à exécuter après l'extraction d'enregistrements (le cas échéant) et avant leur tri, pendant le traitement d'une commande de requête –find.
Facultatif pour :
toutes les commandes de requête, à l'exception de –dbnames, –layoutnames, –process et –scriptnames
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–script.presort=myscript
&–sortfield.1=dept&–sortfield.2=rating&–findall
102 Publication Web personnalisée de FileMaker Server avec XML et XSLT
Paramètre de requête –script.presort.param (transfert du paramètre au script avant recherche)
Transfère un paramètre au script FileMaker spécifié par –script.presort
Valeur :
Un simple paramètre texte.
1
Pour transmettre plusieurs paramètres, vous pouvez créer une chaîne délimitant les paramètres et faire en sorte que votre script analyse chacun des paramètres. Par exemple, transmettez « param1|param2|param3 » en tant que liste, en utilisant le caractère « | » de codage URL de la façon suivante : param1%7Cparam2%7Cparam3
1
Pour traiter le paramètre texte en tant que valeur qui ne soit pas du texte, votre script peut convertir la valeur texte. Par exemple, pour convertir la valeur texte en nombre, votre script doit intégrer :
ObtenirNombre(Obtenir(ParamètreScript))
1
Si votre requête contient –script.presort.param sans –script.presort, alors –script.presort.param est ignoré.
1
Si votre requête contient plusieurs –script.presort.param, alors le moteur de publication Web utilise la dernière valeur analysée.
Facultatif pour : –script.presort
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–script.presort=myscript
&–script.presort.param=18%7C65&–sortfield.1=dept&–sortfield.2=rating&–findall
Paramètre de requête –skip (enregistrements ignorés)
Indique le nombre d'enregistrements à ignorer dans l'ensemble trouvé.
Valeur :
un nombre. Si la valeur est supérieure au nombre d'enregistrements contenus dans l'ensemble trouvé, aucun enregistrement n'est affiché. La valeur par défaut est 0.
Facultatif pour : la commande de requête –find
Dans l'exemple suivant, les 10 premiers enregistrements de l'ensemble trouvé sont ignorés et les enregistrements 11 à 15 sont affichés.
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–skip=10&–max=5&–findall
Paramètre de requête –sortfield (rubrique de tri)
Spécifie la rubrique à utiliser pour le tri.
Valeur :
nom de rubrique.
Facultatif pour : les commandes de requête –find ou –findall
Le paramètre de requête –sortfield peut être utilisé plusieurs fois pour effectuer des tris de rubriques multiples. La syntaxe permettant de spécifier la priorité des rubriques de tri est la suivante :
–sortfield.precedence-number=fully-qualified-field-name où precedence-numberdans le paramètre de requête –sortfield.precedence-number est un nombre
(débutant à 1) qui indique la priorité à utiliser dans le cas de rubriques à tri multiple.
Dans l'exemple suivant, la rubrique dept est triée en premier, puis vient le tour de la rubrique rating. Les deux rubriques sont triées par ordre croissant car le paramètre de requête –sortorder n'est pas spécifié.
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=performance&–sortfield.1=dept
&–sortfield.2=rating&–findall
Annexe A
|
Noms corrects utilisés dans les chaînes de requête 103
Paramètre de requête –sortorder (ordre de tri)
Indique l'ordre d'un tri.
Valeur :
l'ordre de tri. Les ordres de tri suivants sont autorisés, quand <value-list-name> est un nom de liste de valeurs tel que Personnalisé :
Mot-clé
ascend descend
<value-list-name>
Opérateur FileMaker Pro équivalent
Tri a à z, –10 à 10
Tri z à a, 10 à –10
Tri à l'aide de la liste des valeurs spécifiée, associée à la rubrique dans le modèle.
Facultatif pour : les commandes de requête –find ou –findall
Nécessite :
le paramètre de requête –sortfield
Le paramètre de requête –sortorder peut être utilisé avec le paramètre de requête –sortfield pour spécifier l'ordre de tri des rubriques de tri multiple. La syntaxe permettant de spécifier l'ordre de tri d'une rubrique de tri est la suivante :
–sortorder.precedence-number=sort-method où :
1
precedence-number dans le paramètre –sortorder.precedence-number est un nombre situé entre 1 et 9 indiquant le paramètre de requête –sortfield auquel le paramètre de requête –sortorder s'applique.
1
sort-method est un des mots-clés du tableau précédent permettant de spécifier l'ordre de tri, par exemple ascend.
Dans l'exemple suivant, l'ordre de tri de la rubrique ayant la priorité la plus élevée (dept) est ascend, tandis que l'ordre de tri de la rubrique de priorité secondaire (rating) est descend. La valeur 2 affectée
à precedence-number dans –sortorder.2 indique que le paramètre de requête –sortorder.2=descend s'applique au paramètre de requête –sortfield.2=rating.
Exemple :
http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=performance&–sortfield.1=dept
&–sortorder.1=ascend&–sortfield.2=rating&–sortorder.2=descend&–findall
Remarque
Si un paramètre de requête –sortorder n'est pas spécifié pour une rubrique de tri, le tri ascendant est utilisé par défaut.
Paramètre de requête –stylehref (Style href)
Génère une instruction de traitement de feuille de style XML au sein du document de sortie, en définissant la valeur de l'attribut href (href=/mystylesheet.css ou href=/stylesheets/mystylesheet.xsl), pour vous permettre d'utiliser des feuilles de style en cascade (CSS) ou XSLT côté client avec votre document XML.
La valeur du paramètre –stylehref doit être un chemin d'accès absolu. Le nom de la feuille de style peut être
que le paramètre –styletype.
Facultatif pour :
toutes les commandes de requête.
Nécessite :
le paramètre –styletype
Exemple
(suppose que mystylesheet.xsl se trouve dans le dossier racine du logiciel de serveur Web) : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–styletype=text/xsl
&–stylehref=/mystylesheet.xsl&–findall
104 Publication Web personnalisée de FileMaker Server avec XML et XSLT
Paramètre de requête –styletype (type de style)
Génère une instruction de traitement de feuille de style XML au sein du document de sortie, en définissant la valeur de l'attribut type (type=text/css ou type=text/xsl), pour vous permettre d'utiliser des feuilles de style
que le paramètre –stylehref.
Facultatif pour :
toutes les commandes de requête.
Nécessite :
le paramètre –stylehref
Exemple
(suppose que mystylesheet.css se trouve dans le dossier racine du logiciel de serveur Web) : http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–styletype=text/css
&–stylehref=/mystylesheet.css&–findall
Paramètre de requête –token.[string] (transfert des valeurs d'une feuille de style XSLT
à une autre)
Transfère toute information définie par l'utilisateur entre des feuilles de style XSLT sans utiliser de sessions ou de cookies. Ce paramètre de requête peut uniquement être utilisé avec la Publication Web personnalisée pour les requêtes XSLT.
string dans –token.[string] correspond à : une chaîne alphanumérique d'une longueur quelconque, à l'exception des espaces, comprenant des chiffres de 0 à 9, des lettres minuscules de a à z ou des lettres majuscules de A à Z.
Valeur du paramètre défini par l'utilisateur :
toute chaîne de caractères codée à la façon d'une URL.
Facultatif pour :
toutes les requêtes XSLT.
Exemple :
http://192.168.123.101/fmi/xsl/template/my_stylesheet.xsl?–db=employees&–lay=departments
&–grammar=fmresultset&–token.D100=Active&–findall

Public link updated
The public link to your chat has been updated.