Wspólne elementy: „Rodzaje”

Wprowadzenie

To często przydatne w przypadku usług korzystających z interfejsów API danych Google, które zapewniają spójne informacje o określonych rodzajach produktów.

Na przykład różne usługi Google Data API (lub „GData”) mogą zawierać dane kontaktowe osoby lub organizacji. Wszystkie usługi powinny wykorzystywać ten sam zestaw elementów informacji kontaktowych.

Zbiór elementów opisujących kontakt jest nazywany „rodzajem”. Niektóre elementy rodzaju kontaktu to zwykłe elementy Atom lub RSS. Inne są definiowane przez Google w przestrzeni nazw nazywanej „przestrzenią nazw danych Google”. Zgodnie z konwencją przestrzeń nazw danych Google jest zazwyczaj nazywana w kodzie XML przy użyciu aliasu gd:, np. element zawierający numer telefonu lub faksu to <gd:phoneNumber>. Adres URL schematu przestrzeni nazw danych Google to http://schemas.google.com/g/2005.

Google definiuje również inne typy: zdarzenie (zestaw standardowych elementów, które reprezentują wydarzenia w kalendarzu) i wiadomość (zbiór elementów reprezentujących e-maila, post w grupie dyskusyjnej lub inny komunikat).

Niektóre elementy z przestrzeni nazw danych Google są używane przez wiele rodzajów elementów. Na przykład element <gd:who> wiąże osobę (opisaną w zasadzie <gd:who>) z wpisem zawierającym element <gd:who>. Ten element jest używany w rodzaju zdarzenia do określania organizatorów, uczestników itp. Są one również używane do określania nadawców i odbiorców.

Gdy wpis w pliku danych interfejsu API danych Google korzysta z danego rodzaju, zawiera element <atom:category> z atrybutem scheme ustawionym na "http://schemas.google.com/g/2005#kind", a atrybut term z nazwą nazwy adresu URL schematu, a następnie nazwą rodzaju. Na przykład wpis kontaktu zawiera ten element:

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

Dzięki temu klienci mogą szybko i łatwo określić rodzaj danych zawartych we wpisie, czyli określić jego semantykę. (Jeśli wolisz, możesz użyć RSS zamiast Atom – więcej informacji o elementach RSS odpowiadających elementom Atom znajdziesz w dokumentacji protokołu).

Ten dokument jest odwołaniem do niektórych popularnych typów elementów i zawartych w nich elementów.

Nieudokumentowane elementy

Nie uwzględniamy informacji o standardowych elementach elementu <atom:entry> w rodzajach, w których mają one standardowe znaczenie. Na przykład <atom:id>, <atom:published> i <atom:updated> mają standardowe znaczenie, gdy pojawiają się w rodzajach.

Nie uwzględniamy też informacji o standardowych elementach Atom, które nie mają znaczenia w danym kontekście. Na przykład <atom:summary> nie jest używany w typie kontaktu i chociaż <atom:author> jest wymaganym elementem (chyba że został określony w nadrzędnym pliku danych), nie ma znaczenia w rodzaju kontaktu.

Tworzenie rodzajów

Podczas tworzenia pozycji konkretnego rodzaju może być trudno zrozumieć, jakie informacje należy uwzględnić, zwłaszcza że niektóre elementy tego rodzaju zawierają inne informacje.

Może się okazać, że lepiej będzie użyć udostępnianych przez nas bibliotek klienta zamiast próbować tworzyć je ręcznie. Biblioteki klienta udostępniają różne metody dodawania i zmieniania danych w obrębie określonego rodzaju danych. Szczegółowe informacje znajdziesz w dokumentacji biblioteki klienta.

Zasięg

Informacje w tym dokumencie nie obejmują wszystkich możliwych właściwości i wartości atrybutów. Usługi mogą być rozszerzane, dlatego dana usługa może korzystać z właściwości i wartości niewymienionych w tym dokumencie.

Konwenty typograficzne

W tabelach w tym dokumencie używamy tych konwencji wymaganych i opcjonalnych elementów:

Nazwa elementu Element wymagany
ElementNameName? Element opcjonalny
nazwa elementu* Element opcjonalny, dozwolona liczba instancji

Elementy i atrybuty są wyświetlane w standardowym zapisie XPath.

Rodzaj kontaktu

Reprezentuje kontakt: osobę, miejsce, np. klub, restaurację lub organizację.

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

Usługi

Właściwość Opis
atom:category* Kategorie. Instancje z atrybutem @label są traktowane jak tagi. Informacje o tym, jak używać atrybutu @scheme, znajdziesz na początku tej sekcji.
atom:content Uwagi dotyczące kontaktu.
atom:link* Linki do powiązanych informacji. W szczególności atom:link[@rel='alternate'] zawiera link do strony HTML opisującej kontakt.
atom:title Imię i nazwisko kontaktu.
gd:email* Adresy e-mail.
gd:im* Adresy na czacie.
gd:phoneNumber* Numery telefonów i faksy.
gd:postalAddress* Adresy pocztowe.
gd:organization* Uporządkowanie materiałów
gd:extendedProperty* Rozszerzona właściwość.
gContact:groupMembershipInfo* Informacje o członkostwie w grupach.
gd:deleted* Usunięto stan wpisu kontaktu.

Przykłady

<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>

Rodzaj zdarzenia

Reprezentuje wydarzenie w kalendarzu. Lokalizacja wydarzenia jest reprezentowana przez rodzaj kontaktu umieszczony w elemencie <gd:where> (lub z linku), a organizerzy i organizatorzy są reprezentowani jako rodzaje kontaktów umieszczone w elementach <gd:who> (lub z nich połączone).

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

Usługi

Właściwość Opis
atom:author Osoba, która utworzyła to wydarzenie.
atom:category* Kategorie. Instancje z atrybutem @label są traktowane jak tagi. Informacje o tym, jak używać atrybutu @scheme, znajdziesz na początku tej sekcji.
atom:content Dłuższy opis wydarzenia.
atom:link* Linki: atom:link[@rel='alternate'] zawiera link do strony HTML opisującej wydarzenie.
atom:title Krótki tytuł wydarzenia.
gd:comments? Kanał komentarzy.
gd:eventStatus? Maksymalny wyliczenie udokumentowany poniżej.
gd:recurrence? Reguła powtarzania.
gd:transparency? Rozszerzony wyliczenie wymieniony poniżej, odpowiadający właściwości TRANSP zdefiniowanej w RFC 2445.
gd:visibility? Maksymalny wyliczenie udokumentowany poniżej.
gd:when* Czas trwania zdarzenia. Atrybuty startTime i endTime muszą być ustawione, ale w przypadku wydarzeń całodniowych są to tylko daty, bez godzin.
gd:when/gd:reminder* Przypomnienia o wydarzeniu.
gd:where* Lokalizacja wydarzenia lub dodatkowe udogodnienia, takie jak parking. Jeśli element <gd:where> został określony na poziomie pliku danych, ale na poziomie wpisu nie ma elementu <gd:where>, wpisy dziedziczą wartość <gd:where> z pliku danych.
gd:who* Osoby powiązane z wydarzeniem: organizator, uczestnicy, prelegenci, wykonawcy itp.
gd:who/gd:attendeeStatus? Stan akceptacji.
gd:who/gd:attendeeType? Typ uczestnika: required lub optional.

wartości rel dla obiektu gd:where

wartość rel Opis
http://schemas.google.com/g/2005#event lub nie określono. Miejsce, w którym odbywa się wydarzenie.
http://schemas.google.com/g/2005#event.alternate Lokalizacja dodatkowa. Może to być na przykład witryna zdalna z połączeniem wideo z witryną główną.
http://schemas.google.com/g/2005#event.parking Parking w pobliżu.

gd:eventStatus – wartości

Wartość Opis
http://schemas.google.com/g/2005#event.canceled Wydarzenie zostało anulowane.
http://schemas.google.com/g/2005#event.confirmed Wydarzenie zostało zaplanowane.
http://schemas.google.com/g/2005#event.tentative Wydarzenie jest wstępnie zaplanowane.

gd:visible

Wartość Opis
http://schemas.google.com/g/2005#event.confidential Pozwól niektórym czytelnikom na wyświetlanie wydarzenia.
http://schemas.google.com/g/2005#event.default Dziedzicz zachowanie zgodnie z ustawieniami właściciela kalendarza, w którym pojawia się wydarzenie.
http://schemas.google.com/g/2005#event.private Zezwalanie na oglądanie wydarzenia tylko najmniejszym czytelnikom.
http://schemas.google.com/g/2005#event.public Pozwól większości czytelników na wyświetlanie wydarzenia.

gd:transparency wartości

Wartość Opis
http://schemas.google.com/g/2005#event.opaque Wskazuje wydarzenie pochłania czas w kalendarzu. Czas wydarzenia jest oznaczany jako zajęty w wyszukiwaniu stanu Wolny/Zajęty.
http://schemas.google.com/g/2005#event.transparent Oznacza, że wydarzenie nie zużywa czasu w kalendarzu. Czas wydarzenia nie zostanie oznaczony jako zajęty w wynikach wyszukiwania stanu Wolny/Zajęty.

Przykłady

Spotkanie:

<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>

Wydarzenie 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>

Rodzaj wiadomości

Reprezentuje wiadomość, na przykład e-maila, posta w grupie dyskusyjnej lub komentarz.

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

Usługi

Właściwość Opis
atom:category* Kategorie. Instancje z atrybutem @label są traktowane jak tagi. Informacje o tym, jak używać atrybutu @scheme, znajdziesz na początku tej sekcji. Informacje o korzystaniu z atrybutu @term znajdziesz w tabeli poniżej.
atom:content Treść wiadomości.
atom:link* Załączniki do wiadomości. Aby przesłać załącznik, użyj polecenia <link rel="enclosure"> i umieść treść załącznika w kolekcji multimediów Atom.
atom:title Temat wiadomości.
gd:geoPt? Lokalizacja geograficzna, z której wiadomość została opublikowana.
gd:rating? Ocena jakości (zgodnie z definicją w aplikacji).
gd:who* Osoby powiązane z tą wiadomością. Dokładna semantyka zależy od wartości @rel. Patrz tabela poniżej.

Kategoria – wartości @term

Wszystkie kategorie wymienione w schemacie http://schemas.google.com/g/2005.

Okres obowiązywania Opis
http://schemas.google.com/g/2005#message.chat Wiadomość jest transkrypcją sesji czatu.
http://schemas.google.com/g/2005#message.inbox Wiadomość została oznaczona jako należąca do skrzynki odbiorczej.
http://schemas.google.com/g/2005#message.sent Wiadomość została oznaczona jako wysłana.
http://schemas.google.com/g/2005#message.spam Wiadomość jest uznawana za spam.
http://schemas.google.com/g/2005#message.starred Wiadomość została oznaczona jako oznaczona gwiazdką.
http://schemas.google.com/g/2005#message.unread Wiadomość jest nieprzeczytana.

wartości rel gd:who

Właściwość Opis
http://schemas.google.com/g/2005#message.bcc Wiadomość do odbiorcy UDW.
http://schemas.google.com/g/2005#message.cc Odbiorca DW wiadomości.
http://schemas.google.com/g/2005#message.from Nadawca wiadomości (e-mail lub komunikatora).
http://schemas.google.com/g/2005#message.reply-to Docelowy odbiorca odpowiedzi.
http://schemas.google.com/g/2005#message.to Główny odbiorca wiadomości.

Przykład

E-mail:

<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>

Odniesienie do elementu przestrzeni nazw Google

Pozostała część tego dokumentu zawiera materiały referencyjne związane z elementami wykorzystywanymi przez dany rodzaj.

Wartości w polu enum

Niektóre elementy rozszerzeń muszą określać właściwości, których wartości pochodzą z obliczonego zbioru. Ogólna forma takich właściwości to:

<gd:propertyName value="propertyValue">

Jeśli wartość właściwości pochodzi z przestrzeni nazw danych Google, ma ona format http://schemas.google.com/g/2005#{kind}.{value}. na przykład: http://schemas.google.com/g/2005#event.tentative. Jeśli przestrzeń wartości może być rozszerzalna, wartości mogą być również podane w formacie URI. Zalecanym formatem identyfikatorów URI jest {schema URI}#{value}. na przykład: http://www.example.com/attendeeStatus#AudioConference.

gEnumConstruct =
   attribute value { text },
   anyAttribute*

gdCommonProperties

Popularne właściwości używane we wszystkich typach usług Google. Pamiętaj, że w schemacie znajdują się elementy anyAttribute i anyElement, które pozwalają na rozszerzenie wszystkich elementów przestrzeni nazw danych Google przy użyciu wspólnych właściwości w dowolnej przestrzeni nazw. W szczególności można zagnieździć dowolny element gd lub dowolny element Atom/RSS w innym elemencie gd. Należy to robić rozsądnie, a w większości przypadków należy to udokumentować jako właściwość jawnie określającą typ elementu gd.

Usługi

Właściwość Typ Opis
@xml:base uri Standardowy konstruktor XML opisujący bazę względnych identyfikatorów URI.
@xml:lang text Język zagnieżdżonych ciągów znaków.

Schemat

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

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

gd:komentarze

Zawiera kanał komentarzy dla zamykającego wpisu (np. wydarzenia w kalendarzu).

Usługi

Właściwość Typ Opis
@rel? string Typ komentarzy w treści. Istnieje obecnie różnica między zwykłymi komentarzami a opiniami.
gd:feedLink? feedLink Kanał komentarzy. Plik danych powinien wdrożyć rodzaj Message.

wartości rel

Wartość Opis
http://schemas.google.com/g/2005#regular lub nie określono Zwykłe komentarze (od użytkowników).
http://schemas.google.com/g/2005#reviews Profesjonalne opinie.

Przykłady

Kanał komentarzy:

<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>

Plik danych z opiniami:

<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>

Schemat

start = comments

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

gd:deleted

Znacznik, którego obecność w miejscu oznacza, że wpis, który zawiera, został usunięty.

Usługi

Brak.

Schemat

start = deleted

deleted =
   element gd:deleted

gd:email

Adres e-mail powiązany z elementem, który je zawiera (zazwyczaj jest to podmiot reprezentujący osobę lub lokalizację).

Usługi

Właściwość Typ Opis
@address xs:string Adres e-mail.
@label? xs:string Prosta wartość ciągu użyta do nazwania tego adresu e-mail. Pozwala UI wyświetlać etykietę, np. „Praca”, „Osobiste”, „Preferowane” itp.
@rel? xs:string Wartość automatyzacji, która identyfikuje typ e-maila. Więcej informacji znajdziesz poniżej.
@primary? xs:boolean Jeśli w rodzaju kontaktu występuje wiele rozszerzeń e-maili, wskazuje, które z nich są główne. Nie można podać więcej niż jednego adresu e-mail. Wartość domyślna to "false".

wartości rel

Wartość Opis
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#other Adres e-mail, który nie jest adresem domowym ani służbowym. label może służyć do określania rzeczywistego typu.
http://schemas.google.com/g/2005#work

Przykłady

<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"/>

Schemat

start = email

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

gd:entryLinks

Reprezentuje logicznie zagnieżdżony wpis. Na przykład pole <gd:who> reprezentujące kontakt może mieć zagnieżdżony wpis z pliku danych o kontaktach.

Usługi

Właściwość Typ Opis
@href? xs:string Określa identyfikator URI wpisu. Jeśli zagnieżdżony wpis jest umieszczony i niepołączony, ten atrybut może zostać pominięty.
@readOnly? xs:boolean Określa, czy zawarta treść jest tylko do odczytu. Wartością domyślną jest "false".
@rel? xs:string Określa relację linku – umożliwia usłudze dostarczanie wielu typów linków wejściowych dla jednego elementu. Ma taką samą semantykę i wartości jak atrybut rel elementu <atom:link>.
atom:entry? atomEntry Zawartość wpisu.

Ograniczenia

  • Należy użyć jednej lub obu tych właściwości (@href lub <atom:entry>).
  • Jeśli parametr atom:entry jest niedostępny, klient może pobrać zawartość z wpisowego identyfikatora URI w elemencie @href. Jeśli obecna jest wartość atom:entry, jej zawartość musi być taka sama jak zawartość pobrana w @href w momencie generowania wpisu.
  • Jeśli atrybut PUT lub POST zawiera <gd:entryLink>, a atrybut @href jest określony, do utworzenia linku używana jest wartość tego atrybutu. Jeśli występuje też element atom:entry, jest on ignorowany. Jeśli atrybut @href nie jest określony, element atom:entry jest przechowywany jako osadzony wpis lub w innym kanale i połączony z nim. Pamiętaj, że niektóre usługi mogą nie obsługiwać wszystkich tych opcji.

Przykłady

Informacje kontaktowe w <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>

Tylko odwołanie zewnętrzne (wpis tylko do odczytu):

<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>

Schemat

start = entryLink

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

gd:extendedProperty

Umożliwia przechowywanie ograniczonej ilości danych niestandardowych jako właściwości pomocniczej encji zamykającej.

Pamiętaj, że obecność elementu anyForeignElement umożliwia opcjonalnie umieszczenie w pliku danych dowolnego prawidłowego pliku XML w elemencie gd:extendedProperty (przez wzajemny dostęp do atrybutu value).

Usługi

Właściwość Typ Opis
@name xs:string Określa nazwę właściwości wyrażoną jako identyfikator URI. Rozszerzone identyfikatory URI są zwykle zgodne z zasadą {scheme}#{local-name}.
@value? xs:string Wartość właściwości.

Przykład

Zewnętrzny identyfikator wydarzenia w kalendarzu:

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

Dodatkowy plik XML dotyczący wpisu kontaktu

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

Schemat

start = extendedProperty

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

gd:feedLink,

Reprezentuje logicznie zagnieżdżony kanał. Na przykład kanał kalendarza może zawierać zagnieżdżony kanał reprezentujący wszystkie komentarze do wpisów.

Usługi

Właściwość Typ Opis
@countHint? xs:unsignedInt Wskazówki dotyczące liczby wpisów w pliku danych. Zależnie od implementacji może to nie być dokładna liczba.
@href? xs:string Określa identyfikator URI kanału. Jeśli zagnieżdżony plik danych jest umieszczony i niepołączony, ten atrybut może zostać pominięty.
@readOnly? xs:boolean Określa, czy uwzględniony kanał jest tylko do odczytu.
@rel? xs:string Określa relację linku – umożliwia usłudze dostarczanie wielu typów linków do kanałów dla pojedynczego elementu. Ma taką samą semantykę i wartości jak atrybut rel elementu <atom:link>.
atom:feed? atomFeed Zawartość pliku danych.

Ograniczenia

  • Należy użyć jednej lub obu tych właściwości (@href lub <atom:feed>).
  • Jeśli parametr atom:feed jest niedostępny, klient może pobrać zawartość z identyfikatora URI w @href. Jeśli plik jest obecny, jego zawartość musi być taka sama, jak ta pobrana w @href podczas generowania pliku danych.
  • Jeśli PUT lub POST zawiera atrybut <gd:feedLink> i określony jest atrybut @href, do utworzenia linku służy wartość tego atrybutu. Jeśli występuje też element <atom:feed>, jest on ignorowany. Jeśli atrybut @href nie jest określony, element <atom:feed> jest przechowywany jako umieszczony plik danych. Pamiętaj, że niektóre usługi mogą nie obsługiwać wszystkich tych opcji.

Przykłady

Blogi:

<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>

Tylko odwołanie zewnętrzne:

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

Umieszczony kanał w pozycji Atom przedstawiający listę:

<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>

Schemat

start = feedLink

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

gd:geoPt,

lokalizacja geograficzna (szerokość, długość geograficzna, wysokość).

Wycofane. Ten element został wycofany. W przypadku danych dodawania geotagów użyj GeoRSS.

Usługi

Właściwość Typ Opis
@elev? xs:float Wysokość w metrach. Wartości ujemne oznaczają głębokość poniżej poziomu morza.
@label? xs:string Prosta wartość ciągu przypisana do nazwy tej lokalizacji. Dzięki niej UI może wyświetlać etykietę, np. „Bieżąca pozycja”.
@lat xs:float Szerokość geograficzna w stopniach. Wartości dodatnie oznaczają północ, a ujemne południe. Zakres to [-90,0, 90,0].
@lon xs:float Długość geograficzna w stopniach. Wartości dodatnie oznaczają wschód, a ujemne – zachód. Zakres to [–180,0, 180,0].
@time? xs:dateTime Sygnatura czasowa.

Przykłady

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

Schemat

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

Adres komunikatora powiązany z jednostką, która go zawiera.

Usługi

Właściwość Typ Opis
@address xs:string Adres na czacie.
@label? xs:string Prosta wartość ciągu przypisana do nazwania tego adresu komunikatora. Pozwala UI wyświetlać etykietę, np. „Praca”, „Osobiste”, „Preferowane” itp.
@rel? xs:string Wartość automatyzacji, która identyfikuje typ komunikatora. Więcej informacji znajdziesz poniżej.
@protocol? xs:string Określa sieć komunikatora. Może to być jedna z wartości standardowych (pokazanych poniżej) lub identyfikator URI określający zastrzeżoną sieć komunikatora.
@primary? xs:boolean W przypadku kontaktu z wieloma rozszerzeniami z komunikatora wskazuje, które z nich jest główne. Główny komunikator może być głównym. Wartość domyślna to "false".

wartości rel

Wartość Opis
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#other Adres na czacie, który nie jest adresem domowym ani służbowym. label może służyć do określania rzeczywistego typu.
http://schemas.google.com/g/2005#work

wartości atrybutów protokołu

Poniższa tabela zawiera przykładowe wartości atrybutu @protokół.

Wartość Opis
http://schemas.google.com/g/2005#AIM Protokół AOL Instant Messenger
http://schemas.google.com/g/2005#MSN Protokół MSN Messenger
http://schemas.google.com/g/2005#YAHOO Protokół Yahoo Messenger
http://schemas.google.com/g/2005#SKYPE Protokół Skype
http://schemas.google.com/g/2005#QQ Protokół QQ
http://schemas.google.com/g/2005#GOOGLE_TALK Protokół Google Talk
http://schemas.google.com/g/2005#ICQ Protokół ICQ
http://schemas.google.com/g/2005#JABBER Protokół Jabber

Przykłady

Adres komunikatora MSN 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"/>

Adres komunikatora podany przez użytkownika z nieokreślonym protokołem. Takie adresy są przydatne do wyświetlania, ale trudno jest je obsługiwać automatycznie.

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

Schemat

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:organizacja

Organizacja, która jest zwykle powiązana z kontaktem.

Usługi

Właściwość Typ Opis
@label? xs:string Prosta wartość ciągu używanago do nazwania tej organizacji. Dzięki niej UI może wyświetlać etykietę, np. „Praca”, „Wolontariusz”, „Stowarzyszenie zawodowe” itp.
@rel? xs:string Wartość automatyzacji określająca typ organizacji.
@primary? xs:boolean Gdy w rodzaju kontaktu pojawia się wiele rozszerzeń organizacji, wskazuje, które z nich jest główne. Jako organizacja podstawowa może znajdować się najwyżej jedna organizacja. Wartość domyślna to "false".
gd:orgName? orgName Nazwa organizacji.
gd:orgTitle? orgTitle Imię i nazwisko osoby z organizacji.

wartości rel

Wartość Opis
http://schemas.google.com/g/2005#other Organizacja, która nie pracuje. label może służyć do określania rzeczywistego typu.
http://schemas.google.com/g/2005#work

Przykłady

<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>

Schemat

start = organzation

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

gd:orgName

Nazwa organizacji. Musi znajdować się w elemencie gd:organization.

Przykład

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

Schemat

start = orgName

orgName =
   element gd:orgName { xs:string }

gd:orgTitle

Tytuł osoby w organizacji. Musi znajdować się w elemencie gd:organization.

Przykład

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

Schemat

start = orgTitle

orgTitle =
   element gd:orgTitle { xs:string }

gd:OriginalEvent

Odpowiednik właściwości identyfikatora powtarzania podanego w sekcji 4.8.4.4 RFC 2445. Pojawia się w każdym wystąpieniu wydarzenia cyklicznego i pozwala je zidentyfikować.

Zawiera element <gd:when> określający oryginalny czas rozpoczęcia instancji, który stał się wyjątkiem.

Usługi

Właściwość Typ Opis
@id xs:string Identyfikator pierwotnego zdarzenia.
@href xs:string Adres URL kanału zdarzenia pierwotnego.

Przykład

Określanie oryginalnego zdarzenia:

<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>

Schemat

start = originalEvent

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

gd:phoneNumber

Numer telefonu powiązany z podmiotem, który go zawiera (zazwyczaj jest to podmiot, który reprezentuje osobę lub lokalizację).

Usługi

Właściwość Typ Opis
@label? xs:string Prosty ciąg znaków używany do nazwania tego numeru telefonu. W większości przypadków właściwość @label nie jest wymagana, ponieważ @rel jednoznacznie identyfikuje numer i pozwala UI wyświetlać odpowiednie etykiety, takie jak „Komórka”, „Dom”, „Praca” itp. Jeśli jednak 1 osoba ma (np.) kilka telefonów komórkowych, możesz użyć tej właściwości, by je odróżnić.
@rel? xs:string Wartość automatyzacji, która identyfikuje typ numeru telefonu (szczegóły poniżej).
@uri? xs:string Opcjonalny „telewizor URI”, który służy do reprezentowania numeru w formalny sposób, co jest przydatne w przypadku automatyzacji, np. przez VoIP/PSTN. Więcej informacji na temat identyfikatorów tel URI znajdziesz w RFC 3966.
@primary? xs:boolean Jeśli w rodzaju kontaktu masz wiele rozszerzeń numeru telefonu, wskazuje, które z nich jest główne. Głównym numerem może być główny numer telefonu. Wartość domyślna to "false".
text() xs:string Czytelny numer telefonu. Może on mieć dowolny format numeru. Pusty obszar na początku jest nieistotny. Nowe linie w ciągu znaków również są nieistotne i mogą zostać usunięte lub spłaszczone w jednym miejscu.

wartości rel

Wartość Opis
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 Specjalny typ liczby, dla której żadna inna wartość rel nie ma sensu. Na przykład urządzenie TTY. label może służyć do określania rzeczywistego typu.
http://schemas.google.com/g/2005#pager
http://schemas.google.com/g/2005#work
http://schemas.google.com/g/2005#work_fax

Przykłady

Prosty numer telefonu wpisany przez użytkownika:

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

Ten sam numer telefonu z katalogu:

<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>

Liczba z etykietą:

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

Schemat

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:postalAddress,

Adres pocztowy.

Usługi

Właściwość Typ Opis
@label? xs:string Prosta wartość ciągu użyta do nazwania tego adresu.
@rel? xs:string Wartość automatyzacji, która identyfikuje typ adresu pocztowego. Więcej informacji znajdziesz poniżej.
@primary? xs:boolean Jeśli w rodzaju kontaktu masz wiele rozszerzeń adresu pocztowego, wskazuje on, które jest najważniejsze. Główny adres może mieć maksymalnie 1 adres. Wartość domyślna to "false".
text() xs:string Adres jako tekst. Pusty obszar na początku jest nieistotny. Nowe wiersze w ciągu znaków są istotne.

wartości rel

Wartość Opis
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#other Adres, który nie jest adresem domowym ani służbowym. label może służyć do określania rzeczywistego typu.
http://schemas.google.com/g/2005#work

Przykłady

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

Schemat

start = postalAddress

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

gd:rating

Reprezentuje liczbową ocenę elementu zamykającego, np. komentarz. Każda ocena podaje własną skalę, ale może zostać znormalizowana przez usługę. Na przykład niektóre usługi mogą konwertować wszystkie oceny na skalę od 1 do 5.

Usługi

Właściwość Typ Opis
@average? xs:float Średnia ocena.
@max xs:int Maksymalna wartość skali oceny.
@min xs:int Minimalna wartość na skali ocen.
@numRaters? xs:int Liczba ocen uwzględnianych podczas obliczania średniej wartości.
@rel? xs:string Określa oceniany aspekt. Jeśli nie określono oceny, jest to ogólna ocena.
@value? xs:int Wartość oceny.

wartości rel

Wartość Opis
http://schemas.google.com/g/2005#overall lub nie określono Ocena ogólna. Wyższe wartości oznaczają lepsze oceny.
http://schemas.google.com/g/2005#price Ocena cen. Wyższe wartości oznaczają wyższe ceny.
http://schemas.google.com/g/2005#quality Ocena jakości. Wyższe wartości oznaczają lepszą jakość.

Przykłady

Ocena ogólna 4/5:

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

Najdroższa ocena przedziału cenowego:

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

Ocena 200 użytkowników: średnia ocena to 4,65 na 5:

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

Schemat

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:escalation

Określa daty i godziny wydarzeń cyklicznych.

Ciąg znaków definiujący powtarzanie składa się z zestawu właściwości określonych w standardzie iCalendar (RFC 2445).

Ciąg znaków zwykle rozpoczyna się od właściwości DTSTART, która wskazuje czas rozpoczęcia pierwszego wystąpienia zdarzenia, i często jest właściwością DTEND lub DURATION, która wskazuje, kiedy kończy się pierwsze wystąpienie. Dalej mamy właściwości RRULE, RDATE, EXRULE i/EXDATE, które razem definiują wydarzenie cykliczne i jego wyjątki (zobacz poniżej). (Więcej informacji o właściwościach komponentu powtarzania znajdziesz w sekcji 4.8.5 RFC 2445). Ostatnim elementem jest komponent VTIMEZONE, który zawiera szczegółowe reguły dotyczące strefy czasowej dla każdego identyfikatora strefy czasowej wymienionego w poprzednich właściwościach.

Usługi Google, takie jak Kalendarz Google, zwykle nie generują wyjątków EXRULE ani EXDATE, aby określić wyjątki dla wydarzeń cyklicznych. Zamiast tego generują elementy <gd:recurrenceException>. Usługi Google mogą jednak uwzględniać właściwości EXRULE lub EXDATE. Na przykład użytkownicy mogą importować zdarzenia i wyjątki do Kalendarza, a jeśli te zaimportowane zdarzenia zawierają właściwości EXRULE lub EXDATE, Kalendarz udostępni te właściwości po wysłaniu elementu <gd:recurrence>.

Użycie właściwości <gd:recurrenceException> oznacza, że nie masz pewności, czy wyłącznie zbadanie elementu <gd:recurrence> nie zawiera żadnych wyjątków od opisu powtarzania. Aby znaleźć wszystkie wyjątki, poszukaj elementów <gd:recurrenceException> w pliku danych i użyj ich elementów <gd:originalEvent>, aby dopasować je do elementów <gd:recurrence>.

Usługi

Właściwość Typ Opis
text() xs:string Opis powtarzania.

Przykład

Wydarzenie cykliczne, które odbywa się codziennie od 6:00 do 7:00, Czas pacyficzny, od 14 do 21 marca 2006 roku:

<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>

Schemat

start = recurrence

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

gd:escalationException

Reprezentuje wydarzenie, które jest wyjątkiem w przypadku wydarzenia cyklicznego – jest to wystąpienie wydarzenia cyklicznego, w którym zmieniono co najmniej jeden aspekt wydarzenia cyklicznego (np. listę obecności, godzinę lub lokalizację).

Zawiera element <gd:originalEvent>, który określa oryginalne wydarzenie cykliczne, którego dotyczy to zdarzenie.

Jeśli zmienisz wystąpienie wydarzenia cyklicznego, stanie się ono wyjątkiem. W zależności od wprowadzonej zmiany wyjątek zmienia się, gdy zmieni się pierwotne wydarzenie cykliczne:

  • Jeśli dodasz, zmienisz lub usuniesz komentarze, uczestników lub odpowiedzi uczestników, wyjątek pozostanie powiązany z pierwotnym wydarzeniem, a zmiany w pierwotnym wydarzeniu również wpłyną na wyjątek.
  • Jeśli wprowadzisz inne zmiany w wyjątku (np. zmienisz godzinę lub lokalizację), instancja stanie się „specjalna”, co oznacza, że nie będzie już tak ściśle powiązana z pierwotnym wydarzeniem. Jeśli zmienisz pierwotne wydarzenie, wyjątki nie zmienią się. Zobacz jednak poniżej.

Załóżmy, że masz spotkanie w każdy wtorek i czwartek o 14:00. Jeśli zmienisz listę obecności dla tego czwartkowego spotkania (ale nie w przypadku zaplanowanego spotkania), zostanie ono wyjątkowe. Jeśli zmienisz godzinę czwartkowego spotkania (ale nie planowanego spotkania), zostanie ono zmienione na specjalne.

Niezależnie od tego, czy wyjątek jest specjalistyczny, jeśli usuniesz działanie, z którego pochodzi wyjątek, zostanie on usunięty. Pamiętaj, że zmiana dnia lub godziny wydarzenia cyklicznego powoduje usunięcie wszystkich wystąpień i utworzenie nowych.

Na przykład po wyspecjalizowaniu tego czwartkowego spotkania możesz zmienić jego nazwę na poniedziałek, środę i piątek. Ta zmiana spowoduje usunięcie wszystkich wystąpień cyklicznych spotkań z wtorku i czwartku, w tym instancji specjalistycznych.

Jeśli określone wydarzenie cykliczne zostanie usunięte, będzie się ono wyświetlać jako <gd:recurrenceException> zawierające <gd:entryLink> o wartości <gd:eventStatus> ustawionej na "http://schemas.google.com/g/2005#event.canceled". (Więcej informacji o anulowanych wydarzeniach znajdziesz w dokumencie RFC 2445).

Usługi

Właściwość Typ Opis
@specialized xs:boolean Wskazuje, czy wyjątek jest specjalistyczny.
gd:entryLink entryLink Wpis zdarzenia zawierający szczegółowe informacje o wyjątku.
gd:originalEvent originalEvent Pierwotne wydarzenie cykliczne, którego dotyczy wyjątek.

Przykład

Wyjątkiem jest wydarzenie cykliczne (niektóre elementy zastąpiono krótkimi, pisanymi kursywą, aby były bardziej zrozumiałe):

<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>

Schemat

start = recurrenceException

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

gd:przypomnienie

Najczęściej używane w: <gd:when>

Przedział czasu, który określa, na jak długo przed wywołaniem atrybutu @startTime lub @dueTime elementu zawierającego odwołanie należy utworzyć przypomnienie. Możesz też określić bezwzględną godzinę przypomnienia. Określa również metodę powiadamiania, która wskazuje system, który ma być użyty przez system do przypomnienia użytkownikowi.

Usługi

Właściwość Typ Opis
@absoluteTime? xs:dateTime bezwzględna godzina wysłania przypomnienia; Zwykle ma to zastosowanie, gdy użytkownik używa funkcji „drzemki”, aby opóźnić poprzednie przypomnienie. Jeśli strefa czasowa nie została określona, przyjmuje się czas lokalny obserwatora.
@method? xs:string Metoda powiadamiania, której powinna użyć przypomnienie. Może mieć dowolną z tych wartości: alert (powoduje wyświetlenie alertu, gdy użytkownik wyświetla kalendarz w przeglądarce), email (wysyła użytkownikowi e-maila) lub sms (wysyła SMS-a).
@days? xs:unsignedInt Okres przed gd:when/@startTime, w którym powinno zostać wyświetlone przypomnienie. Jeśli czas docelowy podmiotu nadrzędnego jest datą, a nie określoną godziną, te atrybuty są określane dla strefy czasowej północy (00:00).
@hours? xs:unsignedInt
@minutes? xs:unsignedInt

Podczas tworzenia lub edytowania wpisu <gd:when> używaj tych konwencji, aby uzyskać określone wyniki:

  • Aby poinformować usługę, że ma używać domyślnych przypomnień użytkownika, dodaj element <gd:reminder> bez atrybutów. Jeśli określisz czas trwania, ale bez atrybutu method, usługa użyje domyślnych metod powiadomień użytkownika o podanym przez Ciebie czasie.
  • Aby poinformować usługę, że ma nie wysyłać żadnych przypomnień o wydarzeniu (lub usunąć istniejące przypomnienia podczas aktualizowania wydarzenia), nie dodawaj żadnych elementów <gd:reminder>.

Ograniczenia

  • Możesz podać maksymalnie @days, @hours, @minutes lub @absoluteTime. Aby podać mieszany czas trwania, przekonwertuj na najdokładniejszą jednostkę. Aby na przykład określić godzinę i 30 minut, użyj metody @minutes="90".
  • Nie możesz używać wartości ujemnych dla atrybutów (jeśli chcesz, aby przypomnienie następowało po czasie rozpoczęcia, musisz użyć właściwości @absoluteTime).
  • Z każdym wydarzeniem może być powiązane maksymalnie pięć przypomnień.
  • Gdy dodajesz przypomnienie do wydarzenia, jeśli określisz metody alert, email lub sms, musisz też podać czas trwania.

Przykłady

15-minutowe przypomnienie o spotkaniu:

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

To samo spotkanie co powyżej, ale odłożono na 10 minut po przypomnieniu o 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>

Schemat

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:resourceId

Nieprzejrzysty identyfikator zasobu, inny niż atom:id, ponieważ nie musi być prawidłowym identyfikatorem URI. Niektóre usługi udostępniają osobny identyfikator, który jest używany podczas tworzenia kolejnych żądań. Dokładne użycie zależy od usługi.

Przykład

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

Schemat

start = resourceId

resourceId =
   element gd:resourceId { xs:string }

gd:when

Reprezentuje okres lub przedział czasowy.

Usługi

Właściwość Typ Opis
@endTime? xs:dateTime lub xs:date Opisuje datę zakończenia wydarzenia. Jeśli nie określisz strefy czasowej, przyjmuje się lokalną strefę czasową odbiorcy.
@startTime xs:dateTime lub xs:date Wskazuje, kiedy wydarzenie się zaczyna lub (w przypadku zdarzeń o zerowym czasie trwania) pojawia się. Jeśli nie określisz strefy czasowej, przyjmuje się lokalną strefę czasową odbiorcy.
@valueString? xs:string Prosta wartość ciągu znaków, której można użyć do reprezentowania tego okresu.

Ograniczenia

  • Nie można mieszać xs:dateTime z xs:date za startTime/endTime.
  • Jeśli zasada endTime nie jest określona, wydarzenie jest uznawane za wydarzenie błyskawiczne w czasie (jeśli @startTime zawiera datę) lub wydarzenie jednodniowe (jeśli @startTime to tylko data).

Przykłady

Wydarzenie jednodniowe:

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

Alternatywna reprezentacja wydarzenia jednodniowego:

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

Wydarzenie dwudniowe (6 i 7 czerwca) z opisem ciągu znaków:

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

Jednogodzinne spotkanie:

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

Zdarzenie o zerowym czasie trwania:

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

Schemat

start = when

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

gd:gdzie

Miejsce (takie jak lokalizacja wydarzenia) powiązane z elementem, który go zawiera. Typ powiązania jest określany na podstawie atrybutu rel. Szczegółowe informacje na temat lokalizacji znajdują się we wpisie umieszczonym w kontaktach lub połączonym z linkiem.

Element <gd:where> jest bardziej ogólny niż element <gd:geoPt>. Pierwszy z nich identyfikuje miejsce na podstawie opisu tekstowego lub wpisu kontaktu, a drugi – miejsce na podstawie konkretnej lokalizacji geograficznej.

Usługi

Właściwość Typ Opis
@label? xs:string Określa zrozumiałą dla użytkownika etykietę, która odróżnia tę lokalizację od innych lokalizacji.
@rel? xs:string Określa relację między jednostką zawierającą a lokalizacją. Możliwe wartości (patrz niżej) definiuje się na podstawie innych elementów. Na przykład <gd:when> określa http://schemas.google.com/g/2005#event.
@valueString? xs:string Prosta wartość ciągu znaków, której można użyć do reprezentowania tej lokalizacji.
gd:entryLink? entryLink Wpis reprezentujący szczegóły lokalizacji. Ten wpis powinien określać rodzaj kontaktu.

wartości rel

Wartość Opis
http://schemas.google.com/g/2005#event lub nie określono Miejsce, w którym odbywa się zdarzenie zamykające.
http://schemas.google.com/g/2005#event.alternate Lokalizacja dodatkowa. Może to być na przykład witryna zdalna z połączeniem wideo z witryną główną.
http://schemas.google.com/g/2005#event.parking Parking w pobliżu.

Przykłady

Lokalizacja wydarzenia:

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

Bardziej złożona lokalizacja wydarzenia:

<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>

Wydarzenie z wieloma lokalizacjami:

<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"/>

Schemat

start = where

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

gd:kto

Osoba powiązana z podmiotem, który zawiera dane treści. Typ powiązania jest określany na podstawie atrybutu rel. Szczegółowe informacje na temat osoby znajdują się we wpisie umieszczonym w kontaktach lub połączonym z linkiem.

Element <gd:who> może służyć do określania nadawców e-maili i odbiorców, organizatorów wydarzeń w kalendarzu itd.

Usługi

Właściwość Typ Opis
@email? xs:string Adres e-mail. Ta właściwość jest zwykle używana, gdy zasada <gd:entryLink> nie jest określona. Adres musi być zgodny z RFC 2822, sekcja 3.4.1.
@rel? xs:string Określa relację między elementem składowym a osobą, która go zawiera. Możliwe wartości znajdziesz poniżej.
@valueString? xs:string Prosty ciąg tekstowy, którego można użyć do reprezentowania tej osoby.
gd:attendeeStatus? gEnumConstruct Stan uczestnika wydarzenia. Maksymalny wyliczenie udokumentowany poniżej.
gd:attendeeType? gEnumConstruct Typ uczestnika wydarzenia. Maksymalny wyliczenie udokumentowany poniżej.
gd:entryLink? entryLink Wpis przedstawiający dane osoby. Ten wpis powinien określać rodzaj kontaktu. W większości przypadków ten wpis pochodzi z pliku danych o kontaktach.

wartości rel

Prawidłowe wartości atrybutu @rel zależą od rodzaju elementu <gd:who>.

Wartość Rodzaj Opis
http://schemas.google.com/g/2005#event.attendee Wydarzenie Ogólny uczestnik lub uczestnik wydarzenia.
http://schemas.google.com/g/2005#event.organizer Wydarzenie Organizator wydarzenia. Organizator nie musi być uczestnikiem.
http://schemas.google.com/g/2005#event.performer Wydarzenie Wykonawca. Podobne do: http://schemas.google.com/g/2005#event.speaker z naciskiem na sztukę niż dostarczanie mowy.
http://schemas.google.com/g/2005#event.speaker Wydarzenie Głośnik.
http://schemas.google.com/g/2005#message.bcc Wiadomość Wiadomość do odbiorcy UDW.
http://schemas.google.com/g/2005#message.cc Wiadomość Odbiorca DW wiadomości.
http://schemas.google.com/g/2005#message.from Wiadomość Nadawca wiadomości (e-mail lub komunikatora).
http://schemas.google.com/g/2005#message.reply-to Wiadomość Docelowy odbiorca odpowiedzi.
http://schemas.google.com/g/2005#message.to Wiadomość Główny odbiorca wiadomości.

Wartości gd:attendeeType

Wartość Opis
http://schemas.google.com/g/2005#event.optional Opcjonalny uczestnik.
http://schemas.google.com/g/2005#event.required Wymagany uczestnik.

Wartości gd:attendeeStatus

Wartość Opis
http://schemas.google.com/g/2005#event.accepted Uczestnik zaakceptował zaproszenie.
http://schemas.google.com/g/2005#event.declined Uczestnik odrzucił zaproszenie.
http://schemas.google.com/g/2005#event.invited Zaproszenie zostało wysłane, ale osoba nie zaakceptowała zaproszenia.
http://schemas.google.com/g/2005#event.tentative Uczestnik zaakceptował wstępnie.

Przykłady

Adresaci e-maili:

<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"/>

Uczestnik spotkania:

<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>

Organizator wydarzenia:

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

Schemat

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 }?)
   }

Powrót do góry