»list id = ID itemType = QName `alle Attribute mit nicht-schemanamespace . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . »simpleType final = (#all | Liste von (Liste | Union | Einschränkung)) id = ID-Name = NCName ` alle Attribute mit Nicht-Schema-Namespace . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . .
. . . . . . . .
. . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . .
. . Wenn das pattern-Attribut vorhanden, aber nicht angegeben oder ungültig ist, wird kein regulärer Ausdruck angewendet, und dieses Attribut wird vollständig ignoriert. Wenn das Musterattribut gültig ist und ein nicht leerer Wert nicht mit dem Muster übereinstimmt, verhindert die Einschränkungsüberprüfung die Formularübermittlung. Wenn eine große Anzahl von Servernamen definiert oder ungewöhnlich lange Servernamen definiert werden, kann eine Optimierung der server_names_hash_max_size und server_names_hash_bucket_size Direktiven auf http-Ebene erforderlich sein. Der Standardwert der server_names_hash_bucket_size-Direktive kann je nach CPU-Cachezeilengröße gleich 32 oder 64 oder einem anderen Wert sein. Wenn der Standardwert 32 ist und der Servername als “too.long.server.name.example.org” definiert ist, kann nginx nicht starten und die Fehlermeldung anzeigen: Setzen Sie die Bezeichnungsnamen nicht in den Metriknamen, da dies Redundanz verursacht und Verwirrung verursacht, wenn die entsprechenden Beschriftungen weg aggregiert werden. Genaue Namen, Platzhalternamen, die mit einem Sternchen beginnen, und Platzhalternamen, die mit einem Sternchen enden, werden in drei Hashtabellen gespeichert, die an die Listenports gebunden sind. Die Größe von Hashtabellen wird in der Konfigurationsphase optimiert, sodass ein Name mit den wenigsten CPU-Cache-Fehlstellen gefunden werden kann.
Die Details zum Einrichten von Hashtabellen werden in einem separaten Dokument bereitgestellt. Servernamen werden mithilfe der server_name-Direktive definiert und bestimmen, welcher Serverblock für eine bestimmte Anforderung verwendet wird. Siehe auch “Wie nginx eine Anforderung verarbeitet”. Sie können mit genauen Namen, Platzhalternamen oder regulären Ausdrücken definiert werden: Das pattern-Attribut ist, wenn angegeben, ein regulärer Ausdruck, der mit dem Wert der Eingabe übereinstimmen muss, damit der Wert die Einschränkungsüberprüfung besteht. Es muss sich um einen gültigen regulären JavaScript-Ausdruck handelt, wie er vom RegExp-Typ verwendet wird und wie in unserem Handbuch für reguläre Ausdrücke dokumentiert ist. Das `u`-Flag wird beim Kompilieren des regulären Ausdrucks angegeben, sodass das Muster als eine Sequenz von Unicode-Codepunkten und nicht als ASCII behandelt wird. Um den Mustertext sollten keine Schrägstriche angegeben werden. émaxLength fixed = boolean : false id = ID value = nonNegativeInteger `any attributes with non-schema namespace . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . .
. . . . . . . . .
. . . . . . . . . . .
Bitte verwenden Sie kein Muster für die E-Mail-Validierung. Jedem regulären Ausdruck für die E-Mail-Validierung fehlt etwas. Viele Menschen durchgemacht einen Prozess mit dem Schluss, dass es fast unmöglich ist, eine perfekte Validierung zu erhalten. Das Gute daran ist, dass wir dies unseren Browser-Entwicklern überlassen können. Sie haben es richtig gemacht und wir sollten jetzt ihren Standard für die E-Mail-Validierung verwenden. »restriction base = QName id = ID `any attributes with non-schema namespace . . .`> Inhalt: (anmerkung?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)) Die Hashtabelle für Platzhalternamen ist langsamer als die Suche nach genauen Namen, da Namen nach Domänenteilen durchsucht werden. Beachten Sie, dass das spezielle Platzhalterformular “.example.org” in einer Hashtabelle für Platzhalternamen und nicht in einer genauen Namenshashtabelle gespeichert wird. Die genauen Namen Hashtabelle wird zuerst durchsucht.
Wenn kein Name gefunden wird, wird die Hashtabelle mit Platzhalternamen gesucht, die mit einem Sternchen beginnen. Wenn der Name dort nicht gefunden wird, wird die Hashtabelle mit Platzhalternamen gesucht, die mit einem Sternchen endet. Aus diesen Gründen ist es besser, nach Möglichkeit genaue Namen zu verwenden.