...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

WebDAV Client (8)

実際のデータを眺めていると,WebDAV サーバが返してくるデータは次のようなフォーマットになっているようだ.

  1. まず,HTTP のヘッダーがあって,区切りの空白行がある.
  2. XML データが始まる前に,16進数表記でデータサイズが書かれた行がある.
  3. 次に,そのサイズ分の部分的な XML データがあるので,ちょうどサイズ分だけ読み取る.
  4. 次のデータとの区切りの空白行がある.
  5. またデータサイズの行.
  6. そのサイズ分の XML データ.
  7. 以降データサイズと XML データの繰り返し.

ところが,WebDAV サーバが返してくる XML データ がおかしい.
変なところに改行が挿入されていて正しく XML として認識できない.

<D:lockdiscove
cb 

y/>

しかも1文字分(r)なくなってしまっていて,自力で回復できそうにない.
なんでこんなことになっているんだろう.


・・・あ,もしかして・・・(続く).


以下,もう少したくさんのデータ.

<D:prop>
<lp0:creationdate xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" b:dt="dateTime.tz">2006-11-21T13:59:11Z</lp0:creationdate>
<lp0:getlastmodified xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" b:dt="dateTime.rfc1123">Tue, 21 Nov 2006 13:59:11 GMT</lp0:getlastmodified>
<lp0:getetag>"dc6e1-1000-4563062f"</lp0:getetag>
<D:supportedlock>
<D:lockentry>
<D:lockscope><D:exclusive/></D:lockscope>
<D:locktype><D:write/></D:locktype>
</D:lockentry>
<D:lockentry>
<D:lockscope><D:shared/></D:lockscope>
<D:locktype><D:write/></D:locktype>
</D:lockentry>
</D:supportedlock>
<D:lockdiscove
cb 

y/>
<D:resourcetype>