2010-06-10 14 views
9

spécifiquement, le paramètre CN (nom commun), par ex.les paramètres de propriété iCal peuvent/devraient être échappés?

ORGANISATEUR, CN = John Doe, ing: mailto: [email protected]

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

merci beaucoup!

Répondre

16

Davka,

Oui, les valeurs des paramètres peuvent être échappés 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 une double citation " caractère à l'intérieur des valeurs de paramètres, elles doivent donc être supprimés (ou autrement retirés de la valeur du paramètre).

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

ORGANIZER;CN="John Doe,Eng":mailto:[email protected] 

Notez qu'une fois le premier (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 signe deux-points mailto:[email protected] n'a pas besoin d'être échappé.

Nous pouvons briser la ligne dans ses parties:

  • ORGANIZER - nom de la propriété
  • ; - delimiter paramètre
  • CN - nom du paramètre
  • = - delimiter valeur du paramètre
  • "John Doe,Eng" - valeur du paramètre
  • : - delimiter valeur la propriété
  • mailto:[email protected] - 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és qui contiennent COLON, ou VIRGULE-VIRGULE séparateurs de caractères doivent être spécifiés comme valeurs de texte entre guillemets simples. La propriété valeurs de paramètre NE DOIT PAS contenir le caractère DQUOTE .Le caractère DQUOTE est utilisé comme délimiteur pour les valeurs de paramètre qui contiennent caractères restreints ou texte URI. Par exemple:

DESCRIPTION; ALTREP = "cid: [email protected]": La Conférence Fall'98 Sorciers sauvages - - Las Vegas \, NV \, Etats-Unis

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

(de la section 3.2.11 de la RFC 5545 :)

ATTENDEE;MEMBER="mailto:[email protected]","mailto:pr 
[email protected]":mailto:[email protected] 

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

  • MEMBRES
  • DELEGATION dE-
  • DELEGUE-TO

Cordialement,

-Doug

+0

merci beaucoup beaucoup pour la réponse détaillée! – davka

+0

Pas de problème - content que je puisse vous aider :) – Doug

+0

Je ne pouvais pas faire en sorte que l'approche par virgule fonctionne dans Outlook 2013 et j'ai fini par spécifier plusieurs lignes ATTENDEE. –