Frage

Insbesondere die CN (common name) Parameter, z.

  

VERANSTALTER; CN = John Doe, Eng: mailto: jd@some.com

Der RFC ist vage dazu, IMHO. Es ist sehr klar über Eigenschaftswerte Typ TEXT, aber für diesen Parameter heißt es nur " Der Parameterwert ist Text ". Sowieso ist das entweichende angegeben für TEXT-Typen scheint nicht vollständig für Parameterwerte (z ‚:‘ ist nicht entgangen)

.

Vielen Dank!

War es hilfreich?

Lösung

Davka,

Ja, Parameterwerte können durch rund um den Wert in doppelte Anführungszeichen maskiert werden. Parameterwerte müssen entwertet werden, wenn sie eine der folgenden Zeichen enthalten:

; - semicolon
: - colon
, - comma

Es ist illegal, ein doppeltes Anführungszeichen " Zeichen innerhalb Parameterwerte haben, so sollten sie (oder auf andere Weise aus dem Parameterwert entfernt) gelöscht werden.

Also, mit dem obigen Beispiel die korrekte Entkommen ist dies:

ORGANIZER;CN="John Doe,Eng":mailto:jd@some.com

Beachten Sie, dass, sobald der erste (nicht kotierte) Kolon : angetroffen wird, Parsen Motoren den Rest als die Eigenschaftswert behandeln. Es ist legal, die Doppelpunkt : Zeichen innerhalb Eigenschaftswerte zu verwenden, so dass der Doppelpunkt in mailto:jd@some.com nicht entgangen werden muss.

Wir brechen die Linie in seinen Teilen:

  • ORGANIZER - Eigenschaftsname
  • ; - Parameter delimiter
  • CN - Parametername
  • = - Parameterwert Begrenzer
  • "John Doe,Eng" - Parameterwert
  • : - Eigenschaftswert Begrenzer
  • mailto:jd@some.com - Eigenschaftswert

Hier ist ein Zitat aus dem RFC 5545 Abschnitt 3.2, der erklärt, wenn die Parameterwerte mit doppelten Anführungszeichen umgeben sind, und sagt uns, doppelte Anführungszeichen sind illegal in Parameterwerten:

  

Eigenschaftsparameterwerte, die enthalten   Der Doppelpunkt, Semikolon, oder komma   Zeichentrenn muss angegeben werden,   wie quoted-string Textwerte. Eigentum   Parameterwerte müssen nicht enthalten   DQUOTE Charakter. die DQUOTE   Zeichen wird als ein Trennzeichen verwendet für   Parameterwerte, die enthalten   eingeschränkte Zeichen oder URI Text.   Zum Beispiel:

     

Beschreibung; ALTREP = "cid: part1.0001@example.org": Das   Fall'98 Wilde Wizards Conference - -   Las Vegas \, NV \, USA

Es ist wichtig zu beachten, dass die Parameter technisch mehrere Werte enthalten können. Ein Komma wird verwendet, um diese mehrere Werte zu trennen:

(aus Abschnitt 3.2.11 von RFC 5545:)

ATTENDEE;MEMBER="mailto:projectA@example.com","mailto:pr
 ojectB@example.com":mailto:janedoe@example.com

Nicht alle iCalendar-Motoren mehrere Werte für alle Parameter akzeptieren, aber die folgenden Parameter sollten mehrere Werte zulassen (nach dem RFC):

  • MEMBER
  • DELEGIERTEN-FROM
  • DELEGIERTEN-TO

Grüße,

-Doug

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top