SAX.setDocumentLocator()
SAX.startDocument()
SAX.startElement(D:multistatus, xmlns:D='http://www.ietf.org/standards/dav/')
SAX.characters(
  <D:response>
    <D:prop>
 , 3)
SAX.startElement(D:response)
SAX.characters(
    <D:prop>
      <D:support, 5)
SAX.startElement(D:prop)
SAX.characters(
      <D:supportedlock>
     , 7)
SAX.startElement(D:supportedlock)
SAX.characters(
        <D:LockEntry>
       , 9)
SAX.startElement(D:LockEntry)
SAX.characters(
          <D:locktype>Write</, 11)
SAX.startElement(D:locktype)
SAX.characters(Write</D:locktype>
          <, 5)
SAX.endElement(D:locktype)
SAX.characters(
          <D:lockscope>Exclus, 11)
SAX.startElement(D:lockscope)
SAX.characters(Exclusive</D:lockscope>
      , 9)
SAX.endElement(D:lockscope)
SAX.characters(
        </D:LockEntry>
      , 9)
SAX.endElement(D:LockEntry)
SAX.characters(
        <D:LockEntry>
       , 9)
SAX.startElement(D:LockEntry)
SAX.characters(
          <D:locktype>Write</, 11)
SAX.startElement(D:locktype)
SAX.characters(Write</D:locktype>
          <, 5)
SAX.endElement(D:locktype)
SAX.characters(
          <D:lockscope>Shared, 11)
SAX.startElement(D:lockscope)
SAX.characters(Shared</D:lockscope>
        <, 6)
SAX.endElement(D:lockscope)
SAX.characters(
        </D:LockEntry>
      , 9)
SAX.endElement(D:LockEntry)
SAX.characters(
      </D:supportedlock>
    , 7)
SAX.endElement(D:supportedlock)
SAX.characters(
    </D:prop>
    <D:status>H, 5)
SAX.endElement(D:prop)
SAX.characters(
    <D:status>HTTP/1.1 200 OK, 5)
SAX.startElement(D:status)
SAX.characters(HTTP/1.1 200 OK</D:status>
  <, 15)
SAX.endElement(D:status)
SAX.characters(
  </D:response>
</D:multistat, 3)
SAX.endElement(D:response)
SAX.characters(
</D:multistatus>
, 1)
SAX.endElement(D:multistatus)
SAX.endDocument()
