Estructura general
<?xml version="1.0" encoding="UTF-8"?>
<ruleset>
<rule>
<expression>
<varname>
expression
</varname></expression>
<substitution>
<varname>
substitution
</varname></substitution>
<addressfilter>
<varname>
addressFilter
</varname></addressfilter>
<header>
<varname>
headerValue
</varname></header>
</rule>
</ruleset>
Los elementos <?xml>
y <ruleset>
siempre son necesarios en un archivo XML de conjunto de reglas válido, incluso si no se han definido reglas reales.
Se permite un elemento <ruleset>
que contenga cualquier número de elementos <rule>
.
El contenido de los archivos de reglas de preprocesamiento distingue entre mayúsculas y minúsculas.
Validación de conjunto de reglas
Se proporciona una copia de RuleSet.xsd en la carpeta del catálogo y debe usarse para validar un archivo de conjunto de reglas antes de registrarlo en el archivo catalog.ini. Tenga en cuenta que el servicio de imágenes utiliza una copia interna de RuleSet.xsd para la validación.
Preprocesamiento de URL
Antes de cualquier otro procesamiento, se analiza parcialmente una solicitud HTTP entrante para determinar qué catálogo de imágenes se debe aplicar. Una vez identificado el catálogo, se aplica el conjunto de reglas del catálogo seleccionado (o el catálogo predeterminado, si no se ha identificado ningún catálogo específico).
Los elementos <rule>
se buscan en el orden especificado para una coincidencia con el contenido del elemento <expression>
( expression
).
Si coincide un <rule>
, se aplica el substitution
opcional y la cadena de solicitud modificada se pasa al analizador de solicitudes del servidor para su procesamiento normal.
Si no se realiza ninguna coincidencia correcta cuando se llega al final de <ruleset>
, la solicitud se pasa al analizador sin realizar modificaciones.
El atributo OnMatch
El comportamiento predeterminado se puede modificar con el atributo OnMatch
del elemento <rule>
. OnMatch
se puede establecer en break
(predeterminado), continue
o error
.
Elemento y atributo | Comportamiento cuando se produce una coincidencia |
---|---|
<rule OnMatch="break"> | El procesamiento de reglas finaliza inmediatamente después de aplicar la sustitución de esta regla. Predeterminado. |
<rule OnMatch="continue"> | La sustitución se aplica y el procesamiento continúa con la siguiente regla. |
<rule OnMatch="error"> | El procesamiento de reglas finaliza inmediatamente y se devuelve al cliente el estado de respuesta "solicitud rechazada". |
Anulación de atributos de catálogo
El elemento rule
puede definir opcionalmente atributos que anulen los atributos de catálogo correspondientes cuando la regla coincida correctamente. Si varias reglas coincidentes establecen el mismo atributo, prevalecerá la última. Consulte el elemento rule para obtener una lista de atributos que se pueden controlar con reglas.
Expresiones regulares
La coincidencia de cadenas simple funciona para aplicaciones muy básicas, pero en la mayoría de los casos se requieren expresiones regulares. Aunque las expresiones regulares son estándares del sector, la implementación específica varía según la instancia.
package java.util.regex describe la implementación de expresión regular específica utilizada por el servicio de imágenes.