Référence d’ensemble de règles rule-set-reference
Image Rendering prend en charge un mécanisme de pré-traitement de requête simple basé sur des règles de correspondance et de substitution d’expressions régulières.
Des collections de règles de prétraitement (ensembles de règles) peuvent être attachées à des catalogues de matériaux ou au catalogue par défaut. Les règles du catalogue par défaut s’appliquent uniquement si la demande n’attache pas de catalogue de matériaux spécifique.
Les règles de prétraitement des demandes peuvent modifier les parties chemin d’accès et requête des requêtes avant qu’elles ne soient traitées par l’analyseur de requêtes du serveur, notamment en manipulant le chemin d’accès, en ajoutant des commandes, en modifiant les valeurs de commande et en appliquant des modèles ou des macros. Les règles peuvent également être utilisées pour configurer et remplacer certains attributs de catalogue, ainsi que pour limiter le service à des adresses IP client spécifiques.
Les ensembles de règles sont stockés en tant que fichiers de document XML. Le chemin d’accès relatif ou absolu du fichier de jeu de règles doit être spécifié dans attribute::RuleSetFile
.
Structure générale section-74faaee27fc543a2ab4a306f3a03674e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ruleset SYSTEM" RuleSet.dtd">
<ruleset>
<rule>
<expression>
<varname>
expression
</varname></expression>
<substitution>
<varname>
substitution
</varname></substitution>
<addressfilter>
<varname>
addressFilter
</varname></addressfilter>
</rule>
</ruleset>
Les <?xml>
éléments et <!DOCTYPE>
<ruleset>
sont toujours requis dans un fichier XML de jeu de règles valide, même si aucune règle réelle n’est définie.
Un <ruleset>
élément contenant un nombre quelconque d’éléments <rule>
est autorisé.
Le contenu des fichiers de règles de prétraitement est sensible à la casse.
Prétraitement des URL section-737a38d1b8c746f995e64fa6cfbcec87
Avant tout autre traitement, une requête HTTP entrante est partiellement analysée pour déterminer quel catalogue de matériaux doit être appliqué. Une fois le catalogue identifié, le jeu de règles pour le catalogue sélectionné (ou le catalogue par défaut, si aucun catalogue spécifique n’a été identifié) est appliqué.
Les <rule>
éléments sont recherchés dans l’ordre indiqué pour une correspondance avec le contenu de l’élément <expression>
( expression
).
Si un correspond à un <rule>
, l’option facultative substitution
est appliquée et la chaîne de requête modifiée est transmise à l’analyseur de requêtes du serveur pour un traitement normal.
Si aucune correspondance n’est établie lorsque la fin de l’est <ruleset>
atteinte, la demande est transmise à l’analyseur sans modification.
Attribut OnMatch section-7a8ad3597780486985af5e9a3b1c7b56
Le comportement par défaut peut être modifié avec l’attribut OnMatch
des <rule>
éléments. OnMatch
peut être définie sur break
(par défaut), continue
, ou error.
Remplacement des attributs de catalogue section-1f59ce84234f4576ba8473b0e6ba22ee
<rule>
Les éléments peuvent éventuellement définir des attributs qui remplacent les attributs de catalogue correspondants lorsque la règle est correctement mise en correspondance et OnMatch="break"
définie. Aucun attribut n’est appliqué si OnMatch="continue"
est défini. Reportez-vous à la description de <rule>
pour obtenir la liste des attributs qui peuvent être contrôlés par des règles.
Expressions régulières section-4d326507b52544b0960a9a5f303e3fe6
La correspondance de chaînes simple fonctionne pour des applications très basiques, mais des expressions régulières sont requises dans la plupart des cas. Bien que les expressions régulières soient standard, l’implémentation spécifique varie d’une instance à l’autre.
package java.util.regex décrit l’implémentation spécifique de l’expression régulière utilisée par le serveur d’images.
Sous-chaînes capturées section-8057cd65d48949ffb6a50e929bd3688b
Pour faciliter les modifications d’URL complexes, des sous-chaînes peuvent être capturées dans l’expression en la plaçant entre parenthèses (…). Les sous-chaînes capturées sont numérotées séquentiellement en commençant par 1 selon la position de la parenthèse principale. Les sous-chaînes capturées peuvent être insérées dans la substitution en utilisant $n
, où n
est le numéro de séquence de la sous-chaîne capturée.
Gestion des fichiers de jeux de règles section-e8ce976b56404c009496426fd334d23d
Un fichier d’ensemble de règles peut être joint à chaque catalogue de matériaux avec l’attribut attribute::RuleSetFile
catalog . Bien que vous puissiez modifier le fichier d’ensemble de règles à tout moment, le serveur d’images reconnaît les modifications uniquement lorsque le catalogue de matériaux associé est rechargé. Cela se produit lorsque le Platform Server est démarré ou redémarré et chaque fois que le fichier catalogue principal (qui a un .ini suffixe de fichier) est modifié ou « touché » (pour changer la date du fichier).
Exemples section-c4142a41f5cd4ff799a72fbc130c3700
Des exemples d’ensemble de règles sont fournis dans la section correspondante de la référence du catalogue d’images de la documentation Image Server.