Question

précisément, le paramètre CN (nom commun), par exemple.

  

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

Le RFC est vague à ce sujet, à mon humble avis. Il est très clair sur valeurs de propriété type TEXT, mais pour ce paramètre, il dit juste " La valeur du paramètre est le texte ". Quoi qu'il en soit, l'échappement spécifié pour le type de texte ne semble pas complète pour les valeurs de paramètres (par exemple « : » est pas échappé)

.

Merci beaucoup!

Était-ce utile?

La solution

Davka,

Oui, les valeurs des paramètres peut être échappé en entourant la valeur des guillemets doubles. Les valeurs des paramètres doivent être échappés si elles contiennent l'un des caractères suivants:

; - semicolon
: - colon
, - comma

Il est illégal d'avoir un caractère guillemet de " à l'intérieur des valeurs de paramètres, elles doivent donc être supprimés (ou autrement retirés de la valeur du paramètre).

Alors, avec votre exemple ci-dessus, la bonne Escaping est la suivante:

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

Notez que la première fois (sans guillemets) : du côlon est rencontré, les moteurs d'analyse syntaxique traitent le reste comme la valeur de la propriété . Il est légal d'utiliser le caractère : du côlon à l'intérieur des valeurs de propriété, de sorte que le côlon mailto:jd@some.com n'a pas besoin d'être échappé.

Nous pouvons briser la ligne dans des parties de elle:

  • ORGANIZER - nom de la propriété
  • ; - paramètre delimiter
  • CN - nom du paramètre
  • = - delimiter valeur de paramètre
  • "John Doe,Eng" - valeur du paramètre
  • : - delimiter valeur de la propriété
  • mailto:jd@some.com - valeur de la propriété

Voici une citation de la RFC 5545 section 3.2 qui explique lorsque les valeurs des paramètres sont entourés de guillemets doubles, et nous dit des guillemets doubles sont illégales dans les valeurs des paramètres:

  

valeurs des paramètres de propriété qui contiennent   le côlon, point-virgule, ou COMMA   séparateurs de caractères doivent être spécifiés   comme valeurs de texte entre guillemets simples. Propriété   Les valeurs des paramètres NE DOIVENT PAS contenir les   caractère DQUOTE. le DQUOTE   caractère est utilisé comme séparateur pour   les valeurs de paramètres qui contiennent   caractères restreints ou texte URI.   Par exemple:

     

DESCRIPTION; ALTREP = "cid: part1.0001@example.org": Le   Conférence Fall'98 Assistants sauvages - -   Las Vegas \, NV \, Etats-Unis

Il est important de noter que les paramètres peuvent contenir plusieurs valeurs techniquement. Une virgule est utilisée pour séparer ces valeurs multiples:

(de la section 3.2.11 de la RFC 5545:)

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

Tous les moteurs iCalendar acceptent plusieurs valeurs sur tous les paramètres, mais les paramètres suivants permettent plusieurs valeurs (selon la RFC):

  • MEMBRE
  • DÉLÉGUÉ-DE
  • DÉLÉGUÉ-TO

Cordialement,

-Doug

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top