ChangeLog.4 165 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958
  1. 2003-12-31 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2. * utils/rdfproc.c: tweak help text
  3. * librdf/rdf_parser.h:
  4. Note parser syntax name, not raptor factory name, which is in the
  5. raptor parser context.
  6. * librdf/rdf_parser_raptor.c:
  7. Separate registered name from raptor parser name for all calls of
  8. raptor_new_parser.
  9. (librdf_parser_raptor_init): Convert the legacy parser name
  10. 'raptor' into 'rdfxml' internally.
  11. (librdf_parser_raptor_constructor): Use raptor_parsers_enumerate
  12. and hard code mime types, URIs here for now. Can use
  13. raptor_syntaxes_enumerate later.
  14. * raptor/raptor_rss.c, raptor/raptor_parse.c,
  15. raptor/ntriples_parse.c, raptor/n3_parser.y: Use expanded
  16. raptor_parser_register_factory with mime_type and uri_string args
  17. where appropriate.
  18. * raptor/libraptor.3, raptor/raptor.h: Added raptor_syntaxes_enumerate
  19. * raptor/raptor_general.c (raptor_parser_register_factory):
  20. Add mime_type and uri_string args, both optional.
  21. (raptor_syntaxes_enumerate): Added to get syntax name, label,
  22. mime_type or uri_string - all optional.
  23. (raptor_parsers_enumerate): Uses raptor_syntaxes_enumerate.
  24. * raptor/raptor_internal.h: Store parser mime_type, URI in
  25. raptor_parser_factory Update raptor_parser_register_factory to
  26. take mime_type, uri_string args.
  27. * utils/rdfproc.c: tweak help formatting
  28. * raptor/configure.ac: Bumped version to 1.2.0
  29. * raptor/configure.ac:
  30. Update RAPTOR_LIBTOOL_VERSION to reflect interfaces added,
  31. none removed giving current 2:0:1
  32. * raptor/libraptor.3: nroff/man style tweaks
  33. * raptor/libraptor.3: Style
  34. 2003-12-30 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  35. * raptor/configure.ac: words
  36. * raptor/configure.ac:
  37. Make flex version warnings mention N-Triples Plus more
  38. * librdf/rdf_model_storage.c, librdf/rdf_model.h,
  39. librdf/rdf_model.c (librdf_model_get_storage): Added, with factory
  40. method to match - optional. The model_storage implementation
  41. implements it.
  42. 2003-12-29 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  43. * utils/rdf-tree.c, utils/rdf-load.c: indented
  44. * raptor/libraptor.3: bump date
  45. * raptor/raptor_stringbuffer.c (main):
  46. Do not free as_string returned strings
  47. * raptor/raptor_stringbuffer.c: brackets
  48. * raptor/raptor_stringbuffer.c (raptor_free_stringbuffer):
  49. Free any constructed string.
  50. * configure.ac: Add AC_DEFINE for local MD5, SHA1, RIPEMD160
  51. * utils/rdfproc.c: Tweak help text to look better without getopt_long
  52. * librdf/rdf_serializer_rdfxml.c:
  53. Some more unsigned char fixes for URIs
  54. (librdf_serializer_print_statement_as_rdfxml): Try harder to find a
  55. maximal length legal property element name; now works for
  56. foaf:mbox_sha1sum - patch from Morten
  57. * docs/api.sgml.in, docs/Makefile.am:
  58. Added storage_mysql storage_tstore
  59. * raptor/raptor_xml_writer.c:
  60. Use raptor_stringbuffer to better grow the output cdata.
  61. * raptor/raptor_stringbuffer.c: stringbuffer now uses unsigned char
  62. Removed raptor_new|free_stringbuffer_node - used once, now inlined.
  63. (raptor_stringbuffer_append_string_common): Added with
  64. common append code merged here.
  65. (raptor_stringbuffer_append_counted_string,
  66. raptor_stringbuffer_append_string): Added do_copy arg.
  67. (main): Test code updated for api changes.
  68. * raptor/raptor_internal.h:
  69. Added prototypes for raptor_stringbuffer class to internal API
  70. * raptor/Makefile.am:
  71. Re-added raptor_stringbuffer.c and raptor_stringbuffer_test
  72. 2003-12-27 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  73. * librdf/rdf_uri.c, librdf/rdf_stream.c, librdf/rdf_statement.c, librdf/rdf_query.c, librdf/rdf_node.c, librdf/rdf_model.c, librdf/rdf_iterator.c, librdf/rdf_hash.c:
  74. More C++ cast fixes mostly near URI and literal strings in test
  75. code, the main function.
  76. * librdf/Makefile.am: Added rdf_digest_sha1.c
  77. * librdf/rdf_digest_sha1.c: SHA1 digest code
  78. 2003-12-23 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  79. * raptor/rapper.1: Updated for 1.1.0, -a is gone. Added ntriples-plus
  80. * raptor/libraptor.3: parser name is ntriples-plus
  81. * raptor/libraptor.3: Updated for 1.1.0
  82. * raptor/raptor.h:
  83. remove raptor_namespaces_end_namespace - does not exist.
  84. 2003-12-22 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  85. * raptor/Makefile.am:
  86. Remove raptor_stringbuffer.c/test from dist - not used at present.
  87. * raptor/configure.ac:
  88. Added --with-xml-names to choose XML 1.0 name checking (default) or 1.1
  89. * raptor/raptor_utf8.c (raptor_unicode_is_namestartchar):
  90. Update to Namespaces in XML 1.1 WD
  91. http://www.w3.org/TR/2003/PR-xml-names11-20031105/#NT-NCNameStartChar
  92. and Extensible Markup Language (XML) 1.1 PR
  93. http://www.w3.org/TR/2003/PR-xml11-20031105/#NT-NameStartChar
  94. (raptor_unicode_is_namechar): Updated comment, no code changes
  95. needed.
  96. * raptor/tests/ntriplesplus/Makefile.am: No check-warn-rdf tests yet
  97. * raptor/raptor_utf8.c:
  98. Use RAPTOR_NFC_CHECK to wrap any use of the glib g_utf8_normalize.
  99. * raptor/configure.ac: Define RAPTOR_NFC_CHECK when NFC check is needed
  100. * raptor/configure.ac:
  101. Added --disable-nfc-check to disable Unicode NFC checking even if a
  102. suitable glib is present and providing it. Otherwise, autodetects
  103. as before.
  104. 2003-12-19 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  105. * raptor/examples/Makefile.am: Removed REDLAND_LIBS
  106. 2003-12-18 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  107. * perl/Makefile.PL: OSX old perl before 5.8
  108. * perl/Makefile.PL:
  109. Another attempt to handle MakeMaker changes since perl5.8
  110. * perl/Makefile.am:
  111. Compile perl without the -W flags; it's just too noisy.
  112. * librdf/redland.spec.in: Don't install perl twice.
  113. 2003-12-17 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  114. * librdf/rdf_serializer_rdfxml.c (rdf_serializer_rdfxml_print_as_xml_content):
  115. Redland strings are always UTF-8 and for now, the output encoding
  116. is always UTF-8 so don't encode high bits, emit them.
  117. * librdf/rdf_serializer_rdfxml.c: o
  118. * librdf/rdf_serializer_rdfxml.c:
  119. (librdf_serializer_rdfxml_serialize_model) Free rdf:RDF qname.
  120. * raptor/raptor_parse.c, librdf/rdf_parser_raptor.c:
  121. Update for changed raptor_generate_id handler calls - no const.
  122. * raptor/raptor_general.c, raptor/raptor.h, raptor/raptor_internal.h:
  123. raptor_generate_id handler does not take const string
  124. * raptor/raptor_general.c, raptor/raptor.h, raptor/raptor_internal.h:
  125. raptor_generate_id returns non const
  126. * raptor/ntriples_parse.c (raptor_ntriples_parse_line):
  127. Casts, unsigned char* for blank node IDs.
  128. * raptor/ntriples_parse.c (raptor_ntriples_parse_line):
  129. Enforce predicate must be URIref
  130. 2003-12-16 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  131. * perl/t/test1.t: Don't use last when not in a loop
  132. * raptor/ntriples_parse.c (raptor_ntriples_parse_line):
  133. Pass blank node identifier generation
  134. through raptor_generate_id. Rewrite returns into setting rc and jump
  135. to cleanup to ensure allocated blank node IDs are freed.
  136. * utils/Makefile.am: Added EXTRA_PROGRAMS to CLEANFILES
  137. * utils/rdf-load.c, utils/rdf-tree.c:
  138. Put explicit \n in multiline strings
  139. * utils/rdf-tree.c:
  140. Updates from Morten to use openssl lhash - this isn't portable.
  141. * librdf/rdf_storage_mysql.c:
  142. (librdf_storage_mysql_context_serialise_next_statement):
  143. Fixes for over-eager use of multi-line string - add spaces before
  144. the newlines.
  145. Correct subject and object node creations.
  146. * librdf/redland.pc.in: Add @LIBRDF_LDFLAGS@ @LIBRDF_LIBS@ to libs
  147. * librdf/Makefile.am:
  148. Use LIBRDF_EXTERNAL_CPPFLAGS, LIBRDF_EXTERNAL_LIBS
  149. * redland-src-config.in: Put redland cflags, links first
  150. * redland-config.in: Use LIBRDF_EXTERNAL_CPPFLAGS, LIBRDF_EXTERNAL_LIBS
  151. * configure.ac: Added LIBRDF_EXTERNAL_CPPFLAGS,
  152. LIBRDF_EXTERNAL_LIBS used for system raptor
  153. * raptor/raptor.pc.in: Restore LDFLAGS, LIBS
  154. * perl/Makefile.PL: Don't need MEM_LIBS in OBJECT
  155. * utils/rdfproc.1: store to store-name in header
  156. * utils/rdfproc.c: Added file|uri to parsing help
  157. * utils/rdfproc.1: Document -n, -s, -t and parsing now turns files
  158. into URIs if they exist.
  159. * raptor/raptor-src-config.in: Removed --static-libs
  160. * utils/rdfproc.c:
  161. Added -n new - default is not to overwrite, i.e. parsing now appends
  162. Added -s storage
  163. Added -t storage-options
  164. Parsing now turns files into URIs if they exist.
  165. 2003-12-15 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  166. * php/test.php: tidy prints
  167. * librdf/redland.pc.in: redland.pc.in
  168. * php/test.php:
  169. Better test code. Serializing crashes it - to fix later.
  170. * php/Makefile.am:
  171. Reorder compile args so PHP libs are first and overridden if need be.
  172. * redland-src-config.in: Kill --static-libs
  173. Use @with_raptor@ to pick either raptor-src-config or raptor-config
  174. * configure.ac: AC_SUBST with_raptor
  175. * php/Makefile.am:
  176. Apply redland_wrap.c.patch when building redland_wrap.c
  177. Use -d extension_dir=. for test-php
  178. * php/redland_wrap.c.patch:
  179. Patch to PHP wrapper to return empty string not C NULL
  180. * librdf/Makefile.am: Install redland.pc to libdir/pkgconfig
  181. * librdf/redland.spec.in: Updates:
  182. - require raptor 1.1.0
  183. - require libxml 2.4.0 or newer
  184. - added pkgconfig redland.pc
  185. - split redland/devel package shared libs correctly
  186. * configure.ac: Added librdf/redland.pc
  187. * librdf/Makefile.am: Added redland.pc.in
  188. * raptor/raptor.pc.in: Just link -lraptor
  189. * raptor/configure.ac: Remove use of have_redland for expat
  190. sources (no longer shipped with redland anyway)
  191. * raptor/configure.ac: Remove redland source check.
  192. * configure.ac, Makefile.am:
  193. Split SD subdirs into SD_PRE (must be made before librdf)
  194. and SD_POST (after). raptor goes into PRE so that it is
  195. both compiled and installed before librdf.
  196. * raptor/Makefile.am: No need for librdf.la rule
  197. * raptor/rdfdump.c, raptor/raptor_stringbuffer.c,
  198. raptor/raptor_set.c, raptor/raptor_namespace.c,
  199. raptor/Makefile.am: Remove all RAPTOR_IN_REDLAND code use of
  200. REDLAND_LIBS, REDLAND_CFLAGS. Now the test and rdfdump programs
  201. always just use raptor alone.
  202. 2003-12-14 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  203. * perl/Makefile.am: Remove use of prefix; install where perl wants it
  204. * perl/Makefile.PL:
  205. Try again with the MakeMaker PM hash. Remove double RDF/RDF
  206. * librdf/rdf_serializer_rdfxml.c (librdf_serializer_rdfxml_terminate):
  207. Allow raptor_free_namespaces to
  208. free the entire stack, including pcontext->rdf_ns
  209. * perl/Makefile.am, perl/update-perl-api.pl: Remove old API updater
  210. * librdf/rdf_node.h:
  211. librdf_node_get_literal_value_as_latin1 returning char*
  212. * librdf/rdf_node.c:
  213. (librdf_node_get_literal_value_as_latin1) Returning char*
  214. * examples/example4.c:
  215. Removed body of code since it was turned into rdfproc.
  216. * librdf/rdf_parser.h:
  217. Update librdf_parser_parse_string_as_stream prototype
  218. * librdf/rdf_model.h: Update librdf_model_query_string prototype
  219. * librdf/rdf_storage_mysql.c:
  220. (librdf_storage_mysql_node_hash) Casts for node char const strings.
  221. * utils/Makefile.am:
  222. Add mysql-utils target, don't build the mysql utilities by default.
  223. * utils/rdf-digest.c, utils/rdf-load.c, utils/rdf-tree.c:
  224. Redland MySQL storage utilities by Morten Frederiksen
  225. * utils/rdfproc.c:
  226. Updates for raptor changes - all URI strings are unsigned char*
  227. Update URI APIs here to match.
  228. Update all use of literal (UTF-8) strings to unsigned char* also.
  229. Add more casts to make C++ happy especially near string functions
  230. and malloc.
  231. * utils/Makefile.am: Add redland libs, cppflags, cflags
  232. * librdf/rdf_storage_mysql.c:
  233. (librdf_storage_mysql_node_hash) Fix to created digest to distinguish
  234. URIs 'R', literals 'L' and blank node identifiers 'B' in database.
  235. (librdf_storage_mysql_context_serialise_next_statement): Call error
  236. functions with the right world value.
  237. * examples/example4.c, examples/example3.c, examples/example2.c, examples/example1.c, librdf/rdf_uri.h, librdf/rdf_uri.c, librdf/rdf_stream.c, librdf/rdf_storage_mysql.c, librdf/rdf_storage_list.c, librdf/rdf_storage.c, librdf/rdf_statement.h, librdf/rdf_statement.c, librdf/rdf_serializer_rdfxml.c, librdf/rdf_serializer_raptor.c, librdf/rdf_serializer.h, librdf/rdf_serializer.c, librdf/rdf_query_triples.c, librdf/rdf_query.h, librdf/rdf_query.c, librdf/rdf_parser_raptor.c, librdf/rdf_parser.h, librdf/rdf_parser.c, librdf/rdf_node.h, librdf/rdf_node.c, librdf/rdf_model_storage.c, librdf/rdf_model.h, librdf/rdf_model.c, librdf/rdf_iterator.c, librdf/rdf_init.h, librdf/rdf_init.c, librdf/rdf_hash_memory.c, librdf/rdf_hash_bdb.c, librdf/rdf_hash.h, librdf/rdf_hash.c, librdf/rdf_concepts.c:
  238. Updates for raptor changes - all URI strings are unsigned char*
  239. Update URI APIs here to match.
  240. Update all use of literal (UTF-8) strings to unsigned char* also.
  241. Add more casts to make C++ happy especially near string functions
  242. and malloc.
  243. * raptor/raptor_general.c (raptor_print_statement_part_as_ntriples):
  244. Update call of
  245. raptor_print_ntriples_string
  246. * raptor/raptor.h: Update raptor_print_ntriples_string prototype
  247. * raptor/raptor_general.c (raptor_print_ntriples_string):
  248. Take unsigned const char*
  249. 2003-12-08 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  250. * configure.ac: mysql version reporting
  251. * configure.ac: make --with-threestore, --with-mysql take CONFIG|yes|no
  252. * configure.ac: Add BDB 4.2 to the list.
  253. Fixes for 3store (--with-threestore) else search for 3store-config;
  254. add glib to cflags/libs using pkg-config.
  255. Report raptor version.
  256. Report triple stores found.
  257. 2003-12-06 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  258. * librdf/rdf_uri.h, librdf/rdf_uri.c, librdf/rdf_parser_raptor.c:
  259. Updates for raptor API use of unsigned char* for URI strings.
  260. Change redland URIs to take/return unsigned char* for URI strings
  261. * librdf/rdf_hash.c (librdf_hash_print): replaced fprintf
  262. * raptor/Makefile.am:
  263. Narrower yyerrlabl fix since bison 1.875a no longer requires it
  264. * raptor/examples/grapper.c:
  265. Casts and updates to use URI strings from raptor as unsigned char*
  266. and converting to/from gchar*
  267. * raptor/rdfdump.c, raptor/raptor_xml_writer.c, raptor/raptor_xml.c, raptor/raptor_www_libxml.c, raptor/raptor_www.c, raptor/raptor_uri.c, raptor/raptor_sax2.c, raptor/raptor_rss.c, raptor/raptor_parse.c, raptor/raptor_namespace.c, raptor/n3_parser.y, raptor/n3_lexer.l:
  268. Lots of casts for str* function args, return values between unsigned
  269. char* as used for UTF8 and URI strings and char* used by str* functions.
  270. Some further casts for strings from XML.
  271. * raptor/raptor_www_test.c (write_bytes_fh): No return value.
  272. (main) Test code casts unsigned char* for URI strings
  273. Fix write_content_type and write_bytes_fh set handler methods.
  274. * raptor/raptor_utf8.c (raptor_unicode_char_to_utf8):
  275. unsigned char* arg.
  276. (raptor_utf8_is_nfc): unsigned int, cast for unsigned char*
  277. * raptor/raptor_sequence.c (raptor_sequence_ensure):
  278. Use void** not void*. C++ cares.
  279. (main): Test code casts to void* for args.
  280. * raptor/raptor_qname.c (raptor_qname_string_to_uri):
  281. cast for signed/unsigned int
  282. comparison.
  283. * raptor/raptor_locator.c (raptor_format_locator):
  284. Use raptor_uri_as_counted_string to save a strlen.
  285. * raptor/raptor_identifier.c:
  286. (raptor_identifier_print) fputs arg cast [function for RAPTOR_DEBUG only]
  287. * raptor/raptor_general.c (raptor_parsers_enumerate): Unsigned int.
  288. (raptor_parse_uri_write_bytes): unsigned char* cast.
  289. Declare raptor_xml_literal_datatype_uri_string.
  290. (raptor_print_statement_detailed): Replace several fprintf with fputs
  291. and fputc.
  292. (raptor_print_ntriples_string): Use unsigned long/size_t for counts.
  293. (raptor_statement_part_as_counted_string): unsigned char*
  294. Use raptor_xml_literal_datatype_uri_string.
  295. (raptor_statement_part_as_string): unsigned char*
  296. (raptor_print_statement_part_as_ntriples): unsigned char*. Replace
  297. several fprintf with fputs and fputc.
  298. Use raptor_xml_literal_datatype_uri_string
  299. (raptor_default_generate_id_handler): Casts for str* functions
  300. (raptor_check_ordinal): unsigned char*
  301. * raptor/ntriples_parse.c:
  302. (raptor_ntriples_generate_statement,raptor_ntriples_string_as_utf8_string,
  303. raptor_ntriples_parse_line):
  304. Updated to take/return unsigned char* args and internals. Update
  305. raptor_uri calls for similar changes.
  306. Use raptor_xml_literal_datatype_uri_string
  307. Lots of casts for str* functions char* arguments.
  308. * raptor/Makefile.am:
  309. Remove maintainer only n3 lex/yacc rules (flex/bison)
  310. Post process the bison output to remove unused label to make g++ happier.
  311. * raptor/raptor_internal.h:
  312. Added raptor_xml_literal_datatype_uri_string for the RDF datatype
  313. literal URI string, used several times.
  314. raptor_check_ordinal takes unsigned char*
  315. A couple of lengths, counts become unsigned int.
  316. raptor_unicode_char_to_utf8, raptor_format_sax2_element,
  317. raptor_xml_writer_cdata, raptor_xml_writer_comment,
  318. raptor_xml_writer_as_string changed to
  319. take/return unsigned char* for UTF8 strings.
  320. * raptor/raptor.h:
  321. raptor_new_uri_func, raptor_new_uri_from_local_name_func,
  322. raptor_new_uri_relative_to_base_func, raptor_uri_as_string_func,
  323. raptor_uri_as_counted_string_func URI factory methods
  324. changed to all take/return unsigned char* for URI strings
  325. raptor_statement_part_as_counted_string,
  326. raptor_statement_part_as_string,
  327. raptor_new_uri, raptor_new_uri_from_uri_local_name,
  328. raptor_new_uri_relative_to_base, raptor_uri_as_string,
  329. raptor_uri_as_counted_string
  330. URI methods changed to take/return unsigned char* for URI strings
  331. raptor_ntriples_string_as_utf8_string changed to return unsigned
  332. char* for UTF8 string
  333. raptor_uri_resolve_uri_reference, raptor_uri_filename_to_uri_string,
  334. raptor_uri_uri_string_to_filename,
  335. raptor_uri_uri_string_to_filename_fragment, raptor_uri_is_file_uri
  336. Changed to use unsigned char* for URI strings, char* for filenames
  337. 2003-12-01 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  338. * raptor/raptor_set.c (raptor_set_stats_print): Debug printing tweak.
  339. 2003-11-28 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  340. * raptor/raptor_internal.h:
  341. raptor_check_ordinal with now unsigned char* arg
  342. raptor_sax2 content_cdata now unsigned char*
  343. * raptor/raptor_general.c (raptor_check_ordinal): unsigned char *name
  344. * raptor/raptor_parse.c: Lots of char/unsigned char casting.
  345. * raptor/n3_common.h: Undo n3_syntax_error back to raptor_parser arg.
  346. * raptor/n3_parser.y: (n3_parser_error) aka yyerror; take a void arg.
  347. * raptor/n3_common.h:
  348. The n3_syntax_error aka yyerror function takes a void arg.
  349. * raptor/n3_parser.y: Casts for rdf_parser, strings.
  350. * raptor/n3_lexer.l:
  351. Define INPUT_FN as yyinput (C++) or input (otherwise)
  352. Add more casts for C++ near rdf_parser, yytext.
  353. (copy_token): More casts for malloc and string functions.
  354. (copy_string_token): More size_t, casts.
  355. * raptor/ntriples_parse.c (raptor_ntriples_term):
  356. Use a size_t; cast for C++.
  357. * raptor/ntriples_parse.c (raptor_ntriples_term_valid,raptor_ntriples_term):
  358. Change
  359. argument names from class to term_class to avoid C++ keyword.
  360. * raptor/raptor_getopt.h: Protect prototypes for C++
  361. * raptor/raptor_stringbuffer.c: casts for RAPTOR_*ALLOC returns
  362. * raptor/n3_parser.y: oops, raptort -> raptor
  363. * raptor/n3_parser.y: another cast for RAPTOR_MALLOC return
  364. * raptor/n3_parser.y: casts for RAPTOR_CALLOC returns
  365. * raptor/configure.ac:
  366. Move adding pkg-config glib2.0 cppflags/libs till after the other
  367. libraries since that's more likely to be system wide and least
  368. effect libxml2, other libraries that might be elsewhere. Mostly
  369. affects OSX which is more sensitive to link order.
  370. * raptor/raptor_stringbuffer.c (main): declare at start of block
  371. * raptor/configure.ac: Check for libxml/SAX2.h - the new SAX2 API
  372. * raptor/raptor_libxml.c:
  373. Added a pile of libxml2_* macros to use the libxml2 SAX2 functions
  374. when they are present, otherwise the SAX1. Not using the SAX2 parts
  375. of the libxml2 API at present.
  376. * raptor/strcasecmp.c: Add debug message arg casts.
  377. * raptor/configure.ac:
  378. Include libxml/parser.h when checking for other libxml2 headers
  379. * raptor/ntriples_parse.c: Add some debug message arg casts.
  380. (raptor_ntriples_parse_chunk): At end of input, check that there is
  381. no remaining junk.
  382. * raptor/ntriples_parse.c (raptor_ntriples_parse_chunk):
  383. Fix line counting problems when \r\n
  384. crosses a buffer or when a line ends at the end of a buffer.
  385. last_char recorded in state.
  386. * raptor/raptor_stringbuffer.c (main): Free returned strings.
  387. * raptor/Makefile.am:
  388. Added raptor_stringbuffer.c raptor_stringbuffer_test code
  389. * raptor/raptor.h: Added raptor_stringbuffer.
  390. * raptor/raptor_stringbuffer.c: Stringbuffer class for growing strings
  391. * raptor/raptor_libxml.c (raptor_libxml_init):
  392. With libxml2 use raptor_xml_characters_handler
  393. for sax->characters.
  394. * raptor/raptor_parse.c (raptor_cdata_grammar): Added is_cdata arg.
  395. (raptor_xml_characters_handler): Added, calling raptor_cdata_grammar.
  396. (raptor_xml_cdata_handler): Updated to call raptor_cdata_grammar with
  397. is_cdata=1.
  398. (raptor_xml_parse_init): With expat use raptor_xml_characters_handler
  399. with XML_SetCharacterDataHandler.
  400. (raptor_cdata_grammar): Tidy error reporting; do not use
  401. raptor_xml_writer_as_string for a simple print.
  402. * raptor/raptor_internal.h:
  403. Added raptor_xml_characters_handler prototype.
  404. 2003-11-26 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  405. * perl/Makefile.PL:
  406. List the .pm files explicitly since perl 5.8.1 broke scanning
  407. 2003-11-25 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  408. * raptor/manifest.pl: Add withdrawn tests check
  409. 2003-11-23 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  410. * raptor/tests/ntriplesplus/Makefile.am:
  411. Added more N-Triples Plus tests (1-7) and bad (0-3)
  412. * raptor/tests/ntriplesplus/test-07.out, raptor/tests/ntriplesplus/test-07.ntp, raptor/tests/ntriplesplus/test-06.out, raptor/tests/ntriplesplus/test-06.ntp, raptor/tests/ntriplesplus/test-05.out, raptor/tests/ntriplesplus/test-05.ntp, raptor/tests/ntriplesplus/test-04.out, raptor/tests/ntriplesplus/test-04.ntp, raptor/tests/ntriplesplus/test-03.out, raptor/tests/ntriplesplus/test-03.ntp, raptor/tests/ntriplesplus/test-02.out, raptor/tests/ntriplesplus/test-02.ntp, raptor/tests/ntriplesplus/test-01.out, raptor/tests/ntriplesplus/test-01.ntp:
  413. More N-Triples Plus tests
  414. * raptor/tests/ntriplesplus/bad-00.ntp, raptor/tests/ntriplesplus/bad-01.ntp, raptor/tests/ntriplesplus/bad-02.ntp, raptor/tests/ntriplesplus/bad-03.ntp:
  415. N-Triples Plus bad tests
  416. * raptor/n3_lexer.l:
  417. In prefix state, always return to initial on matching '.', then
  418. error out.
  419. (n3_syntax_error): Copy removed here.
  420. (main): Init enough more of parser/locator so that n3_syntax_error
  421. in main library can be used.
  422. 2003-11-21 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  423. * raptor/rdfdump.c: extra newline in version
  424. * raptor/rdfdump.c: extra newline in help
  425. 2003-11-20 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  426. * librdf/rdf_parser_raptor.c:
  427. (librdf_parser_raptor_error_handler,librdf_parser_raptor_warning_handler):
  428. Do not pass on buffer directly since it is not a format string and
  429. might contain % such as when it is a URI. This causes libc to abort
  430. in the middle of vsnprintf with an assertion failure :/
  431. 2003-11-19 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  432. * demos/ntriples.pl: Style, HTML fixes.
  433. Counting wasn't right.
  434. * raptor/tests/Makefile.am:
  435. Added check-ntriples-plus to check N-Triples Plus with the N-Triples
  436. tests.
  437. * raptor/n3_parser.y, raptor/n3_lexer.l, raptor/n3_common.h:
  438. Added lineno to raptor_n3_parser context to track newlines for dos,
  439. unix, mac since flex doesn't do that by default with yylineno.
  440. * raptor/rdfdump.c: tidy help messages
  441. * raptor/ntriples_parse.c:
  442. Track newlines correctly for \r\n across chunks; move last_nl into
  443. ntriples parser context.
  444. (raptor_ntriples_parse_chunk,raptor_ntriples_parse_start): Use and
  445. init last_nl in ntriples parser context.
  446. 2003-11-16 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  447. * raptor/raptor.h: Added raptor_ntriples_string_as_utf8_string
  448. * raptor/ntriples_parse.c (raptor_ntriples_term):
  449. Added allow_utf8 argument and new class
  450. RAPTOR_TERM_CLASS_FULL which uses all the passed in string.
  451. (raptor_ntriples_string_as_utf8_string): Added, using
  452. raptor_ntriples_term as above.
  453. (raptor_ntriples_parse_line): Use size_t len args.
  454. * utils/rdfproc.c: Replace a bunch of fprintf(..., "\n") with fputc
  455. * raptor/rdfdump.c:
  456. Use f/puts instead of print/fprintf when there are no %s
  457. * librdf/rdf_heuristics.c (main):
  458. Make test code silent unless LIBRDF_DEBUG > 1
  459. Tidy code a little.
  460. * librdf/rdf_digest.c, librdf/rdf_hash.c:
  461. Replace a bunch of fprintf(..., "\n") with fputc
  462. * raptor/raptor_uri.c (raptor_default_new_uri_for_rdf_concept):
  463. Remove duplicate strlen(base_uri)
  464. 2003-11-15 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  465. * raptor/n3_lexer.l: Document more ntriples plus
  466. Error out if @prefix's name doesn't match name
  467. * raptor/raptor_utf8.c (raptor_unicode_is_namestartchar):
  468. Two | changed to ||. Likely
  469. worked anyway
  470. 2003-11-11 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  471. * raptor/libraptor.3: Noted raptor_set_feature with non_nfc_fatal
  472. * raptor/raptor.h:
  473. Added RAPTOR_FEATURE_NON_NFC_FATAL to pick between NFC errors or warnings.
  474. * raptor/raptor_general.c (raptor_set_feature):
  475. Added RAPTOR_FEATURE_NON_NFC_FATAL to pick
  476. between NFC errors or warnings.
  477. (raptor_set_parser_strict): Set feature_non_nfc_fatal default off.
  478. * raptor/raptor_internal.h:
  479. Added feature_non_nfc_fatal to pick between NFC errors or warnings.
  480. * raptor/raptor_parse.c:
  481. Put 'quotes' around element/attribute names in messages.
  482. Use feature_non_nfc_fatal to pick between NFC errors or warnings.
  483. * raptor/tests/Makefile.am: check-bad-nfc-rdf - use strict mode
  484. * raptor/rdfdump.c: Document -m/--mode arg
  485. 2003-11-10 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  486. * raptor/configure.ac: Added tests/ntriplesplus
  487. * raptor/tests/ntriplesplus/Makefile.am: N-Triples plus tests
  488. * raptor/tests/ntriplesplus/test-00.ntp, raptor/tests/ntriplesplus/test-00.out:
  489. N-Triples Plus default namespace test
  490. * raptor/tests/Makefile.am: added ntriplesplus dir
  491. * raptor/raptor_qname.c (raptor_qname_string_to_uri):
  492. Keep original name around for error reporting.
  493. * raptor/rdfdump.c, raptor/n3_parser.y: parser now called ntriples-plus
  494. * raptor/n3_parser.y: parser called ntriplesplus
  495. * raptor/n3_parser.y (production directive):
  496. Fix declaring default namespace prefix
  497. 2003-11-09 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  498. * raptor/tests/Makefile.am: added bad-20.rdf
  499. * raptor/tests/bad-20.rdf:
  500. check non-namespaced element does not crash parser
  501. * raptor/raptor_qname.c (raptor_new_qname,raptor_new_qname_from_namespace_local_name):
  502. Do not
  503. die if no URI for qname is available. It might be <a xmlns="">
  504. which is at least needed for some error reports or for embedded
  505. qnames. Caused unnecessary crashes when parsing failed.
  506. 2003-11-03 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  507. * configure.ac:
  508. Added --with-mysql-config and automatic search for mysql_config program.
  509. Added STORAGE_OBJS
  510. * librdf/rdf_storage_mysql.c, librdf/rdf_storage_mysql.h:
  511. RDF Storage in MySQL DB
  512. * AUTHORS: Added Morten as MySQL store author
  513. * librdf/rdf_storage.h, librdf/rdf_storage.c: Added mysql store
  514. * librdf/Makefile.am: Added STORAGE_OBJS
  515. Added rdf_storage_mysql.c rdf_storage_mysql.h
  516. * librdf/librdf.h: Added LIBRDF_ERROR3
  517. * raptor/raptor_xml.c (main): Make tests less chatty on success
  518. * raptor/raptor_uri.c (main): Make it less chatty on success
  519. * raptor/raptor_uri.c (raptor_uri_uri_string_to_filename_fragment):
  520. Allow file://a|/ and file://a:/
  521. (main): For WIN32, check the above works.
  522. * librdf/rdf_parser_raptor.c:
  523. Add mapping of rdf:nodeID values to redland generated IDs.
  524. (librdf_parser_raptor_init): Create the userid->redlandID hash map.
  525. (librdf_parser_raptor_terminate): Added to delete the hash map.
  526. (librdf_parser_raptor_generate_id_handler): Do the mapping.
  527. * raptor/autogen.sh, autogen.sh:
  528. remove ltmain.sh libtool before libtoolize
  529. * python/redlandtest.py (class RedlandGetsCase):
  530. Add test for making a new anon (no arg) blank node
  531. * raptor/manifest.pl:
  532. Emit test-results.rdf in the style of http://www.w3.org/2003/08/owl-systems/test-results-out
  533. for machine processing of test runs
  534. * raptor/raptor_general.c (raptor_parse_uri_with_connection):
  535. Fail before parsing if
  536. raptor_www_fetch failed.
  537. * raptor/raptor_internal.h:
  538. Added raptor_www_error_varargs internal prototype.
  539. * raptor/raptor_www_libxml.c (raptor_www_libxml_http_error):
  540. This was just all wrong, printing to
  541. stderr and then exit(1). Change to use the proper
  542. raptor_www_error_varargs callback.
  543. * raptor/raptor_www.c (raptor_www_error_varargs):
  544. Added, with va_list signature.
  545. * raptor/raptor_general.c (raptor_parse_file):
  546. When uri is given and base_uri is NULL, copy
  547. the uri and free it later - fix to match the function documentation.
  548. 2003-10-31 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  549. * raptor/raptor_general.c (raptor_parse_file):
  550. fclose only when fh is not NULL
  551. 2003-10-21 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  552. * librdf/rdf_serializer_rdfxml.c (librdf_serializer_rdfxml_terminate):
  553. Free namespace before stack.
  554. * librdf/rdf_serializer_rdfxml.c:
  555. Use updated raptor_(new|free)_namespaces
  556. (librdf_serializer_rdfxml_init, librdf_serializer_rdfxml_terminate):
  557. Make the rdf namespace
  558. (librdf_serializer_rdfxml_serialize_model): declare rdf:RDF
  559. using raptor_new_qname_from_namespace_local_name
  560. * raptor/raptor_parse.c (raptor_xml_end_element_handler):
  561. For RAPTOR_DEBUG, declare
  562. element_name at start of function.
  563. 2003-10-20 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  564. * raptor/raptor.h:
  565. raptor_namespace(s)_(new|free) renamed to raptor_(new|free)_namespace(s)
  566. Added raptor_new_qname_from_namespace_local_name
  567. * raptor/raptor_qname.c (raptor_new_qname_from_namespace_local_name):
  568. Added.
  569. * raptor/raptor_namespace.c:
  570. raptor_namespaces_(new|free) renamed to raptor_(new|free)_namespaces
  571. * raptor/raptor_namespace.c:
  572. raptor_namespace_(new|free) renamed to raptor_(new|free)_namespace
  573. * librdf/rdf_serializer_rdfxml.c:
  574. Added a raptor_namespace_stack to the context.
  575. (librdf_serializer_rdfxml_init): Updated with stack
  576. (librdf_serializer_rdfxml_terminate): Added, to free stack.
  577. (rdf_serializer_rdfxml_print_as_xml_attribute): Deleted.
  578. (librdf_serializer_print_statement_as_rdfxml): Do less work in
  579. finding max XML-name character for a property URI.
  580. Replace use of rdf_serializer_rdfxml_print_as_xml_attribute
  581. with calls to raptor_xml_escape_string.
  582. (librdf_serializer_rdfxml_serialize_model): Use namespace stack
  583. to declare rdf namespace - initial code.
  584. (librdf_serializer_rdfxml_register_factory): Add terminate call.
  585. * raptor/raptor_xml_writer.c:
  586. raptor_namespaces_free renamed to raptor_namespaces_clear
  587. * raptor/raptor_parse.c (raptor_xml_start_element_handler):
  588. Use raptor_new_sax2_element.
  589. raptor_namespaces_free renamed to raptor_namespaces_clear
  590. * raptor/raptor_internal.h: Added raptor_new_sax2_element
  591. * raptor/raptor_sax2.c (raptor_new_sax2_element): Added.
  592. * raptor/raptor.h:
  593. Added prototypes for raptor_namespaces_new, raptor_namespaces_clear
  594. * raptor/raptor_namespace.c
  595. (raptor_namespaces_new,raptor_namespaces_free):
  596. Added for constructor and destructor.
  597. raptor_namespaces_free renamed to raptor_namespaces_clear for
  598. emptying a statically allocated namespace stack.
  599. * raptor/n3_parser.y:
  600. raptor_namespaces_free renamed to raptor_namespaces_clear
  601. * librdf/rdf_serializer_rdfxml.c
  602. (librdf_serializer_rdfxml_raptor_error_handler): Added.
  603. (rdf_serializer_rdfxml_print_xml_attribute): Take world arg.
  604. Use raptor_xml_escape_string to do the escaping.
  605. (librdf_serializer_print_statement_as_rdfxml): pass world arg to
  606. calls to rdf_serializer_rdfxml_print_xml_attribute
  607. * librdf/rdf_utf8.h: Make librdf_unicode_char_to_utf8 match code
  608. 2003-10-16 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  609. * raptor/n3_parser.y: Moved n3 lexer/parser stuff to n3_common.h
  610. Added uri field to union.
  611. URI_LITERAL and QNAME_LITERAL now are uri.
  612. PREFIX now expects an IDENTIFIER to follow.
  613. Remove all make qname/uri and free(copied token) sequences since the
  614. lexer does it.
  615. Added fake yy_init_globals to stop dumb warning.
  616. * raptor/n3_lexer.l:
  617. Make raptor_uris here from lexer tokens (qnames or URIs)
  618. For @prefix, recognise following token as an identifier specially
  619. rather than try to make it a URI.
  620. (n3_token_free): Free string or raptor_uri.
  621. (main): Lots of fixups to fake enough n3 parser structure to
  622. get it working fairly standalone.
  623. * raptor/Makefile.am: Added n3_common.h
  624. Fixup free of null inside flex-generated lexer.
  625. * raptor/n3_common.h: N3 parser/lexer shared internals
  626. * raptor/raptor_internal.h: Moved n3 lexer/parser stuff to n3_common.h
  627. * raptor/n3_parser.y (n3_qname_to_uri):
  628. Replace with call to raptor_qname_string_to_uri
  629. and added length parameter.
  630. * raptor/raptor_qname.c (raptor_new_qname):
  631. Replace raptor_namespace_local_name_to_uri
  632. with use of raptor_new_uri_from_uri_local_name.
  633. (raptor_qname_string_to_uri): Added, making only the URI
  634. equivalent to the qname and handling N3/RDQL-style special
  635. cases such as "prefix:", ":" and NULL.
  636. * raptor/raptor_internal.h, raptor/raptor.h:
  637. Moved raptor_qname, raptor_namespace, raptor_namespace_stack
  638. classes into public API.
  639. Added raptor_qname_string_to_uri
  640. * raptor/raptor_namespace.c (raptor_namespace_local_name_to_uri):
  641. Removed - only used once
  642. internally and was never public.
  643. 2003-10-09 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  644. * raptor/n3_lexer.l (n3_token_free): Added, for cleanup in debugging.
  645. (main): Init and clear token/lval.
  646. * raptor/tests/Makefile.am: Added ex-53
  647. * raptor/tests/ex-53.out, raptor/tests/ex-53.rdf:
  648. Check allowing optional rdf:RDF
  649. * raptor/rdfdump.c:
  650. --assume/-a feature_assume_is_rdf deleted; rdf:RDF is optional.
  651. * raptor/raptor_general.c, raptor/raptor_parse.c:
  652. feature_assume_is_rdf deleted; rdf:RDF is optional.
  653. * raptor/raptor_internal.h: feature_assume_is_rdf deleted
  654. 2003-10-08 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  655. * librdf/rdf_node.c: Fix debug calls when LIBRDF_DEBUG > 1
  656. 2003-10-06 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  657. * raptor/tests/wine.out, raptor/tests/wine.rdf:
  658. OWL Wine Ontology from http://www.w3.org/TR/owl-guide/wine.rdf
  659. * raptor/tests/Makefile.am:
  660. Added OWL Wine ontology from http://www.w3.org/TR/owl-guide/wine.rdf
  661. as wine.rdf wine.out
  662. 2003-09-30 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  663. * raptor/n3_parser.y:
  664. Remove n3_parser_lex; re-#define yylex to call direct
  665. * raptor/n3_lexer.l (copy_string_token):
  666. Destroy malloced string on error return.
  667. * raptor/n3_parser.y (n3_parse):
  668. Don't delete buffer, pop buffer state; a successful lex
  669. does that.
  670. * raptor/raptor_internal.h: Remove n3_token_print
  671. * raptor/n3_parser.y: Use reentrant yacc parser.
  672. Store the lexer lval in the n3_parser context.
  673. Lots of #define trickery to get flex/bison to talk nicely.
  674. Make n3_parser_error take an rdf_parser arg (this isn't configurable
  675. by bison itself, so is likely fragile).
  676. Remove use of extern in lineno; get it from the lexer.
  677. Remove N3_Parser global; use rdf_parser local.
  678. (n3_parser_error): Update for having rdf_parser arg, update locator
  679. lineno from scanner.
  680. (n3_syntax_error, n3_qname_to_uri): Get lineno from scanner.
  681. (n3_parse): Remove fixmes, no need for protecting globals.
  682. (main): Update for reentrant parser; init locator from standalone
  683. args.
  684. * raptor/n3_lexer.l:
  685. Remove n3_lexer.c/.h prototypes no longer(?) needed with re-entrant lexer.
  686. Remove use of lineno; let lexer do it.
  687. Change lexer call to pass in lval from reentrant parser.
  688. (n3_token_print): Pass in lval.
  689. (main): Update for api changes.
  690. 2003-09-29 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  691. * raptor/raptor_internal.h: Updates for reentrant lexer.
  692. * raptor/n3_parser.y: Use reentrant lexer API.
  693. Define YYLEX_PARAM to be scanner arg, from current grammar.
  694. (n3_parser_lex): Take scanner arg.
  695. (n3_syntax_error): Add rdf_parser arg.
  696. (n3_parse): Init and destroy reentrant lexer.
  697. (raptor_n3_parse_terminate): Tidy up any lexer stuff.
  698. (main): Check for file not found, report it.
  699. * raptor/n3_lexer.l:
  700. Switch to reentrant lexer. Pass rdf_parser into code, yyextra
  701. internally.
  702. (yywrap): Add scanner arg.
  703. (copy_string_token, n3_syntax_error): Add rdf_parser arg.
  704. (main): Use reentrant calls for lexer to set yyin, get_text. Use
  705. yylex_init/yylex_destroy.
  706. * raptor/Makefile.am: n3_lexer_test depends on raptor_utf8
  707. * raptor/raptor_parse.c:
  708. Add EXPAT_UTF8_BOM_CRASH fix updates for sax2 changes.
  709. * raptor/configure.ac: Tweak for old flex version output
  710. * raptor/configure.ac: Try to check flex is new enough.
  711. 2003-09-25 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  712. * configure.ac: 3store linking fixes.
  713. * librdf/rdf_storage_tstore.c: comment out unused context
  714. * configure.ac: Bumped raptor min to 1.1.0
  715. Added --with-threestore.
  716. * librdf/rdf_storage.c (librdf_init_storage):
  717. Call librdf_init_storage_tstore if HAVE_TSTORE
  718. (librdf_storage_add_statements): Do add statements over a stream here
  719. if lower level just has add_statement method.
  720. * librdf/rdf_storage_tstore.h: RDF Storage using 3store
  721. * librdf/Makefile.am: Added rdf_storage_tstore.c rdf_storage_tstore.h
  722. * librdf/rdf_storage_tstore.c: RDF Storage using 3store
  723. 2003-09-22 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  724. * librdf/rdf_init.h: Added internal librdf_error_varargs
  725. * librdf/rdf_init.c (librdf_error_varargs): Added, internal
  726. 2003-09-21 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  727. * raptor/n3_parser.y: Minor C reformatting
  728. 2003-09-20 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  729. * raptor/raptor.h: Added raptor_parsers_enumerate prototype
  730. * raptor/n3_lexer.l: minor reformatting
  731. * raptor/n3_lexer.l (copy_string_token): Make \r, \n and \t work
  732. * raptor/raptor_general.c (raptor_init):
  733. Ensure rdf/xml is default parser.
  734. (raptor_parsers_enumerate): Added, to enumerate parsers, returning
  735. their name & label.
  736. * raptor/examples/grapper.c:
  737. Use raptor_parsers_enumerate to get parser names, labels.
  738. * raptor/n3_lexer.l: flex archaeology for options
  739. * raptor/examples/Makefile.am: Don't build examples by default
  740. 2003-09-19 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  741. * raptor/raptor_www.c, raptor/raptor_general.c:
  742. Revert to old API for raptor_uri_uri_string_to_filename
  743. * raptor/raptor.h, raptor/raptor_uri.c
  744. (raptor_uri_uri_string_to_filename): Restored to old API.
  745. (raptor_uri_uri_string_to_filename_fragment): Added with fragment arg.
  746. * librdf/rdf_hash_bdb.c: Use bdb->set_flags only when present
  747. * configure.ac: Check for BDB DB->set_flags
  748. 2003-09-17 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  749. * raptor/n3_parser.y (n3_qname_to_uri):
  750. Handle NULL (":" in N3) returning the default
  751. namespace. It's not quite clear if this is legal.
  752. * raptor/n3_parser.y (raptor_n3_generate_statement):
  753. Do nothing if some part of the triple
  754. is NULL.
  755. * raptor/raptor_internal.h: n3_syntax_error now takes varargs
  756. * raptor/n3_parser.y (n3_syntax_error): Now takes varargs
  757. * raptor/n3_lexer.l: n3_syntax_error now takes varargs
  758. (copy_string_token): Added \u, \U. Fixed, \r, \n, \t
  759. * raptor/n3_parser.y: Wrap a debugging printf
  760. * raptor/n3_lexer.l:
  761. For blank literal "_:abc", don't include _: in the id passed to the parser.
  762. * raptor/n3_parser.y:
  763. Throughout replace raptor_new_uri with raptor_copy_uri when copying
  764. existing base URI.
  765. * raptor/n3_parser.y:
  766. Throughout: Handle NULL uri string meaning use the base URI
  767. * raptor/n3_lexer.l:
  768. Handle <> (returning NULL) as well as <> with content.
  769. (n3_token_print): Update to match.
  770. (n3_syntax_error): Simple standalone copy here.
  771. * raptor/n3_parser.y (n3_parser_error):
  772. Set lineno and call raptor_parser_simple_error to
  773. pass on the parsing error.
  774. (n3_syntax_error): Added. Set lineno and call raptor_parser_error
  775. to pass on a general syntax error.
  776. (n3_qname_to_uri): Init locator line before calling raptor_new_qname
  777. that may fail, calling raptor_parser_simple_error.
  778. * raptor/raptor_internal.h: Add n3_syntax_error
  779. * raptor/n3_lexer.l: Call n3_syntax_error on a syntax error
  780. * raptor/examples/grapper.c: Add n3 syntax
  781. * raptor/n3_parser.y (propertyList): Handle NULL verb, two cases.
  782. (raptor_n3_parse_start): No locator column, byte values just yet.
  783. * raptor/n3_parser.y (n3_qname_to_uri):
  784. Call raptor_new_qname with rdf_parser for errors
  785. 2003-09-15 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  786. * raptor/n3_parser.y:
  787. Don't raptor_free_uri shared uris made from qnames
  788. * raptor/n3_parser.y (n3_parse): Tidy up flex buffers.
  789. (raptor_n3_parse_terminate): Destroy any flex state on exit.
  790. * raptor/n3_parser.y (n3_parse): delete buffer after parse.
  791. * raptor/n3_parser.y: Free uri strings returned from URI_LITERAL.
  792. * raptor/raptor_identifier.c (raptor_new_identifier):
  793. Note uri, literal_datatype are shared and not copied.
  794. * raptor/n3_parser.y: Free strings returned from QNAME_LITERAL.
  795. * raptor/raptor_sequence.c (raptor_new_sequence): Use RAPTOR_MALLOC.
  796. (raptor_free_sequence): Free the raptor_sequence.
  797. * raptor/raptor_identifier.c (raptor_new_identifier):
  798. Note id, literal, literal_language are
  799. shared and not copied.
  800. * raptor/n3_parser.y (statement): Free identifier used for subject
  801. (propertyList): Free identifier used for verb
  802. * raptor/n3_parser.y:
  803. Track when an identifier is copied using is_malloced
  804. (raptor_free_triple): Actually free the triple.
  805. * raptor/raptor_internal.h, raptor/n3_parser.y:
  806. raptor_triple now just has 3 items.
  807. * raptor/n3_parser.y (raptor_n3_parse_terminate): Free namespaces
  808. * raptor/n3_parser.y (n3_parse): Do not parser NULL or empty string.
  809. (raptor_n3_parse_chunk): Do not parser empty buffer.
  810. * raptor/rdfdump.c: (main) Don't free NULL uri
  811. * raptor/n3_parser.y: More debugging messages.
  812. Recover from errors, don't generate partial triples.
  813. (n3_qname_to_uri): Return NULL if raptor_new_qname does not give a
  814. URI (some error happened).
  815. * raptor/n3_lexer.l: Remove END token, should only use EOF
  816. Count lines right for \r\n|\r|\n
  817. Handle EOF in comments
  818. * raptor/n3_parser.y: Remove END token, should only use EOF
  819. Add more debugging statements.
  820. Throughtout, change raptor_new_uri to raptor_new_uri_relative_to_base.
  821. (statement): Handle empty propertyList ("[]").
  822. (propertyList 1): Copy verb into objectList, then append
  823. propertyList items (if not empty "[]" again).
  824. (objectList): Add empty item for "[]", returning NULL.
  825. (resource): For [], handle NULL and generate statements here
  826. before returning the generated id.
  827. (n3_parser_print_statement): Added for test code
  828. (main): In test code, init URI module only, create fake
  829. static rdf_parser and n3_parser and initialise enough (base URI,
  830. and context) so that it works.
  831. * raptor/n3_parser.y: Add error recovery at '.'
  832. 2003-09-14 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  833. * raptor/n3_parser.y:
  834. raptor_print_triple renamed to raptor_triple_print
  835. * raptor/n3_parser.y: Only define raptor_print_triple if debugging.
  836. * raptor/raptor_identifier.c, raptor/n3_parser.y:
  837. raptor_print_identifier renamed to raptor_identifier_print
  838. * raptor/n3_parser.y: Raptor N-Triples+/N3 parser
  839. * raptor/n3_lexer.l: Raptor N-Triples+/N3 lexer
  840. * raptor/raptor_identifier.c (raptor_identifier_print):
  841. Added for debugging
  842. * raptor/raptor_internal.h: When debugging, raptor_identifier_print
  843. * raptor/raptor_identifier.c (raptor_new_identifier):
  844. Add literal, literal_datatype,
  845. literal_language args and handle them.
  846. (raptor_init_identifier): Deleted, not used (enough).
  847. (raptor_copy_identifier, raptor_free_identifier): Updated for
  848. literal, literal language and literal datatype.
  849. * raptor/rdfdump.c:
  850. Use the syntax name (after validation) to intialise the parser rather
  851. than an ever-growing set of flags.
  852. * raptor/raptor_uri.c (raptor_default_new_uri):
  853. If the filename had a fragment, re-append
  854. it to the file:URI after updating it to be correct.
  855. (raptor_uri_uri_string_to_filename): Add fragment_p arg to return
  856. the URI fragment after a discovered filename in a file:URI.
  857. (assert_uri_to_filename): Update call to
  858. raptor_uri_uri_string_to_filename.
  859. * raptor/raptor_parse.c (raptor_xml_parser): Add namespaces.
  860. Elsewhere change rdf_parser->namespaces to
  861. rdf_xml_parser->namespaces.
  862. (raptor_xml_parse_start): Initialise the namespaces for rdf/xml.
  863. * raptor/raptor_sequence.c: Raptor sequence ADT
  864. * raptor/raptor_namespace.c (raptor_namespace_init):
  865. Add defaults arg to control which
  866. namespaces are added by default. 0=none, 1=xml, 2=... others
  867. (main): Update test code to give new arg.
  868. * raptor/raptor_general.c (raptor_init): Call raptor_init_parser_n3.
  869. (raptor_start_parser, raptor_free_parser): Remove namespace code from
  870. here; moves into specific parser context code.
  871. (raptor_parse_file): Update for raptor_uri_uri_string_to_filename
  872. extra arg.
  873. * raptor/raptor_xml_writer.c:
  874. (raptor_new_xml_writer) Update for raptor_namespaces_init defaults
  875. arg.
  876. * raptor/raptor_rss.c (raptor_rss_emit):
  877. Use raptor_new_identifier rather than
  878. raptor_init_identifier and make items dynamically allocated.
  879. * raptor/raptor_www.c:
  880. (raptor_www_file_fetch) Update for raptor_uri_uri_string_to_filename
  881. extra argument.
  882. * raptor/raptor.h:
  883. Add literal, literal_datatype, literal_language to raptor_identifier
  884. structure.
  885. Add above arguments to raptor_new_identifier.
  886. Remove raptor_init_identifier - not used.
  887. Add fragment_p argument to raptor_uri_uri_string_to_filename.
  888. * raptor/raptor_internal.h:
  889. Remove namespaces from raptor_parser; now in per-syntax contexts.
  890. Updated raptor_namespaces_init to take defaults arg.
  891. Added N3 class prototypes, for n3_token_print, raptor_init_parser_n3,
  892. n3_parser_lex.
  893. Added raptor_triple structure.
  894. Added sequence class prototypes.
  895. * raptor/Makefile.am:
  896. Add n3_lexer.c n3_lexer.h both generated from n3_lexer.l by flex;
  897. add maintainer-only rules to do that.
  898. Add n3_parser.tab.c n3_parser.tab.h generated from n3_parser.y by
  899. yacc; add maintainer-only rules to do that.
  900. Add raptor_sequence.c and test.
  901. * raptor/configure.ac: Add lex (flex required) and yacc
  902. 2003-09-12 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  903. * Redland.i:
  904. Add prototypes for internal functions librdf_error, librdf_warning
  905. along with warning that these aren't in the API.
  906. 2003-09-11 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  907. * python/RDF.py (Model): Added sync() calling librdf_model_sync
  908. * python/redlandtest.py (RedlandModelGeneral): Test model.sync()
  909. 2003-09-08 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  910. * python/RDF.py:
  911. (Node:_get_literal_value) Use dt_uri=Uri(string=... not (uri_string=...
  912. * configure.ac: Bumped version to 0.9.15
  913. * Snapshotted redland_0_9_14 for 0.9.14 release
  914. * librdf/redland.spec.in: Require raptor 1.0.0
  915. * librdf/rdf_hash_bdb.c (librdf_hash_bdb_open):
  916. Restore previous call to db_create.
  917. Add an extra clause to do nothing inside big #ifdef chain
  918. if HAVE_DB_CREATE is present.
  919. * configure.ac: Min raptor version is now 1.0.0
  920. * raptor/configure.ac: Bumped version to 1.1.0
  921. * Snapshotted raptor_1_0_0 for 1.0.0 release
  922. * raptor/libraptor.3: new date
  923. * raptor/ntriples.h,raptor/Makefile.am: Removed old header ntriples.h
  924. * raptor/raptor_general.c, raptor/raptor.h, raptor/ntriples_parse.c:
  925. Removed deprecated functions as promised. Changes are described in
  926. the libraptor.3 man page.
  927. * raptor/configure.ac: Updated for Raptor 1.0.0
  928. Shared library soname major now 1
  929. * configure.ac:
  930. With only --with-bdb=PREFIX given, set the lib & include from that
  931. value.
  932. Use 'unknown' rather than none when some BDB bits given and no
  933. guessing.
  934. * raptor/win32_config.h: Added R_OK define for access()
  935. * raptor/tests/Makefile.am: test wording for failures
  936. * librdf/rdf_hash_bdb.c (librdf_hash_bdb_open):
  937. Probably restore early DB3.0 to working with db_create.
  938. 2003-09-05 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  939. * raptor/tests/Makefile.am: Added bad-05.nt
  940. * raptor/tests/bad-05.nt: Bad Unicode character #x110000
  941. * raptor/tests/test.out, raptor/tests/test.nt: fixes
  942. * raptor/tests/test.nt:
  943. Removed resource18-20 - illegal Unicode chars. Added \U0010FFFF
  944. * raptor/ntriples_parse.c (raptor_ntriples_term):
  945. Forbid Unicode characters outside #x0-#x10FFFF
  946. 2003-09-04 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  947. * java/org/librdf/redland/World.java: Use librdf_version/copyright*
  948. * Redland.i: Use librdf_version* and both librdf_copyright strings
  949. * tcl/Makefile.am: clean more
  950. * raptor/libraptor.3: Updated for 1.0.0
  951. Added raptor_parse_file_stream.
  952. Added new feature normalize_language.
  953. Added list of all static variables exported.
  954. * configure.ac: Remove a bunch of unused LIBRDF_VERSION_ AC_SUBST.
  955. Remove LIBRDF_VERSION_INFO - not used
  956. Define LIBRDF_VERSION_DECIMAL here and make it an AC_SUBST.
  957. * librdf/rdf_init.c: Use LIBRDF_VERSION_DECIMAL define.
  958. * raptor/configure.ac:
  959. Define RAPTOR_VERSION_DECIMAL here and make it an AC_SUBST.
  960. * raptor/raptor_general.c: Use RAPTOR_VERSION_DECIMAL define.
  961. * redland-config.in: Added --version-decimal.
  962. * redland-config.1, raptor/raptor-config.1:
  963. Document --version-decimal and --libtool-libs
  964. * raptor/raptor-config.in: Added --version-decimal.
  965. * raptor/rdfdump.c: Allow filename "-" to be used as standard input.
  966. When a filename is given, use raptor_parse_file.
  967. Adjust the error messages to mention file names when using
  968. raptor_parse_file
  969. * raptor/raptor.h: Added raptor_parse_file_stream
  970. * raptor/raptor_general.c (raptor_parse_file_stream):
  971. Added, allowing passing in of an existing
  972. FILE* stream (with optional filename) and parsing rather than
  973. raptor doing the fopen/fclose.
  974. (raptor_parse_file): A NULL uri argument now means stdin.
  975. * raptor/raptor_internal.h, raptor/raptor_parse.c:
  976. Remove rdf_parser->fh
  977. * utils/rdfproc.1:
  978. Update parse, serailize commands to note optional syntax names, list
  979. valid names and mention the default RDF/XML.
  980. * utils/rdfproc.c:
  981. Make syntax name option to parser commands, defauting to (default
  982. parser) rdf/xml
  983. Hide 'query' command further.
  984. Print short copyright in usage, help.
  985. Tidy help messages.
  986. Delete rotten parser features
  987. * librdf/rdf_parser_raptor.c (librdf_parser_raptor_constructor):
  988. Register "rdfxml" name and mime
  989. type, URL http://www.w3.org/TR/rdf-syntax-grammar.
  990. Keep raptor name around
  991. * raptor/rdfdump.c:
  992. Use raptor_short_copyright_string in usage/help messages
  993. * raptor/raptor_general.c, raptor/raptor.h:
  994. Added raptor_short_copyright_string
  995. * utils/rdfproc.c: Free options hash
  996. * librdf/redland.spec.in: Add rdfproc.
  997. Require raptor 0.9.12 min
  998. * utils/rdfproc.1: tweak
  999. * utils/Makefile.am: Added rdfproc.1
  1000. * utils/rdfproc.1: rdfproc manual page
  1001. * utils/rdfproc.c: help
  1002. * utils/rdfproc.c:
  1003. Tidy usage message - use triples & graphs, explain source, target, arc.
  1004. Add short copyright
  1005. * librdf/rdf_init.c, librdf/librdf.h:
  1006. Added librdf_short_copyright_string.
  1007. Made long one have line breaks and more URIs
  1008. * utils/rdfproc.c: statements now find
  1009. Added optional CONTEXT to add/add-typed/remove, warning if not enabled.
  1010. * utils/rdfproc.c: Use rdfproc_getopt.h
  1011. * configure.ac:
  1012. Enable public domain getopt in getopt.c & rdfproc_getopt.h for
  1013. rdfproc if there is no getopt or getopt_long
  1014. * utils/Makefile.am:
  1015. Enable public domain getopt in getopt.c & rdfproc_getopt.h
  1016. * utils/getopt.c, utils/rdfproc_getopt.h:
  1017. public domain getopt for rdfproc
  1018. * configure.ac: Look for getopt.h
  1019. * librdf/rdf_hash.h: Added librdf_hash_put_strings
  1020. * librdf/rdf_hash.c (librdf_hash_put_strings):
  1021. Added helper to add strings to hash easier.
  1022. * librdf/rdf_storage.c (librdf_new_storage_with_options):
  1023. Added, taking a librdf_hash
  1024. argument. Similar to librdf_new_model_with_options.
  1025. * librdf/rdf_storage.h: Added librdf_new_storage_with_options
  1026. * librdf/rdf_init.c:
  1027. Renamed public statics to librdf_version* and librdf_copyright_string.
  1028. Added librdf_version_decimal.
  1029. * librdf/librdf.h: Added REDLAND_API
  1030. Added REDLAND_DEPRECATED
  1031. Added public statics librdf_version* and librdf_copyright_string.
  1032. * utils/Makefile.am: Added rdfproc
  1033. * utils/rdfproc.c:
  1034. Redland RDF processor - converted from examples/example4.c
  1035. 2003-09-03 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1036. * Makefile.PL: Updated for 0.9.13
  1037. Uses configure.ac
  1038. Pick the perl prefix to pass to configure.
  1039. make clean needs a little help else it just returns 'exit 2'.
  1040. install: Installs just the shared libraries for raptor and
  1041. redland, then perl.
  1042. Have a hand-crafted MANIFEST and MANIFEST.SKIP now.
  1043. * raptor/raptor_general.c (raptor_set_feature):
  1044. Add new feature normalize_language
  1045. (raptor_set_parser_strict): Set default for feature
  1046. normalize_language to true.
  1047. * raptor/raptor.h, raptor/raptor_internal.h:
  1048. Add new feature normalize_language
  1049. * raptor/raptor_parse.c (raptor_xml_start_element_handler):
  1050. Normalize language to lowercase.
  1051. After http://www.w3.org/TR/rdf-concepts/#dfn-language-identifier
  1052. Controlled by a new parser feature 'normalize_language'.
  1053. * raptor/ntriples_parse.c (raptor_ntriples_parse_line):
  1054. Normalize language to lowercase.
  1055. After http://www.w3.org/TR/rdf-concepts/#dfn-language-identifier
  1056. 2003-09-01 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1057. * librdf/Makefile.am:
  1058. In AM_LDFLAGS, use @LIBRDF_LIBS@ for -L/-l libraries and
  1059. @LIBRDF_INTERNAL_LIBS@ for libtool things.
  1060. Remove not-needed $(LIBS) from test binaries link lines.
  1061. * examples/Makefile.am:
  1062. In AM_LDFLAGS, use @LIBRDF_LIBS@ for -L/-l libraries and
  1063. @LIBRDF_INTERNAL_LIBS@ for libtool things.
  1064. * Makefile.am: raptor subdirectory is now not always built
  1065. * configure.ac: TIdy some configure --with/--enable messages
  1066. Added RAPTOR_CONFIG program (default raptor-config)
  1067. Added --with-raptor=system or internal. By default will pick the best.
  1068. Checks for minmum versions and warns if too old, but proceeds.
  1069. raptor subdirectory is now not always built.
  1070. * raptor/raptor-config.in: Oops, -lraptor with --libs
  1071. * redland-config.in:
  1072. Added --libtool-libs for compiling with librdf using libtool.
  1073. * configure.ac:
  1074. Added LIBRDF_LIBTOOLLIBS for compiling with librdf using libtool.
  1075. * raptor/configure.ac:
  1076. Added RAPTOR_LIBTOOL_LIBS for compiling with raptor using libtool.
  1077. * raptor/raptor-config.in:
  1078. Added exec_prefix to make --libs generate the right -L
  1079. Added --libtool-libs for compiling with raptor using libtool.
  1080. 2003-08-31 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1081. * configure.ac, raptor/configure.ac:
  1082. dmalloc enabled only if dmalloc.h is present
  1083. * raptor/tests/Makefile.am: Removed warn-01 re-added accidently.
  1084. * raptor/tests/warn-00.out, raptor/tests/warn-00.rdf:
  1085. Added rdf:bagID warning check
  1086. * raptor/tests/Makefile.am:
  1087. Added scanning tests and ex-52.svg/out for inside SVG
  1088. * raptor/tests/ex-52.out, raptor/tests/ex-52.svg:
  1089. Check scanning for rdf/xml in SVG
  1090. * raptor/raptor_general.c (raptor_set_parser_strict):
  1091. Scanning and assuming are never default
  1092. on, must be enabled
  1093. * raptor/raptor_parse.c (raptor_xml_start_element_handler):
  1094. Fix scanning for rdf:RDF. Do
  1095. parent->child processing if the grammar has a state set up,
  1096. in this case it is expecting a list of node elements.
  1097. * raptor/rdfdump.c: Set strict before setting other features
  1098. * raptor/rdfdump.c: Use strict_mode
  1099. * raptor/tests/warn-00.out, raptor/tests/warn-00.rdf,
  1100. raptor/tests/warn-01.out, raptor/tests/warn-01.rdf,
  1101. raptor/tests/warn-03.rdf: These are now errors not wrarnings
  1102. * raptor/raptor_parse.c (raptor_xml_start_element_handler):
  1103. Non-namespaced elements are now
  1104. an error.
  1105. (raptor_process_property_attributes): Tidy non-namespaced element name.
  1106. (raptor_start_element_grammar): Give errors if an attempt is made
  1107. to proceed dealing with elements with no namespace for property or
  1108. node elements - attributes are caught above.
  1109. * raptor/tests/Makefile.am:
  1110. Add bad-18.rdf, bad-19.rdf for non-namespaced elements
  1111. * raptor/tests/bad-18.rdf, raptor/tests/bad-19.rdf:
  1112. Test node/property elements without namespaces fail
  1113. * raptor/raptor_internal.h:
  1114. Add raptor_parser field 'magic' for libxml2 error/warning callback
  1115. validation. and declare RAPTOR_LIBXML_MAGIC to set use there
  1116. * raptor/raptor_general.c (raptor_new_parser):
  1117. Set RAPTOR_LIBXML_MAGIC field in structure for
  1118. libxml2 error/warning callback validation.
  1119. * raptor/ntriples_parse.c (raptor_ntriples_term):
  1120. Check that the string/URI term was terminated
  1121. before the end of the string.
  1122. * raptor/tests/Makefile.am: Added bad-04.nt
  1123. * raptor/tests/bad-04.nt: Test for non-terminated URI
  1124. * raptor/raptor_libxml.c (raptor_libxml_warning,raptor_libxml_error):
  1125. Validate the ctx pointer
  1126. returned since sometimes it is a ctx, sometimes ctx->userData. The
  1127. latter is what is expected.
  1128. * raptor/tests/Makefile.am:
  1129. Oops, run bad ntriples tests in N-Triples mode
  1130. * raptor/rapper.1: Added --version/-v
  1131. * raptor/rdfdump.c: Tidied up option error handling, messages.
  1132. Added --version/-v
  1133. * librdf/rdf_storage.c:
  1134. (librdf_storage_add_statement, librdf_storage_add_statements,
  1135. librdf_storage_remove_statement,
  1136. librdf_storage_context_add_statement,
  1137. librdf_storage_context_remove_statement)
  1138. For these optional methods that can change the store, return failure
  1139. if the factory does not implement them.
  1140. (librdf_storage_context_add_statements): Added either using the
  1141. factory method or librdf_storage_context_add_statement if that
  1142. is missing.
  1143. (librdf_storage_context_remove_statements): Added either using the
  1144. factory method or librdf_storage_context_remove_statement if that
  1145. is missing.
  1146. (librdf_storage_context_as_stream): Added, deprecating
  1147. librdf_storage_context_serialise.
  1148. * librdf/rdf_storage.h:
  1149. Added new context_add_statements and context_remove_statements
  1150. factory methods. Note that those are optional and so are
  1151. all other context methods or methods that change the store (could be
  1152. read only)
  1153. Added prototypes for librdf_storage_context_add_statements,
  1154. librdf_storage_context_remove_statements.
  1155. Added prototype for librdf_storage_context_as_stream, deprecating
  1156. librdf_storage_context_serialise.
  1157. * librdf/rdf_model_storage.c:
  1158. (librdf_model_storage_context_add_statements) Added, calling
  1159. librdf_storage_context_add_statements
  1160. (librdf_model_context_remove_statements) Added, calling
  1161. librdf_storage_context_remove_statements
  1162. * librdf/rdf_model.c:
  1163. (librdf_model_context_add_statements) Use factory method if
  1164. present otherwise use existing code and
  1165. librdf_model_context_add_statement method.
  1166. (librdf_model_context_remove_statements) Use factory method if
  1167. present otherwise use existing code and
  1168. librdf_model_context_remove_statement method.
  1169. * librdf/rdf_model.h: model_factory - note sync is optional.
  1170. Add context_add_statements and context_remove_statements, both
  1171. optional that librdf_model will implement using the singular forms if
  1172. they are missing.
  1173. * librdf/rdf_node.c (librdf_node_equal): Remove unused var
  1174. 2003-08-30 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1175. * librdf/rdf_stream.c (librdf_stream_update_current_element):
  1176. Do not do excessive work -
  1177. only do a lower level check is_updated is false.
  1178. (librdf_stream_next): Reset is_updated after an
  1179. stream->next_method is performed.
  1180. (librdf_stream_get_object): Do less work, just return
  1181. librdf_stream_update_current_element, always the current element or
  1182. NULL at the end.
  1183. * librdf/rdf_iterator.c (librdf_iterator_update_current_element):
  1184. Do not do excessive work -
  1185. only do a lower level check is_updated is false.
  1186. (librdf_iterator_next): Reset is_updated after an
  1187. iterator->next_method is performed.
  1188. (librdf_iterator_get_object): Do less work, just return
  1189. librdf_iterator_update_current_element, always the current element or
  1190. NULL at the end.
  1191. * librdf/rdf_stream.h, librdf/rdf_iterator.h: Add is_updated flag
  1192. * librdf/rdf_node.c (librdf_node_equals): Actually use interned nodes.
  1193. * librdf/rdf_uri.c (librdf_uri_equals): Actually use interned URIs.
  1194. * librdf/rdf_model.c (Main):
  1195. In test code, use librdf_parser_parse_string_as_stream rather
  1196. than write files, delete them.
  1197. * librdf/rdf_node.c:
  1198. Updates to share all librdf_node objects like for librdf_uri - usage
  1199. counts and shared pointers.
  1200. (librdf_init_node): Initialise the three hashes for resource,
  1201. literal, blank nodes.
  1202. (librdf_finish_node): Clean up the three hashes.
  1203. (librdf_new_node_from_uri_string_or_uri): Internal helper
  1204. function to do all resource node creation. Does the
  1205. minimum of uri_string to/from uris objects conversion.
  1206. If the resource node isn't in the resource hash (H_RESOURCE), add it
  1207. otherwise just bump the usage count.
  1208. (librdf_new_node_from_uri_string, librdf_new_node_from_uri,
  1209. librdf_new_node_from_uri_local_name,
  1210. librdf_new_node_from_normalised_uri_string): Use
  1211. librdf_new_node_from_uri_string_or_uri.
  1212. (librdf_new_node_from_typed_literal): If the librdf_node_encode-ed
  1213. buffer of the literal node isn't in the literal hash (H_LITERAL),
  1214. add it, otherwise just bump the usage count.
  1215. (librdf_new_node_from_blank_identifier): If the identifier string
  1216. isn't in the blank hash (H_BLANK), add it, otherwise just bump the
  1217. usage count.
  1218. (librdf_new_node_from_node): Now 1 line.
  1219. (librdf_free_node): Decrement usage and then free and remove from the
  1220. appropriate hashes if the usage was 0.
  1221. (librdf_node_get_li_ordinal): Get the ordinal from the URI string
  1222. since it isn't/wasn't ever stored.
  1223. * librdf/rdf_node.h:
  1224. librdf_node - add usage count. Remove ordinal union part, never used.
  1225. Add key & size to literal part.
  1226. * librdf/rdf_statement.c, librdf/rdf_query.c,
  1227. librdf/rdf_concepts.c (main): Call librdf_init_node and
  1228. librdf_finish_node in the test code.
  1229. * librdf/rdf_init.h:
  1230. Added node mutext (when threading) and node hashes to world structure.
  1231. * librdf/rdf_init.c (librdf_world_open): Call librdf_init_uri.
  1232. (librdf_world_set_uris_hash): Deleted
  1233. (librdf_init_world): Don't use arg2.
  1234. * librdf/rdf_uri.c (librdf_new_uri): Fail if uri_string is NULL.
  1235. Tidy up cleanup and thread un-/locking.
  1236. (librdf_new_uri_from_uri): Actually use the interning of URIs.
  1237. (librdf_new_uri_from_uri_local_name): Fail if URI is NULL.
  1238. Tidy up cleanup and thread un-/locking.
  1239. (librdf_new_uri_normalised_to_base, librdf_new_uri_relative_to_base):
  1240. Fail if URI is NULL.
  1241. * raptor/configure.ac, configure.ac:
  1242. Added --with-dmalloc option default auto for maintainer, no otherwise.
  1243. 2003-08-29 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1244. * perl/lib/RDF/Redland/Parser.pm:
  1245. Use raptor in the example. Add a mime type example.
  1246. * demos/demo.pl: s/statement/triple/ in html
  1247. * demos/demo.pl: Update parser labels.
  1248. Add owl namespace.
  1249. Trim rdf content whitespace.
  1250. Become read only if db is not writable to this user.
  1251. * docs/Makefile.am: Added .pod.html rule
  1252. 2003-08-28 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1253. * docs/fix-python-xhtml:
  1254. Remove remaining broken fragments, example urls
  1255. * docs/fix-python-xhtml: Exclude __builtin__ class from links
  1256. * Released RPMs version 0.9.13-3 (patch redland-0.9.13-perl2.patch)
  1257. * librdf/redland.spec.in:
  1258. (0.9.13-2, 0.9.13-3) patches added to fix broken perl UNIVERSAL::isa
  1259. * perl/lib/RDF/Redland/URI.pm, perl/lib/RDF/Redland/Node.pm:
  1260. Use URI::URL in the isa
  1261. * Released RPMs version 0.9.13-2 (patch redland-0.9.13-perl1.patch)
  1262. * perl/lib/RDF/Redland/URI.pm, perl/lib/RDF/Redland/Node.pm:
  1263. Fix totally broken use of UNIVERSAL::isa
  1264. * perl/lib/RDF/Redland/URI.pm (new):
  1265. Fix arg promotion from URI objects.
  1266. * perl/lib/RDF/Redland/URI.pm (new): Fix cloning.
  1267. * configure.ac: Bumped version to 0.9.14
  1268. * Snapshotted redland_0_9_13 for 0.9.13 release
  1269. * docs/redland.pod: Note out of dateness
  1270. * docs/redland.pod, librdf/rdf_serializer_rdfxml.c,
  1271. librdf/rdf_serializer_raptor.c, utils/db_upgrade.c,
  1272. tcl/example.tcl, ruby/example.rb: Use librdf_model_as_stream
  1273. * java/org/librdf/redland/Model.java (as_stream):
  1274. Added - use Use librdf_model_as_stream or with a context
  1275. node, use librdf_model_context_as_stream
  1276. * python/RDF.py (Model.as_stream): Use librdf_model_context_as_stream
  1277. * perl/lib/RDF/Redland/Model.pm:
  1278. Fix uses of RDF::Redland::Node::_ensure($node) to use it as a redland
  1279. node.
  1280. (as_stream): Take optional context node, promote as necessary,
  1281. using librdf_model_context_as_stream. Add documentation.
  1282. * Redland.i: Added librdf_model_context_as_stream
  1283. * librdf/rdf_model.c, librdf/rdf_model.h:
  1284. Added librdf_model_context_as_stream, deprecating
  1285. librdf_model_context_serialize as confusing with the
  1286. librdf_serializer class and mixing US/UK spelling.
  1287. * perl/serialize.pl, demos/demo.pl, perl/example.pl: Use as_stream
  1288. * perl/lib/RDF/Redland/Model.pm (as_stream):
  1289. Added, deprecating serialise and serialise.
  1290. * librdf/rdf_model.c:
  1291. Added librdf_model_as_stream, deprecating librdf_model_serialise
  1292. as confusing with the librdf_serializer class.
  1293. * librdf/rdf_model.h, Redland.i: Added librdf_model_as_stream
  1294. * tcl/Makefile.am: TCL_INCLUDES
  1295. * php/php.ini: load shared library from .
  1296. * php/Makefile.am:
  1297. Remove libtool again. Try "if OSX, else rest of world" approach.
  1298. * configure.ac:
  1299. TCL_INCLUDE now TCL_INCLUDES and blank if not found, otherwise -Idir
  1300. * tcl/Makefile.am:
  1301. Remove libtool again. Try "if OSX, else rest of world" approach.
  1302. * configure.ac: default TCL_INCLUDE to /usr/include
  1303. * ruby/Makefile.am: minor depends
  1304. * ruby/Makefile.am:
  1305. Remove libtool again. Try "if OSX, else rest of world" approach.
  1306. Package now 'redland' to match ruby convention.
  1307. * ruby/example.rb: Now redland
  1308. * tcl/Makefile.am: Don't -I-I@TCL_INCLUDE@
  1309. * configure.ac:
  1310. tcl version tweak -nonewline since OSX does silly things
  1311. * tcl/Makefile.am: Removed README
  1312. * tcl/README: Moved into ../docs/tcl.html
  1313. * tcl/Makefile.am:
  1314. Use @TCL_VERSION@ for the library name and -I@TCL_INCLUDE@
  1315. * configure.ac:
  1316. --with-perl/python/java/tcl/php/ruby now either enable the language
  1317. or enable and set the binary. Always try to find the version of
  1318. the language before building the API automatically.
  1319. Hunt for Tcl tcl.h and Java JDK JNI headers in various places.
  1320. Report the languages available and language APIs built.
  1321. * php/Makefile.am: comments.
  1322. testing is optional, php program might not exist
  1323. * php/Makefile.am:
  1324. Very complex build and install using a libfake.la so I don't have to
  1325. care about details of building shared object and dynamically loaded
  1326. libraries. No OSX specific fixes here since I can't see what
  1327. the convention is.
  1328. * tcl/Makefile.am: Be verbose in pkgIndex.tcl
  1329. * ruby/Makefile.am: docs
  1330. * tcl/Makefile.am: No -module here
  1331. 2003-08-27 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1332. * tcl/Makefile.am:
  1333. Very complex build and install using a libfake.la so I don't have to
  1334. care about details of building shared object and dynamically loaded
  1335. libraries (such as on OSX). The OSX specific naming is burnt in here
  1336. since the dynamically loaded library must be called Redland.dylib
  1337. * ruby/Makefile.am:
  1338. Very complex build and install using a libfake.la so I don't have to
  1339. care about details of building shared object and modules (such
  1340. as on OSX). OSX specific naming have to be burnt in here since
  1341. shared modules must be called Redland.bundle
  1342. * ruby/Makefile.am, tcl/Makefile.am:
  1343. Make build and installing work again, without libtool.
  1344. * tcl/README: Update Tcl building info
  1345. * tcl/test.tcl: Back to auto_path .
  1346. * configure.ac: BDB check update again.
  1347. Report discovered BDB version in summary
  1348. * configure.ac: Use bdbc_ for temporary variables in BDB checking code.
  1349. * perl/Makefile.PL: Revert to working version. No need for
  1350. builddir/srcdir things.
  1351. * perl/Makefile.am: Revert: Remove inplace editing of PERL_MAKEFILE
  1352. * configure.ac: Another major BDB hunt and validate. This time
  1353. check for db.h with version numbers.
  1354. * perl/Makefile.PL: Set FULLEXT to RDF/Redland
  1355. * perl/Makefile.am: Make sure PERL really uses the right FULLEXT,
  1356. BASEEXT and BOOTSTRAP values
  1357. * librdf/rdf_hash_bdb.c:
  1358. Remove BDB_CLOSE/FD_2_ARGS ifdef sequence at start - now tested in
  1359. configure.
  1360. Rename to HAVE_BDB_CLOSE/FD_2_ARGS
  1361. * configure.ac: bdb_dbname test was inverted
  1362. * configure.ac: use "if test ...; then", not "if [ ... ]; then"
  1363. * configure.ac: I give up. Put OSX fink hints here - look for /sw/bin.
  1364. Add more Sleepycat/Berkeley DB checks, more guesswork and hunting for
  1365. BDB headers in /usr/include/db* subdirectories.
  1366. * perl/Makefile.am: Use CFLAGS, not MEM.
  1367. * perl/Makefile.PL: Use CFLAGS, not MEM.
  1368. Use redland-src-config --libs not --static-libs
  1369. * librdf/rdf_hash_bdb.c (librdf_hash_bdb_open):
  1370. More BDB #ifdef mess for db->open 6 or 7
  1371. arguments.
  1372. * librdf/rdf_utf8.c, librdf/rdf_uri.c, librdf/rdf_stream.c,
  1373. librdf/rdf_storage.c, librdf/rdf_statement.c,
  1374. librdf/rdf_serializer.c, librdf/rdf_query.c, librdf/rdf_parser.c,
  1375. librdf/rdf_node.c, librdf/rdf_model.c, librdf/rdf_iterator.c,
  1376. librdf/rdf_heuristics.c, librdf/rdf_hash.c, librdf/rdf_files.c,
  1377. librdf/rdf_digest.c, librdf/rdf_concepts.c:
  1378. When running a standalone test which has a STANDALONE #define set
  1379. then do not compile the code from the module, but use the code in the
  1380. linked librdf - all the tests link with this. This prevents
  1381. complaints about dual symbols from the OSX linker, and crashes with
  1382. statics that store the pointers to factories (models, storages,
  1383. parsers).
  1384. 2003-08-26 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1385. * configure.ac: Added AC_HEADER_TIME and checks for time.h, sys/time.h
  1386. for gettimeofday
  1387. * librdf/rdf_parser_raptor.c
  1388. (librdf_parser_raptor_generate_id_handler): Added to use
  1389. librdf_world_get_genid to get a unique genid if the user does not
  1390. provide one.
  1391. (librdf_parser_raptor_parse_file_as_stream,
  1392. librdf_parser_raptor_parse_as_stream_common,
  1393. librdf_parser_raptor_parse_into_model_common): Use
  1394. librdf_parser_raptor_generate_id_handler to generate IDs.
  1395. * librdf/rdf_node.c (librdf_new_node_from_blank_identifier):
  1396. If a NULL identifier
  1397. is passed in, use librdf_world_get_genid to get a unique genid.
  1398. * librdf/rdf_init.c:
  1399. Added a slew of time related headers for gettimeofday
  1400. (librdf_new_world): Get the startup time to init world genid_base.
  1401. Set genid_counter to 1.
  1402. (librdf_world_set_feature): Support
  1403. LIBRDF_WORLD_FEATURE_GENID_BASE, LIBRDF_WORLD_FEATURE_GENID_COUNTER
  1404. both integers.
  1405. (librdf_world_get_genid): Added to return a new
  1406. genid of the form "r"+base+"r"+(counter++)
  1407. * librdf/rdf_init.h: World gains genid_base and genid_counter.
  1408. New world features LIBRDF_WORLD_FEATURE_GENID_BASE,
  1409. LIBRDF_WORLD_FEATURE_GENID_COUNTER
  1410. New internal librdf_world_get_genid
  1411. * docs/fix-python-xhtml: +email
  1412. * docs/fix-python-xhtml: -email
  1413. * docs/fix-python-xhtml: words
  1414. * docs/fix-python-xhtml: New pydoc, new bad use of ID.
  1415. Skip the huge #commented heading in the source.
  1416. * examples/example2.c:
  1417. Updated to a slightly more useful example - parsing from
  1418. string content and adding/checking/removing a statement.
  1419. * python/redlandtest.py (testIterateModel, testContains): Added.
  1420. * librdf/rdf_storage.c: Revert, remove contexts check here.
  1421. * librdf/rdf_storage_list.c (librdf_storage_list_contains_statement):
  1422. Handle contains with
  1423. contexts using librdf_storage_list_find_statements.
  1424. * librdf/rdf_storage_hashes.c
  1425. (librdf_storage_hashes_contains_statement): Handle contains with
  1426. contexts using librdf_storage_hashes_find_statements.
  1427. * librdf/rdf_parser_raptor.c: removed unused variable
  1428. * librdf/rdf_storage.c (librdf_storage_hashes_contains_statement):
  1429. Revert fix.
  1430. * librdf/rdf_storage_hashes.c
  1431. (librdf_storage_hashes_contains_statement): Move the fix for
  1432. stores with contexts into librdf_storage_contains_statement
  1433. * librdf/rdf_storage_list.c
  1434. (librdf_storage_list_contains_statement): Build a
  1435. librdf_storage_list_node to use to run librdf_list_contains.
  1436. * librdf/rdf_storage.h:
  1437. Added index_contexts flag to librdf_storage_factory_s.
  1438. * python/RDF.py (Model.__iter__): Fix to return an iter
  1439. * python/setup.py:
  1440. Remove MEM, MEM_LIBS code - rely on CFLAGS and LDFLAGS being passed in.
  1441. Move version code to top.
  1442. * python/Makefile.am: Pass on CFLAGS and LDFLAGS to python setup.py
  1443. * python/example.py: empty statement
  1444. * python/RDF.py: words in copyright
  1445. * python/test/test.py, python/example.py:
  1446. Updated to use 0.9 api features
  1447. * ruby/Makefile.am: test-ruby fix shared dir
  1448. * ruby/Makefile.am: LIBRUBYARG works 1.6-1.8
  1449. * python/redlandtest.py:
  1450. Update by Edd Dumbill to test the 0.9 RDF.py changes.
  1451. * python/RDF.py:
  1452. Major update to use Python 2.2+ idioms and features by Edd Dumbill.
  1453. General remarks
  1454. * Removed string exceptions and replaced with RedlandError ones
  1455. * Where underlying Redland C objects were unexpectedly null, raise
  1456. exceptions rather than returning None, "" or [] as appropriate.
  1457. * Raise exceptions if Redland C constructors fail in Python
  1458. constructors.
  1459. * Did quite a lot of documentation updating, where possible
  1460. demonstrating preferred Pythonic usages.
  1461. * Added more unit tests to test changed functionality.
  1462. RDF.Node
  1463. * Constructor now accepts Uri to make a resource/property node, or
  1464. a string to make a string literal
  1465. * Removed usage of node_type() in favour of is_resource(), is_blank()
  1466. etc methods.
  1467. * DEPRECATED get_blank_identifier() etc methods in favour of
  1468. node.blank_identifier etc properties. Raise exception if properties
  1469. inconsistent with the node type are requested.
  1470. RDF.Statement
  1471. * No need to name subject, predicate, object in constructor any more.
  1472. Uris or string literals accepted in place of nodes in constructor
  1473. argument.
  1474. * __getattr__ method deleted, using new-style property() for
  1475. subject, predicate, object
  1476. RDF.Model
  1477. * Deleted get_*_iterator methods
  1478. * Renamed sources() to get_sources(), targets() to get_targets(),
  1479. arcs() to get_predicates(). Retained old method names as aliases.
  1480. * Added get_sources_context(), get_targets_context(),
  1481. get_predicates_context() which return (node, context) tuples.
  1482. * Amended get_source(), get_sources() etc methods so that Uri and
  1483. string literals were acceptable as shortcut types for nodes.
  1484. * Added find_statements_context() which returns (statement, context)
  1485. tuples.
  1486. * Renamed context_remove_statements() to
  1487. remove_statements_with_context(). Retained old method name as an
  1488. alias.
  1489. * Added __delitem__ method so del[statement] and del[statement,
  1490. context] work.
  1491. * Added append() method so append(statement) and append(statement,
  1492. context) work. Suggest that append() is used in preference to
  1493. add_statement() for Python idiomatic usage.
  1494. * DEPRECATED serialise() in favour of as_stream().
  1495. * Added as_stream_context() to serialise (statement, context) tuples.
  1496. * Exception raised if len() is attempted on model with a non-countable
  1497. storage.
  1498. * DEPRECATED Model.add(), Model.add_typed_literal_statement() usages:
  1499. now that constructing Statements is easier, it's incongruous to have
  1500. these in the model. Additionally it saves reproducing various bits
  1501. of error checking that properly belong in the Node() constructor.
  1502. * Implemented __contains__() so "if statement in model" and
  1503. "if (statement, context) in model" work as expected using the more
  1504. efficient Redland C methods where possible.
  1505. RDF.Stream
  1506. * DEPRECATED Stream.context_iter(). Use in preference the _context
  1507. variants of the appropriate Model methods. This leads to fewer
  1508. lines of code.
  1509. RDF.Uri
  1510. * Amended constructor so strings or Uri instances can be passed as
  1511. the first argument, without named parameters being required, and
  1512. the right thing still happen.
  1513. ----
  1514. I did some indenting and white space editing for consistency
  1515. with the existing code.
  1516. * librdf/rdf_list.c (librdf_list_iterator_get_method): Oops
  1517. * librdf/rdf_hash.c (librdf_hash_get_all_iterator_get_method): oops
  1518. * java/Makefile.am:
  1519. Use check-local again, since we don't actually make programs called
  1520. test1 and test2.
  1521. * Redland.i: Add prototypes for static, internal methods
  1522. * python/Makefile.am: Pass in CFLAGS to python
  1523. * librdf/rdf_hash.c (librdf_hash_get_all_iterator_get_method): Give
  1524. an error for an unknown method and return NULL.
  1525. * librdf/rdf_list.c (librdf_list_iterator_get_method):
  1526. Check method is get_object
  1527. and return an error if it isn't.
  1528. * librdf/rdf_storage.c
  1529. (librdf_storage_stream_to_node_iterator_get_method): Provide
  1530. iterator get_context method as well as get_object, using the
  1531. internal stream.
  1532. * ruby/Makefile.am: Made an rubylib make definition
  1533. * tcl/Makefile.am: Made an tcllib make definition
  1534. * tcl/Makefile.am:
  1535. Interrogate tclsh for versions, and then guess include paths and
  1536. library name.
  1537. * tcl/test.tcl, tcl/example.tcl: Back to redland
  1538. * tcl/test.tcl, tcl/example.tcl: Tcl package now Redland
  1539. * configure.ac: Look for tclsh for TCL
  1540. * ruby/Makefile.am: More libtool flags
  1541. * ruby/Makefile.am: Build shared objects again.
  1542. * ruby/Makefile.am: Don't depend on build-ruby
  1543. * librdf/rdf_storage_hashes.c
  1544. (librdf_storage_hashes_contains_statement): Use
  1545. librdf_storage_hashes_find_statements to make this work when
  1546. contexts are being used.
  1547. * librdf/rdf_node.c (librdf_node_equals): Doc fix
  1548. * librdf/rdf_storage_list.c (librdf_storage_list_node_equals):
  1549. When not using contexts, don't
  1550. check the context nodes.
  1551. * Redland.i (librdf_call_python_message, librdf_call_perl_message):
  1552. Fix use of
  1553. vsnprintf in perl and python message callbacks to properly copy
  1554. va_list using va_copy. Same bug that happened in raptor.
  1555. 2003-08-25 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1556. * java/Makefile.am: Added test-java again
  1557. * tcl/Makefile.am: Added test-tcl again
  1558. * ruby/Makefile.am: Added test-ruby again
  1559. * python/example.py: Modernise the python to 2.2+
  1560. * python/RDF.py: Throughout:
  1561. Updated to use new Python classes (2.2+)
  1562. Replace __getattr__/__setattr__ with property() method.
  1563. * python/Makefile.am: check-local now also does unittest-python
  1564. * raptor/configure.ac: Bumped version to 0.9.13
  1565. * raptor/raptor_parse.c (raptor_start_element_grammar):
  1566. With rdf:datatype, do not lose the
  1567. URI string pointer. For rdf:ID, do not allocate the URI twice.
  1568. * raptor/raptor_parse.c (raptor_generate_statement):
  1569. Do not set language when a datatype is given.
  1570. * raptor/raptor_xml_writer.c (raptor_new_xml_writer):
  1571. Initialise writer buffer to an empty string
  1572. to start (i.e. just \0).
  1573. (raptor_xml_writer_start_element): Now assume buffer is always
  1574. present, remove empty buffer case.
  1575. (raptor_xml_writer_end_element,raptor_xml_writer_cdata): Handle 0
  1576. length case, no strncpy.
  1577. * raptor/tests/Makefile.am: Added ex-51.
  1578. Fix daml+oil test.
  1579. * raptor/tests/ex-51.out, raptor/tests/ex-51.rdf:
  1580. Check empty XML literal works
  1581. * raptor/tests/ex-41.out: No language for datatyped literals.
  1582. * raptor/tests/daml-oil.rdf, raptor/tests/daml-oil.out,
  1583. raptor/tests/Makefile.am: Updated to DAML+OIL schema 2001-03 as
  1584. defined in http://www.daml.org/2001/03/daml+oil-index.html
  1585. * raptor/tests/daml-oil.out, raptor/tests/daml-oil.rdf: Added
  1586. 2000-11-30 http://www.cs.man.ac.uk/%7Ehorrocks/DAML-OIL/daml-oil.rdf
  1587. * raptor/tests/owl-schema.rdf, raptor/tests/owl-schema.out:
  1588. Updated OWL schema http://www.w3.org/2002/07/owl to match
  1589. that given in OWL Reference 2003-08-18 CR
  1590. at http://www.w3.org/TR/2003/CR-owl-ref-20030818/#appB
  1591. * raptor/libraptor.3: Updated for 0.9.12
  1592. * python/RDF.py (Statement._get_subject):
  1593. Missed accidently when updating to do more copies.
  1594. * configure.ac: No languages by default.
  1595. 2003-08-24 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1596. * perl/Makefile.PL: Include -I builddir librdf dir to get rdf_config.h
  1597. * Makefile.am: make languages after core libs
  1598. * perl/Makefile.PL: More attempts at src/builddir fix.
  1599. * perl/Makefile.am: Fix src/builddir for output of MakeMaker
  1600. * tcl/Makefile.am: again
  1601. * tcl/Makefile.am: oops, -c to compile
  1602. * ruby/Makefile.am:
  1603. This dir is now compiled and installed conditional on ruby being
  1604. enabled with --with-ruby (off by default).
  1605. Move -local targets into standard 'make' and 'make install' ones.
  1606. Try to compile with the right Ruby shared library and install in
  1607. the Ruby libs dir.
  1608. * tcl/Makefile.am: Use @TCL@
  1609. * tcl/Makefile.am:
  1610. This dir is now compiled and installed conditional on tcl being
  1611. enabled with --with-tcl (off by default).
  1612. Move -local targets into standard 'make' and 'make install' ones.
  1613. Try to compile the Tcl shared library and install in the Tcl
  1614. libs dir. Finding the tcl.h includes is impossible, so note
  1615. that in the README.
  1616. * tcl/README: Tcl building issues
  1617. * php/Makefile.am: php installs now
  1618. * configure.ac:
  1619. In checking for progs, hunt for perl, python etc. rather than names.
  1620. Added --with-perl/python/java/php/tcl/ruby with optional
  1621. argument =PATH to set the script. This enables the particular
  1622. language to be built. Present defaults are perl and python are
  1623. enabled.
  1624. Move --with-ecma-cli to be nearby and accept 'no' also.
  1625. Moved --with-jdk to be nearby.
  1626. The subdirectories called with standard 'make' and 'make install'
  1627. now are based on languages.
  1628. Report the languages configured in the build summary.
  1629. * python/Makefile.am:
  1630. This dir is now compiled and installed conditional on python being
  1631. enabled with --with-python (by default).
  1632. Move -local targets into standard 'make' and 'make install' ones
  1633. and create a fake build and install to keep automake happy, since
  1634. we are using python's Distutils to do the real work.
  1635. * perl/Makefile.am:
  1636. This dir is now compiled and installed conditional on perl being
  1637. enabled with --with-perl (by default).
  1638. Move -local targets into standard 'make' and 'make install' ones
  1639. and create a fake build and install to keep automake happy, since
  1640. we are using perl's MakeMaker to do the real work.
  1641. * java/Makefile.am:
  1642. This dir is now compiled and installed conditional on java being
  1643. enabled with --with-java, so move -local targets into standard
  1644. 'make' and 'make install' ones.
  1645. Install both the shared library and jar.
  1646. * java/Makefile.am: core_wrap.c without makefile variables
  1647. * java/Makefile.am:
  1648. EXTRA_LTLIBRARIES is broke - it won't build shared libraries. So
  1649. fake it using lib_LTLIBRARIES and then override the installation for
  1650. install-javalibLTLIBRARIES: to do nothing.
  1651. * java/Makefile.am:
  1652. Shared library now librdf-java and built using libtool.
  1653. * java/org/librdf/redland/World.java, java/redland-fragment.java:
  1654. Now rdf-java (aka librdf-java under unixen)
  1655. * librdf/rdf_init.c: Now 2003
  1656. 2003-08-23 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1657. * java/org/librdf/redland/Node.java:
  1658. (constructors) Update to always copy rather than deal with shared
  1659. nodes.
  1660. (isResource, isLiteral, isBlank): Added.
  1661. * java/org/librdf/redland/Statement.java:
  1662. (constructors, getSubject, getPredicate, getObject) Update node and
  1663. statements to always copy rather than deal with shared.
  1664. * java/org/librdf/redland/Stream.java:
  1665. Returning copied statements is default.
  1666. * java/org/librdf/redland/Iterator.java:
  1667. Returning copied nodes is default.
  1668. * configure.ac: For --with-jdk, hunt for the machine-dependent subdir
  1669. * java/Makefile.am: Use JDK_INCLUDES
  1670. * java/org/librdf/redland/Parser.java:
  1671. (parse) Added methods parsing content ina string into a model
  1672. or as a stream of statements.
  1673. * java/org/librdf/redland/Model.java: sync has no return
  1674. * configure.ac: Added --with-jdk to specify where Java lives
  1675. * java/org/librdf/redland/Model.java,
  1676. perl/lib/RDF/Redland/Model.pm (sync): Added calling
  1677. librdf_model_sync
  1678. * Redland.i: Added librdf_model_sync
  1679. * librdf/rdf_model_storage.c (librdf_model_storage_sync):
  1680. Added, invoking librdf_storage_sync
  1681. * librdf/rdf_model.c (librdf_model_sync):
  1682. Added, invoking it in the implementation via new
  1683. factory method sync.
  1684. * librdf/rdf_model.h: Added librdf_model_sync and factory method.
  1685. * librdf/rdf_storage_hashes.c (librdf_storage_hashes_sync):
  1686. Added, implementing sync method.
  1687. * librdf/rdf_storage.c: Added librdf_storage_sync
  1688. * librdf/rdf_storage.h: Added librdf_storage_sync and factory method.
  1689. * python/Makefile.am, perl/Makefile.am: clean more
  1690. * perl/serialize.pl: Updated API tweaks
  1691. * perl/lib/RDF/Redland/Node.pm (new_from_literal):
  1692. Ensure is_wf_xml is an integer.
  1693. * perl/lib/RDF/Redland/Model.pm (remote_statement):
  1694. Allow NODE NODE NODE [CONTEXT] args
  1695. * perl/lib/RDF/Redland/Statement.pm (new):
  1696. Promote node arguments to redland nodes using
  1697. RDF::Redland::Node::_ensure.
  1698. * perl/lib/RDF/Redland/Node.pm (_ensure):
  1699. Added, to promote other objects to redland nodes
  1700. * perl/lib/RDF/Redland/Model.pm (add): Now call add_statements.
  1701. (add_statements,remove_statement,add_statements,remove_statements,
  1702. remove_context_statements): Promote node arguments to redland nodes
  1703. using RDF::Redland::Node::_ensure.
  1704. * perl/lib/RDF/Redland/Statement.pm (new_from_nodes):
  1705. Fix call to constructor
  1706. * perl/example.pl:
  1707. Test add_statement(NODE, NODE, NODE) form - with same NODE
  1708. * perl/lib/RDF/Redland/Model.pm (add_statement):
  1709. Accept NODE NODE NODE [CONTEXT] as arguments too.
  1710. 2003-08-22 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1711. * Redland.i: typo
  1712. * perl/lib/RDF/Redland/Parser.pm:
  1713. (parse_string_as_stream, parse_string_into_model):
  1714. Added for parsing strings. Note that the base_uri is required.
  1715. * python/RDF.py:
  1716. (Parser.parse_string_as_stream, Parser.parse_string_into_model):
  1717. Note base_uri is required in docs, raise an error if it isn't there.
  1718. * python/RDF.py:
  1719. (Parser.parse_string_as_stream, Parser.parse_string_into_model):
  1720. Added.
  1721. * librdf/rdf_parser_raptor.c
  1722. (librdf_parser_raptor_parse_as_stream_common,
  1723. (librdf_parser_raptor_parse_uri_into_model_common): Ensure
  1724. source_uri is set up correctly. Refuse to work without a
  1725. base_uri.
  1726. * python/test/test.py: Added test with parser.parse_string_as_stream
  1727. * librdf/redland.spec.in: try to get perl install working again
  1728. * Redland.i: Added librdf_parser_parse_string_as_stream,
  1729. librdf_parser_parse_string_into_model
  1730. * librdf/rdf_parser_raptor.c: Added new methods for implementing
  1731. librdf_parser_parse_string_as_stream,
  1732. librdf_parser_parse_string_into_model
  1733. (librdf_parser_raptor_parse_as_stream_common): New, core
  1734. work for both string and uri parsing into a stream.
  1735. (librdf_parser_raptor_parse_uri_into_model_common): New, core
  1736. work for both string and uri parsing into a model.
  1737. * librdf/rdf_parser.h (librdf_parser_parse_string_as_stream,
  1738. librdf_parser_parse_string_into_model): Added
  1739. * librdf/rdf_parser.c (librdf_parser_parse_string_as_stream,
  1740. librdf_parser_parse_string_into_model): Added
  1741. 2003-08-21 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1742. * raptor/Makefile.am: Remove -static from test links
  1743. * raptor/raptor_uri.c (main):
  1744. Test xmlbase and retrievable URI tranforms.
  1745. * raptor/raptor_uri.c (raptor_uri_resolve_uri_reference):
  1746. Handle #s relative to a uri-reference with a #fragment.
  1747. * raptor/raptor_www.c:
  1748. (raptor_www_fetch) Use raptor_new_uri_for_retrieval to ensure
  1749. that the URI-reference fragments are removed, and the URI path exists.
  1750. * raptor/raptor.h: Added raptor_new_uri_for_retrieval
  1751. * raptor/raptor_uri.c (raptor_new_uri_for_retrieval):
  1752. Added, strips fragments and ensures / path is present.
  1753. * raptor/raptor_xml_writer.c (raptor_xml_writer_start_element,
  1754. raptor_xml_writer_end_element): Use size_t for lengths.
  1755. * raptor/raptor_xml_writer.c (raptor_xml_writer_start_element):
  1756. Set content_element_seen in parent
  1757. only if there is a parent.
  1758. (raptor_xml_writer_end_element): Change current_element to parent
  1759. only if there is a current element.
  1760. * raptor/tests/Makefile.am:
  1761. Pull out may-fail NFC checks into a separate set and don't exit 1
  1762. if they do fail. Failure is possible since it requires GNOME glib2
  1763. which isn't always available.
  1764. * librdf/redland.spec.in: Fix perl CORE dir
  1765. * librdf/redland.spec.in: Removed duplicate perl CORE shared objects
  1766. * librdf/redland.spec.in: Added redland-db-upgrade.1 to devel
  1767. 2003-08-20 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1768. * perl/Makefile.PL:
  1769. Use .. for redland-src-config and add check it is there.
  1770. * python/setup.py:
  1771. Use .. for redland-src-config and add an os.access check for it
  1772. * redland-src-config.in: test ! -r
  1773. * redland-src-config.in: Stop if cannot find raptor-src-config
  1774. * python/setup.py: append define_macros only on match.
  1775. * python/setup.py: Oh yes it is.
  1776. * python/setup.py: redland-src-config is not in top_srcdir
  1777. * python/redlandtest.py, python/setup.py, python/example.py:
  1778. Set #! to /usr/bin/python
  1779. * python/RDF.py:
  1780. Update classes to always return copies of Nodes, Statements
  1781. from streams, iterators such as model.find_statements.
  1782. The user should now not need care about shared versus copying
  1783. of returned values but just use them.
  1784. * python/setup.py, python/Makefile.am:
  1785. Pass MEM, MEM_LIBS to python compiling C
  1786. * perl/lib/RDF/Redland/Statement.pm:
  1787. (subject,predicate,object) Copy redland node for librdf set methods.
  1788. * perl/lib/RDF/Redland/Node.pm: POD fixes
  1789. * perl/example.pl: Minor updates to use newer API calls.
  1790. * perl/lib/RDF/Redland/Statement.pm:
  1791. (subject,predicate,object) Docs - note no copying neeeded.
  1792. (predicate): Minor typo
  1793. * perl/lib/RDF/Redland/RSS.pm (Model.DESTROY): Call super to tidy up
  1794. (Node.new): Debugging
  1795. (Node.DESTROY): Call super to tidy up
  1796. (properties): Do less work, no need to copy.
  1797. * perl/lib/RDF/Redland/Node.pm (new): Invoke clone properly.
  1798. * perl/lib/RDF/Redland/URI.pm (new):
  1799. Constructor now copies as well as building URIs. Takes
  1800. string literals or URIs by sniffing for classes.
  1801. (new_from_uri): Replaced by new
  1802. (clone): Another way to copy a URI.
  1803. Document these changes
  1804. * perl/lib/RDF/Redland/Iterator.pm:
  1805. Update for Node API change and no need to copy here
  1806. (current, context): Do not copy returned node.
  1807. * perl/lib/RDF/Redland/Stream.pm:
  1808. Update for Statement API change and no need to copy here
  1809. (current, context): Do not copy returned statement.
  1810. * perl/lib/RDF/Redland/Model.pm:
  1811. Update for Node, Statement API changes and no need to copy here
  1812. (sources,targets,arcs): Don't copy statements to new lists.
  1813. * perl/lib/RDF/Redland/Statement.pm (new):
  1814. Constructor now copies as well as building statements. Takes
  1815. string literals, URIs by sniffing for classes.
  1816. (new_from_statement,new_from_nodes): Replaced by new.
  1817. (clone): Another way to do new_from_statement
  1818. (subject,predicate,object): Do less work, always return a copy.
  1819. Document these changes
  1820. * perl/lib/RDF/Redland/Node.pm (new):
  1821. Constructor now builds resources, literals, URIs by sniffing
  1822. for classes.
  1823. (new_from_literal,new_from_typed_literal): Replaced with new_literal
  1824. (new_xml_litearl): Added
  1825. (new_from_node): Replaced with clone
  1826. Document these changes
  1827. * perl/rss-dump.pl:
  1828. Comment out (working) code that lets perl do the URI retrieval,
  1829. assume raptor has that.
  1830. Slight updates for changed perl API.
  1831. * librdf/rdf_node.c (main):
  1832. Test: Revert accidently removed librdf_free_uri
  1833. * perl/Makefile.am, perl/Makefile.PL:
  1834. Pass on MEM to CFLAGS when building perl.
  1835. * librdf/rdf_parser_raptor.c:
  1836. Use LIBRDF_FREE for data returned from raptor. This is OK
  1837. as long as raptor is in the redland sources. Otherwise it'll
  1838. need to be SYSTEM_FREE.
  1839. * librdf/rdf_hash_bdb.c:
  1840. Use SYSTEM_FREE for data allocated by BDB via malloc()
  1841. * librdf/rdf_init.c: Use SYSTEM_MALLOC/FREE for mutexes.
  1842. (librdf_system_malloc, librdf_system_free): Added for dmalloc
  1843. debugging.
  1844. * librdf/librdf.h:
  1845. Added SYSTEM_MALLOC and SYSTEM_FREE for routines that return
  1846. genuine malloc() and free()ed memory - outside Redland typically.
  1847. * raptor/raptor_general.c (raptor_check_ordinal):
  1848. parentheses just for gcc
  1849. 2003-08-19 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1850. * python/setup.py: license now license apparently
  1851. * utils/redland-db-upgrade.1: fix db names
  1852. * utils/Makefile.am: Added redland-db-upgrade.1
  1853. * utils/redland-db-upgrade.1: Manpage for redland-db-upgrade
  1854. * librdf/rdf_node.c:
  1855. Make nodes immutable - remove all node class set methods.
  1856. (librdf_new_node_from_literal): Now just calls
  1857. librdf_new_node_from_typed_literal.
  1858. (librdf_new_node_from_typed_literal):
  1859. librdf_new_node_set_typed_literal_value inlined here.
  1860. (librdf_new_node_from_blank_identifier):
  1861. librdf_set_blank_identifier inlined here.
  1862. (librdf_new_node_from_node): Call the appropriate node constructors
  1863. rather than malloc a new node and use the set methods.
  1864. (librdf_node_set_uri, librdf_node_set_type,
  1865. librdf_node_set_typed_literal_value,
  1866. librdf_node_set_blank_identifier): Deleted and inlined where used.
  1867. (librdf_node_set_li_ordinal,librdf_node_set_literal_value): Deleted,
  1868. never used in this module.
  1869. (librdf_node_decode): Call the appropriate node constructors
  1870. rather than malloc a new node and use the set methods.
  1871. (main): Remove node set methods from test code.
  1872. * librdf/rdf_node.h:
  1873. Make nodes immutable - removed all public set methods into rdf_node.c
  1874. * java/org/librdf/redland/Node.java:
  1875. Make nodes immutable - remove set methods setURI, setType,
  1876. setLiteralValue.
  1877. * perl/lib/RDF/Redland/Node.pm:
  1878. Make nodes immutable. Remove set parts of methods uri,
  1879. blank_identifier and type. Remove method set_literal_value.
  1880. * python/RDF.py (Class Node):
  1881. Make nodes immutable - remove set methods.
  1882. * Redland.i: Make nodes immutable - remove node class set methods.
  1883. * Redland.i: comment out calling python exceptions for now
  1884. 2003-08-17 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1885. * configure.ac: Remove MEM=-DLIBRDF_MEMORY_DEBUG if no dmalloc present.
  1886. * librdf/rdf_uri.c, librdf/rdf_stream.c, librdf/rdf_storage.c,
  1887. librdf/rdf_statement.c, librdf/rdf_serializer.c,
  1888. librdf/rdf_query.c, librdf/rdf_parser.c, librdf/rdf_node.c,
  1889. librdf/rdf_model.c, librdf/rdf_iterator.c,
  1890. librdf/rdf_heuristics.c, librdf/rdf_hash.c, librdf/rdf_files.c,
  1891. librdf/rdf_digest.c, librdf/rdf_concepts.c (main): In test code,
  1892. remove calls to librdf_memory_report for old internal memory
  1893. debugging code.
  1894. * librdf/librdf.h:
  1895. Remove LIBRDF_MEMORY_DEBUG and internal memory loss debugging code.
  1896. External tools such as dmalloc work a lot better.
  1897. * librdf/Makefile.am: Removed rdf_memory.c
  1898. * librdf/rdf_memory.c: Memory debugging code superceeded by better
  1899. external tools such as dmalloc
  1900. * librdf/rdf_hash_bdb.c, configure.ac:
  1901. Added BDB 4.0 and 4.1 open interface support - 6 or 7 arguments.
  1902. * raptor/raptor_xml_writer.c:
  1903. (raptor_xml_writer_end_element) Reset the current_element pointer
  1904. on finishing. Makes any succeeding cdata do the right thing.
  1905. * librdf/redland.spec.in: Updates for new perl module names
  1906. * raptor/rdfdump.c: Inside redland, don't call raptor_init/finish,
  1907. it's done by redland's world.
  1908. 2003-08-13 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1909. * raptor/raptor_rss.c (raptor_rss_parse_chunk):
  1910. Stop working aftera a user abort of the parser.
  1911. * raptor/raptor_general.c (raptor_check_ordinal): c is not const
  1912. * raptor/rdfdump.c, raptor/raptor_xml_writer.c,
  1913. raptor/raptor_xml.c, raptor/raptor_www_libwww.c,
  1914. raptor/raptor_utf8.c, raptor/raptor_uri.c, raptor/raptor_set.c,
  1915. raptor/raptor_sax2.c, raptor/raptor_qname.c,
  1916. raptor/raptor_parse.c, raptor/raptor_namespace.c,
  1917. raptor/raptor_locator.c, raptor/raptor_libxml.c,
  1918. raptor/raptor_identifier.c, raptor/raptor_general.c,
  1919. raptor/ntriples_parse.c: Move dmalloc includes into
  1920. raptor_internal.h and use everywhere.
  1921. * raptor/raptor_internal.h:
  1922. Add raptor dmalloc includes here to ensure all raptor code uses it
  1923. or not consistently.
  1924. * librdf/rdf_parser_raptor.c: (librdf_parser_raptor_error_handler,
  1925. librdf_parser_raptor_warning_handler):
  1926. Remove inadvisable use of raptor_parser as a variable name.
  1927. (librdf_parser_raptor_parse_uri_into_model): Zap unused world.
  1928. * librdf/rdf_hash.c (librdf_hash_from_array_of_strings):
  1929. Fix return value.
  1930. * examples/Makefile.am: Added redland_dbus
  1931. * examples/redland_dbus.c: Initial import
  1932. 2003-08-12 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1933. * librdf/rdf_uri.c, librdf/rdf_stream.c,
  1934. librdf/rdf_storage_list.c, librdf/rdf_storage_hashes.c,
  1935. librdf/rdf_storage.c, librdf/rdf_statement.c,
  1936. librdf/rdf_serializer_rdfxml.c, librdf/rdf_serializer.c,
  1937. librdf/rdf_query.c, librdf/rdf_parser_raptor.c,
  1938. librdf/rdf_parser.c, librdf/rdf_node.c, librdf/rdf_model.c,
  1939. librdf/rdf_init.c, librdf/rdf_hash_memory.c,
  1940. librdf/rdf_hash_bdb.c, librdf/rdf_hash.c, librdf/rdf_digest.c,
  1941. librdf/rdf_concepts.c:
  1942. Replaced most LIBRDF_FATAL1/2 calls with LIBRDF_ERROR1/2; both now
  1943. take world arguments. The remaining fatal errors are either in
  1944. redland startup when there is no sensible way to recover or in out of
  1945. memory situations. The LIBRDF_ERROR1/2 calls now give the error and
  1946. recover/fail the method if appropriate. The documentation on several
  1947. methods were updated to note this. The error notification isn't
  1948. always possible since some methods have way to return errors.
  1949. A new method on the world class is needed to test for this state.
  1950. * librdf/librdf.h:
  1951. Added LIBRDF_ERROR1 and LIBRDF_ERROR2 that take world argument and call
  1952. either librdf_error(world, ...) or #ifdef LIBRDF_DEBUG, abort()
  1953. * librdf/rdf_parser_repat.c: Out of date, gone
  1954. * librdf/rdf_stream.c, librdf/rdf_storage_list.c,
  1955. librdf/rdf_storage.c, librdf/rdf_serializer_rdfxml.c,
  1956. librdf/rdf_parser_repat.c, librdf/rdf_parser_raptor.c,
  1957. librdf/rdf_node.c, librdf/rdf_hash_memory.c,
  1958. librdf/rdf_hash_bdb.c, librdf/rdf_digest.c: Replace most abort()
  1959. with calls to LIBRDF_FATAL2 which aborts but gives a message too.
  1960. * librdf/rdf_init.c (librdf_world_get_feature,
  1961. librdf_world_set_feature): Return failure
  1962. rather than crash - not implemented or exposed in APIs yet.
  1963. 2003-08-11 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1964. * librdf/rdf_model.c (main):
  1965. Add test that librdf_model_add_statement fails on a partial statement.
  1966. * librdf/rdf_model.c (librdf_model_size):
  1967. Added warning that it might not return an answer.
  1968. (librdf_model_add_statement, librdf_model_add,
  1969. librdf_model_remove_statement, librdf_model_contains_statement,
  1970. librdf_model_context_add_statement,
  1971. librdf_model_context_remove_statement): Added check that the
  1972. statement used is complete, using new librdf_statement_is_complete
  1973. * librdf/rdf_statement.h: Added librdf_statement_is_complete
  1974. * librdf/rdf_statement.c (librdf_statement_is_complete):
  1975. Added to check that a statement has
  1976. all the subject, predicate, object fields.
  1977. 2003-08-08 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  1978. * raptor/tests/Makefile.am: Added warn-03
  1979. * raptor/tests/warn-03.rdf: Handle deleting of default namespaces
  1980. * raptor/raptor_parse.c (raptor_xml_start_element_handler):
  1981. Handle when a name has a
  1982. namespace but that namespace has no URI such as xmlns="". In
  1983. that case, the element has non-namespaced parts too, so skip.
  1984. * raptor/ntriples_parse.c (raptor_ntriples_parse_line):
  1985. Casts so isspace calls get int args.
  1986. * raptor/raptor_uri.c (raptor_uri_is_absolute):
  1987. Cast so isalpha and isalnum get int args.
  1988. * raptor/tests/Makefile.am: Addex ex-50
  1989. * raptor/tests/ex-50.out, raptor/tests/ex-50.rdf:
  1990. Check parseType with unknown value
  1991. * raptor/raptor_parse.c (raptor_start_element_grammar):
  1992. Handle parseType="Literal"
  1993. without duplicating code.
  1994. * raptor/raptor_parse.c (raptor_start_element_grammar):
  1995. Handle parseType="...." which
  1996. isn't any of the other known types identically to
  1997. parseType="Literal".
  1998. * raptor/raptor_general.c (raptor_check_ordinal):
  1999. Return <0 on failure such as no legal
  2000. characters at all.
  2001. * raptor/raptor_internal.h: Added raptor_check_ordinal.
  2002. * raptor/ntriples_parse.c (raptor_ntriples_generate_statement): Make
  2003. RAPTOR_IDENTIFIER_TYPE_ORDINAL predicates for property URI strings
  2004. that match the rdf:_<n> pattern with n a decimal integer>0.
  2005. * raptor/raptor_parse.c:
  2006. Use raptor_check_ordinal for checking <n> in rdf:_<n>
  2007. * raptor/raptor_general.c (raptor_check_ordinal):
  2008. Check the <n> in rdf:_<n>
  2009. * raptor/raptor_general.c (raptor_vsnprintf):
  2010. Non-portable use of va_list fixed by copying the
  2011. arguments with va_copy before passing to vsnprintf calls. The
  2012. symptom was crashes on some architectures where this mattered, such
  2013. as powerpc.
  2014. 2003-08-07 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2015. * librdf/rdf_parser_raptor.c: Track errors and warnings in parsing.
  2016. (librdf_parser_raptor_error_handler(): Call raptor_parse_abort
  2017. * librdf/rdf_statement.c (librdf_statement_decode_parts):
  2018. Updated for new librdf_node_decode API
  2019. * librdf/rdf_node.c (librdf_node_decode):
  2020. Updated for new API - returns a new allocated node
  2021. and sets the size pointer as a side effect. This removes the only
  2022. use of librdf_new_node outside the node class.
  2023. (main): Updated the test code to match.
  2024. * librdf/rdf_node.h (librdf_node_decode): Updated for new API
  2025. * raptor/raptor_general.c (raptor_parse_uri_with_connection):
  2026. Return failure status.
  2027. * librdf/rdf_node.c (librdf_new_node): No args means make a blank node.
  2028. (librdf_new_node_from_blank_identifier): Docs
  2029. * python/RDF.py (Model.serialise):
  2030. Add optional contexts arg, to serialise contexts
  2031. as stream of statements.
  2032. (NS): New class to cache handy nodes from a namespace URI
  2033. 2003-08-03 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2034. * raptor/tests/Makefile.am:
  2035. Added bad N-Triples tests bad-0[0-3].nt and checks
  2036. * raptor/tests/bad-00.nt, raptor/tests/bad-01.nt,
  2037. raptor/tests/bad-02.nt, raptor/tests/bad-03.nt: Bad N-Triples
  2038. * raptor/ntriples_parse.c: raptor_ntriples_term_class Added for:
  2039. (raptor_ntriples_term_valid): Checking validity of a ntriples term -
  2040. this could be inlined.
  2041. (raptor_ntriples_string) Renamed to:
  2042. (raptor_ntriples_term) Use raptor_ntriples_term_valid.
  2043. (raptor_ntriples_parse_line): Add more checks that whitespec exists
  2044. between ntriples terms.
  2045. Error to have typed literals with languages.
  2046. * perl/Makefile.PL: Remove -Dbool=int - this can only cause trouble
  2047. * perl/lib/RDF/Redland/Node.pm:
  2048. Added methods is_resource, is_literal, is_blank using
  2049. librdf_node_is_resource, librdf_node_is_literal, librdf_node_is_blank
  2050. * python/RDF.py: Removed NODE_TYPE_LI
  2051. (Node) is_resource, is_literal, is_blank now use
  2052. librdf_node_is_resource, librdf_node_is_literal, librdf_node_is_blank
  2053. * Redland.i, librdf/rdf_node.h, librdf/rdf_node.c:
  2054. Added librdf_node_is_resource, librdf_node_is_literal,
  2055. librdf_node_is_blank
  2056. * librdf/rdf_node.h, librdf/rdf_node.c:
  2057. Delete LIBRDF_NODE_TYPE_LI - never used. Reserve the allocated type 3.
  2058. * raptor/tests/test.out, raptor/tests/test.nt:
  2059. Updated to remove language from typed literals
  2060. * raptor/raptor_general.c (raptor_print_statement_detailed):
  2061. Fix datatype uri output <uri> not <uri<
  2062. 2003-07-31 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2063. * raptor/raptor_general.c (raptor_parser_simple_error):
  2064. Call raptor_parser_error_varargs, don't
  2065. lose the arguments.
  2066. 2003-07-30 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2067. * configure.ac: ECMA CLR=>ECMI CLI since it's not just the runtime.
  2068. ECMA CLI= ECMA Common Language Infrastructure.
  2069. * configure.ac:
  2070. No need for CSHARP_COMPILE, dotGNU compiler accepts same args as mcs.
  2071. 2003-07-29 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2072. * configure.ac: Also substitute CSHARP_COMPILE for csharp
  2073. * configure.ac:
  2074. Added --with-ecma-clr for mono or dotgnu versions of toolchain.
  2075. Sets CLRRUN and CSHARPCC for use in csharp dir
  2076. * Makefile.am: Added csharp dir
  2077. * raptor/configure.ac: Bumped version to 0.9.12
  2078. * raptor/raptor_sax2.c: struct nsd: use size_t for length.
  2079. * raptor/configure.ac:
  2080. Ensure the libxml2 xmlReader API is new enough (2.5.0+) such as
  2081. having xmlParserSeverities.
  2082. 2003-07-28 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2083. * raptor/raptor.h:
  2084. Update raptor_generate_id_handler to take user_bnodeid arg.
  2085. * raptor/raptor_rss.c: Update calls of raptor_generate_id with
  2086. user_bnodeid (NULL for existing calls)
  2087. * raptor/raptor_parse.c:
  2088. Update calls of raptor_generate_id with user_bnodeid (NULL for
  2089. existing calls)
  2090. Use it to wrap the rdf:nodeID values for subject and object cases.
  2091. * raptor/raptor_internal.h:
  2092. raptor_generate_id updated to add user_bnodeid
  2093. * raptor/raptor_general.c (raptor_set_generate_id_handler):
  2094. Document final argument
  2095. user_bnodeid from the rdf:nodeID attribute value.
  2096. (raptor_default_generate_id_handler): Add user_bnodeid, return it if
  2097. present.
  2098. (raptor_generate_id): Add user_bnodeid and pass on.
  2099. * raptor/raptor_internal.h: Added raptor_xml_writer_comment
  2100. * raptor/raptor_namespace.c (raptor_namespace_copy):
  2101. Don't copy uri and then lose it.
  2102. * raptor/raptor_xml_writer.c:
  2103. Added current_element for tracking empty/not empty elements.
  2104. (raptor_xml_writer_comment): Added, just concatenating the content
  2105. via raptor_xml_writer_cdata.
  2106. * raptor/raptor_parse.c (raptor_xml_comment_handler):
  2107. Call raptor_xml_writer_comment inside
  2108. parseType="Literal"
  2109. * raptor/raptor_xml_writer.c: raptor_xml_writer gains stack depth.
  2110. (raptor_free_xml_writer): Clear any content_cdata before finishing.
  2111. (raptor_xml_writer_start_element)
  2112. Add depth to raptor_format_sax2_element calls. Increase it
  2113. (raptor_xml_writer_start_element,raptor_xml_writer_end_element):
  2114. Add depth to raptor_format_sax2_element calls. Decrease it
  2115. and raptor_namespaces_end_for_depth each time.
  2116. * raptor/raptor_namespace.c:
  2117. Moved error_handler and error_data arguments around.
  2118. (raptor_namespaces_start_namespace) Gets those as arguments
  2119. (raptor_namespaces_start_namespace) Added, simpler version of _full
  2120. (raptor_namespaces_start_namespace_full) Added, was the old interface
  2121. but less error arguments.
  2122. (raptor_namespaces_namespace_in_scope): Fix namespace URI comparison.
  2123. (raptor_namespace_new) Looses error arguments.
  2124. (raptor_namespace_copy) Added, copy to a new stack with a new depth.
  2125. * raptor/raptor_sax2.c (raptor_format_sax2_element):
  2126. Gain stack depth argument.
  2127. Only use namespace declarations when there is a namespace stack
  2128. present.
  2129. copy namespaces to new stack when new ones are needed.
  2130. * raptor/raptor_internal.h:
  2131. Add error_handler and error_data to namespace_stack.
  2132. raptor_namespaces_start_namespace gets those as arguments
  2133. raptor_namespace_new looses them
  2134. raptor_namespaces_start_namespace takes less args
  2135. raptor_namespaces_start_namespace_full added
  2136. raptor_namespace_copy added
  2137. content_cdata_seen and content_element_seen back into sax2_element
  2138. * raptor/raptor_parse.c:
  2139. Moved content_cdata_seen and content_element_seen back into
  2140. sax2_element.
  2141. Update for new raptor_namespaces_start_namespace calling convention.
  2142. * raptor/raptor_xml_writer.c: Debug
  2143. * raptor/raptor_namespace.c (raptor_namespaces_format):
  2144. Fix missing counting : when present
  2145. * raptor/tests/ex-11.rdf, raptor/tests/ex-11.out:
  2146. Updated to declare the html namespace as default, expect it in the
  2147. N-Triples output.
  2148. * raptor/raptor_namespace.c (raptor_namespaces_namespace_in_scope):
  2149. Added, checking if a given
  2150. namespace is declared in scope.
  2151. (raptor_namespaces_format): Added, returning a string to declare
  2152. the given namespace.
  2153. * raptor/raptor_xml_writer.c:
  2154. (raptor_xml_writer_start_element,raptor_xml_writer_end_element):
  2155. Updated for raptor_format_sax2_element new arguments
  2156. * raptor/raptor_sax2.c (raptor_format_sax2_element):
  2157. Add raptor_namespace_stack argument.
  2158. Create xmlns declarations for elements not declared in the current
  2159. stack state, using raptor_namespaces_format to create the string.
  2160. * raptor/raptor_internal.h:
  2161. Added prototypes for raptor_namespaces_namespace_in_scope,
  2162. raptor_namespaces_format
  2163. raptor_format_sax2_element now takes a raptor_namespace_stack
  2164. 2003-07-27 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2165. * raptor/raptor_internal.h:
  2166. raptor_xml_writer prototypes take unsigned char*
  2167. * raptor/raptor_parse.c:
  2168. Move the code building parseType="Literal" strings to
  2169. raptor_xml_writer class.
  2170. (raptor_cdata_grammar): Added, just for symmetry mostly, with most
  2171. code taken from raptor_xml_cdata_handler.
  2172. * raptor/raptor_xml_writer.c:
  2173. Move the code building parseType="Literal" strings to
  2174. raptor_xml_writer class.
  2175. * raptor/Makefile.am: Added raptor_xml_writer.c
  2176. * raptor/raptor_xml_writer.c: Initial version
  2177. * raptor/raptor_parse.c:
  2178. Split content_cdata fields between sax2_element & (RDF/XML
  2179. specific) element.
  2180. raptor_element: Add xml_writer field.
  2181. Various calls changed to use the new raptor_simple_message_handler
  2182. for error handling implemented as raptor_parser_simple_error here.
  2183. (raptor_xml_parser_simple_error_handler): Added, matching the
  2184. raptor_simple_message_handler API and calling raptor_parser_error.
  2185. (raptor_start_element_grammar): When parseType="Literal" appears,
  2186. create a new raptor_xml_writer.
  2187. (raptor_end_element_grammar): When parseType="Literal" ends, delete
  2188. the raptor_xml_writer.
  2189. * raptor/raptor_sax2.c (raptor_format_sax2_element):
  2190. Use raptor_simple_message_handler.
  2191. * raptor/raptor_general.c (raptor_start_parse):
  2192. Use raptor_parser_simple_error with raptor_namespaces_init.
  2193. (raptor_parser_simple_error): Added, matching the
  2194. raptor_simple_message_handler API but same as raptor_parser_error.
  2195. * raptor/raptor_xml.c (raptor_xml_escape_string):
  2196. Use raptor_simple_message_handler.
  2197. * raptor/raptor_qname.c (raptor_new_qname):
  2198. Use raptor_simple_message_handler.
  2199. * raptor/raptor.h: raptor_sax2_element moved here, semi-public.
  2200. Re-ordered URI functions earlier.
  2201. Various methods changed to use (public) raptor_simple_message_handler
  2202. for error handling.
  2203. * raptor/raptor_internal.h: Delete raptor_internal_message_handler.
  2204. Added prototype raptor_parser_simple_error, implementing
  2205. raptor_simple_error_handler API.
  2206. Various methods changed to use (public) raptor_simple_message_handler
  2207. for error handling.
  2208. raptor_sax2_element moved to semi-public raptor.h
  2209. rdf/xml-specific cdata parts moved from raptor_sax2_element to
  2210. raptor_element.
  2211. Added raptor_xml_writer functions.
  2212. * raptor/raptor_namespace.c:
  2213. Use (public) raptor_simple_message_handler for error handling.
  2214. 2003-07-24 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2215. * raptor/raptor_parse.c (raptor_process_property_attributes):
  2216. NFC error message tidy.
  2217. (raptor_end_element_grammar): Fix NFC error reporting and recovery.
  2218. Report NFC validation failures for XML Literals
  2219. * raptor/tests/Makefile.am: Added bad-15 bad-17 for bad NFC checking
  2220. * raptor/tests/bad-16.rdf, raptor/tests/bad-17.rdf,
  2221. raptor/tests/bad-15.rdf: Bad NFC tests for property attribute,
  2222. element, element ptl
  2223. * raptor/configure.ac:
  2224. Added check for g_utf8_normalize in glib 2.0 using pkgconfig.
  2225. Defines HAVE_G_UTF8_NORMALIZE if present.
  2226. * raptor/raptor_internal.h: Added raptor_utf8_is_nfc
  2227. * raptor/raptor_parse.c (raptor_process_property_attributes):
  2228. Check for valid NFC on property
  2229. attribute values.
  2230. (raptor_end_element_grammar): Check for valid NFC on plain literal
  2231. property element values.
  2232. * raptor/raptor_utf8.c (raptor_utf8_is_nfc):
  2233. Added Normal Form C checking, using GNOME glib
  2234. 2.0 g_utf8_normalize initially.
  2235. * raptor/raptor_parse.c (raptor_start_element_grammar):
  2236. Forbid property attributes and all
  2237. rdf:* attributes (except rdf:ID) with rdf:parseType
  2238. * raptor/raptor_general.c:
  2239. (raptor_statement_part_as_counted_string,
  2240. raptor_print_statement_part_as_ntriples): Do not emit language for
  2241. datatyped literals.
  2242. * raptor/raptor_parse.c (raptor_process_property_attributes):
  2243. rdf:li is forbidden as a property attribute
  2244. * raptor/raptor_parse.c: rdf_syntax_terms_info table: rdf:li is
  2245. forbidden as a property attribute
  2246. * raptor/libraptor.3: Updated raptor_set_feature for
  2247. RAPTOR_FEATURE_ALLOW_BAGID and
  2248. RAPTOR_FEATURE_ALLOW_RDF_TYPE_RDF_LIST
  2249. * raptor/tests/owl-schema.out, raptor/tests/ex-39.out:
  2250. Updated to remove the <idList> rdf:type rdf:List triples
  2251. * raptor/raptor_general.c (raptor_set_feature,
  2252. raptor_set_parser_strict): Added a new feature
  2253. RAPTOR_FEATURE_ALLOW_RDF_TYPE_RDF_LIST (user argument) and
  2254. feature_allow_rdf_type_rdf_List (internal) to generate the rdf:type
  2255. rdf:List triple from rdf:parseType="Collection". The default is no
  2256. after latest RDF/XML revisions. Not relevant for daml:Collection
  2257. which get the daml:List always.
  2258. * raptor/raptor.h:
  2259. Added a new feature feature RAPTOR_FEATURE_ALLOW_RDF_TYPE_RDF_LIST
  2260. to control rdf:type rdf:List triple generation from
  2261. rdf:parseType="Collection" (default no)
  2262. * raptor/raptor_internal.h:
  2263. Added a new feature feature_allow_rdf_type_rdf_List
  2264. to control rdf:type rdf:List triple generation from
  2265. rdf:parseType="Collection" (default no)
  2266. * raptor/raptor_parse.c (raptor_start_element_grammar):
  2267. Remove rdf:type rdf:List triple
  2268. generation from rdf:parseType="Collection" by default. Not
  2269. for daml:Collection. Add a new feature
  2270. feature_allow_rdf_type_rdf_List to control this.
  2271. 2003-07-22 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2272. * raptor/raptor_xml.c (raptor_valid_xml_ID, raptor_xml_escape_string):
  2273. unsigned long for
  2274. all unichars.
  2275. * raptor/raptor_internal.h:
  2276. Update raptor_utf8_to_unicode_char to use unsigned long output.
  2277. * raptor/raptor_utf8.c (raptor_utf8_to_unicode_char):
  2278. Take and use unsigned long for unichars.
  2279. * raptor/raptor_rss.c:
  2280. namespace->nspace since might be a C/C++ keyword sometime
  2281. * raptor/raptor_www_curl.c (raptor_www_curl_header_callback):
  2282. Turn void* into char*
  2283. * raptor/raptor_set.c: Casts
  2284. * raptor/rdfdump.c (rdfdump_error_handler):
  2285. Cast data into raptor_parser*
  2286. * raptor/raptor_www_curl.c:
  2287. (raptor_www_curl_write_callback,raptor_www_curl_header_callback):
  2288. Return unsigned int 0 on failure, cannot return -1 :)
  2289. * raptor/raptor_www.c: Some casts near mallocs
  2290. * raptor/tests/owl-schema.out: Updated to match 2003-03-18 version.
  2291. * raptor/tests/owl-schema.rdf:
  2292. Updated to 2003-03-18 version (just changed DOS line endings)
  2293. * raptor/ntriples_parse.c (raptor_ntriples_parse_chunk):
  2294. Handle just the end marker being given
  2295. i.e. len=0 (and possibly s=NULL)
  2296. * raptor/raptor_parse.c (raptor_xml_end_element_handler):
  2297. When parsing has been aborted
  2298. (rdf_parser->failed), clean up used memory rather than just return.
  2299. element_name is not used except when debugging, so #ifdef it.
  2300. 2003-07-21 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2301. * raptor/raptor.h:
  2302. Export global statics raptor_copyright_string, raptor_version_string,
  2303. raptor_version_major, raptor_version_minor, raptor_version_release
  2304. and raptor_version_decimal
  2305. * raptor/raptor_general.c:
  2306. Added statics raptor_copyright_string, raptor_version_string,
  2307. raptor_version_major, raptor_version_minor, raptor_version_release
  2308. and raptor_version_decimal
  2309. * raptor/Makefile.am:
  2310. Removed raptor_cc code since ISO may charge a commercial use fee for
  2311. this list.
  2312. * raptor/raptor_cc.gperf: ISO 3166-1 'The use of ISO 3166-1 in
  2313. commercial products may be subject to a licence fee.' says the
  2314. maintenance agency. Goodbye code.
  2315. * raptor/raptor_parse.c:
  2316. Free former rdf:about, rdf:resource attribute string values before
  2317. they are zapped.
  2318. * raptor/raptor_parse.c (raptor_xml_parse_terminate):
  2319. Delete the sax2 object when cleaning
  2320. up.
  2321. * raptor/rdfdump.c:
  2322. Free new uri_string when it's allocated for a filename
  2323. * raptor/rdfdump.c: Tidied usage and help information.
  2324. * raptor/rapper.1: Updated to match current rapper arguments.
  2325. * raptor/Makefile.am: Added raptor_identifier.c
  2326. * raptor/raptor_general.c, raptor/raptor_identifier.c:
  2327. Moved raptor_identifer classes to raptor_identifier.c
  2328. 2003-07-20 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2329. * raptor/rdfdump.c:
  2330. If first argument is a filename, make it into a file:/// uri.
  2331. * raptor/raptor_uri.c (raptor_default_new_uri):
  2332. Turn probably-bad file:filename 'URIs' into
  2333. proper file:///... etc. ones.
  2334. * raptor/raptor_parse.c:
  2335. Make use of forbidden rdf-namespaced property attributes into errors,
  2336. as they should be.
  2337. (raptor_forbidden_propertyAttribute_name): Now used.
  2338. Reword some error messages.
  2339. * raptor/tests/Makefile.am (check-bad-rdf):
  2340. Note when bad test succeeds instead of failing
  2341. * raptor/tests/Makefile.am: Added bad-13, bad-14
  2342. * raptor/tests/bad-14.rdf:
  2343. rdf:Description is not a legal property attribute
  2344. * raptor/tests/bad-13.rdf: A property element cannot take rdf:about
  2345. * raptor/raptor_uri.c (raptor_new_uri_for_xmlbase): Docs
  2346. 2003-07-15 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2347. * raptor/libraptor.3: formatting
  2348. * raptor/libraptor.3: Added
  2349. raptor_set_default_generate_id_parameters,
  2350. raptor_set_generate_id_handler
  2351. * raptor/raptor_general.c (raptor_set_default_generate_id_parameters):
  2352. Fix it right this time.
  2353. * raptor/raptor_general.c (raptor_set_default_generate_id_parameters):
  2354. Fix base so the next
  2355. generated ID uses the integer given, not integer+1
  2356. * raptor/raptor_general.c (raptor_free_parser):
  2357. Free any user-set genid prefix.
  2358. 2003-07-13 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2359. * raptor/raptor.h:
  2360. raptor_genid_type enum added - for RAPTOR_GENID_TYPE_BNODEID, BAGID
  2361. Added prototypes for raptor_set_generate_id_handler,
  2362. raptor_set_default_generate_id_parameters.
  2363. * raptor/raptor_general.c (raptor_set_generate_id_handler):
  2364. Added, to sent the generate ID
  2365. handler implementation.
  2366. (raptor_set_default_generate_id_parameters): Added, to sent the
  2367. generate ID handler parameters for the default implementation
  2368. ("gen"+integer).
  2369. (raptor_default_generate_id_handler): Added, moved default code from
  2370. raptor_generate_id
  2371. (raptor_generate_id): Use handler if it exists, otherwise the default
  2372. implementation.
  2373. * raptor/raptor_internal.h:
  2374. Added generate_id_handler data parts to raptor_parser internals.
  2375. 2003-06-24 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2376. * redland-config.in: Make --libs pick the right libdir - add
  2377. exec_prefix variable declaration.
  2378. * utils/Makefile.am, librdf/Makefile.am, examples/Makefile.am:
  2379. Use @LIBS@ in LIBS to pick up any system-wide use.
  2380. * configure.ac:
  2381. Pick up any external CPPFLAGS, LDFLAGS, LIBS to start with.
  2382. * raptor/tests/Makefile.am: use top_builddir not ..
  2383. * raptor/Makefile.am: add libraptor.la to rapper dependencies
  2384. 2003-06-23 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2385. * python/RDF.py: Statements, Model: more docs, usage.
  2386. * python/Makefile.am: Added redlandtest.py
  2387. * python/redlandtest.py: Redland Python unit tests
  2388. * python/RDF.py: v0.8
  2389. Updates from Matt Biddulph.
  2390. (class Model) Now takes optional storage, if omitted, a memory
  2391. storage model is created
  2392. (class StreamWithContextIter, class IteratorWithContextIter,
  2393. class IteratorIter, class StreamIter): Internal classes to create
  2394. python iterators out of redland stream/iterators.
  2395. (class Stream): New method context_iter that returns a python iterator
  2396. returning (stream, context node) tuple on each iteration.
  2397. (class HashStorage): Simple class to simplify creating hashed storage.
  2398. (class MemoryStorage): Simple class to simplify creating in-memory
  2399. storage.
  2400. (class Parser): Name is now optional, defaults to raptor and RDF/XML.
  2401. (class Parser): Methods parse_as_stream, parse_into_model will
  2402. autoconvert uri arguments that are strings into redland URIs.
  2403. * python/test/test.py: s/if not thing/if thing is None/
  2404. * raptor/rdfdump.c:
  2405. Added -e/--ignore-errors otherwise rapper stops parsing after 1st
  2406. error using raptor_parse_abort.
  2407. 2003-06-14 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2408. * raptor/raptor_rss.c (raptor_rss_insert_identifiers):
  2409. Back to being legal C99.
  2410. * raptor/libraptor.3: Fix changes for 0.9.11
  2411. * raptor/libraptor.3: Updated for stuff since 0.9.10
  2412. * raptor/raptor_rss.c (raptor_rss_insert_identifiers):
  2413. Init identifier after item
  2414. * raptor/rdfdump.c, raptor/configure.ac:
  2415. Tweak RSS Tag Soup parser words
  2416. 2003-06-10 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2417. * raptor/raptor_parse.c (raptor_xml_start_element_handler):
  2418. Emit an error for namespace
  2419. declarations that are RDF namespace URI plus some chars. Emit
  2420. a warning if a namespace is declared same as RDF one but 1 char
  2421. short.
  2422. * raptor/tests/Makefile.am: Added bad-12, warn-02
  2423. * raptor/tests/bad-12.rdf, raptor/tests/warn-02.out,
  2424. raptor/tests/warn-02.rdf: Check for bad rdf namespace URI
  2425. declarations and warn if last char of RDF namespace URI omitted
  2426. 2003-06-09 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2427. * librdf/rdf_uri.c (librdf_new_uri_from_filename): Removed unused vars.
  2428. 2003-06-08 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2429. * raptor/configure.ac:
  2430. Fix the check for RSS parser requirements and report it more
  2431. verbosely.
  2432. * raptor/configure.ac:
  2433. RSS parser only if libxml/reader.h present (for now).
  2434. * raptor/configure.ac: libcurl reporting
  2435. * raptor/raptor_parse.c (raptor_xml_parse_chunk_): Use sax2->first_read
  2436. * raptor/raptor_parse.c (raptor_xml_parse_start,raptor_xml_parse_chunk_):
  2437. Don't use first_read on newer libxml2.
  2438. 2003-06-06 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2439. * raptor/raptor_internal.h:
  2440. raptor_sax2_s: Add first_read #if LIBXML_VERSION < 20425
  2441. * raptor/raptor_rss.c (raptor_rss_insert_identifiers):
  2442. Fix GCC-ism, declare variable at
  2443. start of block.
  2444. * raptor/raptor_parse.c (raptor_xml_parse_init):
  2445. Move declaration of expat xp to start of
  2446. function.
  2447. * raptor/examples/raptor_abort.c, raptor/examples/grapper.c,
  2448. raptor/strcasecmp.c, raptor/rdfdump.c, raptor/raptor_xml.c,
  2449. raptor/raptor_www_test.c, raptor/raptor_www_libxml.c,
  2450. raptor/raptor_www_libwww.c, raptor/raptor_www_curl.c,
  2451. raptor/raptor_www.c, raptor/raptor_win32.c, raptor/raptor_utf8.c,
  2452. raptor/raptor_uri.c, raptor/raptor_set.c, raptor/raptor_sax2.c,
  2453. raptor/raptor_rss.c, raptor/raptor_qname.c, raptor/raptor_parse.c,
  2454. raptor/raptor_namespace.c, raptor/raptor_locator.c,
  2455. raptor/raptor_libxml.c, raptor/raptor_general.c,
  2456. raptor/ntriples_parse.c, raptor/configure.ac: Merged patch from
  2457. Jose Kahan to switch to use raptor_config.h (helps people
  2458. compiling from source with multiple config.h)
  2459. 2003-06-05 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2460. * raptor/examples/grapper.c (fs_ok_button_callback):
  2461. Use raptor_uri_filename_to_uri_string
  2462. to make the file URI.
  2463. (main): If the argument is a filename, make a URI string out of it
  2464. via raptor_uri_filename_to_uri_string and use it instead of
  2465. assuming it is a URI.
  2466. 2003-06-04 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2467. * Redland.i, librdf/rdf_uri.h: Added librdf_new_uri_from_filename
  2468. * librdf/rdf_uri.c (librdf_new_uri_from_filename):
  2469. Added using raptor_uri_filename_to_uri_string
  2470. * autogen.sh: Report min SWIG version
  2471. 2003-05-26 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2472. * demos/rss-show.pl: words
  2473. 2003-05-12 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2474. * raptor/raptor_xml.c (raptor_xml_escape_string):
  2475. Changed API - does not require a parser arg.
  2476. * raptor/raptor_internal.h: Moved SAX2 parts and prototypes here.
  2477. * raptor/raptor_general.c:
  2478. Use RAPTOR_PARSER_RSS to wrap init of RSS parser
  2479. * raptor/raptor.h:
  2480. Changed prototype of raptor_xml_escape_string - does not require a
  2481. parser arg.
  2482. * raptor/raptor_parse.c:
  2483. Split raptor_element/raptor_rdf_xml_parser into SAX2/RDF bits.
  2484. Lots of function and structure renaming.
  2485. * raptor/configure.ac:
  2486. Define RAPTOR_PARSER_RSS only when libxml is around
  2487. * raptor/raptor_sax2.c: SAX2 API
  2488. * raptor/Makefile.am: Added raptor_sax2.c
  2489. 2003-04-30 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2490. * perl/lib/RDF/Redland/Model.pm:
  2491. Same as before but with right package names
  2492. (find_statements): Return copies of shared statements
  2493. (sources,arcs,targets): Return copies of shared nodes
  2494. * perl/lib/RDF/Redland/Model.pm (find_statements):
  2495. Return copies of shared statemetns
  2496. (sources,arcs,targets): Return copies of shared nodes
  2497. 2003-04-29 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2498. * librdf/rdf_statement.c (librdf_statement_to_string):
  2499. Handle buffer size counting when parts are null
  2500. * librdf/rdf_heuristics.c (librdf_heuristic_gen_name):
  2501. Check loop doesn't go before start.
  2502. * librdf/rdf_utf8.c (librdf_utf8_print):
  2503. check length first before looking in what might
  2504. be a byte beyond the length
  2505. 2003-04-28 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2506. * raptor/raptor_rss.c (raptor_rss_emit): Use raptor_free_identifier
  2507. * raptor/raptor_rss.c (raptor_rss_emit):
  2508. Properly init the raptor_identifier items
  2509. 2003-04-27 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2510. * raptor/raptor_rss.c, raptor/raptor_parse.c, raptor/ntriples_parse.c:
  2511. Use raptor_parser_register_factory with label param.
  2512. * raptor/raptor.h: Added raptor_get_name, raptor_get_label
  2513. * raptor/raptor_general.c: Added parser label to factory
  2514. (raptor_parser_register_factory): Add label param, copy it.
  2515. (raptor_get_name): Added, return name of parser.
  2516. (raptor_get_label): Added, return label of parser.
  2517. * raptor/raptor_internal.h: Added parser label to factory
  2518. * raptor/examples/grapper.c: Remove some g_printfs
  2519. Remove use of display qnames - not impl.
  2520. * raptor/raptor_general.c (raptor_statement_part_as_counted_string):
  2521. Init len for literals with
  2522. the literal len included
  2523. * raptor/examples/grapper.c: Don't use triples_list for now.
  2524. (grapper_model_set_syntax): Fix output.
  2525. (grapper_model_statements_handler): Remove newlines from literals.
  2526. * raptor/raptor_general.c (raptor_statement_part_as_counted_string):
  2527. Init len for literals.
  2528. 2003-04-25 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2529. * raptor/raptor_set.c: fix doccumment
  2530. 2003-04-23 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2531. * raptor/examples/grapper.c:
  2532. Replace N-Triples / RDF/XML with dropdown menu and add RSS tag soup.
  2533. 2003-04-22 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2534. * librdf/redland.spec.in: Updated for Redhat 9 and RPM 4
  2535. * python/RDF.py: Added blank node is_blank() method example
  2536. (Node.__set_attr): Fix set_type
  2537. (Node.get_blank_identiifer, Node.set_blank_identiifer): Added
  2538. * python/RDF.py: some perlisms in the docs/comments
  2539. * python/RDF.py:
  2540. this one file is now also under BSD without advertising/MIT license
  2541. 2003-04-19 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2542. * raptor/rdfdump.c: Added -i/--input for rdfxml, ntriples, rss
  2543. * raptor/raptor_internal.h: More RAPTOR_DEBUG macros
  2544. * raptor/raptor_general.c:
  2545. (raptor_init) Added rss parser via raptor_init_parser_rss when
  2546. HAVE_LIBXML_XMLREADER_H
  2547. * raptor/Makefile.am: Added raptor_rss.c
  2548. * raptor/raptor_rss.c: Raptor RSS parser
  2549. 2003-04-17 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2550. * raptor/configure.ac: Bumped version to 0.9.11
  2551. * raptor/libraptor.3: Added raptor_set_parser_strict
  2552. Added raptor_www_no_www_library_init_finish
  2553. * raptor/raptor.spec.in: Require curl
  2554. Added raptor-config, raptor.pc
  2555. * raptor/tests/Makefile.am:
  2556. Move rdf:bagID tests to list of tests with warnings for now (while
  2557. testing in lax mode)
  2558. 2003-04-15 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2559. * docs/fix-pod-xhtml: and a newline
  2560. * docs/fix-pod-xhtml: added xml decl
  2561. * docs/fix-pod-xhtml: More fixing
  2562. * docs/fix-pod-xhtml: New style POD to html cleanup
  2563. * librdf/rdf_storage_hashes.c (librdf_storage_hashes_register):
  2564. Allow NULL name
  2565. * perl/lib/RDF/Redland/Storage.pm: add rest of storage options to docs
  2566. * raptor/rdfdump.c (print_statements):
  2567. Print the program name not "rdfdump" hardcoded.
  2568. * librdf/rdf_node.h, librdf/rdf_node.c:
  2569. Added librdf_node_get_literal_value_as_counted_string
  2570. 2003-04-14 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2571. * raptor/configure.ac: Check for libxml/xmlreader.h
  2572. 2003-04-13 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2573. * raptor/examples/grapper.c: Added about box, triples count.
  2574. Free some allocated memory. Rest seems lost in gtk.
  2575. * raptor/examples/Makefile.am: Add AM_CFLAGS, LIBS for debugging
  2576. * raptor/raptor_parse.c (raptor_xml_start_element_handler):
  2577. Don't copy an empty attributes array.
  2578. * raptor/configure.ac: Added raptor.pc
  2579. * raptor/Makefile.am:
  2580. Added raptor.pc pkgconfig file installing to $(libdir)/pkgconfig
  2581. * raptor/raptor.pc.in: pkgconfig for raptor
  2582. 2003-04-12 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2583. * librdf/Makefile.am: Added rdf_model_storage.h
  2584. * librdf/rdf_model_storage.h: RDF Model Storage Interface definition
  2585. 2003-04-10 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2586. * librdf/rdf_model.c:
  2587. Split model/storage into model/model factory/model storage factory
  2588. just like hashes, storage classes.
  2589. (librdf_init_model): Call librdf_init_model_storage
  2590. (librdf_finish_model): Call librdf_delete_model_factories
  2591. (librdf_delete_model_factories, librdf_model_register_factory,
  2592. librdf_get_model_factory): Added, after rdf_storage.c similar names.
  2593. (librdf_new_model_with_options): Use storage factory create method.
  2594. (librdf_new_model_from_model): Use clone method.
  2595. (librdf_free_model): Use destroy method.
  2596. The remaining methods that depend on storage now use factory methods.
  2597. Some methods have slight edits to use the model method not the
  2598. storage one when it doesn't matter, or when no factory method is
  2599. present, and it is emulated at the model level.
  2600. * librdf/Makefile.am: Added rdf_model_storage.c
  2601. * librdf/rdf_model.h:
  2602. Added internal librdf_model_factory struct with factory methods
  2603. Added librdf_model_register_factory, librdf_get_model_factory
  2604. * librdf/librdf.h: added librdf_model_factory
  2605. * librdf/rdf_model_storage.c: RDF model over a storage
  2606. 2003-04-05 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2607. * raptor/raptor.h: void arg
  2608. * raptor/examples/raptor_abort.c: Zap curl cleanup.
  2609. * raptor/rdfdump.c:
  2610. Added -c flag to getopts - oops, missed in last release.
  2611. Added -m/--mode flag to set strict/lax. Check the values and die
  2612. with usage.
  2613. Check the legal values of -o/--output and die with usage.
  2614. Zap curl cleanup.
  2615. * raptor/raptor_www.c (raptor_www_no_www_library_init_finish):
  2616. To control global WWW
  2617. library init/finish
  2618. * raptor/raptor_parse.c:
  2619. Make bagID optional - removed from language and gives errors
  2620. (strict), allowed with warnings (lax).
  2621. lax/strict controlled by feature_allow_bagID
  2622. * raptor/raptor_internal.h: Added feature_allow_bagID
  2623. * raptor/raptor_general.c: Several more docucomments for functions.
  2624. (raptor_new_parser): Use raptor_set_parser_strict
  2625. (raptor_set_feature): Added RAPTOR_FEATURE_ALLOW_BAGID
  2626. (raptor_set_parser_strict): Added to set strict/lax mode flags.
  2627. * raptor/raptor.h: Added RAPTOR_FEATURE_ALLOW_BAGID
  2628. Added raptor_set_parser_strict
  2629. Added raptor_www_no_www_library_init_finish
  2630. 2003-04-03 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2631. * raptor/tests/Makefile.am: Added warn-01
  2632. * raptor/tests/warn-01.out, raptor/tests/warn-01.rdf:
  2633. Check warning on non-prefixed property elements
  2634. * raptor/raptor_parse.c, raptor/tests/Makefile.am
  2635. (raptor_xml_start_element_handler): Error recovery - try to hide that
  2636. a bad element was found from a parent element, it thinks the element
  2637. is empty. See tests/warn-00.rdf
  2638. * raptor/tests/warn-00.out, raptor/tests/warn-00.rdf: Check warnings
  2639. 2003-04-02 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2640. * Makefile.am, raptor/configure.ac, raptor/Makefile.am, configure.ac:
  2641. debian dir elsewhere
  2642. 2003-04-01 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2643. * librdf/rdf_parser_raptor.c
  2644. (librdf_parser_raptor_new_statement_handler): (re)add storing in a
  2645. model direct.
  2646. (librdf_parser_raptor_parse_uri_as_stream_write_bytes_handler): Added
  2647. to support librdf_parser_raptor_parse_uri_as_stream via raptor_www
  2648. (librdf_parser_raptor_parse_uri_as_stream): Added. Calls
  2649. librdf_parser_raptor_parse_file_as_stream if that's possible.
  2650. (librdf_parser_raptor_parse_uri_into_model): Added, doing all of
  2651. librdf_parser_raptor_parse_file_into_model.
  2652. (librdf_parser_raptor_constructor): Register new functionality.
  2653. * raptor/raptor_uri.c (raptor_uri_uri_string_to_filename):
  2654. Use raptor_strcasecmp
  2655. (raptor_uri_is_file_uri): Use raptor_strncasecmp
  2656. * librdf/rdf_parser_libwww.c: No libwww parser
  2657. 2003-03-31 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2658. * raptor/fix-groff-xhtml: more cols
  2659. * raptor/fix-groff-xhtml: More fixes
  2660. * raptor/Makefile.am: Added libraptor.html, fix-groff-xhtml
  2661. * raptor/fix-groff-xhtml: Fix groff output HTML
  2662. * raptor/libraptor.3: deleted repeated URI METHODS
  2663. * raptor/libraptor.3: Updated for 0.9.6->present
  2664. 2003-03-30 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2665. * raptor/examples/grapper.c: Use N-triples output style.
  2666. Pass in URL command line argument
  2667. * raptor/Makefile.am: Added raptor_xml.c
  2668. * raptor/raptor_parse.c (raptor_xml_start_element_handler):
  2669. do XML attribute value
  2670. normalization for libxml2. Cannot be done properly since the type of
  2671. the attribute is lost. expat gets it right.
  2672. (raptor_xml_parse_init): Cast for expat XML_SetExternalEntityRefHandler
  2673. * raptor/raptor_xml.c:
  2674. Updated for C14N text/attribute node encoding rules. Don't de-UTF8
  2675. at the same time.
  2676. * raptor/tests/ex-49.out: > in attribute appears raw
  2677. * raptor/raptor_general.c:
  2678. (main) Moved raptor_validate_xml_ID, raptor_xml_escape_string test
  2679. code to raptor_xml.c
  2680. * raptor/raptor_xml.c: Raptor XML routines
  2681. * raptor/raptor_general.c:
  2682. Moved raptor_validate_xml_ID, raptor_xml_escape_string to raptor_xml.c
  2683. * raptor/tests/Makefile.am: Added ex-49
  2684. * raptor/tests/ex-49.out, raptor/tests/ex-49.rdf:
  2685. Checking escaping in parseType Literal values with XML attributes
  2686. * raptor/raptor_parse.c (raptor_format_element):
  2687. Pass in parser for UTF-8 error handling.
  2688. Use raptor_xml_escape_string for attribute values but
  2689. only malloc/free if lengths changed.
  2690. (raptor_xml_end_element_handler): Update to new
  2691. raptor_xml_escape_string API and only malloc/free it if lengths
  2692. changed.
  2693. * raptor/raptor_parse.c (raptor_xml_cdata_handler):
  2694. Use updated raptor_xml_escape_string API
  2695. * raptor/raptor.h: Added raptor_statement_part_as_counted_string,
  2696. raptor_statement_part_as_string
  2697. Changed raptor_xml_escape_string API
  2698. * raptor/raptor_general.c
  2699. (raptor_statement_part_as_counted_string,
  2700. raptor_statement_part_as_string): Added, making N-triples style
  2701. output from parts of raptor_statement.
  2702. (raptor_xml_escape_string): Change API to take an existing
  2703. buffer/calculate length
  2704. (main): Update for raptor_xml_escape_string.
  2705. * raptor/examples/Makefile.am: Also clean grapper binary
  2706. 2003-03-29 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2707. * raptor/examples/grapper.c: Added N-Triples parsing
  2708. * raptor/examples/Makefile.am: Don't build grapper usually
  2709. * raptor/examples/grapper.c: Raptor GTK GUI example code
  2710. * python/RDF.py, librdf/rdf_parser_raptor.c, librdf/rdf_parser.h,
  2711. librdf/rdf_parser.c, librdf/Makefile.am, docs/redland.pod,
  2712. docs/api.sgml.in, docs/Makefile.am, demos/parser-tests.pl,
  2713. demos/demo.pl, configure.ac: Removed repat
  2714. * librdf/rdf_uri.c (librdf_free_uri): Move world defn inside ifdef
  2715. * raptor/examples/Makefile.am: Added grapper.c
  2716. * raptor/examples/Makefile.am: more deps
  2717. * raptor/raptor_internal.h:
  2718. Added raptor_print_statement_part_as_ntriples prototype
  2719. * raptor/raptor_general.c:
  2720. raptor_print_ntriples_string moved to raptor_general.c
  2721. (raptor_print_statement_part_as_ntriples): Added, internal.
  2722. (raptor_print_statement_as_ntriples): Now uses above.
  2723. * Makefile.am: Removed repat
  2724. * raptor/ntriples_parse.c:
  2725. raptor_print_ntriples_string moved to raptor_general.c
  2726. * librdf/Makefile.am: die recursive make
  2727. 2003-03-28 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2728. * raptor/examples/Makefile.am: another deps attempt
  2729. * raptor/examples/Makefile.am: typo
  2730. * raptor/examples/Makefile.am: Use LDADD and hunt for @REDLAND_LIBS@
  2731. Added $(top_builddir)/../librdf/librdf.la
  2732. * raptor/configure.ac: Hunt for librdf.la in abs dir
  2733. * raptor/rapper.1: added -c/--count
  2734. * raptor/examples/Makefile.am: Fixes to make cross-dir building work.
  2735. * raptor/configure.ac, raptor/Makefile.am: Added examples dir
  2736. * raptor/raptor_general.c (raptor_parse_uri_with_connection): Added.
  2737. (raptor_parse_abort): Added.
  2738. * raptor/raptor.h: Added raptor_parse_uri_with_connection.
  2739. Added raptor_parse_abort.
  2740. * raptor/examples/raptor_abort.c, raptor/examples/Makefile.am: examples
  2741. * raptor/rdfdump.c:
  2742. Call curl_global_cleanup if using curl to free it's resources.
  2743. * raptor/raptor_www.c (raptor_www_init,raptor_www_finish):
  2744. Don't init/cleanup curl, we
  2745. can't guarantee doing this at most once if a handle is passed in.
  2746. * raptor/raptor_www_curl.c (raptor_www_curl_free): Tidy
  2747. * raptor/raptor_www_curl.c (raptor_www_curl_init,raptor_www_curl_free):
  2748. Use/mark field
  2749. curl_init_here to note when to cleanup a handle - don't destroy one
  2750. that was provided.
  2751. * raptor/raptor_internal.h:
  2752. for curl, record when curl_easy_init was done in raptor
  2753. * raptor/raptor_general.c (raptor_init): Call raptor_www_init
  2754. (raptor_finsh): Call raptor_www_finish
  2755. (raptor_parse_uri): Delete www object on failure.
  2756. * raptor/configure.ac: Bumped version to 0.9.10
  2757. * librdf/rdf_model.c: unused var
  2758. * librdf/rdf_stream.c, librdf/rdf_statement.c,
  2759. librdf/rdf_serializer.c, librdf/rdf_query.c, librdf/rdf_parser.c,
  2760. librdf/rdf_node.c, librdf/rdf_iterator.c, librdf/rdf_hash.c,
  2761. librdf/rdf_concepts.c:
  2762. Changes to test code after initial locking for threads support.
  2763. (main) Testcode - use librdf_world_init_mutex
  2764. * librdf/rdf_uri.c: Initial locking for threads from Seth Ladd
  2765. (librdf_new_uri): Lock/unlock world for new URI.
  2766. (librdf_free_uri): Lock/unlock world for destroying URI.
  2767. (main) Testcode - use librdf_world_init_mutex
  2768. * librdf/rdf_init.h: Initial locking for threads from Seth Ladd
  2769. Added mutex to world.
  2770. Added prototype for internal librdf_world_init_mutex
  2771. * librdf/rdf_init.c: Initial locking for threads from Seth Ladd
  2772. (librdf_free_world): Delete mutex on shutdown.
  2773. (librdf_world_init_mutex): Added (internal) to be used by tests
  2774. rather than initing all of redland.
  2775. (librdf_world_open): Create mutex on startup.
  2776. * configure.ac: Initial locking for threads from Seth Ladd
  2777. Added --with-threads for POSIX threads
  2778. 2003-03-27 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2779. * demos/demo.pl: utf-8 output
  2780. * librdf/rdf_storage_hashes.c (librdf_storage_hashes_grow_buffer):
  2781. Fix return code sense.
  2782. (librdf_storage_hashes_add_remove_statement): Use calculate length
  2783. for key/value len, not buffer sizes.
  2784. (librdf_storage_hashes_context_add_statement): Return failure if
  2785. contexts aren't enabled and this is called.
  2786. * librdf/rdf_model.c:
  2787. (main) Test code - check get_sources, get_targets, get_arcs
  2788. * python/RDF.py (Stream.context): Use self.stream
  2789. 2003-03-26 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2790. * raptor/raptor_set.c:
  2791. Only use raptor_set_stats_print with RAPTOR_DEBUG
  2792. * raptor/raptor_general.c: Some comment tidying.
  2793. (raptor_start_parse): Docucomment. Copy the uri into the parser
  2794. structure (base_uri, locator uri), don't just keep the pointer.
  2795. (raptor_free_parser): Free the base URI in the structure, if
  2796. present.
  2797. * raptor/raptor_parse.c (raptor_xml_parse_start):
  2798. Remove uri arg. Fail if no base URI is
  2799. given - stored in the parser object
  2800. * raptor/ntriples_parse.c (raptor_ntriples_parse_start):
  2801. Remove uri arg.
  2802. * raptor/raptor_internal.h:
  2803. raptor_parser_factory start method: Remove (base) uri arg, it's in
  2804. the object data.
  2805. * raptor/raptor_www.c: Use RAPTOR_FREE,MALLOC,CALLOC
  2806. (raptor_www_free): Free the www object. Doh.
  2807. * raptor/libraptor.3: raptor_parse_chunk: Takes unsigned char buffer.
  2808. * raptor/libraptor.3:
  2809. raptor_start_parse: Note NULL base URI ok for ntriples
  2810. * raptor/libraptor.3: Typo: raptor_start_parse not raptor_parse_start
  2811. * raptor/raptor_general.c (raptor_xml_escape_string):
  2812. Make it work with 10ffff again
  2813. * raptor/raptor_parse.c (raptor_xml_cdata_handler):
  2814. Cast around raptor_xml_escape_string
  2815. * raptor/raptor_general.c (raptor_xml_escape_string):
  2816. Null terminate new string
  2817. * raptor/raptor_www_libxml.c, raptor/raptor_www.c:
  2818. Use RAPTOR_WWW_BUFFER_SIZE for I/O buffers
  2819. * raptor/raptor_internal.h:
  2820. Define RAPTOR_WWW_BUFFER_SIZE for I/O buffers
  2821. * raptor/rdfdump.c: Declare raptor_stats_print when RAPTOR_DEBUG
  2822. * raptor/raptor_general.c: (raptor_stats_print) C99
  2823. * librdf/rdf_model.c (librdf_model_add_typed_literal_statement):
  2824. Don't free object here,
  2825. librdf_model_add does it as part of freeing the statement.
  2826. 2003-03-25 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2827. * demos/rss-show.pl, demos/parser-tests.pl, demos/ntriples.pl,
  2828. demos/demo.pl: Updated to 0.9.12 API
  2829. 2003-03-24 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2830. * raptor/rdfdump.c: Call raptor_stats_print with RAPTOR_DEBUG
  2831. * raptor/raptor_set.c: Record set hits/misses with RAPTOR_DEBUG
  2832. (raptor_set_stats_print): Defined with RAPTOR_DEBUG
  2833. * raptor/raptor_internal.h:
  2834. Move raptor_xml_parser typedef here (still internal).
  2835. raptor_xml_parser_stats_print, raptor_set_stats_print: Defined with
  2836. RAPTOR_DEBUG
  2837. * raptor/raptor_parse.c (raptor_xml_parser_stats_print):
  2838. Defined with RAPTOR_DEBUG
  2839. * raptor/raptor_general.c (raptor_stats_print):
  2840. Defined with RAPTOR_DEBUG
  2841. * raptor/raptor_parse.c (raptor_xml_cdata_handler):
  2842. Use raptor_xml_escape_string when content
  2843. type is an XML literal
  2844. * raptor/raptor_general.c (raptor_xml_escape_string):
  2845. Now takes and returns lengths
  2846. Fix assumption of '\0' terminated strings.
  2847. (main): Update for counted strings
  2848. * raptor/raptor.h:
  2849. raptor_xml_escape_string now takes and returns lengths
  2850. * raptor/raptor.h: Added raptor_xml_escape_string
  2851. * raptor/Makefile.am: Added raptor_general_test
  2852. * raptor/raptor_general.c (raptor_xml_escape_string):
  2853. Added, XML-escapes UTF-8 strings.
  2854. (main): Added set of tests for raptor_xml_escape_string
  2855. 2003-03-23 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2856. * raptor/tests/ex-48.out, raptor/tests/ex-48.rdf:
  2857. ex-48 parse type literal with entity encoding
  2858. * raptor/tests/Makefile.am: Added ex-48
  2859. * raptor/raptor_www_libxml.c (raptor_www_libxml_fetch):
  2860. Make this work again
  2861. * raptor/raptor_parse.c (raptor_record_ID): Dealloc item after adding
  2862. * librdf/rdf_parser_raptor.c: raptor_free now raptor_free_parser
  2863. (librdf_raptor_uri_as_counted_string): Added
  2864. Use it to register the raptor_uri
  2865. * raptor/raptor_parse.c: typo
  2866. * raptor/raptor_parse.c:
  2867. Remove raptor_id_list implementation for ID checking to use raptor_set.
  2868. (raptor_xml_parse_init): Init raptor_set for ids.
  2869. (raptor_xml_parse_terminate): Use raptor_free_set.
  2870. (raptor_record_ID): Use raptor_set_add to check for unique "ID base-URI"
  2871. (raptor_free_ID_list): Gone
  2872. * raptor/raptor_uri.c (raptor_default_uri_as_counted_string,
  2873. (raptor_uri_as_counted_string): Added and used in default factory.
  2874. * raptor/raptor.h: Added raptor_uri_as_counted_string.
  2875. * raptor/raptor_internal.h:
  2876. Added raptor_set and raptor_new_set constructor, raptor_free_set
  2877. destructor and raptor_set_add only method
  2878. * raptor/Makefile.am: Added raptor_set.c, raptor_set_test
  2879. * raptor/raptor_set.c: Raptor sets for ID checking
  2880. 2003-03-20 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2881. * demos/rss-show.pl: sort feeds case insensitively
  2882. * demos/rss-show.pl: Added Annotate module
  2883. * librdf/rdf_storage_hashes.c:
  2884. Add key/value buffers to hash context and share/grown them as needed
  2885. to prevent a lot of unncessary malloc/frees.
  2886. (librdf_storage_hashes_terminate): Delete shared key/value buffers.
  2887. (librdf_storage_hashes_grow_buffer): Added to grow them when needed.
  2888. (librdf_storage_hashes_add_remove_statement): Use
  2889. librdf_storage_hashes_grow_buffer and shared key/value buffers.
  2890. * librdf/rdf_hash_memory.c (librdf_hash_memory_expand_size):
  2891. Revert bucket rehashing code to the older, simpler, slightly
  2892. slower (2x work) since changed version failed.
  2893. * librdf/rdf_hash_memory.c:
  2894. Switched to same hash algorithm as perl, inlined it.
  2895. (librdf_hash_memory_expand_size): When expanding, only move the nodes
  2896. that need it, don't move everything.
  2897. 2003-03-19 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2898. * examples/example4.c: Free nodes on failure of get_source/target/arc
  2899. * raptor/tests/Makefile.am: Added OWL namespace document / rdf
  2900. schema owl-schema.rdf, owl-schema.out
  2901. * raptor/raptor_www.c: No ghttp, init w3c libwww
  2902. * librdf/rdf_statement.c (librdf_statement_to_string):
  2903. Init statement_string_len to 0
  2904. * librdf/rdf_hash_memory.c (librdf_hash_memory_expand_size):
  2905. Quick hack to make hash grow.
  2906. Needs a proper fix.
  2907. * librdf/rdf_statement.c (librdf_statement_to_string):
  2908. Use librdf_node_to_counted_string to save on strlen calls.
  2909. * librdf/rdf_node.c (librdf_node_to_string):
  2910. Now uses librdf_node_to_counted_string.
  2911. (librdf_node_to_counted_string): Added, returns already known length.
  2912. Uses librdf_uri_to_counted_string to save on strlen calls.
  2913. (librdf_node_encode): Use librdf_uri_as_counted_string to save on
  2914. strlen calls.
  2915. * librdf/rdf_node.h: Added librdf_node_to_counted_string
  2916. * librdf/rdf_uri.c (librdf_uri_as_counted_string,
  2917. librdf_uri_to_counted_string): Added returning the already
  2918. stored/calculated length of the string.
  2919. * librdf/rdf_uri.h:
  2920. Added librdf_uri_as_counted_string, librdf_uri_to_counted_string
  2921. * raptor/tests/owl-schema.out, raptor/tests/owl-schema.rdf:
  2922. OWL namespace schema
  2923. * raptor/raptor_www_libwww.c: add fatal does-not-work error
  2924. * raptor/configure.ac, raptor/raptor_internal.h,
  2925. raptor/raptor_www_ghttp.c: Delete libghttp
  2926. 2003-03-18 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2927. * raptor/raptor_www_libwww.c: Raptor WWW with W3C libwww
  2928. * raptor/rdfdump.c:
  2929. Added -c/--count option to just count triples, don't print anything.
  2930. * raptor/raptor_www_test.c: Use raptor_www_init/finish
  2931. * raptor/raptor_www_libxml.c, raptor/raptor_www_ghttp.c:
  2932. Handle www->failed and aborting transfer.
  2933. * raptor/raptor_www_curl.c: Handle www->failed and aborting transfer.
  2934. (raptor_www_curl_init): Use passed-in connection if available.
  2935. * raptor/raptor_www.c (raptor_www_init): Added, for once-only init.
  2936. (raptor_www_finish): Added, for once-only tidy.
  2937. (raptor_www_new): Now uses new constructor
  2938. (raptor_www_new_with_connection): Added, allows re-use of existing
  2939. www library connection - just curl at present.
  2940. (raptor_www_get_connection): Added, returns current libwww library
  2941. connection.
  2942. (raptor_www_abort): Added to stop a www transaction.
  2943. (raptor_www_file_fetch): Tidying of errors; handle abort.
  2944. (raptor_www_fetch): Uses raptor_www_file_fetch for all files.
  2945. * raptor/raptor_internal.h: Added W3C libwww prototypes.
  2946. * raptor/raptor_parse.c:
  2947. Throughout all SAX event handlers - if rdf_parser->failed set, return
  2948. immediately, doing no work.
  2949. * raptor/raptor_general.c (raptor_parse_uri_write_bytes):
  2950. Use raptor_www_abort if parsing
  2951. fails.
  2952. (raptor_parse_uri): Return error status. Pass on is_end empty chunk.
  2953. (raptor_parser_abort): Added, setting failed flag.
  2954. (raptor_print_statement_detailed): Typo
  2955. * raptor/raptor.h: Added raptor_www_abort
  2956. * raptor/raptor.h: Add raptor_www_init, raptor_www_finish.
  2957. Add raptor_www_new_with_connection
  2958. Add raptor_www_get_connection
  2959. * raptor/configure.ac: Added w3c libwww configuring
  2960. 2003-03-16 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  2961. * raptor/rdfdump.c: Use raptor_parse_uri
  2962. * raptor/raptor_general.c (raptor_parse_uri_write_bytes):
  2963. Added, to support:
  2964. (raptor_parse_uri): Added, using raptor_www to get and deal with all
  2965. the data in one go.
  2966. * raptor/raptor.h: raptor_parse_uri takes optional base_uri
  2967. * raptor/raptor_www_test.c: Use URI from context.
  2968. Take www arg on handlers
  2969. Use raptor_uri
  2970. * raptor/raptor_www_libxml.c, raptor/raptor_www_ghttp.c, raptor/raptor_www_curl.c:
  2971. Use URI from context.
  2972. Take www arg on handlers
  2973. * raptor/raptor_www.c (raptor_www_set_userdata): Gone
  2974. (raptor_www_free): Free request uri
  2975. (raptor_www_set_write_bytes_handler,
  2976. raptor_www_set_content_type_handler): Added
  2977. (raptor_www_file_fetch): pass www to write_bytes
  2978. (raptor_www_fetch): Don't pass URI on.
  2979. * raptor/raptor_internal.h: Store raptor_uri of request
  2980. Use new declared write_bytes, content_type handlers
  2981. *fetch methods don't take URI string
  2982. * raptor/raptor.h:
  2983. Declare handlers for raptor www write bytes, content type
  2984. raptor_www_fetch now takes a raptor_uri
  2985. * raptor/raptor_parse.c:
  2986. Fix broken-fix for broken-expat UTF8 BOM crash.
  2987. tokens_count is on the rdf_xml_parser not rdf_parser
  2988. * raptor/configure.ac: tweak
  2989. * raptor/configure.ac: tidy libcurl version
  2990. * raptor/raptor_internal.h, raptor/configure.ac:
  2991. No more gnome-xml/libxml.h
  2992. * raptor/configure.ac: Min libxml2 now 2.4.0
  2993. * raptor/configure.ac: Don't look for xml-config
  2994. * raptor/raptor_general.c (raptor_parse_file):
  2995. Tidy up if raptor_start_parse fails
  2996. * raptor/raptor_general.c:
  2997. Removed raptor_start_parse_file - merged into raptor_parse_file
  2998. * raptor/raptor_www.c (raptor_www_file_fetch): Used for RAPTOR_WWW_NONE
  2999. Report file open errors, correct file read eof handling.
  3000. (raptor_www_fetch) Use only raptor_www_file_fetch for RAPTOR_WWW_NONE
  3001. * raptor/raptor_general.c (raptor_start_parse_file):
  3002. Improve file open error message
  3003. * raptor/configure.ac:
  3004. Added --with-www=none option and RAPTOR_WWW_NONE to indicate it
  3005. 2003-03-15 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3006. * raptor/raptor_www.c (raptor_www_error): Use RAPTOR_FREE
  3007. * raptor/raptor_www_ghttp.c (raptor_www_ghttp_fetch):
  3008. call raptor_www_error
  3009. * raptor/raptor_www_test.c: Call raptor_uri_init
  3010. * raptor/raptor_www_curl.c (raptor_www_curl_fetch):
  3011. call raptor_www_error
  3012. * raptor/raptor_internal.h: Use raptor_message_handler again
  3013. * raptor/raptor.h:
  3014. Use raptor_message_handler again in raptor_www_set_error_handler,
  3015. raptor_www_error
  3016. * raptor/raptor_www.c (raptor_www_free): Tidy locator URI
  3017. (raptor_www_set_error_handler, raptor_www_error): Use
  3018. raptor_message_handler again.
  3019. (raptor_www_error): Use raptor_locator in output, error handler.
  3020. (raptor_www_fetch): Store the URI string of request in the locator
  3021. * raptor/raptor.h: Declare raptor_www_message_handler (no locator)
  3022. * raptor/raptor_general.c: raptor_vsnprintf now internally visible.
  3023. * raptor/raptor_internal.h:
  3024. Use different error handler, no parser context.
  3025. raptor_vsnprintf now internally visible.
  3026. Added raptor_www_error prototype
  3027. * raptor/raptor_www.c:
  3028. Only enable raptor_www_file_fetch with libxml, libghttp
  3029. (raptor_www_set_error_handler): Use different error handler, no
  3030. parser context.
  3031. * raptor/configure.ac, raptor/Makefile.am:
  3032. Added raptor WWW enabling, configuring
  3033. * raptor/raptor_internal.h:
  3034. Added raptor WWW retrieval internal includes, structs, prototypes
  3035. * raptor/raptor.h: Added raptor WWW retrieval prototypes
  3036. * raptor/raptor_www.c, raptor/raptor_www_curl.c,
  3037. raptor/raptor_www_ghttp.c, raptor/raptor_www_libxml.c,
  3038. raptor/raptor_www_test.c: Raptor WWW retrieval
  3039. 2003-03-13 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3040. * librdf/rdf_parser_raptor.c (librdf_parser_raptor_parse_file_as_stream):
  3041. Save copies of source
  3042. and base URI - don't assume they will be around for the life of a
  3043. parse.
  3044. (librdf_parser_raptor_serialise_finished): Free the copied uris.
  3045. * examples/example4.c: document parse-stream
  3046. * python/RDF.py (Node.__init__):
  3047. Add world arg to librdf_new_node_from_blank_identifier
  3048. 2003-03-09 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3049. * Makefile.am: added demos dir
  3050. * demos/rss-show.pl, demos/ntriples.pl: absolutize some doc urls
  3051. * configure.ac, Makefile.am: added demos dir
  3052. * demos/rss-show.pl, demos/parser-tests.pl, demos/ntriples.pl,
  3053. demos/demo.pl: point to source code
  3054. * demos/rss-show.pl, demos/parser-tests.pl, demos/ntriples.pl,
  3055. demos/demo.pl: add source code
  3056. * demos/Makefile.am, demos/demo.pl, demos/ntriples.pl,
  3057. demos/parser-tests.pl, demos/rss-show.pl: Redland CGI demos
  3058. 2003-03-06 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3059. * perl/serialize.pl (format_element_content,format_attribute):
  3060. Added to escape &, <, > things etc.
  3061. 2003-03-05 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3062. * perl/serialize.pl: Whitespace tidying.
  3063. (emit_literal_element): Added, for doing 1-line literals
  3064. Fix datatypes.
  3065. Emit multiple rdf:type properties too.
  3066. * python/RDF.py:
  3067. (Node.get_literal_value) Correct datatype URI method call to only
  3068. operate if there is a datatype URI.
  3069. (Stream._del_): Work when there is no redland Stream.
  3070. (Parse.parse_as_stream): Return None if parsing fails, not an
  3071. empty Stream.
  3072. * perl/lib/RDF/Redland/Node.pm (literal_datatype):
  3073. Added, return the URI of the literal datatype or
  3074. undef if not one.
  3075. * perl/lib/RDF/Redland/Parser.pm (parse_as_stream):
  3076. Return undef if parsing fails, don't return a stream
  3077. * perl/lib/RDF/Redland/Stream.pm (DESTROY):
  3078. Handle wrapping an empty stream - might happen when a
  3079. search fails straight away.
  3080. * librdf/rdf_parser_raptor.c
  3081. (librdf_parser_raptor_new_statement_handler): Handle XMLLiteral
  3082. and datatyped literal URIs - pass them on as appropriate statements.
  3083. * perl/serialize.pl (predicate_split): Fix
  3084. (emit_empty_element) Pull out some more element
  3085. building stuff - for now.
  3086. main - declare an OWL namespace just for testing
  3087. * perl/serialize.pl: added emit_start_element, emit_end_element
  3088. now rdf:RDF declares its namespaces
  3089. * perl/serialize.pl: Make blank node subject and objects work.
  3090. 2003-03-04 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3091. * raptor/raptor.h: Export raptor_free_parser with RAPTOR_API
  3092. * raptor/win32_config.h: add trailing #endif
  3093. * raptor/win32_config.h: s/WIN32_LEAD_AND_MEAN/WIN32_LEAN_AND_MEAN/
  3094. * raptor/raptor_parse.c (raptor_xml_comment_handler):
  3095. Added - nop at present.
  3096. (raptor_xml_parse_init): For expat, use raptor_xml_comment_handler
  3097. * raptor/raptor_libxml.c:
  3098. (raptor_libxml_init) Use raptor_xml_comment_handler
  3099. * raptor/raptor_internal.h: Add raptor_xml_comment_handler prototype
  3100. * raptor/configure.ac:
  3101. Try to make maintainer mode flags match redland's defaults.
  3102. * Makefile.am: expat sources not included
  3103. * configure.ac: expat sources not included
  3104. building against expat / libxml sources no longer supported.
  3105. * librdf/rdf_model.c (librdf_model_add_typed_literal_statement):
  3106. Document - nodes become owned by the model.
  3107. * python/RDF.py: Bogus quotes
  3108. * java/org/librdf/redland/Model.java:
  3109. (add) (nodes, typed nodes versions) Copy redland nodes before adding.
  3110. * perl/t/test2.t:
  3111. Added test of Model method add_typed_literal_statement
  3112. Added test of Serializer method serialize_model_to_file
  3113. * python/test/test.py: Added test of model.add_typed_literal_statement
  3114. * python/RDF.py (Model.add_typed_literal_statement):
  3115. Copy redland nodes before adding.
  3116. 2003-03-03 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3117. * perl/Makefile.am: make clean targets run when perl isn't enabled.
  3118. * perl/Makefile.PL: Grab version from redland-src-config
  3119. * perl/Makefile.am: Use $(srcdir)/Makefile.PL
  3120. * python/Makefile.am: Use $(srcdir)/setup.py
  3121. * java/Makefile.am:
  3122. clean-java - don't leap down subdirs to clean stuff too early -
  3123. confuses autoconf.
  3124. * configure.ac: More AC_CONFIG_FILES tidying
  3125. * raptor/configure.ac, raptor/Makefile.am:
  3126. Fix cflags/cppflags when in redland
  3127. * librdf/rdf_serializer_raptor.c
  3128. (librdf_serializer_print_statement_as_ntriple):
  3129. No need for fprintf.
  3130. * librdf/rdf_serializer_raptor.c: No need for ntriples.h
  3131. (librdf_serializer_print_statement_as_ntriple): Handle datatyped
  3132. literals.
  3133. * perl/lib/RDF/Redland/Node.pm (new_from_typed_literal):
  3134. Added, creating a datatyped literal.
  3135. * perl/lib/RDF/Redland/Model.pm (add, add_typed_literal_statement):
  3136. Copy the nodes before passing on
  3137. - more natural for perl.
  3138. * librdf/Makefile.am: s/AML_CFLAGS/AM_CFLAGS/
  3139. Give rdf_uri_test the raptor includes
  3140. * librdf/rdf_node.c (librdf_node_decode):
  3141. Correct datatype URI/lang decoded in wrong
  3142. order.
  3143. (main): Add de/encode of datatyped node.
  3144. * librdf/rdf_node.c (librdf_node_encode):
  3145. Copy datatype URI string not junk from the URI
  3146. object.
  3147. (main): Add use of librdf_new_node_from_typed_literal
  3148. * examples/example4.c:
  3149. Added add-typed command to use librdf_new_node_from_typed_literal
  3150. * autogen.sh: Require autoconf 2.53+
  3151. * configure.ac: Require autoconf 2.53+
  3152. Update AC_OUTPUT to new form
  3153. * Redland.i: Added librdf_new_node_from_typed_literal
  3154. * redland-src-config.in:
  3155. use abs_top_srcdir for all refs to raptor-src-config
  3156. 2003-03-02 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3157. * raptor/tests/ex-46.out, raptor/tests/ex-46.rdf:
  3158. make rdf:li and rdf_2 property elements generate different triples
  3159. 2003-02-27 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3160. * raptor/tests/ex-46.out: fix
  3161. * raptor/tests/Makefile.am: Added ex-47
  3162. * raptor/tests/ex-47.out, raptor/tests/ex-47.rdf:
  3163. Exercise all rdfs vocab
  3164. * raptor/tests/Makefile.am: Added ex-46
  3165. * raptor/tests/ex-46.out, raptor/tests/ex-46.rdf:
  3166. Exercise all rdf vocab
  3167. 2003-02-26 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3168. * python/RDF.py (RDF.set_message_handler): Added. Make a class method
  3169. (message_handler): Moved out of RDF.World class.
  3170. (RDF.World): Use RDF.message_handler
  3171. (RDF.Stream): Docs.
  3172. * librdf/rdf_storage_hashes.c
  3173. (librdf_storage_hashes_node_iterator_create):
  3174. Handle node being NULL,
  3175. for example when dealing with a predicates index p2so.
  3176. 2003-02-25 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3177. * repat/Makefile.am: Make only librepat.la
  3178. * Makefile.am: Add man pages to dist
  3179. 2003-02-24 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3180. * raptor/win32/raptor.plg, raptor/win32/Makefile.am: deleted raptor.plg
  3181. * raptor/win32/raptor.dsp, raptor/win32/README:
  3182. Updated win32 config - from contributed patches
  3183. 2003-02-23 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3184. * raptor/raptor_uri.c: Correct :'s turning into |'s in win32 file URIs
  3185. 2003-02-20 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3186. * autogen.sh: export autotools to configure
  3187. * autogen.sh: Tidying
  3188. * raptor/autogen.sh, autogen.sh:
  3189. run libtoolize in each configure.ac dir
  3190. * Makefile.am: acconfig.h not needed
  3191. * utils/Makefile.am, repat/Makefile.am, librdf/Makefile.am,
  3192. expat/xmltok/Makefile.am, expat/xmlparse/Makefile.am,
  3193. examples/Makefile.am:
  3194. Updates for automake 1.5-1.7
  3195. * autogen.sh: Update to use automake 1.6, autoconf 2.52 min
  3196. * configure.ac: configure.ac replacing configure.in
  3197. * acconfig.h, configure.in:
  3198. Replace configure.in acconfig.h with configure.ac
  3199. * raptor/win32_config.h:
  3200. win32 has C99 compatible vsnprintf called _vsnprintf
  3201. * raptor/configure.ac:
  3202. Check for vsnprintf and check for C99 compatible return value.
  3203. * raptor/raptor_general.c (raptor_vsnprintf):
  3204. Added for handling compatibilty with vsnprintf
  3205. that doesn't match C99.
  3206. 2003-02-19 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3207. * raptor/tests/Makefile.am:
  3208. Use $(ECHO) which may be different from sh's echo
  3209. * raptor/Makefile.am:
  3210. Changing, moved raptor_getopt.h to rapper_SOURCES after automake
  3211. manual recommendation.
  3212. * raptor/Makefile.am: Put raptor_getopt.h in noinst_HEADERS
  3213. * raptor/Makefile.am: No need for EXTRA_libraptor_la_SOURCES
  3214. * raptor/Makefile.am: Use LTLIBOBJS for extra libraptor objs
  3215. * raptor/raptor.h: again
  3216. * raptor/raptor.h: don't do deprecated on broken OSX gcc
  3217. * raptor/raptor_getopt.h, raptor/getopt.c: No need for prefix
  3218. * raptor/getopt.c: Duh - use raptor getopt header
  3219. * raptor/Makefile.am:
  3220. Use RAPPER_EXTRA_OBJS to optionally add getopt to rapper only
  3221. * raptor/configure.ac: Add getopt object to RAPPER_EXTRA_OBJS
  3222. * raptor/rdfdump.c: Add raptor_getopt.h for local version
  3223. * raptor/raptor_getopt.h: Define rest of getopt externs
  3224. * raptor/getopt.c: More prefixes
  3225. * raptor/raptor_getopt.h, raptor/getopt.c: Public domain getopt
  3226. * raptor/configure.ac: Check for getopt and add getopt.o if it missing.
  3227. * raptor/autogen.sh:
  3228. try asking the progs for their version - slower, but right
  3229. * raptor/autogen.sh: tidying
  3230. * raptor/acconfig.h: acconfig.h obsoleted
  3231. * raptor/Makefile.am: Use AM_CPPFLAGS
  3232. * raptor/autogen.sh:
  3233. Min versions are bumpled - 2.52 for autoconf, 1.6 for automake
  3234. Now hunts for newest, shinyest autoconf and automake/aclocal and uses
  3235. them whatever is available.
  3236. 2003-02-18 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3237. * raptor/configure.ac: autoconf 2.5x configure.ac
  3238. * raptor/configure.in: Replaced with autoconf 2.5x configure.ac
  3239. 2003-02-15 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3240. * raptor/raptor.h: Move stuff around, consolidate deprecated bits
  3241. * raptor/ntriples_parse.c, raptor/rdfdump.c: No need for ntriples.h
  3242. * raptor/raptor.h: Moved all ntriples.h defines here.
  3243. Defined RAPTOR_DEPRECATED (with gcc 3.1+) and used on old api calls.
  3244. * raptor/ntriples.h:
  3245. Moved all definitions to raptor.h - this file is now deprecated.
  3246. * python/RDF.py: typo
  3247. 2003-02-14 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3248. * debian/changelog, debian/libredland0-dev.install:
  3249. added redland-config.1
  3250. * debian/libredland0-dev.manpages: Added redland-config.1
  3251. * debian/Makefile.am: Added libredland0-dev.manpages
  3252. * Makefile.am: added redland-config.1
  3253. * redland-config.1: redland-config manual page
  3254. * redland-config.in, raptor/raptor-config.in: No exec-prefix
  3255. * raptor/raptor-config.1: Manual page for raptor-config
  3256. * raptor/Makefile.am: Added raptor-config.1
  3257. * debian/Makefile.am: missed a backslash
  3258. * debian/redland1.files, debian/manpage.1.ex, debian/shlibs.local.ex:
  3259. Not used
  3260. * debian/rules.in, debian/copyright, debian/control,
  3261. debian/changelog, debian/README.Debian, debian/Makefile.am:
  3262. Updated for debian packaging 0.9.12
  3263. * debian/libredland0-dev.docs, debian/libredland0-dev.files,
  3264. debian/libredland0-dev.install, debian/libredland0.files,
  3265. debian/libredland0.install, debian/libredland0.manpages:
  3266. Redland debian packaging
  3267. * debian/doc-base.package, debian/docs, debian/dirs: Not used
  3268. * raptor/rapper.1: EXAMPLE
  3269. 2003-02-13 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3270. * Redland.i: Added librdf_node_get_literal_value_datatype_uri
  3271. * raptor/tests/Makefile.am: $name=>$$name
  3272. * configure.in: Bumped version to 0.9.13
  3273. * Snapshotted redland_0_9_12 for 0.9.12 release
  3274. * raptor/raptor.spec.in: release is 1
  3275. 2003-02-12 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3276. * librdf/redland.spec.in, Makefile.am: No RELEASE, TODO
  3277. * raptor/Makefile.am: Restore LICENSE.txt
  3278. * raptor/Makefile.am: No LICENSE.txt in dist
  3279. * java/org/librdf/redland/Makefile.am: Add Hash.ajva to dist
  3280. * librdf/redland.spec.in:
  3281. Move man pages around. All headers now in devel.
  3282. * librdf/redland.spec.in: Don't put raptor man files in this rpm
  3283. * librdf/redland.spec.in: Require raptor 0.9.8
  3284. * raptor/raptor_uri.c (main):
  3285. Use lstat, reading a selection of dirs to try harder to test
  3286. relative file URIs.
  3287. * raptor/configure.in: check for sys/stat.h (for raptor_uri_test main)
  3288. * raptor/tests/Makefile.am: There is no portable test == operator
  3289. * raptor/raptor_parse.c (raptor_xml_start_element_handler):
  3290. Updated call to
  3291. raptor_namespaces_start_namespace to use error_handler, error_data
  3292. parameters
  3293. * raptor/raptor_general.c (raptor_start_parse):
  3294. Updated call to raptor_namespaces_init to use
  3295. error_handler, error_data parameters
  3296. * raptor/raptor_internal.h:
  3297. Updated raptor_namespaces_init, raptor_namespaces_start_namespace,
  3298. raptor_namespace_new with error_handler, error_data parameters
  3299. * raptor/raptor_namespace.c: (raptor_namespaces_init,
  3300. raptor_namespaces_start_namespace, raptor_namespace_new)
  3301. Add error handler and data parameters and use to explain how
  3302. xmlns:foo="" isn't allowed
  3303. * utils/Makefile.am: Add update-api-0912.pl to dist
  3304. 2003-02-11 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3305. * raptor/raptor_parse.c:
  3306. multiple objects of a property element (statement) is an error
  3307. * raptor/tests/Makefile.am:
  3308. Report warnings when they occur. Print the warning text
  3309. * raptor/tests/bad-11.rdf: now xml
  3310. * raptor/tests/Makefile.am: typo - restult
  3311. * raptor/tests/bad-11.rdf:
  3312. Check xmlns with no namespace name (URI) fails
  3313. * raptor/tests/Makefile.am: Added bad-11
  3314. * raptor/raptor_libxml.c (raptor_libxml_update_document_locator):
  3315. Handle empty parser context.
  3316. * raptor/tests/Makefile.am: ex-46 now bad-10
  3317. * raptor/tests/bad-10.rdf, raptor/tests/ex-46.rdf,
  3318. raptor/tests/ex-46.out: Now bad-10
  3319. * raptor/raptor_parse.c (raptor_xml_parse_chunk_):
  3320. Make an empty rdf/xml bytestream an
  3321. illegal doc (like expat) and return an error.
  3322. * raptor/raptor_libxml.c (raptor_libxml_update_document_locator):
  3323. Don't use loc if it is NULL
  3324. such as errors before start of XML document.
  3325. * raptor/raptor_libxml.c:
  3326. Check for xmlSAXHandler externalSubset field, not present in old
  3327. libxml v1. Whether raptor works after this is unlikely and untested.
  3328. * raptor/configure.in: Add old libxml V1 warning and suggestion
  3329. * raptor/acconfig.h: Added RAPTOR_LIBXML_XMLSAXHANDLER_EXTERNALSUBSET
  3330. * raptor/configure.in: Check for xmlSAXHandler externalSubset field
  3331. 2003-02-10 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3332. * raptor/raptor_locator.c (raptor_print_locator):
  3333. Only print non-negative line numbers
  3334. * raptor/raptor_parse.c (raptor_xml_parse_chunk_):
  3335. For libxml, handle first chunk being
  3336. empty, when the XML parser context, xc, is attempted to be initialiased
  3337. * raptor/tests/Makefile.am:
  3338. Added ex-46 (Empty file should give 0 triples)
  3339. * raptor/tests/ex-46.out, raptor/tests/ex-46.rdf:
  3340. Empty file should give 0 triples
  3341. 2003-01-31 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3342. * Makefile.am: utils now has buildable stuff
  3343. * librdf/rdf_hash_bdb.c:
  3344. Make BDB open failures return librdf_error even when debug set.
  3345. * configure.in, Makefile.am: scripts now utils
  3346. * utils/Makefile.am, utils/db_upgrade.c, utils/update-api-0912.pl:
  3347. scripts now utils, added redland-db-upgrade util
  3348. * librdf/redland.spec.in: Added redland-db-upgrade
  3349. 2003-01-30 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3350. * configure.in: don't destroy passed in LDFLAGS value
  3351. 2003-01-29 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3352. * tcl/Makefile.am:
  3353. Fix so it doesn't compile over the input file. Bad $? / $< again
  3354. * java/org/librdf/redland/Model.java:
  3355. (add/remove) Added contexts version of methods
  3356. (context_remove): Added, remove all statements with given context.
  3357. * java/Makefile.am: $< wrong for build jars, add all files
  3358. * python/RDF.py:
  3359. (Model) Added contexts methods, as optional args to add/remove
  3360. statements methods.
  3361. New method: context_remove_statements
  3362. * perl/lib/RDF/Redland/Model.pm (add_statement, add_statements,
  3363. remove_statement): Add optional context arg.
  3364. (remove_context_statements): Added.
  3365. * configure.in:
  3366. Make xml parser prefer libxml, to match what raptor does. Expat will
  3367. be added if required/available anyway, such as for repat.
  3368. If expat is needed for raptor, ensure it uses system expat first if
  3369. available rather than always use source version.
  3370. * php/php.ini: added safe_mode = Off, says Ron
  3371. * autogen.sh: require swig 1.3.14 min
  3372. * docs/api.sgml.in, docs/fix-python-xhtml,
  3373. docs/fix-pod-xhtml: dates
  3374. * configure.in, Makefile.am:
  3375. Renamed aux dir to scripts
  3376. * scripts/Makefile.am, scripts/update-api-0912.pl: Moved from aux dir
  3377. 2003-01-27 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3378. * tcl/Makefile.am, ruby/Makefile.am, raptor/Makefile.am,
  3379. python/Makefile.am, perl/Makefile.am, java/Makefile.am,
  3380. docs/Makefile.am, php/Makefile.am:
  3381. Remove $? and replace with $< or full dependencies
  3382. 2003-01-23 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3383. * librdf/rdf_storage_hashes.c (librdf_storage_hashes_register):
  3384. Return correct failure sense.
  3385. * librdf/rdf_storage_hashes.c (librdf_storage_hashes_terminate):
  3386. Protect from empty arrays
  3387. * librdf/rdf_storage_hashes.c (librdf_storage_hashes_register):
  3388. Don't leak full_name memory when
  3389. librdf_new_hash fails.
  3390. * librdf/rdf_storage_hashes.c (librdf_storage_hashes_init_common):
  3391. On failure to create lower level
  3392. hashes, don't free stuff here, librdf_storage_hashes_terminate will
  3393. do it, eventually.
  3394. 2003-01-21 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3395. * raptor/ntriples_parse.c:
  3396. Fix macro IS_ASCII_DIGIT which refused to allow '0'.
  3397. 2003-01-13 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3398. * raptor/rdfdump.1: rdfdump.1 renamed to rapper.1
  3399. * librdf/redland.spec.in:
  3400. Updated for redland 0.9.12 (requires installed raptor to build)
  3401. * raptor/raptor.spec.in, raptor/tests/Makefile.am,
  3402. raptor/Makefile.am, raptor/INSTALL.html: rdfdump now rapper
  3403. * raptor/rapper.1: rdfdump.1 renamed to rapper.1
  3404. 2003-01-07 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3405. * librdf/rdf_parser_sirpac.c: No longer needed
  3406. 2003-01-03 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3407. * examples/Makefile.am: tweak clean
  3408. * librdf/rdf_model.c:
  3409. (librdf_model_get_source,librdf_model_get_target,librdf_model_get_arc):
  3410. Return a new copy of the shared node, restoring the declared API
  3411. behaviour.
  3412. * Makefile.am: Added RELEASE.html RELEASE
  3413. * librdf/rdf_parser_repat.c
  3414. (librdf_parser_repat_parse_file_into_model): Tidy up internal stream
  3415. after add_statements no longer frees it.
  3416. * librdf/rdf_parser_raptor.c
  3417. (librdf_parser_raptor_parse_file_into_model): Tidy up internal stream
  3418. after add_statements no longer frees it.
  3419. 2003-01-02 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3420. * examples/example4.c: Revert temporary context dbd-store ifdef
  3421. * librdf/rdf_node.c (librdf_new_node_from_typed_literal):
  3422. Docucomment fix
  3423. 2003-01-01 Dave Beckett <Dave.Beckett@bristol.ac.uk>
  3424. * docs/api.sgml.in: Added general query, serializer doc parts
  3425. * aux/update-api-0912.pl: Add model add_statement changes checks
  3426. * aux/update-api-0912.pl: Docs
  3427. * aux/update-api-0912.pl: Try to catch stream/iterator api changes too