Regelsatzverweis

Das Image Rendering unterstützt einen einfachen Mechanismus zur Vorverarbeitung von Anforderungen, der auf Regeln für die Übereinstimmung und Ersetzung von regulären Ausdrücken basiert.

Sammlungen von Vorverarbeitungsregeln (Regelsätze) können an Materialkataloge oder den Standardkatalog angehängt werden. Regeln im Standardkatalog gelten nur, wenn die Anforderung keinen bestimmten Materialkatalog anfügt.

Vorverarbeitungsregeln für Anfragen können den Pfad und die Abfrage von Anforderungen ändern, bevor sie vom Anforderungsparser des Servers verarbeitet werden. Dazu gehören das Manipulieren des Pfads, das Hinzufügen von Befehlen, das Ändern von Befehlswerten und das Anwenden von Vorlagen oder Makros. Regeln können auch verwendet werden, um einige Katalogattribute zu konfigurieren und außer Kraft zu setzen sowie um den Dienst auf bestimmte Client-IP-Adressen zu beschränken.

Regelsätze werden als XML-Dokument-Dateien gespeichert. Der relative oder absolute Pfad der Regelsatzdatei muss in attribute::RuleSetFile angegeben werden.

Allgemeine Struktur

<?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>

Die Elemente <?xml>, <!DOCTYPE> und <ruleset> sind in einer gültigen XML-Regelsatzdatei immer erforderlich, auch wenn keine tatsächlichen Regeln definiert sind.

Ein <ruleset>-Element, das eine beliebige Anzahl von <rule>-Elementen enthält, ist zulässig.

Beim Inhalt von Regeldateien zur Vorverarbeitung wird die Groß-/Kleinschreibung beachtet.

URL-Vorverarbeitung

Vor jeder anderen Verarbeitung wird eine eingehende HTTP-Anforderung teilweise analysiert, um zu bestimmen, welcher Materialkatalog angewendet werden soll. Sobald der Katalog identifiziert wurde, wird der Regelsatz für den ausgewählten Katalog (oder der Standardkatalog, wenn kein bestimmter Katalog identifiziert wurde) angewendet.

Die <rule>-Elemente werden in der angegebenen Reihenfolge nach dem Inhalt des <expression>-Elements ( expression) gesucht.

Wenn eine <rule>-Übereinstimmung vorliegt, wird die optionale substitution-Zeichenfolge angewendet und die geänderte Anforderungs-Zeichenfolge wird zur normalen Verarbeitung an den Anforderungsparser des Servers übergeben.

Wenn beim Erreichen des Endes von <ruleset> keine erfolgreiche Übereinstimmung erfolgt, wird die Anforderung ohne Änderung an den Parser übergeben.

Das OnMatch-Attribut

Das Standardverhalten kann mit dem OnMatch-Attribut der <rule>-Elemente geändert werden. OnMatch kann auf break (Standard), continueoder error.

Element und Attribut

Verhalten bei Übereinstimmung

<rule OnMatch="break">

Die Regelverarbeitung wird unmittelbar nach der Anwendung der Ersetzung für diese Regel beendet. Standard.

<rule OnMatch="continue">

Die Ersetzung wird angewendet und die Verarbeitung wird mit der nächsten Regel fortgesetzt.

<rule OnMatch="error">

Die Regelverarbeitung wird sofort beendet und der Antwortstatus "Anfrage verweigert"wird an den Client zurückgegeben.

Außerkraftsetzen von Katalogattributen

<rule> -Elemente können optional Attribute definieren, die die entsprechenden Katalogattribute außer Kraft setzen, wenn die Regel erfolgreich abgeglichen und festgelegt OnMatch="break" wurde. Wenn OnMatch="continue" eingestellt ist, werden keine Attribute angewendet. Eine Liste von Attributen, die mit Regeln gesteuert werden können, finden Sie in der Beschreibung von <rule>.

Reguläre Ausdruck

Einfache Zeichenfolgenübereinstimmung funktioniert bei sehr einfachen Anwendungen, in den meisten Fällen sind jedoch reguläre Ausdruck erforderlich. Während reguläre Ausdruck Branchenstandard sind, variiert die spezifische Implementierung von Instanz zu Instanz.

package java.util. regexbeschreibt die spezielle Implementierung des regulären Ausdrucks, die von Image Serving verwendet wird.

Erfasste Teilzeichenfolgen

Um komplexe URL-Änderungen zu erleichtern, können Teilzeichenfolgen im Ausdruck erfasst werden, indem sie die Unterzeichenfolge mit Klammern (…) versehen. Erfasste Teilzeichenfolgen werden entsprechend der Position der führenden Klammer sequenziell mit 1 nummeriert. Die erfassten Teilzeichenfolgen können mit $n in die Ersetzung eingefügt werden, wobei n die Sequenznummer der erfassten Teilzeichenfolge ist.

Verwalten von Regelsatzdateien

Eine Regelsatzdatei kann mit dem Katalogattribut attribute::RuleSetFile an jeden Materialkatalog angehängt werden. Während Sie die Regelsatzdatei jederzeit bearbeiten können, erkennt der Image-Server die Änderungen nur, wenn der zugehörige Materialkatalog neu geladen wird. Dies geschieht, wenn der Plattformserver gestartet oder neu gestartet wird und die primäre Katalogdatei (die das Suffix .ini enthält) geändert oder "angefasst"wird (um das Dateidatum zu ändern).

Beispiele

Regelsatzbeispiele finden Sie im entsprechenden Abschnitt der Bildkatalog-Referenz in der Image Serving-Dokumentation.

Verwandte Themen

package java.util.regex

Auf dieser Seite