Domanda

In particolare, il (nome comune) del parametro NC, per es.

  

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

La RFC è vago su questo, IMHO. E 'molto chiaro sui valori proprietà di Tipo testo, ma per questo parametro si dice solo " Il valore del parametro è il testo ". In ogni modo, l'escape specificato per il tipo di testo non sembra completo per i valori dei parametri (per esempio ':' non è sfuggito)

.

grazie mille!

È stato utile?

Soluzione

dávka,

Sì, i valori dei parametri può essere sfuggito circondando il valore fra virgolette. I valori dei parametri devono essere sfuggiti se contengono uno dei seguenti caratteri:

; - semicolon
: - colon
, - comma

E 'illegale avere un carattere doppio apice " dentro i valori dei parametri, per cui dovrebbero essere cancellati (o altrimenti rimossi dal valore del parametro).

Quindi, con il tuo esempio di cui sopra, la fuga giusta è questa:

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

Si noti che una volta che si incontra il primo (non quotate) : del colon, i motori di parsing trattano il resto come il il valore della proprietà . E 'legale utilizzare il carattere due punti : dentro i valori delle proprietà, così i due punti in mailto:jd@some.com non ha bisogno di essere sfuggito.

Si può rompere la linea in sue parti:

  • ORGANIZER - nome della proprietà
  • ; - parametro delimitatore
  • CN - nome del parametro
  • = - valore del parametro delimitatore
  • "John Doe,Eng" - valore di parametro
  • : - valore della proprietà delimitatore
  • mailto:jd@some.com - valore della proprietà

Ecco una citazione da RFC 5545 sezione 3.2 che spiega quando i valori dei parametri sono circondati da virgolette, e ci dice virgolette sono illegali in valori dei parametri:

  

i valori dei parametri di proprietà che contengono   il COLON, punto e virgola o virgola   separatori di caratteri devono essere specificati   come valori di testo citato-stringhe. Proprietà   i valori dei parametri non devono contenere la   carattere DQUOTE. il DQUOTE   carattere viene utilizzato come delimitatore per   valori dei parametri che contengono   caratteri limitati o testo URI.   Ad esempio:

     

Descrizione; ALTREP = "cid: part1.0001@example.org": il   Fall'98 selvaggio Wizards Conference - -   Las Vegas \, NV \, Stati Uniti d'America

E 'importante notare che i parametri possono tecnicamente contenere più valori. Una virgola viene utilizzato per separare questi valori multipli:

(dalla sezione 3.2.11 di RFC 5545:)

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

Non tutti i motori di iCalendar accetteranno più valori su tutti i parametri, ma i seguenti parametri devono consentire valori multipli (secondo la RFC):

  • membro
  • DELEGATI DA-
  • DELEGATI-TO

Saluti,

-Doug

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top