Here is a complete example:
| ?- libwww_request([xmlparse('http://public.org/test/simple1.xml',[timeout(4)], P,Y,Z)]), http_liberr(Z,Explanation,Class). P = [header(Content-Type,text/html), subrequest('http://public.org/secret/001.ent',-401)] Y = [elt(doc,[],[elt(pcdata,[],' '), elt(foo,[attval(att1,123),attval(att2,ppp)], [elt(pcdata,[],'Test1 '),elt(pcdata,[],' Test2 '), elt(pcdata,[],adsdd),elt(pcdata,[], )]), elt(pcdata,[], ), elt(a,[],[elt(pcdata,[], aaaaaaaaaaa), elt(pcdata,[],' '), elt(b,[attval(att,1)],[]), elt(pcdata,[],' '), elt(c,[attval(att,2)],[]), elt(pcdata,[],' '), elt(d,[],[elt(pcdata,[],dddddddd), elt(f,[],[elt(pcdata,[],kkkkkkk)]), elt(pcdata,[],abc)]),elt(pcdata,[],' ')])])] Z = 200 Explanation = 'OK' Class = 'success'The above is a successful (because of the return code 200) request to parse an XML page. This page apparently had a reference to an external entity that was located in a protected domain. Since we did not supply authentication information, the call returned authentication failure for that subrequest (as indicated by the term subrequest('http://public.org/secret/001.ent',-401) in the fourth argument).