[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dav-dev
Subject:    [dav-dev] undeclared namespace prefix in apache2
From:       Stefan Eissing <stefan.eissing () greenbytes ! de>
Date:       2002-07-25 11:49:30
[Download RAW message or body]

While testing our client code against apache 2.0.39 (unix)
we found a bug in the namespace declarations:

After setting a dead property on a resource, apache2 reports
malformed XML in its PROPFIND response. A certain namespace
prefix is declared too late, e.g. after its first use in an
element.

Our complete test suite works against moddav 1.0.3 in Apache 1.3.x.

Could someone of you have a look into this? Thanks!

BR, Stefan

---------------------------------------------------------------------
Details:

The following PROPPATCH is made:

<propertyupdate xmlns='DAV:'>
<set><prop>
<foo xmlns='bar' xml:lang='de'>Versuch</foo>
<test2 xmlns='xyz:'><name>Boettcher<abc:name xmlns:abc='abc:' 
ZZZ:dasAttribut='AttributWert' 
xmlns:ZZZ='def:'>Martin</abc:name></name>Dies ist der dritte 
Test!</test2>
</prop></set>
</propertyupdate>

and PROPFIND will return (later in our test suite):

malformed response body: Reference to undeclared namespace prefix: 
'ns6'.
Position: 83/72
NaN<ns1:test2><ns0:name>Boettcher<ns6:name 
ns3:dasAttribut="AttributWert">Martin</ns6:name></ns0:name>Dies ist 
der dritte Test!</ns1:test2>


PROPFIND /test/sei/ HTTP/1.1
Host: krusty.greenbytes.de
Accept-Language: de, *
Content-Type: text/xml; charset=UTF-8
Apply-To-Redirect-Ref:
Translate: f
Depth: 1
User-Agent: SAP Portals WCM WebDAV Repository 1.0
Accept-Encoding: gzip
Content-Length: 212

<propfind xmlns='DAV:'><allprop/><wdservlet:include 
xmlns:wdservlet='http://sapportals.com/xmlns/cm/webdav'><supported-live-property-set/
 ><version-name/><comment/><version-
history/></wdservlet:include></propfind>

HTTP/1.1 207 Multi-Status
Date: Thu, 25 Jul 2002 11:18:44 GMT
Server: Apache/2.0.39 (Unix) DAV/2
Content-Length: 14052
Content-Type: text/xml; charset="utf-8"

<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:">
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/delete-test/</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype><D:collection/></lp1:resourcetype>
<lp1:creationdate>2002-07-25T11:06:17Z</lp1:creationdate>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:06:17 GMT</lp1:getlastmodified>
<lp1:getetag>"5381c3-1000-a57f7c40"</lp1: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:lockdiscovery/>
<D:getcontenttype>httpd/unix-directory</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/abcd.xyz</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:50Z</lp1:creationdate>
<lp1:getcontentlength>18</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:50 GMT</lp1:getlastmodified>
<lp1:getetag>"518233-12-a3e37f80"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>chemical/x-xyz</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/test/</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype><D:collection/></lp1:resourcetype>
<lp1:creationdate>2002-07-25T11:05:44Z</lp1:creationdate>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:44 GMT</lp1:getlastmodified>
<lp1:getetag>"1f81cd-1000-a387f200"</lp1: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:lockdiscovery/>
<D:getcontenttype>httpd/unix-directory</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:ns0="DAV:" xmlns:ns1="xyz:" xmlns:ns2="bar" 
xmlns:ns3="def:" xmlns:ns4="abc:" xmlns:lp1="DAV:" 
xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/Worddatei.doc</D:href>
<D:propstat>
<D:prop>
<ns1:test>Dies ist der erste erneut modifizierte Test</ns1:test>
<ns2:foo xml:lang="de">Versuch</ns2:foo>
<ns1:test2><ns0:name>Boettcher<ns6:name 
ns3:dasAttribut="AttributWert">Martin</ns6:name></ns0:name>Dies ist 
der dritte Test!</ns1:test2>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:24Z</lp1:creationdate>
<lp1:getcontentlength>19456</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:24 GMT</lp1:getlastmodified>
<lp1:getetag>"518232-4c00-a256c500"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>application/msword</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:ns0="DAV:" xmlns:ns1="xyz:" 
xmlns:ns10="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:ns2="withlang" xmlns:ns11="testlongs" xmlns:ns3="withbase" 
xmlns:ns4="http://www.w3.org/2001/XMLSchema" 
xmlns:ns5="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:ns6="testboolean" xmlns:ns7="testint" xmlns:ns8="testlong" 
xmlns:ns9="testdate" xmlns:lp1="DAV:" 
xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/UTF8.TXT</D:href>
<D:propstat>
<D:prop>
<ns1:test>Dies ist der erste Test</ns1:test>
<ns2:julian>lang removed</ns2:julian>
<ns3:julian>Versuch 2</ns3:julian>
<ns6:julian>true</ns6:julian>
<ns7:julian>12345</ns7:julian>
<ns8:julian>-987654321987654</ns8:julian>
<ns9:julian>2001-07-28T09:00:00Z</ns9:julian>
<ns11:julian><ns1886680168:long>-42</ns1886680168:long><ns1886680168:long>
17</ns1886680168:long></ns11:julian>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:23Z</lp1:creationdate>
<lp1:getcontentlength>32</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:23 GMT</lp1:getlastmodified>
<lp1:getetag>"51822d-20-a24782c0"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>text/plain</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/Unicode.TXT</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:22Z</lp1:creationdate>
<lp1:getcontentlength>66</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:22 GMT</lp1:getlastmodified>
<lp1:getetag>"51822c-42-a2384080"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>text/plain</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/Unicode%20Big%20Endian.TXT</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:21Z</lp1:creationdate>
<lp1:getcontentlength>88</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:21 GMT</lp1:getlastmodified>
<lp1:getetag>"51822b-58-a228fe40"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>text/plain</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/Umlaute%20%c3%84%c3%96%c3%9c%c3%a4%c3%b6%c3%bc%c3%9f.txt<
/D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:21Z</lp1:creationdate>
<lp1:getcontentlength>25</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:21 GMT</lp1:getlastmodified>
<lp1:getetag>"518222-19-a228fe40"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>text/plain</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/Test!.ppt</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:20Z</lp1:creationdate>
<lp1:getcontentlength>8192</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:20 GMT</lp1:getlastmodified>
<lp1:getetag>"518221-2000-a219bc00"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>application/vnd.ms-powerpoint</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/my_dog_&amp;_cat.txt</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:18Z</lp1:creationdate>
<lp1:getcontentlength>18</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:18 GMT</lp1:getlastmodified>
<lp1:getetag>"518220-12-a1fb3780"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>text/plain</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/Mappe1.xls</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:18Z</lp1:creationdate>
<lp1:getcontentlength>13824</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:18 GMT</lp1:getlastmodified>
<lp1:getetag>"5181e9-3600-a1fb3780"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>application/vnd.ms-excel</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/Euro%e2%82%ac.txt</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:05:18Z</lp1:creationdate>
<lp1:getcontentlength>25</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:18 GMT</lp1:getlastmodified>
<lp1:getetag>"5181e2-19-a1fb3780"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>text/plain</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/ANSI.TXT</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype/>
<lp1:creationdate>2002-07-25T11:06:26Z</lp1:creationdate>
<lp1:getcontentlength>29</lp1:getcontentlength>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:06:26 GMT</lp1:getlastmodified>
<lp1:getetag>"5181e1-1d-a608d080"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<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:lockdiscovery/>
<D:getcontenttype>text/plain</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:ns0="DAV:" xmlns:ns1="http://greenbytes.de/test" 
xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/voll/</D:href>
<D:propstat>
<D:prop>
<ns1:stefan>Dˆser Test ben ¸tzt ‰inige ‹ml‰ˆute mit fl.</ns1:stefan>
<stefan>test</stefan>
<lp1:resourcetype><D:collection/></lp1:resourcetype>
<lp1:creationdate>2002-07-25T11:05:40Z</lp1:creationdate>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:40 GMT</lp1:getlastmodified>
<lp1:getetag>"1a016b-1000-a34ae900"</lp1: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:lockdiscovery/>
<D:getcontenttype>httpd/unix-directory</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/leer/</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype><D:collection/></lp1:resourcetype>
<lp1:creationdate>2002-07-25T11:05:58Z</lp1:creationdate>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:05:58 GMT</lp1:getlastmodified>
<lp1:getetag>"1a0168-1000-a45d9180"</lp1: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:lockdiscovery/>
<D:getcontenttype>httpd/unix-directory</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<D:href>/test/sei/</D:href>
<D:propstat>
<D:prop>
<lp1:resourcetype><D:collection/></lp1:resourcetype>
<lp1:creationdate>2002-07-25T11:06:17Z</lp1:creationdate>
<lp1:getlastmodified>Thu, 25 Jul 2002 11:06:17 GMT</lp1:getlastmodified>
<lp1:getetag>"518186-1000-a57f7c40"</lp1: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:lockdiscovery/>
<D:getcontenttype>httpd/unix-directory</D:getcontenttype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>


_______________________________________________
dav-dev maillist  -  dav-dev@lyra.org
http://dav.lyra.org/mailman/listinfo/dav-dev
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic