- From: Yosi Scharf <syosi@MIT.EDU>
- Date: Fri, 22 Jul 2005 11:15:23 -0400
- To: "Ralph R. Swick" <swick@csail.mit.edu>
- CC: public-cwm-bugs@w3.org
Fixed in latest cvs. Test is http://www.w3.org/2000/10/swap/test/regression.n3#t1002b Yosi Ralph R. Swick wrote: >A bug in several RDF/XML parsers' interpretations of xml:base >recently came to light [1]. The bug had to do with failure to >interpret nested xml:base attributes correctly; in particular, >the XML Base Recommendation allows an xml:base attribute >to contain a relative URI which is then interpreted in the context >of the base URI of the parent element [3]. > > [1] http://lists.w3.org/Archives/Public/semantic-web/2005Jul/0040.html > [2] http://www.w3.org/TR/xmlbase/ > [3] http://www.w3.org/TR/xmlbase/#matching > >The test case in the bug report [1] reveals that several RDF/XML >parsers fail to correctly resolve such nested xml:base attributes. > >Running this test through cwm reveals that cwm (rev 1.162, >xml2rdf.py rev 1.20, xmllib rev 1.2, sax2rdf.py rev 1.42) does not >even permit relative URIs in xml:base: > >% cwm --rdf << EOF >? <?xml version="1.0"?> >? <rdf:RDF xml:base="http://example.org/" >? xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >? xmlns:dc="http://purl.org/dc/elements/1.1/"> >? <rdf:Description rdf:about="http://www.w3.org/" xml:base="test1/"> >? <dc:title>World Wide Web Consortium</dc:title> >? <dc:source rdf:resource="test2/"/> >? <dc:relation rdf:resource=""/> >? </rdf:Description> >? </rdf:RDF> >? EOF >Traceback (most recent call last): > File "/home/swick/pub/2000/10/swap/cwm.py", line 635, in ? > doCommand() > File "/home/swick/pub/2000/10/swap/cwm.py", line 366, in doCommand > why = becauseCwm) > File "/afs/w3.org/pub/WWW/2000/10/swap/llyn.py", line 1152, in load > referer=referer, why=why) > File "/afs/w3.org/pub/WWW/2000/10/swap/webAccess.py", line 127, in load > p.feed(buffer) > File "/afs/w3.org/pub/WWW/2000/10/swap/sax2rdf.py", line 643, in feed > self._p.feed(data) > File "/usr/lib/python2.2/site-packages/_xmlplus/sax/expatreader.py", line 216, in feed > self._parser.Parse(data, isFinal) > File "/usr/lib/python2.2/site-packages/_xmlplus/sax/expatreader.py", line 353, in start_element_ns > AttributesNSImpl(newattrs, qnames)) > File "/afs/w3.org/pub/WWW/2000/10/swap/sax2rdf.py", line 450, in startElementNS > x = self.sink.newSymbol(self.uriref(value)) > File "/afs/w3.org/pub/WWW/2000/10/swap/sax2rdf.py", line 156, in uriref > return uripath.join(self._base, str) > File "/afs/w3.org/pub/WWW/2000/10/swap/uripath.py", line 106, in join > assert(bcolonl >= 0), "Base uri '%s' is not absolute" % here # else it's not absolute >AssertionError: Base uri 'test1/' is not absolute >% > > > > > >
Received on Friday, 22 July 2005 15:15:45 UTC