[CardDAV] 100% XML CardDAV query

CARDDAV:address-dataのリクエストXMLの要素を使うと、content-typeとバージョンのXMLパラメータによって、どのフォーマットでのアドレス帳を期待しているかを、クライアントが指定することができます。

10.4. CARDDAV:address-data XML Element
http://tools.ietf.org/html/draft-ietf-vcarddav-carddav-10#section-10.4

まもなく出版されるxCard形式(http://tools.ietf.org/html/draft-ietf-vcarddav-vcardxml)と共に、100%のXML CardDAVクエリのレスポンスを要求するために使用することができます。
<CARDDAV:address-data/>
を使うのではなく、
<CARDDAV:address-data content-type="application/vcard+xml" version="4.0" />
を使うことができます。

[リクエスト]
REPORT /home/bernard/addressbook/ HTTP/1.1
Host: addressbook.example.com
Depth: 1
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0" encoding="utf-8" ?>
<C:addressbook-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav">
  <D:prop>
    <D:getetag/>
    <C:address-data content-type="application/vcard+xml" version="4.0"/>
  </D:prop>
  <C:filter/>
</C:addressbook-query>
[レスポンス]
HTTP/1.1 207 Multi-Status
Date: Sat, 11 Nov 2006 09:32:12 GMT
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:"
 xmlns:C="urn:ietf:params:xml:ns:carddav">
  <D:response>
    <D:href>/home/bernard/addressbook/v102.vcf</D:href>
    <D:propstat>
      <D:prop>
        <D:getetag>"23ba4d-ff11fb"</D:getetag>
        <C:address-data content-type="application/vcard+xml" version="4.0">
          <vcards xmlns="urn:ietf:params:xml:ns:vcard-4.0">
            <vcard>
              <fn><text>J. Doe</text></fn>
              <uid><uri>xxx:12</uri></uid>
              <email>
                <parameters><type><text>work</text></type></parameters>
                <text>john.doe@example.ca</text>
              </email>
            </vcard>
          </vcards>

        </C:address-data>
      </D:prop>
      <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
</D:multistatus>
"X-HTTP-Method-Override" HTTP Headerと組み合わせて、HTTP POSTを使ってREPORTをラップすると、ほとんどのブラウザとの親和性が高いCardDAVクエリを作ることができます。

xCard: vCard XML Representation draft-ietf-vcarddav-vcardxml-11
http://tools.ietf.org/html/draft-ietf-vcarddav-vcardxml


原文はこちら。
http://blogs.oracle.com/arnaudq/entry/100_xml_carddav_query

0 件のコメント:

コメントを投稿