Elementi comuni: "Tipi"

Introduzione

Spesso è utile per i servizi che usano le API di dati di Google essere in grado di fornire un insieme coerente di informazioni su un particolare tipo di elemento.

Ad esempio, vari servizi API di dati di Google (o "GData") potrebbero fornire dati di contatto per una persona o un'organizzazione; è opportuno che tutti questi servizi utilizzino lo stesso insieme di elementi di dati di contatto.

La raccolta di elementi che insieme descrivono un contatto è denominata "Contatto". Alcuni elementi nel tipo di contatto sono normali elementi Atom o RSS; altri sono definiti da Google in uno spazio dei nomi chiamato "spazio dei dati Google". Per convenzione, lo spazio dei nomi Google Data viene di solito indicato nel codice XML utilizzando l'alias gd:; ad esempio, l'elemento che contiene un numero di telefono o di fax è <gd:phoneNumber>. L'URL dello schema per lo spazio dei dati Google Data è http://schemas.google.com/g/2005.

Google definisce anche altri tipi: Evento (una raccolta di elementi standardizzati che insieme rappresentano un evento nel calendario) e Messaggio (una raccolta di elementi che rappresentano un messaggio email, la pubblicazione di un gruppo di discussione o un altro messaggio).

Alcuni elementi dello spazio dei dati di Google Data vengono utilizzati in più tipi. Ad esempio, l'elemento <gd:who> associa una persona (descritta nella sezione <gd:who>) alla voce che contiene l'elemento <gd:who>. Questo elemento viene utilizzato nel tipo Evento per specificare organizzatori, partecipanti e così via. Viene inoltre utilizzato nel tipo di messaggio per specificare mittenti e destinatari.

Quando una voce in un feed dell'API di dati di Google utilizza un determinato tipo, contiene un elemento <atom:category> con l'attributo scheme impostato su "http://schemas.google.com/g/2005#kind" e l'attributo term impostato sul nome dell'URL dello schema seguito dal nome del tipo. Ad esempio, una voce di contatto include il seguente elemento:

<atom:category scheme="http://schemas.google.com/g/2005#kind"
  term="http://schemas.google.com/g/2005#contact"/>

Ciò consente ai client di determinare in modo facile e veloce il tipo di dati contenuti nella voce, ovvero la semantica della voce. Se preferisci, puoi utilizzare RSS anziché Atom. Consulta il documento di riferimento protocollo per gli elementi RSS corrispondenti agli elementi Atom.

Questo documento è un riferimento per alcuni tipi comuni e gli elementi che contengono.

Elementi non documentati

Non includiamo le informazioni sugli elementi standard di <atom:entry> nei tipi con tali significati. Ad esempio, <atom:id>, <atom:published> e <atom:updated> hanno tutti il significato standard quando vengono visualizzati in tipi diversi.

Inoltre, non includiamo informazioni sugli elementi Atom standard che sarebbero privi di significato nel contesto specificato. Ad esempio, <atom:summary> non viene utilizzato nel tipo di contatto e, sebbene <atom:author> sia un elemento obbligatorio in una voce (a meno che non sia specificato nel feed principale), non ha un significato utile nel tipo di contatto.

Creazione di tipi

Potrebbe essere difficile capire esattamente quali informazioni devi includere quando crei una voce di un determinato tipo, soprattutto perché alcuni elementi includono altri tipi.

Un approccio che potrebbe essere utile è utilizzare le librerie client da noi fornite, piuttosto che cercare di costruire manualmente i tipi. Le librerie client offrono vari metodi per aggiungere e modificare i dati in una voce di un determinato tipo; consulta la documentazione della libreria client per ulteriori dettagli.

Estensibilità

Le informazioni contenute in questo documento non coprono tutte le possibili proprietà e i valori degli attributi per ciascun tipo. I servizi possono estendere i tipi, pertanto un determinato servizio può utilizzare proprietà e valori non inclusi in questo documento.

Convenzioni tipografiche

Nelle tabelle di questo documento, utilizziamo le seguenti convenzioni per gli elementi obbligatori e facoltativi:

NomeElemento Elemento obbligatorio
nomeelemento? Elemento facoltativo
nomeelemento* Elemento facoltativo, più istanze consentite

Gli elementi e gli attributi sono presentati in notazione XPath standard.

Tipo di contatto

Rappresenta un contatto: una persona, una sede come un club, un ristorante o un'organizzazione.

Elemento categoria: <atom:category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>

Proprietà

Proprietà Descrizione
atom:category* Categorie. Le istanze con l'attributo @label vengono trattate come tag. Per informazioni sull'utilizzo dell'attributo @scheme, consulta la nota all'inizio di questa sezione.
atom:content Note sul contatto.
atom:link* Link alle informazioni correlate. Nello specifico, atom:link[@rel='alternate'] rimanda a una pagina HTML che descrive il contatto.
atom:title Il nome del contatto.
gd:email* Indirizzi email.
gd:im* Indirizzi IM.
gd:phoneNumber* Numeri di telefono e fax.
gd:postalAddress* Indirizzi postali.
gd:organization* Organizzazione
gd:extendedProperty* Proprietà estesa.
gContact:groupMembershipInfo* Informazioni sull'iscrizione a gruppi.
gd:deleted* Stato della voce di contatto eliminata.

Esempi

<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005'>
  <category scheme='http://schemas.google.com/g/2005#kind' 
      term='http://schemas.google.com/contact/2008#contact'/>
  <title>Elizabeth Bennet</title>
  <content>My good friend, Liz.  A little quick to judge sometimes, but nice girl.</content>
  <gd:email rel='http://schemas.google.com/g/2005#work' primary='true' address='liz@gmail.com'/>
  <gd:email rel='http://schemas.google.com/g/2005#home' address='liz@example.org'/>
  <gd:phoneNumber rel='http://schemas.google.com/g/2005#work' primary='true'>
    (206)555-1212
  </gd:phoneNumber>
  <gd:phoneNumber rel='http://schemas.google.com/g/2005#home'>
    (206)555-1213
  </gd:phoneNumber>
  <gd:phoneNumber rel='http://schemas.google.com/g/2005#mobile'>
    (206) 555-1212
  </gd:phoneNumber>
  <gd:im rel='http://schemas.google.com/g/2005#home' 
      protocol='http://schemas.google.com/g/2005#GOOGLE_TALK' 
      address='liz@gmail.com'/>
  <gd:postalAddress rel='http://schemas.google.com/g/2005#work' primary='true'>
    1600 Amphitheatre Pkwy 
    Mountain View, CA 94043
  </gd:postalAddress>
  <gd:postalAddress rel='http://schemas.google.com/g/2005#home'>
    800 Main Street
    Mountain View, CA 94041
  </gd:postalAddress>
  <gd:organization>
    <gd:orgName>Google, Inc.</gd:orgName>
    <gd:orgTitle>Tech Writer</gd:orgTitle>
  </gd:organization>
</entry>

Tipo di evento

Rappresenta un evento nel calendario. La posizione dell'evento è rappresentata da un tipo di contatto incorporato in (o collegato da) un elemento <gd:where>; gli organizzatori e i partecipanti all'evento sono rappresentati come tipi di contatti incorporati negli elementi <gd:who> (o da questi collegati).

Elemento categoria: <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#event"/>

Proprietà

Proprietà Descrizione
atom:author Persona che ha creato questo evento.
atom:category* Categorie. Le istanze con l'attributo @label vengono trattate come tag. Per informazioni sull'utilizzo dell'attributo @scheme, consulta la nota all'inizio di questa sezione.
atom:content Descrizione più lunga dell'evento.
atom:link* Link. Nello specifico, atom:link[@rel='alternate'] fornisce un link a una pagina HTML che descrive l'evento.
atom:title Breve titolo dell'evento.
gd:comments? Feed dei commenti.
gd:eventStatus? Enum estensibile documentato di seguito.
gd:recurrence? Regola di ricorrenza.
gd:transparency? Enum estensibile documentato di seguito, corrispondente alla proprietà TRANSP definita nella RFC 2445.
gd:visibility? Enum estensibile documentato di seguito.
gd:when* Ora evento. Gli attributi startTime e endTime devono essere entrambi impostati, anche se per gli eventi che durano tutto il giorno sono solo date, senza orari.
gd:when/gd:reminder* Promemoria per l'evento.
gd:where* Luogo dell'evento o necessità nelle vicinanze, come il parcheggio. Se è specificato un elemento <gd:where> a livello di feed, ma non è presente alcun elemento <gd:where> a livello di voce, le voci ereditano il valore <gd:where> a livello di feed.
gd:who* Persone associate all'evento: organizzatore, partecipanti, relatori, artisti e così via
gd:who/gd:attendeeStatus? Stato di accettazione.
gd:who/gd:attendeeType? Tipo di partecipante: required o optional.

Valori rel per gd:dove

valore rel Descrizione
http://schemas.google.com/g/2005#event o non specificato. Luogo in cui si svolge l'evento.
http://schemas.google.com/g/2005#event.alternate Una località secondaria. Ad esempio, un sito remoto con un link alla videoconferenza al sito principale.
http://schemas.google.com/g/2005#event.parking Parcheggio nelle vicinanze.

Valori gd:eventStatus

Valore Descrizione
http://schemas.google.com/g/2005#event.canceled L'evento è stato annullato.
http://schemas.google.com/g/2005#event.confirmed L'evento è pianificato.
http://schemas.google.com/g/2005#event.tentative L'evento è programmato solo in modo provvisorio.

Valori gd:visibilità

Valore Descrizione
http://schemas.google.com/g/2005#event.confidential Consenti ad alcuni lettori di vedere l'evento.
http://schemas.google.com/g/2005#event.default Eredita il comportamento dalle preferenze del proprietario del calendario in cui viene visualizzato l'evento.
http://schemas.google.com/g/2005#event.private Consenti a un numero inferiore di lettori di vedere l'evento.
http://schemas.google.com/g/2005#event.public Consenti alla maggior parte dei lettori di vedere l'evento.

Valori gd:trasparenza

Valore Descrizione
http://schemas.google.com/g/2005#event.opaque Indica che l'evento consuma tempo nel calendario; l'ora dell'evento viene contrassegnata come occupato in una ricerca disponibile/occupato.
http://schemas.google.com/g/2005#event.transparent Indica che l'evento non occupa tempo nel calendario; l'orario dell'evento non verrà contrassegnato come occupato in una ricerca disponibile/occupato.

Esempi

Riunione:

<entry xmlns:gd="http://schemas.google.com/g/2005">
  <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#event"/>
  <id>http://mycal.example.com/feeds/jo/home/full/e1a2af06df8a563edf9d32ec9fd61e03f7f3b67b</id>
  <published>2005-01-18T21:00:00Z</published>
  <updated>2006-01-01T00:00:00Z</updated>
  <title>Discuss BazMat API</title>
  <content>We will discuss integrating GData with BazMat.</content>
  <author>
    <name>Jo March</name>
    <email>jo@example.com</email>
  </author>
  <gd:when startTime='2005-01-18T21:00:00Z' endTime='2005-01-18T22:00:00Z'>
    <gd:reminder minutes='15'/>
  </gd:when>
  <gd:where valueString='Building 41, Room X'/>
  <gd:eventStatus value="http://schemas.google.com/g/2005#event.confirmed"/>
  <gd:visibility value="http://schemas.google.com/g/2005#event.public"/>
  <gd:transparency value="http://schemas.google.com/g/2005#event.transparent"/>
</entry>

Evento online:

<entry xmlns:gd="http://schemas.google.com/g/2005">
  <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#event"/>
  <id>http://mycal.example.com/feeds/jo/home/full/982307e797979879a</id>
  <published>2005-01-18T21:00:00Z</published>
  <updated>2006-01-01T00:00:00Z</updated>
  <title>Online Chess Tournament</title>
  <content/>
  <author>
    <name>Jo March</name>
    <email>jo@example.com</email>
  </author>
  <gd:when startTime='2006-01-24T19:00:00-08:00' endTime='2006-01-24T20:00:00-08:00'>
    <gd:reminder minutes='15'/>
  </gd:when>
  <gd:where>
    <gd:entryLink>
      <entry>
        <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#contact"/>
        <id>http://contacts.example.com/jo/GamePhannz</id>
        <published>2005-01-18T21:00:00Z</published>
        <updated>2006-01-01T00:00:00Z</updated>
        <title>GamePhannz Online Game Server</title>
        <link rel="http://schemas.google.com/g/2005#onlineLocation" type="text/html" href="http://gamephannz.example.com/chess/138fd87e"/>
        <content/>
      </entry>
    </gd:entryLink>
  </gd:where>
  <gd:eventStatus value="http://schemas.google.com/g/2005#event.confirmed"/>
  <gd:visibility value="http://schemas.google.com/g/2005#event.public"/>
  <gd:transparency value="http://schemas.google.com/g/2005#event.transparent"/>
</entry>

Tipo di messaggio

Rappresenta un messaggio, ad esempio un'email, la pubblicazione di un gruppo di discussione o un commento.

Elemento categoria: <atom:category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#message"/>

Proprietà

Proprietà Descrizione
atom:category* Categorie. Le istanze con l'attributo @label vengono trattate come tag. Per informazioni sull'utilizzo dell'attributo @scheme, consulta la nota all'inizio di questa sezione. Per informazioni sull'utilizzo dell'attributo @term, consulta la tabella seguente.
atom:content Corpo del messaggio.
atom:link* Allegati dei messaggi. In particolare, per caricare un allegato, utilizza <link rel="enclosure"> e inserisci i contenuti dell'allegato in una raccolta di contenuti multimediali Atom.
atom:title Oggetto del messaggio.
gd:geoPt? Posizione geografica da cui è stato pubblicato il messaggio.
gd:rating? Valutazione della qualità (come definita dall'applicazione).
gd:who* Persone associate a questo messaggio. La semantica esatta dipende dal valore @rel. Consulta la tabella di seguito.

Valori della categoria @term

Tutte le categorie seguenti sono nello schema http://schemas.google.com/g/2005.

Termine Descrizione
http://schemas.google.com/g/2005#message.chat Il messaggio è la trascrizione di una sessione di chat.
http://schemas.google.com/g/2005#message.inbox Il messaggio è contrassegnato come appartenente alla Posta in arrivo.
http://schemas.google.com/g/2005#message.sent Il messaggio viene contrassegnato come inviato.
http://schemas.google.com/g/2005#message.spam Il messaggio è considerato spam.
http://schemas.google.com/g/2005#message.starred Il messaggio è contrassegnato come speciale.
http://schemas.google.com/g/2005#message.unread Il messaggio è da leggere.

Valori rel per gd:who

Proprietà Descrizione
http://schemas.google.com/g/2005#message.bcc Messaggio destinatario in Ccn.
http://schemas.google.com/g/2005#message.cc Messaggio Cc destinatario.
http://schemas.google.com/g/2005#message.from Mittente di messaggi (email o IM).
http://schemas.google.com/g/2005#message.reply-to Destinatari previsti di un messaggio di risposta.
http://schemas.google.com/g/2005#message.to Messaggio destinatario principale.

Esempio

Messaggio email:

<entry xmlns:gd="http://schemas.google.com/g/2005">
  <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#message"/>
  <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#message.sent"/>
  <author>
    <name>Jo March</name>
    <email>jo@example.com</email>
  </author>
  <id>http://mymail.example.com/feeds/jo/home/full/e1a2af06df8a563edf9d32ec9fd61e03f7f3b67b</id>
  <published>2006-01-18T21:00:00Z</published>
  <updated>2006-01-18T21:00:00Z</updated>
  <title>Re: Info?</title>
  <content>Hi, Fritz -- The information you're looking for is on p. 47.</content>
  <gd:who rel="http://schemas.google.com/g/2005#message.from">
    <gd:entryLink href="http://contacts.example.com/jo/Jo"/>
  </gd:who>
  <gd:who rel="http://schemas.google.com/g/2005#message.to">
    <gd:entryLink href="http://contacts.example.com/fritzb/FritzB"/>
  </gd:who>
</entry>

Riferimento per l'elemento dello spazio dei nomi di Google Data

Il resto del documento è costituito da un materiale di riferimento per gli elementi usati dai tipi.

Enum

Alcuni elementi estensione devono specificare proprietà i cui valori provengono da un insieme enumerato. La forma generale di queste proprietà è:

<gd:propertyName value="propertyValue">

Se il valore della proprietà proviene dallo spazio dei nomi dei dati di Google, ha il formato http://schemas.google.com/g/2005#{kind}.{value}. Ad esempio: http://schemas.google.com/g/2005#event.tentative. Se lo spazio dei valori è estensibile, i valori possono assumere anche la forma di un URI. Il formato consigliato per gli URI con valore esteso è {schema URI}#{value}. Ad esempio: http://www.example.com/attendeeStatus#AudioConference.

gEnumConstruct =
   attribute value { text },
   anyAttribute*

Proprietà gdCommon

Proprietà comuni utilizzate per tutti i tipi di Google. Tieni presente che la presenza di anyAttribute e anyElement nello schema consente di estendere ulteriormente in tutti gli spazi dei nomi tutti gli elementi dello spazio dei nomi di dati Google che utilizzano proprietà comuni. In particolare, è consentito nidificare qualsiasi elemento gd o Atom/RSS in qualsiasi altro elemento gd. Queste operazioni devono essere eseguite con giudizio e nella maggior parte dei casi tale utilizzo deve essere documentato come proprietà esplicita del tipo di elemento gd contenitore.

Proprietà

Proprietà Tipo Descrizione
@xml:base uri Costrutto XML standard per la descrizione della base di URI relativi nidificati.
@xml:lang text Lingua delle stringhe nidificate.

Schema

namespace gd = "http://schemas.google.com/g/2005"

gdCommonProperties = {
   atomCommonAttributes,
   anyAttribute*,
   (anyElement*)
}

gd:comments

Contiene un feed dei commenti per la voce che lo contiene (ad esempio un evento nel calendario).

Proprietà

Proprietà Tipo Descrizione
@rel? string Il tipo di commenti contenuti al suo interno. Al momento c'è una distinzione tra commenti regolari e recensioni.
gd:feedLink? feedLink Feed dei commenti. Questo feed deve implementare il tipo Messaggio.

valori rel

Valore Descrizione
http://schemas.google.com/g/2005#regular o non specificati Commenti regolari (da parte degli utenti).
http://schemas.google.com/g/2005#reviews Recensioni professionali.

Esempi

Feed dei commenti:

<gd:comments>
  <gd:feedLink href="http://example.com/Jo/posts/MyFirstPost/comments" countHint="10">
    <feed>
      <id>http://example.com/Jo/posts/MyFirstPost/comments</id>
      <title>My first post: comments</title>
      ...
      <entry>
         ...
         <content>Good post.</content>
      </entry>
      <entry>
         ...
      </entry>
      ...
    </feed>
  </gd:feedLink>
</gd:comments>

Feed delle recensioni:

<gd:comments rel="http://schemas.google.com/g/2005#reviews">
  <gd:feedLink href="http://example.com/restaurants/SanFrancisco/432432/reviews" countHint="25">
    <feed>
      <id>http://example.com/restaurants/SanFrancisco/432432/reviews</id>
      <title>La Folie reviews</title>
      ...
      <entry>
         ...
         <content>Good food.</content>
         <gd:rating value="5" min="1" max="5"/>
      </entry>
      <entry>
         ...
      </entry>
      ...
    </feed>
  </gd:feedLink>
</gd:comments>

Schema

start = comments

comments =
   element gd:comments {
      gdCommonProperties,
      attribute rel { xs:string }?,
      (feedLink?)
   }

gd:eliminato

Un elemento indicatore che, se presente, indica che la voce contenitore è stata eliminata.

Proprietà

Nessuna.

Schema

start = deleted

deleted =
   element gd:deleted

gd:email

Un indirizzo email associato all'entità contenitore (che in genere è un'entità che rappresenta una persona o una località).

Proprietà

Proprietà Tipo Descrizione
@address xs:string Indirizzo email.
@label? xs:string Un semplice valore di stringa utilizzato per assegnare un nome a questo indirizzo email. Consente alle interfacce utente di visualizzare un'etichetta come "Lavoro", "Personale", "Preferito" e così via.
@rel? xs:string Un valore programmatico che identifica il tipo di email; vedi di seguito per i dettagli.
@primary? xs:boolean Quando in un tipo di contatto vengono visualizzate più estensioni email, indica qual è quella principale. Al massimo un indirizzo email può essere principale. Il valore predefinito è "false".

valori rel

Valore Descrizione
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#other Un indirizzo email di casa o lavoro. label può essere utilizzato per indicare il tipo effettivo.
http://schemas.google.com/g/2005#work

Esempi

<gd:email address="foo@bar.example.com"/>
<gd:email label="Personal" rel="http://schemas.google.com/g/2005#home" address="fubar@gmail.com" primary="true"/>

Schema

start = email

email =
   element gd:email {
      attribute address { xs:string },
      attribute label { xs:string }?,
      attribute rel { xs:string }?,
      attribute primary { xs:boolean }?
   }

gd:entryLink

Rappresenta una voce logicamente nidificata. Ad esempio, un elemento <gd:who> che rappresenta un contatto potrebbe avere una voce nidificata di un feed contatti.

Proprietà

Proprietà Tipo Descrizione
@href? xs:string Specifica l'URI della voce. Se la voce nidificata è incorporata e non è collegata, questo attributo potrebbe essere omesso.
@readOnly? xs:boolean Specifica se la voce contenuta è di sola lettura. Il valore predefinito è "false".
@rel? xs:string Specifica la relazione di collegamento; consente al servizio di fornire più tipi di link di inserimento per una singola entità. Ha la stessa semantica e i valori consentiti dell'attributo rel dell'elemento <atom:link>.
atom:entry? atomEntry Contenuti della voce.

Restrizioni

  • Devono essere presenti @href o <atom:entry>.
  • Se atom:entry non è presente, il client può recuperare i contenuti dall'URI della voce in @href. Se atom:entry è presente, i contenuti devono essere uguali a quelli che verrebbero recuperati da @href al momento della generazione della voce.
  • Quando PUT o POST contengono un attributo <gd:entryLink> e viene specificato l'attributo @href, il valore dell'attributo viene utilizzato per creare un collegamento; se è presente anche l'elemento atom:entry, viene ignorato. Se l'attributo @href non è specificato, l'elemento atom:entry viene memorizzato come voce incorporata o memorizzato in un altro feed e collegato. Tieni presente che alcuni servizi potrebbero non supportare tutte queste opzioni.

Esempi

Dati di contatto all'interno di <gd:who>:

<gd:who rel="http://schemas.google.com/g/2005#event.attendee" valueString="Jo">
  <gd:entryLink href="http://gmail.com/jo/contacts/Jo">
    <entry>
      <category scheme="http://schemas.google.com/g/2005#kind"
        term="http://schemas.google.com/g/2005#contact"/>
      <id>http://gmail.com/jo/contacts/Jo</id>
      <category term="user-tag" label="Google"/>
      <title>Jo March</title>
      <gd:email address="jo@example.com"/>
      <gd:phoneNumber label="work">(650) 555-1212</gd:phoneNumber>
    </entry>
  </gd:entryLink>
</gd:who>

Solo riferimento esterno (ingresso di sola lettura):

<gd:who rel="http://schemas.google.com/g/2005#event.attendee" valueString="Jo">
  <gd:entryLink href="http://gmail.com/jo/contacts/Jo" readOnly="true"/>
</gd:who>

Schema

start = entryLink

entryLink =
   element gd:entryLink {
      attribute href { xs:string }?,
      attribute readOnly { xs:boolean }?,
      (atomEntry?)
   }

gd:extendedProperty

Consente di archiviare una quantità limitata di dati personalizzati come proprietà ausiliaria dell'entità che lo contiene.

Tieni presente che la presenza di anyForeignElement consente al feed di incorporare facoltativamente qualsiasi codice XML valido nell'elemento gd:extendedProperty (che si escludono a vicenda con l'attributo value).

Proprietà

Proprietà Tipo Descrizione
@name xs:string Specifica il nome della proprietà espresso come URI. In genere, gli URI estesi della proprietà seguono la convenzione {scheme}#{local-name}.
@value? xs:string Valore della proprietà.

Esempio

Un identificatore esterno per un evento nel calendario:

<gd:extendedProperty name="http://www.example.com/schemas/2007#mycal.id"
  value="1234"></gd:extendedProperty> 

XML aggiuntivo per la voce di contatto

<gd:extendedProperty name="com.google">
  <some_xml>value</some_xml>
</gd:extendedProperty>

Schema

start = extendedProperty

extendedProperty =
   element gd:extendedProperty {
      attribute name { xs:string },
      attribute value { xs:string } ?,
      (anyForeignElement*)
   }

gd:link link

Rappresenta un feed nidificato logicamente. Ad esempio, un feed del calendario potrebbe avere un feed nidificato che rappresenta tutti i commenti sulle voci.

Proprietà

Proprietà Tipo Descrizione
@countHint? xs:unsignedInt Suggerimenti per il numero di voci nel feed. A seconda dell'implementazione, potrebbe non essere un conteggio preciso.
@href? xs:string Specifica l'URI del feed. Se il feed nidificato è incorporato e non collegato, questo attributo potrebbe essere omesso.
@readOnly? xs:boolean Specifica se il feed contenuto è di sola lettura.
@rel? xs:string Specifica la relazione di link; consente al servizio di fornire più tipi di link di feed per una singola entità. Ha la stessa semantica e i valori consentiti dell'attributo rel dell'elemento <atom:link>.
atom:feed? atomFeed Contenuti del feed.

Restrizioni

  • Devono essere presenti @href o <atom:feed>.
  • Se atom:feed non è presente, il client può recuperare i contenuti dall'URI in @href. Se è presente, il contenuto deve corrispondere a quello che verrebbe recuperato da @href al momento della generazione del feed.
  • Quando un PUT o un POST contiene un <gd:feedLink> e viene specificato l'attributo @href, il valore dell'attributo viene utilizzato per creare un collegamento; se è presente anche l'elemento <atom:feed>, viene ignorato. Se l'attributo @href non è specificato, l'elemento <atom:feed> viene archiviato come feed incorporato. Tieni presente che alcuni servizi potrebbero non supportare tutte queste opzioni.

Esempi

Blog:

<gd:feedLink href="http://example.com/Jo/posts/MyFirstPost/comments" countHint="10">
    <feed>
      <id>http://example.com/Jo/posts/MyFirstPost/comments</id>
      <title>My first post: comments</title>
      ...
      <entry>
         ...
         <content>Good post.</content>
      </entry>
      <entry>
         ...
      </entry>
      ...
    </feed>
  </gd:feedLink>

Solo riferimenti esterni:

<gd:feedLink href="http://example.com/Jo/posts/MyFirstPost/comments"
            countHint="10"/>

Feed incorporato in una voce Atom che rappresenta un elenco:

<gd:feedLink>
  <feed>
    <id>cid:1</id>
    <entry>
       <id>cid:1.1</id>
       <content>list item 1</content>
    </entry>
    <entry>
       <id>cid:1.2</id>
       <content>list item 2</content>
    </entry>
  </feed>
</gd:feedLink>

Schema

start = feedLink

feedLink =
   element gd:feedLink {
      attribute href { xs:string }?,
      attribute readOnly { xs:boolean }?,
      attribute countHint { xs:unsignedInt }?,
      (atomFeed?)
   }

gd:geoPt

Una località geografica (longitudine, longitudine, altitudine).

Deprecato. Questo elemento è deprecato. Per i dati di geotagging, utilizza invece GeoRSS.

Proprietà

Proprietà Tipo Descrizione
@elev? xs:float Altitudine in metri. I valori negativi indicano profondità al di sotto del livello medio del mare.
@label? xs:string Un semplice valore di stringa utilizzato per assegnare un nome a questa località. Consente all'interfaccia utente di visualizzare un'etichetta come "Posizione corrente".
@lat xs:float Latitudine in gradi. Valori positivi indicano il nord, valori negativi indicano il sud. L'intervallo è [-90.0, 90.0].
@lon xs:float Longitudine in gradi. Valori positivi corrispondono a est, valori negativi a ovest. L'intervallo è [-180.0, 180.0].
@time? xs:dateTime Timestamp.

Esempi

<gd:geoPt lat="40.75" lon="-74.0"/>
<gd:geoPt lat="27.98778" lon="86.94444" elev="8850.0"/>

Schema

start = geoPt

geoPt =
   element gd:geoPt {
      attribute label { xs:string }?,
      attribute lat { xs:float },
      attribute lon { xs:float },
      attribute elev { xs:float }?,
      attribute time { xs:dateTime }?
   }

gd:im

Un indirizzo di messaggistica immediata associato all'entità contenitore.

Proprietà

Proprietà Tipo Descrizione
@address xs:string Indirizzo IM.
@label? xs:string Un semplice valore di stringa utilizzato per assegnare un nome a questo indirizzo IM. Consente alle interfacce utente di visualizzare un'etichetta come "Lavoro", "Personale", "Preferito" e così via.
@rel? xs:string Un valore programmatico che identifica il tipo di messaggistica immediata; vedi di seguito per i dettagli.
@protocol? xs:string Identifica la rete di messaggistica immediata. Il valore può essere uno dei valori standard (mostrati di seguito) o un URI che identifica una rete IM proprietaria.
@primary? xs:boolean Quando in un tipo di contatto vengono visualizzate più estensioni IM, indica quella principale. Può essere al massimo un IM. Il valore predefinito è "false".

valori rel

Valore Descrizione
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#other Un indirizzo IM diverso da casa o lavoro. label può essere utilizzato per indicare il tipo effettivo.
http://schemas.google.com/g/2005#work

valori degli attributi di protocollo

La seguente tabella mostra alcuni possibili valori per l'attributo @protocol.

Valore Descrizione
http://schemas.google.com/g/2005#AIM Protocollo AOL di Messenger istantaneo
http://schemas.google.com/g/2005#MSN Protocollo MSI Messenger
http://schemas.google.com/g/2005#YAHOO Protocollo Yahoo Messenger
http://schemas.google.com/g/2005#SKYPE Protocollo Skype
http://schemas.google.com/g/2005#QQ Protocollo QQ
http://schemas.google.com/g/2005#GOOGLE_TALK Protocollo di Google Talk
http://schemas.google.com/g/2005#ICQ Protocollo ICQ
http://schemas.google.com/g/2005#JABBER Protocollo Jabber

Esempi

Un indirizzo IM per MySQL Messenger:

<gd:im protocol="http://schemas.google.com/g/2005#MSN" address="foo@bar.msn.com" rel="http://schemas.google.com/g/2005#home" primary="true"/>

Un indirizzo IM fornito dall'utente con un protocollo non specificato. Un indirizzo di questo tipo è utile per la visualizzazione, ma è difficile da gestire in modo programmatico.

<gd:im label="Other" address="foo@baz.example.com"/>

Schema

start = im

im =
   element gd:im {
      attribute address { xs:string },
      attribute label { xs:string }?,
      attribute rel { xs:string }?,
      attribute protocol { xs:string }?,
      attribute primary { xs:boolean }?
   }

gd:organizzazione

Un'organizzazione, generalmente associata a un contatto.

Proprietà

Proprietà Tipo Descrizione
@label? xs:string Un semplice valore stringa utilizzato per assegnare un nome a questa organizzazione. Consente alle interfacce utente di visualizzare un'etichetta come "Lavoro", "Volontario", "Società professionale" e così via.
@rel? xs:string Un valore programmatico che identifica il tipo di organizzazione.
@primary? xs:boolean Quando in un tipo di contatto vengono visualizzate più estensioni dell'organizzazione, indica quella principale. Può essere al massimo un'organizzazione principale. Il valore predefinito è "false".
gd:orgName? orgName Il nome dell'organizzazione.
gd:orgTitle? orgTitle Il titolo di una persona all'interno dell'organizzazione.

valori rel

Valore Descrizione
http://schemas.google.com/g/2005#other Un'organizzazione che non funziona. label può essere utilizzato per indicare il tipo effettivo.
http://schemas.google.com/g/2005#work

Esempi

<gd:organization rel="http://schemas.google.com/g/2005#work" label="Work" primary="true"/>
  <gd:orgName>Google, Inc.</gd:orgName>
  <gd:orgTitle>Tech Writer</gd:orgTitle>
</gd:organization>

Schema

start = organzation

organization =
   element gd:organization {
      attribute label { xs:string }?,
      attribute rel { xs:string }?,
      attribute primary { xs:boolean }?
      orgName?,
      orgTitle?,
   }

gd:orgNome

Il nome dell'organizzazione. Deve apparire all'interno di un elemento gd:organization.

Esempio

<gd:orgName>Google, Inc.</gd:orgName>

Schema

start = orgName

orgName =
   element gd:orgName { xs:string }

gd:orgTitolo

Il titolo di una persona all'interno di un'organizzazione. Deve apparire all'interno di un elemento gd:organization.

Esempio

<gd:orgTitle>President and CEO</gd:orgTitle>

Schema

start = orgTitle

orgTitle =
   element gd:orgTitle { xs:string }

gd:originaleEvento

Equivalente alla proprietà ID ricorrenza specificata nella sezione 4.8.4.4 di RFC 2445. Viene visualizzato in ogni istanza di un evento ricorrente per identificare l'evento originale.

Contiene un elemento <gd:when> che specifica l'ora di inizio originale dell'istanza, che è diventata un'eccezione.

Proprietà

Proprietà Tipo Descrizione
@id xs:string L'ID dell'evento originale.
@href xs:string L'URL del feed dell'evento originale.

Esempio

Specificare un evento originale:

<gd:originalEvent id="i8fl1nrv2bl57c1qgr3f0onmgg"

href="http://www.google.com/calendar/feeds/userID/private-magicCookie/full/eventID">
  <gd:when startTime="2006-03-17T22:00:00.000Z"/>
</gd:originalEvent>

Schema

start = originalEvent

originalEvent =
   element gd:originalEvent {
      attribute id { xs:string },
      attribute href { xs:string },
      when
   }

gd:numeroditelefono

Un numero di telefono associato all'entità contenitore (di solito un'entità che rappresenta una persona o una località).

Proprietà

Proprietà Tipo Descrizione
@label? xs:string Un semplice valore della stringa utilizzato per assegnare un nome a questo numero di telefono. Nella maggior parte dei casi, @label non è necessario perché @rel identifica in modo univoco un numero e consente alle UI di visualizzare un'etichetta appropriata come "Dispositivi mobili", "Casa", "Lavoro" e così via. Tuttavia, nel caso in cui una persona abbia (ad esempio) più telefoni cellulari, questa proprietà può essere utilizzata per distinguerli.
@rel? xs:string Un valore programmatico che identifica il tipo di numero di telefono; vedi di seguito per i dettagli.
@uri? xs:string Un "URI telefono" facoltativo, utilizzato per rappresentare il numero in modo formale, utile per l'accesso programmatico, come un bridge VoIP/PSTN. Per ulteriori informazioni sugli URI tel, consulta la pagina RFC 3966.
@primary? xs:boolean Quando in un tipo di contatto vengono visualizzate più estensioni del numero di telefono, viene indicato il tipo principale. È possibile inviare al massimo un numero di telefono. Il valore predefinito è "false".
text() xs:string Numero di telefono leggibile; può essere in formato qualsiasi numero telefonico. Gli spazi vuoti iniziali e finali non sono significativi. Anche le nuove righe nella stringa non sono significative e potrebbero essere rimosse o suddivise in un unico spazio.

valori rel

Valore Descrizione
http://schemas.google.com/g/2005#fax
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#home_fax
http://schemas.google.com/g/2005#mobile
http://schemas.google.com/g/2005#other Un tipo speciale di numero per il quale non ha senso alcun altro valore rel. Ad esempio, un dispositivo TTY. label può essere utilizzato per indicare il tipo effettivo.
http://schemas.google.com/g/2005#pager
http://schemas.google.com/g/2005#work
http://schemas.google.com/g/2005#work_fax

Esempi

Numero di telefono semplice inserito da un utente:

<gd:phoneNumber>(425) 555-8080 ext. 72585</gd:phoneNumber>

Stesso numero di telefono tratto da una directory:

<gd:phoneNumber rel="http://schemas.google.com/g/2005#work" uri="tel:+1-425-555-8080;ext=52585">
  (425) 555-8080 ext. 52585
</gd:phoneNumber>

Numero con un'etichetta:

<gd:phoneNumber rel="http://schemas.google.com/g/2005#mobile" label="Personal calls only" uri="tel:+12065551212">
  +1 206 555 1212
</gd:phoneNumber>

Schema

start = phoneNumber

phoneNumber =
   element gd:phoneNumber {
      attribute rel { xs:string }?,
      attribute label { xs:string }?,
      attribute uri { xs:string }?,
      attribute primary { xs:boolean }?,
      (xs:string)
   }

gd:Indirizzopostale

Un indirizzo postale.

Proprietà

Proprietà Tipo Descrizione
@label? xs:string Un semplice valore di stringa utilizzato per assegnare un nome a questo indirizzo.
@rel? xs:string Un valore programmatico che identifica il tipo di indirizzo postale; vedi di seguito per i dettagli.
@primary? xs:boolean Quando in un tipo di contatto vengono visualizzate più estensioni indirizzo postale, viene indicato il tipo principale. È possibile utilizzare al massimo un indirizzo postale. Il valore predefinito è "false".
text() xs:string L'indirizzo come testo. Gli spazi vuoti iniziali e finali non sono significativi. Le nuove righe nella stringa sono significative.

valori rel

Valore Descrizione
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#other Un indirizzo che non sia né casa né lavoro. label può essere utilizzato per indicare il tipo effettivo.
http://schemas.google.com/g/2005#work

Esempi

<gd:postalAddress>
  500 West 45th Street
  New York, NY 10036
</gd:postalAddress>

Schema

start = postalAddress

postalAddress =
   element gd:postalAddress {
      attribute label { xs:string }?,
      attribute rel { xs:string }?,
      attribute primary { xs:boolean }?,
      (xs:string)
   }

gd:classificazione

Rappresenta una valutazione numerica dell'entità che lo contiene, come un commento. Ogni valutazione ha la propria scala, anche se può essere normalizzata da un servizio, ad esempio alcuni servizi potrebbero convertire tutte le valutazioni in una scala da 1 a 5.

Proprietà

Proprietà Tipo Descrizione
@average? xs:float Valutazione media.
@max xs:int Il valore massimo della scala di valutazione.
@min xs:int Il valore minimo della scala di valutazione.
@numRaters? xs:int Numero di valutazioni prese in considerazione durante il calcolo del valore medio.
@rel? xs:string Specifica l'aspetto che viene valutato. Se non specificata, la valutazione è complessiva.
@value? xs:int Valore di valutazione.

valori rel

Valore Descrizione
http://schemas.google.com/g/2005#overall o non specificati Valutazione complessiva. Valori più alti significano valutazioni migliori.
http://schemas.google.com/g/2005#price Valutazione dei prezzi. Valori più alti indicano prezzi più elevati.
http://schemas.google.com/g/2005#quality Valutazione della qualità. Valori più alti indicano una qualità migliore.

Esempi

Valutazione generale 4/5:

<gd:rating value="4" min="1" max="5"/>

Valutazione della fascia di prezzo più costosa:

<gd:rating rel="http://schemas.google.com/g/2005#price" value="5" min="1" max="5"/>

Valutato da 200 utenti con una valutazione media di 4,65 su 5:

<gd:rating average="4.65" min="1" max="5" numRaters="200"/>

Schema

start = rating

rating =
   element gd:rating {
      gdCommonProperties,
      attribute rel { xs:string }?,
      attribute value { xs:int }?,
      attribute average { xs:float }?,
      attribute min { xs:int },
      attribute max { xs:int },
      attribute numRaters { xs:int }?
   }

gd:ricorrenza

Rappresenta le date e gli orari in cui si svolge un evento ricorrente.

La stringa che definisce la ricorrenza è composta da un insieme di proprietà, ciascuna delle quali è definita nello standard iCalendar (RFC 2445).

In particolare, la stringa solitamente inizia con una proprietà DTSTART che indica l'ora di inizio della prima istanza dell'evento e spesso una proprietà DTEND o una proprietà DURATION per indicare quando termina la prima istanza. Seguono le proprietà RRULE, RDATE, EXRULE e/o EXDATE, che definiscono collettivamente un evento ricorrente e le relative eccezioni (vedi di seguito). (Vedi la sezione 4.8.5 della RFC 2445 per ulteriori informazioni su queste proprietà dei componenti di ricorrenza). Infine, viene fornito un componente VTIMEZONE, che fornisce regole dettagliate per il fuso orario di qualsiasi ID fuso orario menzionato nelle proprietà precedenti.

Generalmente i servizi Google come Google Calendar non generano proprietà EXRULE e EXDATE per rappresentare le eccezioni agli eventi ricorrenti, ma generano elementi <gd:recurrenceException>. Tuttavia, i servizi Google potrebbero comunque includere proprietà EXRULE e/o EXDATE; ad esempio, gli utenti possono importare eventi ed eccezioni in Calendar e, se questi eventi importati contengono proprietà EXRULE o EXDATE, Calendar fornirà queste proprietà quando invia un elemento <gd:recurrence>.

Tieni presente che l'utilizzo di <gd:recurrenceException> significa che non puoi essere certo di aver esaminato un elemento <gd:recurrence> per evitare la presenza di eccezioni alla descrizione della ricorrenza. Per assicurarti di trovare tutte le eccezioni, cerca gli elementi <gd:recurrenceException> nel feed e utilizza gli elementi <gd:originalEvent> per associarli agli elementi <gd:recurrence>.

Proprietà

Proprietà Tipo Descrizione
text() xs:string Descrizione della ricorrenza.

Esempio

Un evento ricorrente che si svolge ogni mattina dalle 6:00 alle 7:00, Ora del Pacifico, dal 14 al 21 marzo 2006:

<gd:recurrence>
  DTSTART;TZID=America/Los_Angeles:20060314T060000
  DURATION:PT3600S
  RRULE:FREQ=DAILY;UNTIL=20060321T220000Z
  BEGIN:VTIMEZONE
  TZID:America/Los_Angeles
  X-LIC-LOCATION:America/Los_Angeles
  BEGIN:STANDARD
  TZOFFSETFROM:-0700
  TZOFFSETTO:-0800
  TZNAME:PST
  DTSTART:19671029T020000
  RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
  END:STANDARD
  BEGIN:DAYLIGHT
  TZOFFSETFROM:-0800
  TZOFFSETTO:-0700
  TZNAME:PDT
  DTSTART:19870405T020000
  RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
  END:DAYLIGHT
  END:VTIMEZONE
</gd:recurrence>

Schema

start = recurrence

recurrence =
   element gd:recurrence {
      (xs:string)
   }

gd:Ripeti eccezione

Rappresenta un evento che è un'eccezione a un evento ricorrente, ovvero un'istanza di un evento ricorrente in cui uno o più aspetti dell'evento ricorrente (come l'elenco delle partecipazioni, l'ora o il luogo) sono stati modificati.

Contiene un elemento <gd:originalEvent> che specifica l'evento ricorrente originale a cui questo evento rappresenta un'eccezione.

Quando modifichi un'istanza di un evento ricorrente, l'istanza diventa un'eccezione. A seconda della modifica apportata all'evento, l'eccezione si comporta in uno di questi due modi quando viene modificato l'evento ricorrente originale:

  • Se aggiungi, modifichi o rimuovi commenti, partecipanti o risposte dei partecipanti, l'eccezione rimane associata all'evento originale, così come le modifiche all'evento originale.
  • Se apporti altre modifiche all'eccezione (ad esempio cambiando l'ora o il luogo), l'istanza diventa "specializzata", il che significa che non è più strettamente associata all'evento originale. Se modifichi l'evento originale, le eccezioni specializzate non cambiano. Ma vedi di seguito.

Ad esempio, supponi di avere una riunione ogni martedì e giovedì alle 14:00. Se modifichi l'elenco delle partecipazioni per questa riunione di giovedì (ma non per la riunione pianificata in modo standard), l'evento diventerà un'eccezione. Se modifichi l'orario per questa riunione di giovedì (ma non per la riunione regolare), la sessione diventa specializzata.

Indipendentemente dal fatto che un'eccezione sia specializzata o meno, se esegui un'operazione che elimina l'istanza da cui è stata derivata, l'eccezione viene eliminata. Tieni presente che la modifica del giorno o dell'ora di un evento ricorrente elimina tutte le istanze e ne crea di nuove.

Ad esempio, dopo aver specializzato la riunione di questo giovedì, supponi di cambiare la riunione ricorrente perché si verifichi lunedì, mercoledì e venerdì. Questa modifica elimina tutte le occorrenze ricorrenti della riunione martedì/giovedì, inclusa quella specializzata.

Se una determinata istanza di un evento ricorrente viene eliminata, l'istanza appare come <gd:recurrenceException> contenente un <gd:entryLink> con <gd:eventStatus> impostato su "http://schemas.google.com/g/2005#event.canceled". Per ulteriori informazioni sugli eventi annullati, consulta RFC 2445.

Proprietà

Proprietà Tipo Descrizione
@specialized xs:boolean Indica se l'eccezione è specializzata o meno.
gd:entryLink entryLink Una voce evento che fornisce i dettagli dell'eccezione.
gd:originalEvent originalEvent L'evento ricorrente originale a cui si tratta di un'eccezione.

Esempio

Un'eccezione a un evento ricorrente (con alcuni elementi sostituiti da brevi identificatori in corsivo per chiarezza):

<gd:recurrenceException specialized="true">
  <gd:entryLink>
    <entry>
      <id>i8fl1nrv2bl57c1qgr3f0onmgg_20060317T220000Z</id>
      <published>2006-03-17T23:00:00.000Z</published>
      <updated>2006-03-14T21:33:12.000Z</updated>
      <category scheme="http://schemas.google.com/g/2005#kind"
        term="http://schemas.google.com/g/2005#event"/>
      <title type="text">recurrence</title>
      <content type="text"/>
      <link rel="alternate" type="text/html"
        href="http://www.google.com/calendar/event?eid=idString"
        title="alternate"/>
      <author>
        <name>exception</name>
      </author>
      <gd:eventStatus
        value="http://schemas.google.com/g/2005#event.confirmed"/>
      <gd:comments>
        <gd:feedLink
            href="http://www.google.com/calendar/feeds/userID/private-magicCookie/full/eventID/comments/">
          <feed>
            <updated>2006-03-14T21:36:23.250Z</updated>
            <title type="text">Comments for: recurrence</title>
            <link rel="alternate" type="text/html"
              href="http://www.google.com/calendar/feeds/userID/private-magicCookie/full/eventID/comments/"
              title="alternate"/>
          </feed>
        </gd:feedLink>
      </gd:comments>
      <gd:transparency
        value="http://schemas.google.com/g/2005#event.opaque "/>
      <gd:originalEvent id="i8fl1nrv2bl57c1qgr3f0onmgg"
          href="http://www.google.com/calendar/feeds/userID/private-magicCookie/composite/eventID">
        <gd:when startTime="2006-03-17T22:00:00.000Z"/>
      </gd:originalEvent>
      <gd:where valueString="Home"/>
      <gd:when startTime="2006-03-17T23:00:00.000Z"
        endTime="2006-03-18T00:00:00.000Z"/>
    </entry>
  </gd:entryLink>
</gd:recurrenceException>

Schema

start = recurrenceException

recurrenceException =
   element gd:recurrenceException {
      attribute specialized { xs:boolean },
      (entryLink
       & originalEvent)
   }

gd:promemoria

Più spesso utilizzato in: <gd:when>

Un intervallo di tempo, che indica il periodo di tempo che deve trascorrere prima dell'attributo @startTime o @dueTime dell'entità contenitore. In alternativa, puoi specificare un'ora assoluta per cui deve essere emesso un promemoria. Specifica anche un metodo di notifica che indica il mezzo che il sistema deve utilizzare per ricordare all'utente.

Proprietà

Proprietà Tipo Descrizione
@absoluteTime? xs:dateTime L'ora in cui deve essere emesso il promemoria. Questa opzione viene generalmente utilizzata quando un utente utilizza una funzione di "posticipazione" per ritardare un promemoria precedente. Se il fuso orario non è specificato, viene utilizzato l'ora locale dell'osservatore.
@method? xs:string Il metodo di notifica da utilizzare nel promemoria. Può avere uno dei seguenti valori: alert (viene visualizzato un avviso quando un utente visualizza il calendario in un browser), email (invia un messaggio email all'utente) o sms (invia un messaggio SMS all'utente).
@days? xs:unsignedInt Periodo di tempo prima del giorno gd:when/@startTime in cui deve essere inviato un promemoria. Se l'ora di destinazione dell'entità padre è una data anziché un'ora specifica, questi attributi sono relativi alla mezzanotte (00:00) di quella data.
@hours? xs:unsignedInt
@minutes? xs:unsignedInt

Quando crei o modifichi una voce <gd:when>, utilizza le seguenti convenzioni per ottenere risultati specifici:

  • Per indicare al servizio di utilizzare i promemoria predefiniti dell'utente, includi un elemento <gd:reminder> senza attributi. Se specifichi una durata ma nessun attributo method, il servizio utilizza i metodi di notifica predefiniti dell'utente con la durata specificata.
  • Non indicare alcun elemento <gd:reminder> per comunicare al servizio di non inviare promemoria per l'evento (o per rimuovere promemoria esistenti durante l'aggiornamento di un evento).

Restrizioni

  • È possibile specificare un massimo di @days, @hours, @minutes o @absoluteTime. Per specificare una durata mista, convertila in unità più precise. Ad esempio, per specificare 1 ora e 30 minuti, utilizza @minutes="90".
  • Non puoi utilizzare valori negativi per gli attributi, quindi se vuoi ricevere un promemoria dopo l'ora di inizio, devi utilizzare @absoluteTime.
  • A un determinato evento non possono essere associati più di cinque promemoria.
  • Quando aggiungi un promemoria a un evento, se specifichi i metodi alert, email o sms, devi specificare anche una durata.

Esempi

Promemoria di 15 minuti per una riunione:

<gd:when startTime="2005-06-06T17:00:00-08:00" endTime="2005-06-06T18:00:00-08:00">
  <gd:reminder minutes="15"/>
</gd:when>

Stessa riunione di cui sopra, ma posticipata di 10 minuti dopo il promemoria alle 16:45:

<gd:when startTime="2005-06-06T17:00:00-08:00" endTime="2005-06-06T18:00:00-08:00">
  <gd:reminder minutes="15"/>
  <gd:reminder absoluteTime="2005-06-06T16:55:00-08:00"/>
</gd:when>

Schema

start = reminder

reminder =
   element gd:reminder {
      gdCommonProperties,
      attribute absoluteTime { xs:dateTime }?,
      attribute method { xs:string }?,
      attribute days { xs:unsignedInt }?,
      attribute hours { xs:unsignedInt }?,
      attribute minutes { xs:unsignedInt }?
   }

gd:risorsaid risorsa

Un identificatore della risorsa opaco, diverso da atom:id in quanto non deve essere un URI valido. Alcuni servizi forniscono un identificatore separato da usare durante la creazione di richieste successive. L'utilizzo esatto è specifico per il servizio.

Esempio

<gd:resourceId>9749638</gd:resourceId>

Schema

start = resourceId

resourceId =
   element gd:resourceId { xs:string }

gd:quando

Rappresenta un periodo di tempo o un istante.

Proprietà

Proprietà Tipo Descrizione
@endTime? xs:dateTime o xs:date Descrive quando termina l'evento. Se il fuso orario non è specificato, viene utilizzato il fuso orario locale dell'osservatore.
@startTime xs:dateTime o xs:date Descrive quando inizia l'evento o (per gli eventi a durata zero) quando si verifica. Se il fuso orario non è specificato, viene utilizzato il fuso orario locale dell'osservatore.
@valueString? xs:string Un semplice valore stringa che può essere utilizzato come rappresentazione di questo periodo di tempo.

Restrizioni

  • Non è possibile combinare xs:dateTime con xs:date in startTime/endTime.
  • Se endTime non è specificato, l'evento è considerato istantaneo nel tempo (se @startTime include un orario) o un evento di un giorno (se @startTime è solo una data).

Esempi

Un evento di un giorno:

<gd:when startTime="2005-06-06"/>

Rappresentazione alternativa di un evento di un giorno:

<gd:when startTime="2005-06-06" endTime="2005-06-07"/>

Un evento di due giorni (il 6 e 7 giugno) con una descrizione della stringa:

<gd:when startTime="2005-06-06" endTime="2005-06-08" valueString="This weekend"/>

Una riunione di un'ora:

<gd:when startTime="2005-06-06T17:00:00-08:00" endTime="2005-06-06T18:00:00-08:00"/>

Un evento di durata zero:

<gd:when startTime="2005-06-06T17:00:00-08:00"/>

Schema

start = when

when =
   element gd:when {
      gdCommonProperties,
      attribute startTime { (xs:date | xs:dateTime) },
      attribute endTime { (xs:date | xs:dateTime) }?,
      attribute valueString { xs:string }?
   }

gd:dove

Un luogo (ad esempio il luogo di un evento) associato all'entità contenitore. Il tipo di associazione è determinato dall'attributo rel; i dettagli della località sono contenuti in una voce di contatto incorporata o collegata.

Un elemento <gd:where> è più generale di un elemento <gd:geoPt>. La prima identifica un luogo utilizzando una descrizione testuale e/o una voce di contatto, mentre la seconda identifica un luogo utilizzando una posizione geografica specifica.

Proprietà

Proprietà Tipo Descrizione
@label? xs:string Specifica un'etichetta leggibile dall'utente per distinguere questa sede dalle altre.
@rel? xs:string Specifica la relazione tra l'entità contenitore e la posizione contenuta. I valori possibili (vedi di seguito) sono definiti da altri elementi. Ad esempio, <gd:when> definisce http://schemas.google.com/g/2005#event.
@valueString? xs:string Un semplice valore stringa che può essere utilizzato come rappresentazione di questa località.
gd:entryLink? entryLink Voce che rappresenta i dettagli della località. Questa voce deve implementare il tipo Contatto.

valori rel

Valore Descrizione
http://schemas.google.com/g/2005#event o non specificati Luogo in cui si svolge l'evento incluso.
http://schemas.google.com/g/2005#event.alternate Una località secondaria. Ad esempio, un sito remoto con un link alla videoconferenza al sito principale.
http://schemas.google.com/g/2005#event.parking Un parcheggio nelle vicinanze.

Esempi

Luogo evento:

<gd:where valueString="Google Cafeteria (Building 40)"/>

Località dell'evento più complicata:

<gd:where rel="http://schemas.google.com/g/2005#event" valueString="Joe's Pub">
  <gd:entryLink href="http://local.example.com/10018/JoesPub">
    <gd:entry>
      <id>http://local.example.com/10018/JoesPub</id>
      <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#contact"/>
      <content>Nice place to listen to jazz music</content>
      <link href="http://www.joespub.com"/>
      <gd:postalAddress>500 West 45th Street, New York, NY 10018</gd:postalAddress>
      <gd:geoPt lat="40.75" lon="-74.0"/>
      <gd:phoneNumber>(212) 555-1212</gd:phoneNumber>
      <gd:email address="info@joespub.com"/>
    </gd:entry>
  </gd:entryLink>
</gd:where>

Evento con più sedi:

<gd:where label="Mountain View Location (main)"
         valueString="Google Cafeteria (Building 40)"/>

<gd:where rel="http://schemas.google.com/g/2005#event.alternate"
         label="New York Location (videoconference)"
         valueString="Metropolis"/>

Schema

start = where

where =
   element gd:where {
      gdCommonProperties,
      attribute rel { xs:string }?,
      attribute label { xs:string }?,
      attribute valueString { xs:string }?,
      (entryLink?)
   }

gd:chi

Una persona associata all'entità contenitore. Il tipo di associazione è determinato dall'attributo rel; i dettagli della persona sono contenuti in una voce di contatto incorporata o collegata.

L'elemento <gd:who> può essere utilizzato per specificare mittenti e destinatari delle email, organizzatori di eventi nel calendario e così via.

Proprietà

Proprietà Tipo Descrizione
@email? xs:string Indirizzo email. Questa proprietà viene in genere utilizzata quando <gd:entryLink> non è specificato. L'indirizzo deve rispettare RFC 2822, sezione 3.4.1.
@rel? xs:string Specifica la relazione tra l'entità contenitore e la persona contenuta. Di seguito sono riportati i valori possibili.
@valueString? xs:string Un semplice valore stringa che può essere utilizzato come rappresentazione di questa persona.
gd:attendeeStatus? gEnumConstruct Stato dell'invitato all'evento. Enum estensibile documentato di seguito.
gd:attendeeType? gEnumConstruct Tipo di partecipante all'evento. Enum estensibile documentato di seguito.
gd:entryLink? entryLink Voce che rappresenta i dettagli della persona. Questa voce deve implementare il tipo Contatto. In molti casi, questa voce proviene da un feed dei contatti.

valori rel

I valori validi per @rel dipendono dal tipo in cui viene visualizzato l'elemento <gd:who>.

Valore Tipo Descrizione
http://schemas.google.com/g/2005#event.attendee Evento Un partecipante generale a una riunione/un evento.
http://schemas.google.com/g/2005#event.organizer Evento Organizzatore di eventi. L'organizzatore non è necessariamente un invitato.
http://schemas.google.com/g/2005#event.performer Evento Artista. Simile a http://schemas.google.com/g/2005#event.speaker, ma con una maggiore attenzione all'arte rispetto al discorso vocale.
http://schemas.google.com/g/2005#event.speaker Evento Altoparlante.
http://schemas.google.com/g/2005#message.bcc Messaggio Messaggio destinatario in Ccn.
http://schemas.google.com/g/2005#message.cc Messaggio Messaggio Cc destinatario.
http://schemas.google.com/g/2005#message.from Messaggio Mittente di messaggi (email o IM).
http://schemas.google.com/g/2005#message.reply-to Messaggio Destinatari previsti di un messaggio di risposta.
http://schemas.google.com/g/2005#message.to Messaggio Messaggio destinatario principale.

Valori gd:attendeeType

Valore Descrizione
http://schemas.google.com/g/2005#event.optional Partecipante facoltativo.
http://schemas.google.com/g/2005#event.required L'invitato deve essere obbligatorio.

Valori gd:attendeeStatus

Valore Descrizione
http://schemas.google.com/g/2005#event.accepted Il partecipante ha accettato.
http://schemas.google.com/g/2005#event.declined Il partecipante ha rifiutato.
http://schemas.google.com/g/2005#event.invited L'invito è stato inviato, ma la persona non l'ha accettato.
http://schemas.google.com/g/2005#event.tentative Il partecipante ha accettato a titolo provvisorio.

Esempi

Destinatari email:

<gd:who rel="http://schemas.google.com/g/2005#message.from" email="jo@example.com"/>
<gd:who rel="http://schemas.google.com/g/2005#message.to" valueString="Elizabeth" email="liz@example.com"/>

Partecipante alla riunione:

<gd:who rel="http://schemas.google.com/g/2005#event.attendee" valueString="Jo">
  <gd:attendeeType value="http://schemas.google.com/g/2005#event.required"/>
  <gd:attendeeStatus value="http://schemas.google.com/g/2005#event.tentative"/>
  <gd:entryLink href="http://gmail.com/jo/contacts/Jo">
    <entry>
      <id>http://gmail.com/jo/contacts/Jo</id>
      <category term="user-tag" label="Google"/>
      <title>Jo March</title>
      <gd:email address="jo@example.com"/>
      <gd:phoneNumber label="work">(650) 555-1212</gd:phoneNumber>
    </entry>
  </gd:entryLink>
</gd:who>

Organizzatore di eventi:

<gd:who rel="http://schemas.google.com/g/2005#event.organizer" valueString="Receptionist 41"/>

Schema

start = who

who =
   element gd:who {
      gdCommonProperties,
      attribute rel { xs:string }?,
      attribute email { xs:string }?,
      attribute valueString { xsd:string }?,
      (entryLink?
       & element gd:attendeeType { gEnumConstruct }?
       & element gd:attendeeStatus { gEnumConstruct }?)
   }

Torna all'inizio