Pregunta

específicamente, el parámetro CN (nombre común), por ejemplo.

  

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

El RFC es vaga en esto, en mi humilde opinión. Está muy claro acerca de los valores propiedad Tipo texto, pero para este parámetro sólo dice " El valor del parámetro es el texto ". De todas formas, el escape que especifica para el tipo TEXT no parece completa para valores de los parámetros (por ejemplo ':' no está escapado)

.

muchas gracias!

¿Fue útil?

Solución

Davka,

Sí, los valores de los parámetros se puede escapar al rodear el valor entre comillas dobles. valores de los parámetros deben escaparse si contienen cualquiera de los siguientes caracteres:

; - semicolon
: - colon
, - comma

Es ilegal tener un carácter de comillas dobles " dentro de valores de los parámetros, por lo que deben ser borrados (o de otra manera eliminados de la valor de parámetro).

Así que, con su ejemplo anterior, el escape correcta es la siguiente:

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

Tenga en cuenta que una vez que se encontró con el primero (sin comillas) : de colon, los motores de análisis sintáctico tratan a los demás como el valor de la propiedad . Es legal utilizar el carácter : de colon dentro de los valores de propiedad, por lo que no necesita los dos puntos en mailto:jd@some.com ser escapado.

puede romper la línea en sus partes:

  • ORGANIZER - nombre de la propiedad
  • ; - parámetro delimitador
  • CN - nombre del parámetro
  • = - valor del parámetro delimitador
  • "John Doe,Eng" - valor del parámetro
  • : - valor de la propiedad delimitador
  • mailto:jd@some.com - valor de la propiedad

He aquí una cita de RFC 5545 Sección 3.2 explica que cuando los valores de los parámetros están rodeados de comillas dobles, y nos dice entre comillas dobles son ilegales en valores de los parámetros:

  

valores de los parámetros de propiedades que contienen   los dos puntos, punto y coma, o una coma   caracteres de separación, debe especificarse   como valores de texto cita de cadena. Propiedad   valores de los parámetros no debe contener el   DQUOTE carácter. el DQUOTE   carácter se utiliza como un delimitador de   valores de los parámetros que contienen   caracteres restringidos o texto URI.   Por ejemplo:

     

DESCRIPCIÓN; ALTREP = "cid: part1.0001@example.org": La   Fall'98 Conferencia Wizards salvaje - -   Las Vegas \, NV \, EE.UU.

Es importante tener en cuenta que los parámetros pueden contener técnicamente varios valores. Una coma se utiliza para separar estos múltiples valores:

(de la Sección 3.2.11 de RFC 5545:)

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

No todos los motores iCalendar aceptarán múltiples valores en todos los parámetros, pero los siguientes parámetros deben permitir múltiples valores (de acuerdo con el RFC):

  • MIEMBRO
  • DELEGADA-FROM
  • DELEGADA-A

Saludos,

-Doug

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top