Phần tử phổ biến: "Kinds"

Giới thiệu

Mã này thường hữu ích cho các dịch vụ sử dụng API dữ liệu của Google để có thể cung cấp bộ thông tin nhất quán về một loại mục cụ thể.

Ví dụ: nhiều dịch vụ Google Data API (hoặc "GData") có thể cung cấp thông tin liên hệ của một người hoặc tổ chức; việc sử dụng cùng một nhóm yếu tố thông tin liên hệ là hợp lý.

Bộ sưu tập các phần tử mô tả cùng nhau một liên hệ được gọi là "vui lòng" liên hệ. Một số phần tử trong loại Địa chỉ liên hệ là các phần tử Atom hoặc RSS thông thường; một số phần tử khác do Google xác định trong một không gian tên có tên là "Không gian tên của Dữ liệu trên Google". Theo quy ước, không gian tên của Dữ liệu trên Google thường được tham chiếu trong mã XML bằng bí danh gd:; ví dụ: phần tử chứa số điện thoại hoặc số fax là <gd:phoneNumber>. URL giản đồ cho vùng chứa tên Dữ liệu trên Google là http://schemas.google.com/g/2005.

Google cũng xác định các loại khác: Sự kiện (một tập hợp các phần tử tiêu chuẩn hóa cùng đại diện cho một sự kiện trên lịch) và Thông báo (một tập hợp các phần tử đại diện cho một email, bài đăng trong nhóm thảo luận hoặc thư khác).

Một số phần tử trong vùng chứa tên Dữ liệu trên Google được nhiều loại sử dụng. Ví dụ: phần tử <gd:who> liên kết một người (được mô tả trong <gd:who>) với mục nhập chứa phần tử <gd:who>. Phần tử này được dùng trong loại Sự kiện để chỉ định người tổ chức, người tham dự, v.v. Tệp này cũng được dùng trong loại Tin nhắn để chỉ định người gửi và người nhận.

Khi một mục nhập trong nguồn cấp dữ liệu API dữ liệu của Google sử dụng một loại nhất định, mục nhập đó chứa phần tử <atom:category> với thuộc tính scheme được đặt thành "http://schemas.google.com/g/2005#kind" và thuộc tính term được đặt thành tên của URL giản đồ, theo sau là tên của loại. Ví dụ: mục Liên hệ bao gồm phần tử sau:

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

Điều này cho phép khách hàng nhanh chóng và dễ dàng xác định loại dữ liệu mà mục nhập chứa, nghĩa là xác định ngữ nghĩa của mục nhập. (Bạn có thể sử dụng RSS thay vì Atom nếu muốn; xem tài liệu tham chiếu về giao thức để biết các phần tử RSS tương ứng với các phần tử Atom.)

Tài liệu này là tài liệu tham khảo cho một số loại phổ biến và các phần tử có trong đó.

Các phần tử không được ghi lại

Chúng tôi không đưa thông tin về các phần tử chuẩn của <atom:entry> vào những loại mà các phần tử đó có ý nghĩa chuẩn. Ví dụ: <atom:id>, <atom:published><atom:updated> đều có ý nghĩa chuẩn khi xuất hiện dưới dạng loại.

Chúng tôi cũng không cung cấp thông tin về các phần tử Atom chuẩn sẽ không có ý nghĩa trong ngữ cảnh cụ thể; ví dụ: <atom:summary> không được sử dụng trong loại Địa chỉ liên hệ, và mặc dù <atom:author> là phần tử bắt buộc trong mục nhập (trừ khi được chỉ định trong nguồn cấp dữ liệu gốc), loại này không có ý nghĩa hữu ích trong loại Liên hệ.

Tạo loại

Có thể khó tìm ra chính xác thông tin bạn cần đưa vào khi tạo mục nhập của một loại cụ thể, đặc biệt là vì một số phần tử trong loại đó chứa các loại khác.

Một phương pháp có thể hữu ích là sử dụng thư viện ứng dụng do chúng tôi cung cấp thay vì cố gắng tạo các loại theo cách thủ công. Thư viện ứng dụng cung cấp nhiều phương thức để thêm và thay đổi dữ liệu trong một mục nhập của một loại nhất định; xem tài liệu về thư viện ứng dụng để biết chi tiết.

Khả năng mở rộng

Thông tin trong tài liệu này không bao gồm tất cả các thuộc tính và giá trị thuộc tính có thể có cho các loại. Dịch vụ có thể mở rộng các loại, vì vậy, một dịch vụ cụ thể có thể sử dụng các thuộc tính và giá trị không có trong tài liệu này.

Quy ước về kiểu chữ

Trong các bảng trong tài liệu này, chúng tôi sử dụng các quy ước sau đây cho các phần tử bắt buộc và không bắt buộc:

Tên thành phần Phần tử bắt buộc
Bạn muốn nhập tên của phần tử? Phần tử không bắt buộc
Tên phần tử* Phần tử tùy chọn, nhiều bản sao được phép

Các phần tử và thuộc tính được trình bày bằng ký hiệu CUE chuẩn.

Loại liên hệ

Thể hiện người liên hệ: một người, một địa điểm như câu lạc bộ, nhà hàng hoặc một tổ chức.

Phần tử danh mục: <atom:category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>

Thuộc tính

Thuộc tính Mô tả
atom:category* Danh mục. Những thực thể có thuộc tính @label được coi là thẻ. Để biết thông tin về cách sử dụng thuộc tính @scheme, vui lòng xem ghi chú ở đầu phần này.
atom:content Ghi chú về người liên hệ đó.
atom:link* Đường liên kết đến thông tin liên quan. Cụ thể, atom:link[@rel='alternate'] liên kết đến một trang HTML mô tả người liên hệ đó.
atom:title Tên của người liên hệ.
gd:email* Địa chỉ email.
gd:im* Địa chỉ IM.
gd:phoneNumber* Số điện thoại và số fax.
gd:postalAddress* Địa chỉ bưu chính.
gd:organization* Sắp xếp.
gd:extendedProperty* Thuộc tính mở rộng.
gContact:groupMembershipInfo* Thông tin về tư cách thành viên trong nhóm.
gd:deleted* Đã xoá trạng thái của mục nhập địa chỉ liên hệ.

Ví dụ

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

Loại sự kiện

Đại diện cho một sự kiện trên lịch. Vị trí sự kiện được biểu thị bằng loại Địa chỉ liên hệ được nhúng (hoặc được liên kết từ) phần tử <gd:where>; người tổ chức sự kiện và người tham dự được biểu thị dưới dạng loại Địa chỉ liên hệ được nhúng trong (hoặc được liên kết từ) phần tử <gd:who>.

Phần tử danh mục: <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#event"/>

Thuộc tính

Thuộc tính Mô tả
atom:author Người đã tạo sự kiện này.
atom:category* Danh mục. Những thực thể có thuộc tính @label được coi là thẻ. Để biết thông tin về cách sử dụng thuộc tính @scheme, vui lòng xem ghi chú ở đầu phần này.
atom:content Nội dung mô tả dài hơn về sự kiện.
atom:link* Đường dẫn liên kết. Cụ thể, atom:link[@rel='alternate'] cung cấp một đường liên kết đến trang HTML mô tả sự kiện đó.
atom:title Tiêu đề ngắn cho sự kiện.
gd:comments? Nguồn cấp dữ liệu nhận xét.
gd:eventStatus? Enum mở rộng được nêu dưới đây.
gd:recurrence? Quy tắc lặp lại.
gd:transparency? Enum mở rộng được nêu dưới đây, tương ứng với thuộc tính TRANSP được xác định trong RFC 2445.
gd:visibility? Enum mở rộng được nêu dưới đây.
gd:when* Thời gian sự kiện. Bạn phải đặt cả hai thuộc tính startTimeendTime, mặc dù đối với các sự kiện diễn ra cả ngày, các thuộc tính đó chỉ là ngày và không có thời gian.
gd:when/gd:reminder* Lời nhắc cho sự kiện.
gd:where* Vị trí tổ chức sự kiện hoặc các yếu tố cần thiết gần đó như chỗ đỗ xe. Nếu bạn chỉ định một phần tử <gd:where> ở cấp nguồn cấp dữ liệu, nhưng không có phần tử <gd:where> ở cấp độ này, thì các phần tử kế thừa giá trị <gd:where> ở cấp nguồn cấp dữ liệu.
gd:who* Những người liên quan đến sự kiện này: người tổ chức, người tham dự, diễn giả, người biểu diễn, v.v.
gd:who/gd:attendeeStatus? Trạng thái chấp nhận.
gd:who/gd:attendeeType? Loại người tham dự: required hoặc optional.

giá trị rel cho gd:Where

giá trị rel Mô tả
http://schemas.google.com/g/2005#event hoặc không được chỉ định. Địa điểm diễn ra sự kiện.
http://schemas.google.com/g/2005#event.alternate Địa điểm phụ. Ví dụ: một trang web từ xa có đường liên kết đến hội nghị truyền hình đến trang web chính.
http://schemas.google.com/g/2005#event.parking Bãi đỗ xe gần đó.

Các giá trị gd:eventStatus

Giá trị Mô tả
http://schemas.google.com/g/2005#event.canceled Sự kiện đã bị huỷ.
http://schemas.google.com/g/2005#event.confirmed Sự kiện đã được lên kế hoạch.
http://schemas.google.com/g/2005#event.tentative Sự kiện này chỉ được lên lịch tạm thời.

giá trị gd:Visibility

Giá trị Mô tả
http://schemas.google.com/g/2005#event.confidential Cho phép một số độc giả xem sự kiện.
http://schemas.google.com/g/2005#event.default Kế thừa hành vi từ các tùy chọn của chủ sở hữu lịch mà sự kiện xuất hiện.
http://schemas.google.com/g/2005#event.private Cho phép ít độc giả xem sự kiện nhất.
http://schemas.google.com/g/2005#event.public Cho phép hầu hết độc giả xem sự kiện.

giá trị gd:suốt

Giá trị Mô tả
http://schemas.google.com/g/2005#event.opaque Cho biết sự kiện tốn thời gian trên lịch; thời gian diễn ra sự kiện sẽ được đánh dấu là bận trong khi tìm kiếm rảnh/bận.
http://schemas.google.com/g/2005#event.transparent Cho biết sự kiện không tốn thời gian trên lịch; thời gian diễn ra sự kiện sẽ không được đánh dấu là bận trong kết quả tìm kiếm rảnh/bận.

Ví dụ

Cuộc họp:

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

Sự kiện trực tuyến:

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

Loại thông báo

Thể hiện một tin nhắn, chẳng hạn như email, bài đăng trong nhóm thảo luận hoặc nhận xét.

Phần tử danh mục: <atom:category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#message"/>

Thuộc tính

Thuộc tính Mô tả
atom:category* Danh mục. Những thực thể có thuộc tính @label được coi là thẻ. Để biết thông tin về cách sử dụng thuộc tính @scheme, vui lòng xem ghi chú ở đầu phần này. Để biết thông tin về cách sử dụng thuộc tính @term, vui lòng xem bảng bên dưới.
atom:content Nội dung thư.
atom:link* Tệp đính kèm tin nhắn. Cụ thể, để tải lên tệp đính kèm, hãy sử dụng <link rel="enclosure"> và đặt nội dung của tệp đính kèm đó vào bộ sưu tập phương tiện Atom.
atom:title Tiêu đề tin nhắn.
gd:geoPt? Vị trí địa lý mà bài viết được đăng.
gd:rating? Xếp hạng chất lượng (như được ứng dụng xác định).
gd:who* Những người liên quan đến tin nhắn này. Ngữ nghĩa chính xác phụ thuộc vào giá trị @rel. Hãy xem bảng bên dưới.

Danh mục giá trị @term

Tất cả danh mục bên dưới đều nằm trong lược đồ http://schemas.google.com/g/2005.

Thuật ngữ Mô tả
http://schemas.google.com/g/2005#message.chat Tin nhắn này là bản chép lời của một phiên trò chuyện.
http://schemas.google.com/g/2005#message.inbox Thư được đánh dấu là thuộc hộp thư đến.
http://schemas.google.com/g/2005#message.sent Tin nhắn được đánh dấu là đã gửi.
http://schemas.google.com/g/2005#message.spam Thư bị coi là thư rác.
http://schemas.google.com/g/2005#message.starred Tin nhắn được đánh dấu là có gắn dấu sao.
http://schemas.google.com/g/2005#message.unread Tin nhắn chưa đọc.

giá trị rel cho gd:who

Thuộc tính Mô tả
http://schemas.google.com/g/2005#message.bcc Người nhận tin nhắn BCC.
http://schemas.google.com/g/2005#message.cc Người nhận CC.
http://schemas.google.com/g/2005#message.from Người gửi tin nhắn (email hoặc IM).
http://schemas.google.com/g/2005#message.reply-to Người nhận thư được trả lời.
http://schemas.google.com/g/2005#message.to Người nhận chính của tin nhắn.

Ví dụ:

Nội dung 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>

Tài liệu tham khảo về phần tử không gian tên của dữ liệu Google

Phần còn lại của tài liệu này bao gồm tài liệu tham khảo về các phần tử mà loại sử dụng.

Enum

Một số phần tử của phần mở rộng cần chỉ định các thuộc tính có giá trị đến từ một tập hợp được liệt kê. Hình thức chung của các thuộc tính đó là:

<gd:propertyName value="propertyValue">

Nếu giá trị thuộc tính đến từ không gian tên của Dữ liệu trên Google, thì thuộc tính này sẽ có dạng http://schemas.google.com/g/2005#{kind}.{value}. Ví dụ: http://schemas.google.com/g/2005#event.tentative. Nếu không gian giá trị có thể mở rộng, các giá trị cũng có thể ở dạng URI. Biểu mẫu đề xuất cho URI giá trị mở rộng là {schema URI}#{value}. Ví dụ: http://www.example.com/attendeeStatus#AudioConference.

gEnumConstruct =
   attribute value { text },
   anyAttribute*

Thuộc tính gdCommon

Các thuộc tính phổ biến được sử dụng cho mọi loại Google. Lưu ý rằng sự hiện diện của anyAttributeanyElement trong giản đồ cho phép tất cả phần tử không gian tên của Dữ liệu Google sử dụng các thuộc tính phổ biến được mở rộng thêm trong mọi không gian tên. Cụ thể, bạn phải lồng mọi phần tử gd hoặc phần tử Atom/RSS bất kỳ trong phần tử gd khác. Bạn nên thực hiện việc này một cách thận trọng và trong hầu hết các trường hợp, bạn nên sử dụng tài sản như một thuộc tính rõ ràng của loại phần tử gd.

Thuộc tính

Thuộc tính Loại Mô tả
@xml:base uri Hàm dựng XML chuẩn để mô tả cơ sở của các URI tương đối lồng nhau.
@xml:lang text Ngôn ngữ của các chuỗi lồng nhau.

Lược đồ

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

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

gd:nhận xét

Chứa nguồn cấp dữ liệu nhận xét cho mục nhập đính kèm (chẳng hạn như sự kiện trên lịch).

Thuộc tính

Thuộc tính Loại Mô tả
@rel? string Loại nhận xét có trong đó. Hiện tại, có một sự khác biệt giữa bình luận và bài đánh giá thông thường.
gd:feedLink? feedLink Nguồn cấp dữ liệu nhận xét. Nguồn cấp dữ liệu này sẽ triển khai loại Thông báo.

giá trị rel

Giá trị Mô tả
http://schemas.google.com/g/2005#regular hoặc không xác định Nhận xét thông thường (từ người dùng).
http://schemas.google.com/g/2005#reviews Bài đánh giá chuyên nghiệp.

Ví dụ

Nguồn cấp dữ liệu bình luận:

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

Nguồn cấp dữ liệu các bài đánh giá:

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

Lược đồ

start = comments

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

gd:đã xóa

Khi có, phần tử đánh dấu cho biết mục chứa kết quả đã bị xoá.

Thuộc tính

Không có.

Lược đồ

start = deleted

deleted =
   element gd:deleted

gd:email

Địa chỉ email được liên kết với đối tượng chứa (thường là một thực thể đại diện cho một người hoặc một vị trí).

Thuộc tính

Thuộc tính Loại Mô tả
@address xs:string Địa chỉ email.
@label? xs:string Một giá trị chuỗi đơn giản được dùng để đặt tên cho địa chỉ email này. Cho phép giao diện người dùng hiển thị một nhãn như "Cơ quan", "Cá nhân", "Ưu tiên", v.v.
@rel? xs:string Giá trị có lập trình xác định loại email. Vui lòng xem phần bên dưới để biết thông tin chi tiết.
@primary? xs:boolean Khi có nhiều phần mở rộng về email xuất hiện trong một kiểu liên hệ, hãy cho biết phần mở rộng nào là chính. Tối đa một email có thể là email chính. Giá trị mặc định là "false".

giá trị rel

Giá trị Mô tả
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#other Địa chỉ email không phải là nhà riêng và không phải cơ quan. Có thể dùng label để cho biết loại thực tế.
http://schemas.google.com/g/2005#work

Ví dụ

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

Lược đồ

start = email

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

gd:entryLink

Đại diện cho một mục được lồng ghép về mặt logic. Ví dụ: <gd:who> đại diện cho một người liên hệ có thể có một mục nhập lồng nhau từ một nguồn cấp dữ liệu liên hệ.

Thuộc tính

Thuộc tính Loại Mô tả
@href? xs:string Chỉ định URI mục nhập. Nếu mục nhập lồng nhau không được nhúng và liên kết, thì thuộc tính này có thể bị bỏ qua.
@readOnly? xs:boolean Chỉ định liệu mục chứa trong đó có chỉ đọc hay không. Giá trị mặc định là "false".
@rel? xs:string Chỉ định mối quan hệ liên kết; cho phép dịch vụ cung cấp nhiều loại đường liên kết nhập cho một thực thể. Có cùng ngữ nghĩa và giá trị được phép như thuộc tính rel của phần tử <atom:link>.
atom:entry? atomEntry Nội dung của bài viết.

Quy tắc hạn chế

  • Phải có một trong hai hoặc cả @href hoặc <atom:entry>.
  • Nếu không có atom:entry, ứng dụng có thể tìm nạp nội dung từ URI mục nhập trong @href. Nếu có atom:entry, nội dung phải giống với nội dung sẽ được truy xuất từ @href tại thời điểm tạo mục nhập.
  • Khi PUT hoặc POST chứa <gd:entryLink> và thuộc tính @href được chỉ định, thì giá trị của thuộc tính sẽ được dùng để tạo đường liên kết; nếu có cả phần tử atom:entry, thì phần tử đó sẽ bị bỏ qua. Nếu không chỉ định thuộc tính @href thì phần tử atom:entry sẽ được lưu trữ dưới dạng một mục nhập được nhúng hoặc lưu trữ trong một nguồn cấp dữ liệu khác và được liên kết. Xin lưu ý rằng một số dịch vụ có thể không hỗ trợ tất cả những lựa chọn này.

Ví dụ

Thông tin liên hệ trong <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>

Chỉ tham chiếu bên ngoài (mục chỉ đọc):

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

Lược đồ

start = entryLink

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

gd:extendedProperty

Cho phép bạn lưu trữ một lượng dữ liệu tùy chỉnh có giới hạn dưới dạng tài sản phụ của thực thể đính kèm.

Xin lưu ý rằng sự hiện diện của anyForeignElement cho phép nguồn cấp dữ liệu nhúng bất kỳ tệp XML hợp lệ nào trong phần tử gd:extendedProperty (loại trừ lẫn nhau bằng thuộc tính value).

Thuộc tính

Thuộc tính Loại Mô tả
@name xs:string Chỉ định tên của thuộc tính được biểu thị dưới dạng URI. URI thuộc tính mở rộng thường tuân theo quy ước {scheme}#{local-name}.
@value? xs:string Giá trị thuộc tính.

Ví dụ:

Giá trị nhận dạng bên ngoài cho một sự kiện trên lịch:

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

Tệp XML bổ sung cho mục nhập địa chỉ liên hệ

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

Lược đồ

start = extendedProperty

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

gd:feedLink

Đại diện cho một nguồn cấp dữ liệu được lồng ghép về mặt logic. Ví dụ: nguồn cấp dữ liệu lịch có thể có một nguồn cấp dữ liệu lồng nhau đại diện cho tất cả nhận xét trên các mục nhập.

Thuộc tính

Thuộc tính Loại Mô tả
@countHint? xs:unsignedInt Gợi ý về số lượng mục nhập trong nguồn cấp dữ liệu. Tuỳ thuộc vào cách triển khai, có thể con số không chính xác.
@href? xs:string Chỉ định URI của nguồn cấp dữ liệu. Nếu đã nhúng và không liên kết nguồn cấp dữ liệu lồng nhau, bạn có thể bỏ qua thuộc tính này.
@readOnly? xs:boolean Chỉ định việc nguồn cấp dữ liệu được chứa có ở chế độ chỉ đọc hay không.
@rel? xs:string Chỉ định mối quan hệ với đường liên kết; cho phép dịch vụ cung cấp nhiều loại đường liên kết đến nguồn cấp dữ liệu cho một thực thể. Có cùng ngữ nghĩa và giá trị được phép như thuộc tính rel của phần tử <atom:link>.
atom:feed? atomFeed Nội dung của nguồn cấp dữ liệu.

Quy tắc hạn chế

  • Phải có một trong hai hoặc cả @href hoặc <atom:feed>.
  • Nếu không có atom:feed, ứng dụng có thể tìm nạp nội dung từ URI trong @href. Nếu có, nội dung phải giống với nội dung sẽ được truy xuất từ @href tại thời điểm tạo nguồn cấp dữ liệu.
  • Khi một PUT hoặc POST chứa <gd:feedLink> và thuộc tính @href được chỉ định, giá trị của thuộc tính đó sẽ được dùng để tạo một đường liên kết; nếu có cả phần tử <atom:feed>, thì phần tử đó sẽ bị bỏ qua. Nếu không chỉ định thuộc tính @href thì phần tử <atom:feed> sẽ được lưu trữ dưới dạng nguồn cấp dữ liệu được nhúng. Xin lưu ý rằng một số dịch vụ có thể không hỗ trợ tất cả những lựa chọn này.

Ví dụ

Viết 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>

Chỉ tham chiếu bên ngoài:

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

Nguồn cấp dữ liệu được nhúng trong một mục Atom tương ứng với danh sách:

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

Lược đồ

start = feedLink

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

gd:geoPt

Vị trí địa lý (vĩ độ, kinh độ, độ cao).

Không dùng nữa. Phần tử này không còn được dùng nữa. Đối với dữ liệu gắn thẻ địa lý, hãy sử dụng GeoRSS.

Thuộc tính

Thuộc tính Loại Mô tả
@elev? xs:float Độ cao theo mét. Giá trị âm cho biết độ sâu dưới trung bình mực nước biển.
@label? xs:string Một giá trị chuỗi đơn giản được dùng để đặt tên cho vị trí này. Cho phép các giao diện người dùng hiển thị một nhãn như "Vị trí hiện tại".
@lat xs:float Vĩ độ theo độ. Giá trị dương có nghĩa là Bắc, giá trị âm có nghĩa là miền Nam. Phạm vi là [-90,0, 90,0].
@lon xs:float Kinh độ theo độ. Giá trị dương có nghĩa là miền Đông, giá trị âm có nghĩa là miền Tây. Phạm vi là [-180,0, 180,0].
@time? xs:dateTime Dấu thời gian.

Ví dụ

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

Lược đồ

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

Địa chỉ nhắn tin nhanh được liên kết với thực thể chứa.

Thuộc tính

Thuộc tính Loại Mô tả
@address xs:string Địa chỉ IM.
@label? xs:string Một giá trị chuỗi đơn giản được dùng để đặt tên cho địa chỉ IM này. Cho phép giao diện người dùng hiển thị một nhãn như "Cơ quan", "Cá nhân", "Ưu tiên", v.v.
@rel? xs:string Giá trị có lập trình xác định loại IM; xem bên dưới để biết chi tiết.
@protocol? xs:string Xác định mạng IM. Giá trị này có thể là một trong các giá trị tiêu chuẩn (minh hoạ bên dưới) hoặc URI xác định một mạng lưới độc quyền của IM.
@primary? xs:boolean Khi nhiều phần mở rộng nhắn tin nhanh xuất hiện trong một loại danh bạ, hãy cho biết đó là loại dữ liệu chính. Tối đa một IM có thể là chính. Giá trị mặc định là "false".

giá trị rel

Giá trị Mô tả
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#other Địa chỉ IM không phải là nhà riêng và cũng không phải nơi làm việc. Có thể dùng label để cho biết loại thực tế.
http://schemas.google.com/g/2005#work

giá trị thuộc tính giao thức

Bảng sau trình bày một số giá trị có thể xảy ra cho thuộc tính @protocol.

Giá trị Mô tả
http://schemas.google.com/g/2005#AIM Giao thức AOL Instant Messenger
http://schemas.google.com/g/2005#MSN Giao thức MSN Messenger
http://schemas.google.com/g/2005#YAHOO Giao thức của Yahoo Messenger
http://schemas.google.com/g/2005#SKYPE Giao thức Skype
http://schemas.google.com/g/2005#QQ Giao thức QQ
http://schemas.google.com/g/2005#GOOGLE_TALK Giao thức Google Talk
http://schemas.google.com/g/2005#ICQ Giao thức ICQ
http://schemas.google.com/g/2005#JABBER Giao thức Jabber

Ví dụ

Địa chỉ nhắn tin nhanh cho 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"/>

Địa chỉ IM do người dùng cung cấp với giao thức không xác định. Địa chỉ như vậy hữu ích cho mục đích hiển thị, nhưng khó xử lý theo lập trình.

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

Lược đồ

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:tổ chức

Một tổ chức, thường được liên kết với một người liên hệ.

Thuộc tính

Thuộc tính Loại Mô tả
@label? xs:string Một giá trị chuỗi đơn giản được dùng để đặt tên cho tổ chức này. Cho phép giao diện người dùng hiển thị một nhãn như "Nơi làm việc", "Tình nguyện", "Hiệp hội nghề nghiệp", v.v.
@rel? xs:string Giá trị có lập trình xác định loại tổ chức.
@primary? xs:boolean Khi nhiều phần mở rộng của tổ chức xuất hiện trong một loại danh bạ, hãy cho biết phần mở rộng nào là chính. Tối đa một tổ chức có thể là tổ chức chính. Giá trị mặc định là "false".
gd:orgName? orgName Tên của tổ chức.
gd:orgTitle? orgTitle Chức danh của một người trong tổ chức.

giá trị rel

Giá trị Mô tả
http://schemas.google.com/g/2005#other Một tổ chức không hoạt động. Có thể dùng label để cho biết loại thực tế.
http://schemas.google.com/g/2005#work

Ví dụ

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

Lược đồ

start = organzation

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

gd:orgName

Tên của tổ chức. Phải xuất hiện trong phần tử gd:organization.

Ví dụ:

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

Lược đồ

start = orgName

orgName =
   element gd:orgName { xs:string }

gd:orgTitle

Chức danh của một người trong một tổ chức. Phải xuất hiện trong phần tử gd:organization.

Ví dụ:

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

Lược đồ

start = orgTitle

orgTitle =
   element gd:orgTitle { xs:string }

gd:Sự kiện gốc

Tương đương với thuộc tính mã đệ quy được chỉ định trong phần 4.8.4.4 của RFC 2445. Xuất hiện trong mọi bản sao của một sự kiện định kỳ để xác định sự kiện gốc.

Chứa phần tử <gd:when> chỉ định thời gian bắt đầu ban đầu của thực thể đã trở thành ngoại lệ.

Thuộc tính

Thuộc tính Loại Mô tả
@id xs:string Mã sự kiện cho sự kiện gốc.
@href xs:string URL của nguồn cấp dữ liệu sự kiện cho sự kiện gốc.

Ví dụ:

Chỉ định một sự kiện ban đầu:

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

Lược đồ

start = originalEvent

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

gd:số điện thoại

Số điện thoại liên kết với đối tượng chứa (thường là một thực thể đại diện cho một người hoặc một vị trí).

Thuộc tính

Thuộc tính Loại Mô tả
@label? xs:string Một giá trị chuỗi đơn giản được dùng để đặt tên cho số điện thoại này. Trong hầu hết các trường hợp, @label không cần thiết vì @rel xác định duy nhất một số và cho phép các giao diện người dùng hiển thị nhãn thích hợp như "Thiết bị di động", "Nhà riêng", "Cơ quan", v.v. Tuy nhiên, trong trường hợp một người có (ví dụ) nhiều điện thoại di động, thuộc tính này có thể được dùng để phân biệt các điện thoại đó.
@rel? xs:string Giá trị có lập trình xác định loại số điện thoại; xem chi tiết bên dưới.
@uri? xs:string "URI điện thoại" tuỳ chọn dùng để biểu thị số theo cách chính thức, hữu ích cho việc truy cập có lập trình, chẳng hạn như cầu VoIP/PSTN. Hãy xem RFC 3966 để biết thêm thông tin về URI điện thoại.
@primary? xs:boolean Khi có nhiều phần mở rộng về số điện thoại xuất hiện trong một loại danh bạ, hãy cho biết phần mở rộng đó là số điện thoại chính. Tối đa một số điện thoại có thể là số chính. Giá trị mặc định là "false".
text() xs:string Số điện thoại có thể đọc được; có thể ở bất kỳ định dạng số điện thoại nào. Khoảng trắng ở đầu và cuối không đáng kể. Các dòng mới trong chuỗi cũng không quan trọng và có thể bị xoá hoặc làm phẳng thành một dấu cách.

giá trị rel

Giá trị Mô tả
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 Một loại số đặc biệt mà không có giá trị rel nào khác có ý nghĩa. Ví dụ: thiết bị có chế độ Máy điện báo đánh chữ (TTY). Có thể dùng label để cho biết loại thực tế.
http://schemas.google.com/g/2005#pager
http://schemas.google.com/g/2005#work
http://schemas.google.com/g/2005#work_fax

Ví dụ

Số điện thoại đơn giản do người dùng nhập:

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

Cùng một số điện thoại được vẽ từ một thư mục:

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

Số có nhãn:

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

Lược đồ

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

Địa chỉ bưu chính.

Thuộc tính

Thuộc tính Loại Mô tả
@label? xs:string Một giá trị chuỗi đơn giản được dùng để đặt tên cho địa chỉ này.
@rel? xs:string Giá trị có lập trình xác định loại địa chỉ bưu chính; xem bên dưới để biết chi tiết.
@primary? xs:boolean Khi có nhiều phần mở rộng về địa chỉ bưu chính xuất hiện trong một loại danh bạ, tức là phần mở rộng chính. Tối đa một địa chỉ gửi thư có thể là địa chỉ chính. Giá trị mặc định là "false".
text() xs:string Địa chỉ dạng văn bản. Khoảng trắng ở đầu và cuối không đáng kể. Dòng mới trong chuỗi rất quan trọng.

giá trị rel

Giá trị Mô tả
http://schemas.google.com/g/2005#home
http://schemas.google.com/g/2005#other Địa chỉ không phải là nhà riêng và cũng không phải nơi làm việc. Có thể dùng label để cho biết loại thực tế.
http://schemas.google.com/g/2005#work

Ví dụ

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

Lược đồ

start = postalAddress

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

gd:xếp hạng

Biểu thị thứ hạng bằng số của thực thể đính kèm, chẳng hạn như một chú thích. Mỗi điểm xếp hạng cung cấp thang điểm riêng, mặc dù có thể chuẩn hóa dịch vụ; ví dụ: một số dịch vụ có thể chuyển đổi tất cả điểm xếp hạng thành một thang điểm từ 1 đến 5.

Thuộc tính

Thuộc tính Loại Mô tả
@average? xs:float Điểm xếp hạng trung bình.
@max xs:int Giá trị tối đa của thang điểm xếp hạng.
@min xs:int Giá trị tối thiểu của thang điểm xếp hạng.
@numRaters? xs:int Số lượng điểm xếp hạng được tính đến khi tính toán giá trị trung bình.
@rel? xs:string Xác định khía cạnh đang được xếp hạng. Nếu bạn không chỉ định thì đó là điểm xếp hạng tổng thể.
@value? xs:int Giá trị xếp hạng.

giá trị rel

Giá trị Mô tả
http://schemas.google.com/g/2005#overall hoặc không xác định Điểm xếp hạng chung. Giá trị cao hơn có nghĩa là điểm xếp hạng cao hơn.
http://schemas.google.com/g/2005#price Mức giá. Giá trị cao hơn đồng nghĩa với giá cao hơn.
http://schemas.google.com/g/2005#quality Điểm xếp hạng chất lượng. Giá trị càng cao thì chất lượng càng cao.

Ví dụ

Điểm xếp hạng chung của 4/5:

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

Xếp hạng khoảng giá đắt nhất:

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

Được 200 người dùng xếp hạng với xếp hạng trung bình là 4,65 trên 5:

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

Lược đồ

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:lặp lại

Thể hiện ngày và giờ xảy ra sự kiện định kỳ.

Chuỗi xác định lần lặp lại bao gồm một tập hợp các thuộc tính, mỗi thuộc tính được xác định trong tiêu chuẩn iCalendar (RFC 2445).

Cụ thể, chuỗi thường bắt đầu bằng một thuộc tính DTSTART cho biết thời gian bắt đầu bản sao đầu tiên của sự kiện và thường là một thuộc tính DTEND hoặc một thuộc tính dataLayer cho biết thời điểm bản sao đầu tiên kết thúc. Tiếp theo là các thuộc tính RQU, RDATE, EXQUCH và/hoặc EXDATE, cùng xác định một sự kiện định kỳ và các ngoại lệ của sự kiện đó (nhưng hãy xem bên dưới). (Xem phần 4.8.5 của RFC 2445 để biết thêm thông tin về các thuộc tính thành phần lặp lại này.) Cuối cùng là thành phần VGiờ, cung cấp quy tắc chi tiết về múi giờ cho mọi mã múi giờ đã đề cập trong các thuộc tính trước đó.

Các dịch vụ của Google như Lịch Google thường không tạo các thuộc tính EXRule và EXDATE để biểu thị các ngoại lệ cho các sự kiện định kỳ; thay vào đó, chúng tạo ra các phần tử <gd:recurrenceException>. Tuy nhiên, các dịch vụ của Google vẫn có thể bao gồm các thuộc tính EXRule và/hoặc EXDATE; ví dụ: người dùng có thể nhập các sự kiện và ngoại lệ vào Lịch. Nếu các sự kiện đã nhập đó chứa các thuộc tính EXQU hoặc EXDATE, thì Lịch sẽ cung cấp các thuộc tính đó khi gửi thuộc tính <gd:recurrence>.

Lưu ý việc sử dụng <gd:recurrenceException> có nghĩa là bạn không chắc chắn bằng cách kiểm tra phần tử <gd:recurrence> xem có ngoại lệ nào đối với phần mô tả lặp lại hay không. Để đảm bảo bạn tìm thấy tất cả trường hợp ngoại lệ, hãy tìm các phần tử <gd:recurrenceException> trong nguồn cấp dữ liệu và sử dụng các phần tử <gd:originalEvent> để so khớp với các phần tử <gd:recurrence>.

Thuộc tính

Thuộc tính Loại Mô tả
text() xs:string Nội dung mô tả định kỳ.

Ví dụ:

Một sự kiện lặp lại diễn ra vào mỗi sáng từ 6:00 đến 7:00 sáng, Giờ Thái Bình Dương, từ ngày 14 tháng 3 đến ngày 21 tháng 3 năm 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>

Lược đồ

start = recurrence

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

gd:RepeatException

Thể hiện sự kiện ngoại lệ cho một sự kiện lặp lại — tức là một trường hợp của một sự kiện lặp lại trong đó một hoặc nhiều khía cạnh của sự kiện định kỳ (chẳng hạn như danh sách điểm danh, thời gian hoặc địa điểm) đã được thay đổi.

Chứa phần tử <gd:originalEvent> chỉ định sự kiện định kỳ ban đầu mà sự kiện này là ngoại lệ.

Khi bạn thay đổi một phiên bản của một sự kiện định kỳ, phiên bản đó sẽ trở thành trường hợp ngoại lệ. Tuỳ thuộc vào thay đổi mà bạn đã thực hiện cho nó, trường hợp ngoại lệ sẽ hoạt động theo một trong hai cách khác nhau khi sự kiện định kỳ ban đầu được thay đổi:

  • Nếu bạn thêm, thay đổi hoặc xóa nhận xét, người tham dự hoặc câu trả lời của người tham dự, thì trường hợp ngoại lệ vẫn liên quan đến sự kiện gốc và những thay đổi đối với sự kiện gốc cũng sẽ thay đổi trường hợp ngoại lệ.
  • Nếu bạn thực hiện bất kỳ thay đổi nào khác đối với ngoại lệ (chẳng hạn như thay đổi thời gian hoặc vị trí) thì trường hợp sẽ trở thành "chuyên môn", có nghĩa là trường hợp không còn liên kết chặt chẽ với sự kiện gốc. Nếu bạn thay đổi sự kiện gốc, thì các trường hợp ngoại lệ chuyên biệt sẽ không thay đổi. Tuy nhiên, hãy xem bên dưới.

Ví dụ:giả sử bạn có một cuộc họp vào mỗi 3 giờ chiều thứ Ba và thứ Năm. Nếu bạn thay đổi danh sách người tham dự cho cuộc họp thứ Năm này (nhưng không thay đổi cho cuộc họp đã lên lịch thường xuyên), thì nó sẽ trở thành một ngoại lệ. Nếu bạn thay đổi thời gian cho cuộc họp của thứ Năm này (nhưng không phải cho cuộc họp được lên lịch thường xuyên) thì cuộc họp đó sẽ trở nên chuyên biệt.

Bất kể một trường hợp ngoại lệ có chuyên biệt hay không, nếu bạn thực hiện thao tác xoá trường hợp ngoại lệ đó bắt nguồn từ thì trường hợp ngoại lệ sẽ bị xoá. Lưu ý rằng việc thay đổi ngày hoặc giờ của một sự kiện định kỳ sẽ xóa tất cả các phiên bản và tạo ra các phiên bản mới.

Ví dụ: sau khi bạn chuyên cuộc họp thứ Năm này, giả sử bạn thay đổi cuộc họp định kỳ để diễn ra vào thứ Hai, thứ Tư và thứ Sáu. Thay đổi đó sẽ xóa tất cả các phiên bản định kỳ của cuộc họp thứ Ba/thứ Năm, bao gồm cả phiên bản chuyên biệt.

Nếu một phiên bản cụ thể của một sự kiện định kỳ bị xóa, thì phiên bản đó sẽ xuất hiện dưới dạng <gd:recurrenceException> chứa <gd:entryLink> đã đặt <gd:eventStatus> thành "http://schemas.google.com/g/2005#event.canceled". (Để biết thêm thông tin về các sự kiện bị hủy, hãy xem RFC 2445.)

Thuộc tính

Thuộc tính Loại Mô tả
@specialized xs:boolean Cho biết trường hợp ngoại lệ có chuyên biệt hay không.
gd:entryLink entryLink Mục nhập Sự kiện cung cấp thông tin chi tiết về ngoại lệ.
gd:originalEvent originalEvent Sự kiện định kỳ ban đầu mà đây là một ngoại lệ.

Ví dụ:

Ngoại lệ cho một sự kiện định kỳ (một số phần được thay thế bằng giá trị nhận dạng in nghiêng ngắn gọn cho dễ hiểu):

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

Lược đồ

start = recurrenceException

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

gd:lời nhắc

Thường dùng nhất ở: <gd:when>

Khoảng thời gian, cho biết khoảng thời gian trước thuộc tính @startTime hoặc @dueTime của thực thể chứa cần đưa ra lời nhắc. Ngoài ra, bạn cũng có thể chỉ định thời gian tuyệt đối mà bạn sẽ nhận lời nhắc. Đồng thời cũng chỉ định phương thức thông báo, cho biết phương tiện mà hệ thống nên sử dụng để nhắc người dùng.

Thuộc tính

Thuộc tính Loại Mô tả
@absoluteTime? xs:dateTime Thời gian tuyệt đối mà bạn sẽ nhận lời nhắc. Tính năng này thường được sử dụng khi người dùng sử dụng tính năng "tạm ẩn" để trì hoãn lời nhắc trước đó. Nếu bạn không chỉ định múi giờ, thì giờ địa phương của trình quan sát sẽ được giả định.
@method? xs:string Phương thức thông báo mà lời nhắc sẽ sử dụng. Có thể có bất kỳ giá trị nào sau đây: alert (khiến cảnh báo xuất hiện khi người dùng đang xem lịch trong trình duyệt), email (gửi tin nhắn email cho người dùng) hoặc sms (gửi tin nhắn văn bản SMS cho người dùng).
@days? xs:unsignedInt Khoảng thời gian trước gd:when/@startTime khi lời nhắc cần được đưa ra. Nếu thời gian mục tiêu của thực thể mẹ là một ngày thay vì một thời điểm cụ thể, thì các thuộc tính này tương ứng với nửa đêm (00:00) vào ngày đó.
@hours? xs:unsignedInt
@minutes? xs:unsignedInt

Khi bạn tạo hoặc chỉnh sửa một mục <gd:when>, hãy sử dụng các quy ước sau để đạt được kết quả cụ thể:

  • Để yêu cầu dịch vụ sử dụng lời nhắc mặc định của người dùng, hãy thêm một phần tử <gd:reminder> không có thuộc tính. Nếu bạn chỉ định thời lượng nhưng không có thuộc tính method, thì dịch vụ sẽ sử dụng các phương thức thông báo mặc định của người dùng với thời lượng mà bạn chỉ định.
  • Để yêu cầu dịch vụ không đưa ra lời nhắc cho sự kiện (hoặc xóa lời nhắc hiện có khi cập nhật sự kiện), đừng thêm bất kỳ phần tử <gd:reminder> nào.

Quy tắc hạn chế

  • Bạn có thể chỉ định tối đa một trong @days, @hours, @minutes hoặc @absoluteTime. Để chỉ định thời lượng hỗn hợp, hãy chuyển đổi sang đơn vị chính xác nhất. Ví dụ: để chỉ định 1 giờ 30 phút, hãy sử dụng @minutes="90".
  • Bạn không thể sử dụng các giá trị âm cho các thuộc tính (vì vậy, nếu muốn một lời nhắc xuất hiện sau thời gian bắt đầu, bạn phải sử dụng @absoluteTime).
  • Một sự kiện cụ thể chỉ được liên kết với tối đa 5 lời nhắc.
  • Khi thêm lời nhắc vào một sự kiện, bạn phải chỉ định thời lượng nếu chỉ định phương thức alert, email hoặc sms.

Ví dụ

Lời nhắc họp 15 phút:

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

Cùng cuộc họp như trên, nhưng được tạm ẩn trong 10 phút sau lời nhắc lúc 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>

Lược đồ

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

Một giá trị nhận dạng tài nguyên mờ, khác với atom:id vì nó không cần phải là URI hợp lệ. Một số dịch vụ cung cấp giá trị nhận dạng riêng để sử dụng khi xây dựng các yêu cầu tiếp theo. Sử dụng chính xác là dịch vụ cụ thể.

Ví dụ:

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

Lược đồ

start = resourceId

resourceId =
   element gd:resourceId { xs:string }

gd:khi nào

Biểu thị một khoảng thời gian hoặc tức thì.

Thuộc tính

Thuộc tính Loại Mô tả
@endTime? xs:dateTime hoặc xs:date Mô tả thời điểm kết thúc sự kiện. Nếu bạn không chỉ định múi giờ, thì múi giờ địa phương của trình quan sát sẽ được giả định.
@startTime xs:dateTime hoặc xs:date Mô tả thời điểm bắt đầu sự kiện hoặc (đối với các sự kiện có thời lượng bằng 0) khi sự kiện xảy ra. Nếu bạn không chỉ định múi giờ, thì múi giờ địa phương của trình quan sát sẽ được giả định.
@valueString? xs:string Một giá trị chuỗi đơn giản có thể dùng để biểu thị khoảng thời gian này.

Quy tắc hạn chế

  • Bạn không thể kết hợp xs:dateTime với xs:date trong startTime/endTime.
  • Nếu không chỉ định endTime thì sự kiện sẽ được coi là diễn ra tức thì (nếu @startTime bao gồm cả thời gian) hoặc sự kiện trong một ngày (nếu @startTime chỉ là một ngày).

Ví dụ

Sự kiện kéo dài một ngày:

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

Nội dung mô tả thay thế cho sự kiện trong một ngày:

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

Sự kiện kéo dài 2 ngày (vào ngày 6 tháng 6 và ngày 7 tháng 6) có nội dung mô tả chuỗi:

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

Cuộc họp kéo dài 1 giờ:

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

Sự kiện có thời lượng bằng 0:

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

Lược đồ

start = when

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

gd:ở đâu

Một địa điểm (chẳng hạn như địa điểm diễn ra sự kiện) liên kết với thực thể chứa. Loại liên kết được xác định bởi thuộc tính rel; thông tin chi tiết về vị trí nằm trong mục nhập Danh sách liên hệ được nhúng hoặc liên kết.

Phần tử <gd:where> tổng quát hơn phần tử <gd:geoPt>. Phần sau xác định một địa điểm bằng cách sử dụng mô tả văn bản và/hoặc mục Liên hệ, trong khi phần sau xác định một địa điểm sử dụng một vị trí địa lý cụ thể.

Thuộc tính

Thuộc tính Loại Mô tả
@label? xs:string Chỉ định nhãn mà người dùng đọc được để phân biệt vị trí này với các vị trí khác.
@rel? xs:string Chỉ định mối quan hệ giữa thực thể chứa và vị trí được chứa. Các giá trị có thể có (xem bên dưới) được xác định theo các phần tử khác. Ví dụ: <gd:when> định nghĩa http://schemas.google.com/g/2005#event.
@valueString? xs:string Một giá trị chuỗi đơn giản có thể dùng để biểu thị vị trí này.
gd:entryLink? entryLink Mục nhập đại diện cho chi tiết vị trí. Mục này sẽ triển khai loại Liên hệ.

giá trị rel

Giá trị Mô tả
http://schemas.google.com/g/2005#event hoặc không xác định Nơi diễn ra sự kiện kèm theo.
http://schemas.google.com/g/2005#event.alternate Địa điểm phụ. Ví dụ: một trang web từ xa có đường liên kết đến hội nghị truyền hình đến trang web chính.
http://schemas.google.com/g/2005#event.parking Một bãi đỗ xe gần đó.

Ví dụ

Vị trí sự kiện:

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

Địa điểm tổ chức sự kiện phức tạp hơn:

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

Sự kiện có nhiều địa điểm:

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

Lược đồ

start = where

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

gd:ai

Một người liên kết với đối tượng chứa. Loại liên kết được xác định bằng thuộc tính rel. Thông tin chi tiết về người đó có trong một mục liên hệ được nhúng hoặc liên kết với.

Bạn có thể sử dụng phần tử <gd:who> để chỉ định người gửi và người nhận email, người tổ chức sự kiện trên lịch, v.v.

Thuộc tính

Thuộc tính Loại Mô tả
@email? xs:string Địa chỉ email. Thuộc tính này thường được dùng khi bạn không chỉ định <gd:entryLink>. Địa chỉ phải tuân thủ RFC 2822, mục 3.4.1.
@rel? xs:string Chỉ định mối quan hệ giữa thực thể chứa và người được chứa. Hãy xem các giá trị có thể có bên dưới.
@valueString? xs:string Một giá trị chuỗi đơn giản có thể dùng để đại diện cho người này.
gd:attendeeStatus? gEnumConstruct Trạng thái của người tham dự sự kiện. Enum mở rộng được nêu dưới đây.
gd:attendeeType? gEnumConstruct Loại người tham dự sự kiện. Enum mở rộng được nêu dưới đây.
gd:entryLink? entryLink Mục nhập đại diện cho chi tiết của người. Mục này sẽ triển khai loại Liên hệ. Trong nhiều trường hợp, mục nhập này sẽ đến từ nguồn cấp dữ liệu liên hệ.

giá trị rel

Các giá trị hợp lệ cho @rel phụ thuộc vào loại phần tử <gd:who> xuất hiện.

Giá trị Loại Mô tả
http://schemas.google.com/g/2005#event.attendee Sự kiện Người tham dự cuộc họp/sự kiện chung.
http://schemas.google.com/g/2005#event.organizer Sự kiện Người tổ chức sự kiện. Người tổ chức không nhất thiết phải là người tham dự.
http://schemas.google.com/g/2005#event.performer Sự kiện Người biểu diễn. Tương tự như http://schemas.google.com/g/2005#event.speaker, nhưng chú trọng hơn vào nghệ thuật hơn là phân phối lời nói.
http://schemas.google.com/g/2005#event.speaker Sự kiện Loa.
http://schemas.google.com/g/2005#message.bcc Thông báo Người nhận tin nhắn BCC.
http://schemas.google.com/g/2005#message.cc Thông báo Người nhận CC.
http://schemas.google.com/g/2005#message.from Thông báo Người gửi tin nhắn (email hoặc IM).
http://schemas.google.com/g/2005#message.reply-to Thông báo Người nhận thư được trả lời.
http://schemas.google.com/g/2005#message.to Thông báo Người nhận chính của tin nhắn.

Giá trị gd:attendeeType

Giá trị Mô tả
http://schemas.google.com/g/2005#event.optional Người tham dự không bắt buộc.
http://schemas.google.com/g/2005#event.required Người tham dự bắt buộc.

gd:attendeeStatus Giá trị

Giá trị Mô tả
http://schemas.google.com/g/2005#event.accepted Người tham dự đã chấp nhận.
http://schemas.google.com/g/2005#event.declined Người tham dự đã từ chối.
http://schemas.google.com/g/2005#event.invited Đã gửi lời mời, nhưng người đó chưa chấp nhận.
http://schemas.google.com/g/2005#event.tentative Người tham dự đã chấp nhận tạm thời.

Ví dụ

Người nhận 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"/>

Người tham dự cuộc họp:

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

Người tổ chức sự kiện:

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

Lược đồ

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

Trở lại đầu trang