2010-12-29 Dave Beckett * src/raptor_parse.c: (raptor_world_guess_parser_name): Fix guessing by URI * src/Makefile.am, src/raptor.h.in, src/raptor_parse.c, src/raptor_serialize.c, src/raptor_syntax_description.c: Restore array counts to syntax description. Pull out common validation. raptor_syntax_description gains names_count, mime_types_count and uri_strings_count all computed at registration. (raptor_syntax_description_validate): Added to public API to validate and compute counts. (raptor_world_register_parser_factory, raptor_world_register_serializer_factory): Call above for common validation checks. * src/ntriples_parse.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_json.c, src/raptor_librdfa.c, src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_html.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/turtle_parser.y: Update parsers and serializers to use uri_strings for syntax description. * src/raptor.h.in: raptor_syntax_description has an array of URI strings, loses mime types count. 2010-12-02 Dave Beckett * src/raptor_rss.c: Lower RSS mime type q values to 0.8 since that is good enough, raptor cannot ever reach 100% 2010-12-01 Dave Beckett * NEWS.html, RELEASE.html, configure.ac, src/win32_raptor_config.h: Bumped version to 1.9.2 * README.html: N-Quads 2010-12-01 Dave Beckett * Snapshotted raptor2_1_9_1 for 1.9.1 release (GIT 697d55552c5897afab65715d16abbce838acd3e7) 2010-11-30 Dave Beckett * src/raptor_www_curl.c: Respect Content-Location: header in HTTP responses for final URI (raptor_www_curl_update_status): If HTTP header Content-Location: was found, use that rather than the HTTP 3xx redirect URI. (raptor_www_curl_header_callback): Use raptor_strncasecmp rather than strncmp to find content type and content location. If content location is found, set the final_uri Fixes Issue#0000402 http://bugs.librdf.org/mantis/view.php?id=402 * docs/Makefile.am, docs/raptor1-eol.html: Add raptor1-eol.html * INSTALL.html: update - encouraging the released tarballs path * src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c: Remove unused created_p args / variables from raptor_abbrev internal APIs 2010-11-29 Dave Beckett * src/raptor.h.in, src/raptor_term.c: Added convenience methods for constructing URI terms (raptor_new_term_from_counted_uri_string, raptor_new_term_from_uri_string): Added to replace a common pattern of make uri, make term, free uri. 2010-11-22 Dave Beckett * src/raptor_general.c, src/raptor_internal.h: Update defensive code for checking raptor_world * src/raptor_general.c: autodocs * docs/raptor-sections.txt: Add new symbols 2010-11-21 Dave Beckett * docs/tmpl/section-world.sgml: Update tmpls * src/.gitignore: ignore raptor.h * configure.ac, src/Makefile.am, src/raptor.h, src/raptor.h.in, src/raptor_general.c: (raptor_new_world): Turn into a macro around the internal raptor_new_world_internal() * src/raptor_general.c, src/raptor_internal.h, src/raptor_iostream.c, src/raptor_libxml.c, src/raptor_namespace.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_statement.c, src/raptor_term.c, src/raptor_turtle_writer.c, src/raptor_uri.c, src/raptor_www.c, src/raptor_xml_writer.c: Check world object is valid for Raptor V2 in every constructor RAPTOR2_WORLD_MAGIC: Alter the RAPTOR_MAGIC value to be different for raptor V2 and rename it in code. RAPTOR1_WORLD_MAGIC is the old value. (raptor_check_constructor_world): Added to handle the check and provide a function to debugger-break on. It warns once about the pointer problems using a static var. (RAPTOR_CHECK_CONSTRUCTOR_WORLD): Macro added to call raptor_check_constructor_world() and replace generic RAPTOR_ASSERT_OBJECT_POINTER_RETURN_VALUE check. * src/raptor_librdfa.c: (raptor_librdfa_parse_start): Call rdfa_set_processor_graph_triple_handler with context. * scripts/process-changes.pl: print_statement_field_renames_as_perl_script added. labels * docs/raptor-1-to-2-map.tsv: more notes * scripts/process-changes.pl: Update titles * scripts/process-changes.pl: Fix delete enum output * docs/raptor-1-to-2-map.tsv: RAPTOR_FEATURE_ASSUME_IS_RDF and RAPTOR_FEATURE_START_URI were deleted. * docs/raptor-1-to-2-map.tsv: Add enum changes * scripts/process-changes.pl: Handle enums * docs/Makefile.am: upgrade-script.pl depends on tsv file 2010-11-17 Dave Beckett * src/raptor_librdfa.c: Replace rdfa_set_triple_handler with rdfa_set_default_graph_triple_handler * librdfa/rdfa.c, librdfa/rdfa.h, librdfa/triple.c: Update to librdfa GIT 1a1a08c790b7649a7f6c12fb9e40c0d3dbe70481 2010-11-08 Dave Beckett * src/ntriples_parse.c, src/raptor_grddl.c, src/raptor_internal.h, src/turtle_parser.y: Fixes for C++ - Casts for C++ from void* to typed pointer/function pointers - Rename some prototype args to avoid 'explicit' C++ keyword. 2010-11-07 Dave Beckett * docs/raptor-sections.txt, docs/tmpl/section-stringbuffer.sgml, docs/tmpl/section-triples.sgml: Update generated docs * src/raptor_stringbuffer.c: docs * UPGRADING.html: deleted questions * RELEASE.html: 1.9.1 * RELEASE.html, src/raptor.h, src/raptor_term.c: Removed raptor_term_as_counted_string() and raptor_term_as_string() replaced by _to_ versions. These were 'deprecated' in GIT but since 1.9.0 Raptor V2 was beta, it is OK to delete them. * RELEASE.html: 1.9.1 2010-10-27 Dave Beckett * src/raptor_avltree.c: (raptor_avltree_print): Free avltree_iterator at end 2010-10-22 Dave Beckett * src/ntriples_parse.c: N-Quads code tidying * tests/ntriples/Makefile.am: Remove N-Quads from N-Triples test files so Turtle parser doesn't barf. * tests/ntriples/Makefile.am: #typo * configure.ac: Typo in AM_CONDITIONAL enabling N-Quads parser * tests/ntriples/Makefile.am: Add $(NQ_OUT_FILES) to dist * tests/json/Makefile.am: example4.nt * configure.ac, src/Makefile.am, src/ntriples_parse.c, src/raptor_internal.h, src/raptor_parse.c, tests/ntriples/Makefile.am, tests/ntriples/testnq-1.nq, tests/ntriples/testnq-1.out: Added N-Quads parser. Hey, that was easy! Don't allow literal graphs/contexts despite that being in the spec at http://sw.deri.org/2008/07/n-quads/ because it's a stupid idea. Added test from the spec 2010-10-18 Dave Beckett * src/raptor.h, src/raptor_stringbuffer.c: (raptor_stringbuffer_append_uri_escaped_counted_string): Added * src/raptor.h, src/raptor_stringbuffer.c: (raptor_stringbuffer_append_hexadecimal): Added 2010-10-18 Lauri Aalto * src/raptor_serialize.c: #doc typo 2010-10-17 Dave Beckett * src/raptor_iostream.c: Fix major copying too much error with raptor_read_string_iostream_read_bytes() memcpy (raptor_read_string_iostream_read_bytes): Adjust copied bytes to the maximum available in the buffer, not the maximum requested by user. Could cause crashes since memcpy is called to always copy the maximum amount the user requests, whatever amount of data is in the string. 2010-10-15 Dave Beckett * src/raptor_serialize.c: (raptor_serializer_start_to_iostream): Reset free_iostream_on_end flag to prevent crashes on reuse. 2010-10-11 Dave Beckett * src/ntriples_parse.c: (raptor_ntriples_parse_recognise_syntax): Refuse to handle .ttl or .n3 named content. 2010-10-09 Dave Beckett * librdfa/rdfa.c, librdfa/rdfa.h: Update to librdf GIT commit ddead5d1f72acd7fcd9e4c42503eadcce9d6ec87 2010-10-07 Dave Beckett * docs/raptor-1-to-2-map.tsv: Add raptor_parser_parse_iostream - was new in 1.9.0 2010-10-01 Dave Beckett * src/raptor_log.c: (raptor_log_error): code tidy * src/raptor.h: raptor_log_message: autodocs 2010-09-28 Dave Beckett * src/raptor_uri.c: Remove use of strncmp when strings are same length (raptor_uri_equals): Use memcmp() on same length strings to remove need for strncmp that looks for NULs. (raptor_uri_compare): Use memcmp() on same length strings to remove need for strncmp that looks for NULs. Sort shorter urls earlier by comparing lengths. 2010-09-28 Nicholas J Humfrey * tests/json/Makefile.am, tests/json/example4.json, tests/json/example4.nt: Added a more 'real-world' JSON pasing test file, that includes a rdf:type URI. * src/raptor_uri.c: (raptor_uri_equals): small optimisation - URI lengths are now compared before comparing strings. * src/raptor_uri.c: (raptor_uri_compare): URI comparison now takes into account the stored string length, and does not depend upon NULL-termination of strings. 2010-09-24 Dave Beckett * configure.ac: Use AC_LANG_SOURCE for gcc flag test 2010-09-19 Dave Beckett * ChangeLog, ChangeLog.10, Makefile.am: Added ChangeLog.10 for 2009 * NEWS.html, RELEASE.html, configure.ac, src/win32_raptor_config.h: Bumped version to 1.9.1 * src/raptor_rss_common.c: (raptor_new_rss_block): Copy block_term when needed, do not own it. 2010-09-16 Dave Beckett * src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c: Use raptor_term as arg to raptor_new_rss_block (raptor_new_rss_block): Change blank node ID to a raptor_term arg. (raptor_rss_start_element_handler): Adjust call to raptor_new_rss_block. 2010-09-13 Dave Beckett * src/raptor_serialize_rss.c: (raptor_rss10_store_statement): Code tidy to move checks out of loop. 2010-09-12 Dave Beckett * src/raptor_abbrev.c, src/raptor_serialize_rss.c: Remove internal uses of deprecated raptor_term_as_string() * src/raptor_serialize_rss.c: Copy statements when saving them for later. (raptor_rss10_store_statement): Move copy statement only when not handled, no need to do copy/free. (raptor_rss10_serialize_statement): Pass on handled but do not do copy statmenethere. * src/raptor_serialize_rss.c: When debugging free memory allocated by raptor_term_as_string() * src/raptor.h, src/raptor_term.c: Deprecated raptor_term_as_..._string() for _to_...string form (raptor_term_to_counted_string): Added replacing raptor_term_as_counted_string. (raptor_term_to_string): Added replacing raptor_term_as_string. (raptor_term_as_counted_string, raptor_term_as_string): Deprecated. * src/raptor_librdfa.c: Make rdfa (librdfa) parser correctly initialize static statement (raptor_librdfa_parse_init): Init static statement with raptor_statement_init() so reference counting and copying works. * src/raptor_rss.c: Make RSS parser correctly initialize static statement (raptor_rss_parse_init): Init static statement with raptor_statement_init() so reference counting and copying works. * src/raptor_serialize_rss.c: (raptor_rss10_store_statement): Never call raptor_free_statement() * src/raptor_serialize_rss.c: (raptor_rss10_serialize_statement): Tidy logic looking for type triples. * src/raptor_serialize_rss.c: Update debug messages to emit raptor term not assume URIs * src/raptor_serialize_rss.c: (raptor_rss10_serialize_statement): Do not set block URIs from blank nodes * src/raptor_serialize_rss.c: Fix crash in serializing to atom when comparing blank node as URI (raptor_rss10_serialize_statement): Do not assume object is URI. NOTE: This should use raptor_term_equals and be rewritten to remove the item_uri code. 2010-09-02 Nicholas J Humfrey * src/raptor_serialize_json.c: (raptor_json_serialize_start): Corrected option macro name from RAPTOR_OPTION_RELATIVE_URIS to RAPTOR_OPTION_JSON_CALLBACK. 2010-08-22 Nicholas J Humfrey * raptor2.rdf.in: Normalised tabs into spaces #ws 2010-08-17 Dave Beckett * src/raptor_nfc_test.c: Update for Raptor 2 API. 2010-08-16 Dave Beckett * Snapshotted raptor2_1_9_0 for 1.9.0 release (GIT 9223bfb82c7291dfc778d5bde690a6ecdb652e8e) 2010-08-15 Dave Beckett * UPGRADING.html: remove overview section * INSTALL.html, LICENSE.html, NEWS.html, README.html, RELEASE.html, UPGRADING.html: Tidy HTML style and change title to Raptor RDF Syntax Library * TODO.html: Empty document and point at bugs.librdf.org * UPGRADING.html, Makefile.am: Added UPGRADING.html * docs/tmpl/section-general.sgml: Update tmpl for adding raptor_log_message * src/raptor.h: Remove newline so raptor_log_message gets scanned by gtk-doc! * docs/raptor-sections.txt: Add raptor_log_message * docs/.gitignore: Ignore raptor-fake.i for real * docs/.gitignore: Ignore raptor-fake.i * docs/Makefile.am, docs/tmpl/section-general.sgml: Make raptor-fake.i generate properly * scripts/Makefile.am: restore CLEANFILES * docs/Makefile.am, scripts/Makefile.am, scripts/fix-gtkdoc-header.pl: Attempt to fix raptor.h header to make gtk-doc happier * docs/raptor-1-to-2-map.tsv: more words in notes * docs/raptor-tutorial-parsing.xml: need base uri pointer * docs/raptor-tutorial-serializing.xml: enumeration * docs/raptor-tutorial-parsing.xml: enumeration * docs/raptor-tutorial-querying-functionality.xml: typo * docs/raptor-tutorial-parsing.xml: raptor 2 * docs/raptor-tutorial-intro.xml: raptor 2 * docs/.gitignore: Ignore upgrade-script.pl * scripts/build-formats.c: Call emit_format_to_syntax_list() at end to emit last seen mime type. * scripts/build-formats.c: (emit_format_to_syntax_list): Added to emit format -> list of parser/serializers. * scripts/build-formats.c: print previous mime type in types index * src/raptor_serialize_ntriples.c: Label nquads as "N-Quads" 2010-08-14 Dave Beckett * docs/libraptor2.3: Cut down for raptor2 and point to API docs in HTML * README.html: N-Quads serializer * docs/raptor-parsers.xml: JSON parser * INSTALL.html, README.html, raptor2.rdf.in: Update docs to point to GitHub source and browse * 000-README-GIT.txt: Remove migration text * AUTHORS: Add Nicholas J Humfrey * docs/tmpl/section-locator.sgml: Update generated tmpl for locator rename * RELEASE.html: 1.9.0 notes * docs/raptor-serializers.xml: Add N-Quads section * tests/trig/Makefile.am: Add bug370.out to dist * tests/trig/Makefile.am, tests/trig/bug370.out, tests/trig/bug370.trig, tests/trig/example1.out, tests/trig/example2.out, tests/trig/example3.out: Convert TRiG output results file to N-Quads to check graph parameter. * configure.ac, src/Makefile.am, src/raptor_internal.h, src/raptor_serialize.c, src/raptor_serialize_ntriples.c: Add N-Quads serializer name 'nquads' using N-Triples serializer. Add conditions in makefile to allow ntriples and/or nquads serializers raptor_ntriples_serializer_context rename dummy field to is_quads (raptor_ntriples_serialize_statement): Pass on flag to print graph. (raptor_nquads_serializer_register_factory): Added to register nquads serializer with text/n-quads mime type (raptor_init_serializer_nquads): Added 2010-08-11 Dave Beckett * tests/turtle/Makefile.am, tests/turtle/bad-23.ttl: Add bad test bad-23 for http://bugs.librdf.org/mantis/view.php?id=369 2010-08-09 Dave Beckett * docs/raptor-1-to-2-map.tsv, docs/raptor-sections.txt, src/raptor.h, src/raptor_locator.c: Revert raptor_locator_uri_string to raptor_locator_uri to protect Reland SWIG API * configure.ac, src/raptor_general.c, src/raptor_internal.h: Remove --with-dmalloc and dmalloc library support 2010-08-09 Lauri Aalto * src/raptor_term.c: STANDALONE flagging for raptor_term unit tests 2010-08-08 Dave Beckett * docs/raptor-1-to-2-map.tsv: ID function rename typo 2010-08-08 Dave Beckett * docs/tmpl/section-parser.sgml, docs/tmpl/section-triples.sgml, docs/tmpl/section-world.sgml: Update tmpls 2010-08-08 Dave Beckett * docs/raptor-sections.txt: Update sections for ID handler changes * configure.ac: Protect checks for optional configure tests with quoting and X 2010-08-08 Nicholas J Humfrey * src/raptor_json.c: The JSON parser supports both Resource-Centric and Triples. 2010-08-06 Dave Beckett * src/raptor_grddl.c: Simplify libxslt save/restore logic (raptor_libxslt_set_global_state): Always save default security prefs. (raptor_libxslt_reset_global_state): Always restore default security prefs. (raptor_init_parser_grddl_common): Init sec prefs if policy allows and NULL * src/raptor_grddl.c: Alter GRDDL init/cleanup of libxslt to be done around transform This means that raptor can operate in a single threaded environment with other libxslt users, since it saves/restores all the libxslt global vars that it needs back to their original state after every xslt transform. raptor_grddl_parser_context gains saved_xsltGenericError, saved_xsltGenericErrorContext and saved_xsltSecurityPrefs fields. (raptor_grddl_run_grddl_transform_doc): Use raptor_libxslt_set_global_state() and raptor_libxslt_reset_global_state() to save restore around transforms. (raptor_init_parser_grddl_common): Do not set default security prefs. (raptor_terminate_parser_grddl_common): NULL security prefs after freeing them. (raptor_libxslt_set_global_state): Added to save libxslt shared state that grddl parser needs to overwrite. (raptor_libxslt_reset_global_state): Added to reset state back to original values. Candidate for backporting to raptor1 since it has no API impact. * src/raptor_grddl.c: Document libxslt global settings. (raptor_grddl_run_grddl_transform_doc): set per-transform generic error handler * docs/raptor-1-to-2-map.tsv: Update from genid changes Renamed 1.9.0 genid functions are renamed again, moving to world class. - raptor_world_set_generate_bnodeid_parameters renamed from raptor_parser_set_default_generate_id_parameters - raptor_world_set_generate_id_handler renamed from raptor_parser_set_generate_id_handler New 1.9.0 genid function renamed: - raptor_world_generate_bnodeid renamed from raptor_parser_get_new_generated_id and loses type arg. * src/raptor_general.c, src/raptor_grddl.c, src/raptor_internal.h: Make XSLT security preference setting totally disableable (raptor_world_set_libxslt_security_preferences): If user sets any value, even NULL, record that. (raptor_init_parser_grddl_common): If pointer is NULL and user didn't set it, only then make raptor-specific policy. (raptor_terminate_parser_grddl_common): If pointer is not NULL and raptor set it, then free policy. xslt_security_preferences_policy field of raptor_world internal renamed from free_xslt_security_preferences This patch is a candidate for backporting to raptor1. * src/raptor_www.c: (raptor_www_set_user_agent): memcpy comment * src/raptor_libxml.c: memcpy replacing more strcpy for known length strings. Check NUL copying. * src/raptor_www.c: memcpy replacing more strcpy for known length strings. Check NUL copying. * src/raptor_sax2.c: (raptor_sax2_start_element): memcpy replacing strcpy with known length string. * src/raptor_qname.c: memcpy replacing more strcpy for known length strings. Check NUL copying. * src/raptor_namespace.c: (raptor_new_namespace_from_uri): memcpy replacing strcpy * src/raptor_uri.c: (raptor_uri_filename_to_uri_string): memcpy replacing strcpy * src/raptor_uri.c: (raptor_new_uri_for_rdf_concept): memcpy replacing strcpy * src/raptor_uri.c: (raptor_new_uri_from_id): memcpy replacing strcpy * src/raptor_uri.c: (raptor_uri_print): Correct error check and simplify code. 2010-08-05 Nicholas J Humfrey * src/raptor_term.c: Changed behaviour of raptor_new_term_from_counted_blank() and raptor_new_term_from_blank() to generate a new identifier if NULL is passed in. * src/ntriples_parse.c: Fix for ntriples parsing after the raptor_world_generate_bnodeid() changes. Fix was to delete code - blank nodes must be named in ntriples. 2010-08-04 Dave Beckett * src/raptor_guess.c, src/raptor_internal.h: Remove internal raptor_parser_get_current_base_id and raptor_parser_factory method * src/ntriples_parse.c, src/raptor.h, src/raptor_general.c, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/turtle_parser.y: Move generate ID code from raptor_parser to raptor_world class (raptor_world_generate_bnodeid): Replaces raptor_parser_internal_generate_id with arg RAPTOR_GENID_TYPE_BNODEID. Enum raptor_genid_type deleted - only RAPTOR_GENID_TYPE_BNODEID was ever used. raptor_generate_bnodeid_handler handler typedef renamed from raptor_generate_id_handler since it now just applies to blank node IDs. raptor_generate_bnodeid_handler handler renamed from raptor_generate_id_handler. (raptor_free_world): Free user genid prefix if set. (raptor_world_set_generate_bnodeid_handler): Renamed from raptor_parser_set_generate_id_handler. (raptor_world_generate_bnodeid): Renamed from raptor_parser_get_new_generated_id and loses type arg. (raptor_world_set_generate_bnodeid_parameters): Renamed from raptor_parser_set_default_generate_id_parameters. Update all callers to mostly use raptor_world_generate_bnodeid() except where a user bnode ID is given, such as in Turtle _:foo or RDF/XML rdf:nodeid="foo". Remove copying of genid fields from parsers to parsers when creating sub-parsers for e.g. grddl. typedef raptor_parser loses generate_id* and default_generate_id* fields. (raptor_world_internal_generate_id): Renamed from raptor_parser_internal_generate_id and loses type arg. typedef raptor_world gains generate_bnodeid and default_generate_bnodeid fields. (raptor_free_parser): Lose tidying user genid prefix. (raptor_parser_copy_user_state): Remove copying of genid fields between parser user states. (raptor_parser_get_current_base_id): Deleted, no longer needed to support copying genids between parser states. 2010-08-03 Dave Beckett * src/raptor_term.c: More raptor_term unit tests * src/Makefile.am, src/raptor_term.c: Add unit tests for raptor_term 2010-08-02 Dave Beckett * src/raptor_term.c: (raptor_term_equals): Make terms *different* not equal if lengths are different 2010-07-20 Dave Beckett * tests/rdfa/Makefile.am: typo * tests/rdfa/Makefile.am: Use automake conditional RAPTOR_PARSER_RDFA to enable tests * tests/json/Makefile.am: Use automake conditional RAPTOR_PARSER_JSON to enable tests * tests/grddl/Makefile.am: Use automake conditional RAPTOR_PARSER_GRDDL to enable tests * docs/raptor-parsers.xml: Added json parser section * src/raptor_json.c: Note this is RDF/JSON parser (resource centric) today * src/raptor_serialize_json.c: Accept "text/json" mime type with low Q for json serializers * INSTALL.html: words * INSTALL.html: correct autotools min versions * INSTALL.html: GIT * INSTALL.html: add YAJL pointers * configure.ac: add yajl pointer * configure.ac: Added --with-yajl=DIR (or 'no') to configure where yajl is installed. * scripts/process-changes.pl: docs 2010-07-02 Lauri Aalto * tests/json/Makefile.am: Run JSON parser tests only if the parser is enabled 2010-07-01 Nicholas J Humfrey * src/raptor_json.c: Added space after commas in parameter lists * src/raptor_json.c: Removed spaces after if * src/raptor_json.c: Changed single line if-statments to two line if statements * src/raptor_json.c: Changed C++ style comments to C style * tests/json/Makefile.am, tests/json/bad-13.json: Added a Test Case for missing out the term type * src/raptor_json.c: Textual changes to error messages. 2010-06-30 Nicholas J Humfrey * src/raptor_json.c: Removed unused debugging code. * tests/json/Makefile.am, tests/json/bad-00.json, tests/json/bad-01.json, tests/json/bad-02.json, tests/json/bad-03.json, tests/json/bad-04.json, tests/json/bad-05.json, tests/json/bad-06.json, tests/json/bad-07.json, tests/json/bad-08.json, tests/json/bad-09.json, tests/json/bad-10.json, tests/json/bad-11.json, tests/json/bad-12.json: Added example of bad RDF/JSON to check for parse errors. * src/raptor_json.c: Slightly stricter parsing of JSON. Better error messages then things go wrong. * src/raptor_json.c, tests/json/Makefile.am, tests/json/example3.json, tests/json/example3.nt: Enabled allowing comments in JSON * src/raptor_json.c: Fixed comparision between signed and unsigned integers. 2010-06-29 Nicholas J Humfrey * src/raptor_json.c: Improved JSON syntax detection to look at the content. * src/raptor_json.c: Lots of code re-factoring. - Improved error handling - Using Raptor memory allocation - Improved memory management * src/raptor_json.c: Changed malloc() to RAPTOR_MALLOC, free() to RAPTOR_FREE(). * src/raptor_json.c: Rewrote fprintf(stderr, ...) to raptor_parser_fatal_error(...) 2010-06-28 Dave Beckett * src/raptor_uri.c: (raptor_new_uri_from_counted_string): autodoc to note counted string need not be NULL-terminated. * src/raptor_term.c: autodocs to note counted string constructors need not be given NULL-terminated strings. 2010-06-27 Nicholas J Humfrey * src/raptor_json.c: Added RATOR_JSON_ prefix to symbols. Code cleanup. * src/raptor_json.c, tests/json/Makefile.am, tests/json/example1.json, tests/json/example1.nt, tests/json/example2.json, tests/json/example2.nt: Added support for parsing resource-centric JSON * configure.ac, tests/Makefile.am, tests/json/Makefile.am, tests/json/example1.json, tests/json/example1.nt, tests/json/example2.json, tests/json/example2.nt: Created some tests for RDF/JSON. * src/raptor_json.c: Added support for Bnodes and Datatyped literals. Fix for parsing small files. * src/raptor_json.c: Commiting initial work on writing an JSON parser. Currently only handles json-triples. Lots of tidying up required: - symbol names - remove debugging messages - sort out memory management 2010-06-26 Nicholas J Humfrey * configure.ac, src/Makefile.am, src/raptor_internal.h, src/raptor_parse.c: Added libyajl library checking and json parser building to automake 2010-06-06 Dave Beckett * examples/grapper.c: code style * examples/Makefile.am: Add grapper-future rule * examples/grapper.c: fix menu preferences link * examples/grapper.c: Remove more deprecated GTK - GtkToolTips and trigger based on macro 2010-06-05 Dave Beckett * examples/grapper.c: Better but preferences menu still broken * examples/grapper.c: Another attempt, still crashes. GTK docs also suck * examples/grapper-ui.xml, examples/grapper.c: GtkUIManager and external XML file is too damn complex to make work - disable. * examples/grapper-ui.xml: Add GTK UI xml * examples/grapper.c: more code explanation * examples/grapper.c: Make both combo box alternatives work * examples/grapper.c: Replace deprecated (in 2.4.x) gtk_option_menu with gtk_combo_box * examples/grapper.c: more 2.5.0+ code pruning * examples/grapper.c: Require GTK 2.5.0+ (that's still quite old!) * examples/grapper.c: code style * examples/grapper.c: Update to Raptor 2 API 2010-06-02 Dave Beckett * docs/raptor-sections.txt: added raptor_new_term_from_counted_blank * src/raptor_term.c: fix raptor_new_term_from_counted_blank * docs/raptor-1-to-2-map.tsv, src/raptor.h, src/raptor_term.c: Added raptor_new_term_from_counted_blank for term with counted length ID. (raptor_new_term_from_counted_blank): Added * docs/raptor-1-to-2-map.tsv, docs/raptor-sections.txt, docs/tmpl/section-triples.sgml: Update docs for raptor_new_term_from_counted_literal * src/raptor.h, src/raptor_term.c: Added raptor_new_term_from_counted_literal for constructing from strings with known lengths. (raptor_new_term_from_counted_literal): Added (raptor_new_term_from_literal): Now calls raptor_new_term_from_counted_literal. 2010-05-25 Dave Beckett * src/raptor_term.c: (raptor_new_term_from_literal): Fail if language and datatype are given like librdf_new_node_from_typed_literal * docs/raptor-1-to-2-map.tsv, src/raptor.h, src/raptor_serialize_ntriples.c: (raptor_statement_ntriples_write): Add flag to decide whether to write graph term. * src/raptor_serialize_ntriples.c, src/raptor_statement.c: (raptor_statement_print_as_ntriples, raptor_statement_ntriples_write): Write N-Triples not N-Quads 2010-05-25 Lauri Aalto * src/raptor_term.c: (raptor_new_term_from_literal): Ownership of language should not be taken. * src/raptor_term.c: (raptor_new_term_from_literal): Do not overwrite literal length with language length. 2010-05-24 Dave Beckett * docs/raptor-1-to-2-map.tsv, docs/raptor-sections.txt: Add new statement methods to sections and functions map * src/raptor_serialize_html.c, src/raptor_serialize_rdfxml.c: (raptor_term_html_write, raptor_rdfxml_serialize_statement): Use literal and language length fields direct, remove strlen()s * src/raptor_serialize_ntriples.c: (raptor_term_ntriples_write, raptor_statement_ntriples_write): Check for NULL args and early write failures * src/raptor_term.c: (raptor_term_as_counted_string, raptor_term_as_string, raptor_term_print_as_ntriples, raptor_term_equals): Check for NULL term args * src/raptor_statement.c: (raptor_statement_compare): Return stable order if both statements are NULL * src/raptor_statement.c: (raptor_statement_print, raptor_statement_print_as_ntriples): Check statement arg is not NULL * src/raptor.h, src/raptor_statement.c: (raptor_statement_equals): Added to public API * src/raptor.h: Add raptor_statement_copy to public API * src/raptor.h, src/raptor_statement.c: Add new public function raptor_statement_clear (raptor_statement_clear): Added based on core of raptor_statement_free. (raptor_statement_free): Simplified. * src/raptor_statement.c: (raptor_new_statement,raptor_new_statement_from_nodes, raptor_statement_copy): Validate args are not NULL * src/raptor.h, src/raptor_internal.h: Export raptor_new_statement, raptor_new_statement_from_nodes and raptor_statement_copy to public API 2010-05-18 Dave Beckett * src/Makefile.am, src/raptor_statement.c, src/raptor_term.c: Move raptor_term class code to new raptor_term.c * src/raptor_uri.c: (raptor_uri_compare): code tidier * src/raptor_uri.c: (raptor_uri_compare): Make both NULL be equal. * src/raptor_uri.c: (raptor_uri_compare): Update to match librdf_uri_compare when both NULL. 2010-05-16 Dave Beckett * docs/raptor-1-to-2-map.tsv: Added raptor_term_blank_value * scripts/Makefile.am: add rule for building libraptor2.la * src/raptor_locator.c: #docs * docs/raptor-sections.txt: Add raptor_term_blank_value * utils/rdfdiff.c: Update to new raptor_term blank fields * src/raptor_statement.c: Initialize raptor_term length fields (raptor_new_term_from_literal, raptor_new_term_from_blank): init the fields. (raptor_term_equals): Use lengths as short cut for difference. * src/raptor.h, src/raptor_rdfxml.c, src/raptor_serialize_dot.c, src/raptor_serialize_html.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c, src/raptor_statement.c, src/turtle_parser.y: raptor_term blank is now a new typedef raptor_term_blank_value with length field. Update all callers * src/raptor.h: raptor_term_literal_value gains string_len and language_len fields 2010-05-14 Dave Beckett * src/ntriples_parse.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_namespace.c, src/raptor_option.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_rfc2396.c, src/raptor_rss.c, src/raptor_sax2.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_set.c, src/raptor_stringbuffer.c, src/raptor_uri.c, src/raptor_www.c, src/raptor_www_curl.c, src/raptor_www_libxml.c, src/raptor_xml.c, src/turtle_lexer.l, src/turtle_parser.y: code style: Replace strncpy with memcpy - never need strncpy zero-checking/filling semantics. 2010-05-12 Dave Beckett * src/raptor_internal.h: Deleted raptor_unique_id prototype * src/raptor_abbrev.c: (raptor_unique_id): Deleted - never used. 2010-05-07 Dave Beckett * src/raptor.h: Adjust raptor_term_type so enum values match librdf_node_type raptor_term_type: Made enum values match librdf_node_type usage and introduce unused type '3'. 2010-05-05 Dave Beckett * LICENSE.html: Link to specific GPL 2.1 version doc. Wording and formatting 2010-05-04 Dave Beckett * docs/raptor-tutorial-parsing.xml: pkg-config * docs/raptor-tutorial-parsing.xml: statement not triples * docs/raptor-tutorial-querying-functionality.xml: Fix exampel of listing parser options to use correct description. * docs/raptor-tutorial-querying-functionality.xml: RAPTOR_OPTION_LAST * docs/raptor-1-to-2-map.tsv: Update raptor_locator_print and raptor_avltree_print signatures * docs/raptor-tutorial-parsing.xml, docs/raptor-tutorial-serializing.xml: Update tutorial references * docs/tmpl/section-avltree.sgml, docs/tmpl/section-locator.sgml: Update tmpls * src/raptor.h, src/raptor_avltree.c: (raptor_avltree_print): Gains an int return status like other print functions * src/raptor.h, src/raptor_locator.c: (raptor_locator_print): Gains an int return status like other print functions * src/raptor_avltree.c: autodocs * docs/tmpl/section-triples.sgml: Update tmpls for raptor_term_compare and raptor_term_equals * src/raptor.h: fix prototype for raptor_term_equals to match code * docs/raptor-1-to-2-map.tsv, docs/raptor-sections.txt: Add raptor_term_compare and raptor_term_equals to public API * src/raptor.h, src/raptor_internal.h: Move raptor_term_compare and raptor_term_equals to public API * src/raptor_statement.c: (raptor_term_equals): autodocs * src/raptor_parse.c: autodocs * docs/tmpl/section-triples.sgml: Remove RAPTOR_IDENTIFIER docs * docs/raptor-parsers.xml, docs/raptor-serializers.xml, docs/raptor-tutorial-intro.xml, docs/raptor-tutorial-parsing.xml, docs/raptor-tutorial-querying-functionality.xml, docs/raptor-tutorial-serializing.xml: Start to update tutorial - still working through WARNING * scripts/format-changes.pl, scripts/process-changes.pl: Update scripts 2010-05-03 Dave Beckett * scripts/process-changes.pl: Generate a perl script to rename names * scripts/process-changes.pl: put docbook xml format generation optional * scripts/process-changes.pl: Use Getopt::Long and Pod::Usage for proper option handling * docs/Makefile.am: Rename format-changes.pl to process-changes.pl * scripts/Makefile.am: Rename format-changes.pl to process-changes.pl * scripts/process-changes.pl: switch to file handle arg on print functions Rename option to --docbook-xml DOCBOOK-XML file rather than print to stdout * docs/raptor-1-to-2-map.tsv: add note for raptor_statement_v2 * docs/raptor-1-to-2-map.tsv: raptor_log is not a type * docs/raptor-1-to-2-map.tsv: # before names in notes * scripts/format-changes.pl: Make links to enum values 2010-05-03 Lauri Aalto * src/raptor_xml.c: fixed compiler warning * src/raptor_serialize_rdfxmla.c: #ws * src/turtle_parser.y: fixed casts for !RAPTOR_DEBUG 2010-05-02 Dave Beckett * utils/Makefile.am: fix rapper.html rule for scripts * docs/raptor-1-to-2-map.tsv: annotations for raptor_identifier to raptor_term renamings * docs/raptor-1-to-2-map.tsv: Add annotations for old raptor_www_ functions * docs/raptor-1-to-2-map.tsv: Add more annotations for old functions and types * src/raptor_iostream.c: (raptor_new_iostream_to_string): Rename arg to malloc_handler * docs/raptor-1-to-2-map.tsv: typo * docs/raptor-1-to-2-map.tsv: annotate former message handler typedefs * docs/raptor-1-to-2-map.tsv: annotate former URI handler _func typedefs * docs/raptor-1-to-2-map.tsv: raptor_log_message is new * docs/raptor-1-to-2-map.tsv, docs/raptor-sections.txt, docs/tmpl/section-avltree.sgml, docs/tmpl/section-general.sgml, docs/tmpl/section-www.sgml, src/raptor.h, src/raptor_abbrev.c, src/raptor_avltree.c, src/raptor_grddl.c, src/raptor_iostream.c, src/raptor_parse.c, src/raptor_rss_common.c, src/raptor_sequence.c, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_set.c, src/raptor_uri.c, src/raptor_www.c, src/turtle_parser.y: Renamed typedefs ending in _function to _handler. Also changed parameter names and internal field names from foo_fn to foo_handler to match. (raptor_data_free_handler, raptor_data_context_free_handler, raptor_data_context_print_handler and raptor_data_context_print_handler): Signature of these typedefs were changed to match the other handlers to became *pointers* to functions so e.g. a call with e.g.(raptor_data_context_free_handler*)blah becomes (raptor_data_context_free_handler)blah. raptor_data_compare_handler renamed from raptor_data_compare_function raptor_data_malloc_handler renamed from raptor_data_malloc_function raptor_data_free_handler renamed from raptor_data_free_function raptor_avltree_visit_handler renamed from raptor_avltree_visit_function Updated all definitions, fields and arguments to match. * scripts/.gitignore: ignore more * scripts/format-changes.pl: add change table titles * scripts/format-changes.pl: format types * src/raptor.h: autodocs * docs/tmpl/section-serializer.sgml: update tmpls * docs/raptor-1-to-2-map.tsv: Added raptor_serializer_flush * docs/raptor-sections.txt: add new functions * src/raptor.h: raptor_data_free_handler autodocs * docs/raptor-1-to-2-map.tsv: more things were added not removed * docs/raptor-1-to-2-map.tsv: more things were added not removed * docs/raptor-1-to-2-map.tsv: raptor_uri_source type was deleted not added. * docs/raptor-1-to-2-map.tsv: Add type changes * scripts/format-changes.pl: Ignore types for now 2010-04-30 Dave Beckett * src/raptor.h, src/raptor_serialize.c: (raptor_serializer_flush): Added * src/raptor_internal.h: raptor_serializer_factory_s gains serialize_flush factory method. * Makefile.am, configure.ac, docs/Makefile.am, docs/build-formats.c, docs/format-changes.pl, fix-groff-xhtml, scripts/Makefile.am, scripts/build-formats.c, scripts/fix-bison, scripts/fix-flex, scripts/fix-groff-xhtml, scripts/format-changes.pl, src/Makefile.am, src/fix-bison, src/fix-flex: Move scripts and utility programs into new scripts dir * docs/tmpl/section-general.sgml, docs/tmpl/section-iostream.sgml, docs/tmpl/section-www.sgml: Update tmpls * docs/raptor-sections.txt, docs/tmpl/section-iostream.sgml, docs/tmpl/section-unused.sgml, docs/tmpl/section-www.sgml, src/raptor.h, src/raptor_iostream.c, src/raptor_www.c: Add typedef raptor_data_malloc_function raptor_data_malloc_function: added for a malloc() signature function. (raptor_www_fetch_to_string, raptor_new_iostream_to_string): Use for argument malloc_handler. * docs/raptor-sections.txt: Remove internal raptor_avltree_check and raptor_avltree_dump * docs/tmpl/section-general.sgml, docs/tmpl/section-parser.sgml: Update tmpls * src/raptor.h, src/raptor_internal.h: Move raptor_avltree_dump and raptor_avltree_check debug prototypes to internal header * docs/raptor-sections.txt: Add raptor_graph_mark_flags, raptor_parser_parse_iostream, raptor_syntax_bitflags * docs/tmpl/section-option.sgml, docs/tmpl/section-parser.sgml, docs/tmpl/section-www.sgml, docs/tmpl/section-xml-namespace.sgml: Update tmpls 2010-04-29 Dave Beckett * src/raptor_serialize_rss.c: code style * src/raptor_serialize.c: code style * src/raptor_abbrev.c: code style * src/raptor_librdfa.c: code style * src/raptor_turtle_writer.c: Update to add RAPTOR_OPTION_STRICT to cases. 2010-04-28 Dave Beckett * docs/format-changes.pl: intro section * docs/raptor-1-to-2-map.tsv: More replacements Replace raptor_serializer_get_option_string with raptor_serializer_get_option Note replace raptor_iostream_write_string_turtle with raptor_string_python_write * docs/raptor-1-to-2-map.tsv: Add replacement note for delete raptor_set_parser_strict * docs/raptor-1-to-2-map.tsv: Remove raptor_world_enumerate_parsers with raptor_world_get_parser_description. * docs/raptor-sections.txt: update for graph_handler->graph_mark_handler renames * docs/raptor-sections.txt: Update functions for changes * docs/raptor-1-to-2-map.tsv: Update functions for 2010-03-26 to 2010-03-28 changes missed * docs/raptor-1-to-2-map.tsv: raptor_set_parser_strict removed * utils/rapper.1: Note -m/--mode removed but wasn't in the raptor V1 man page. * src/raptor_parse.c, utils/rapper.c: Replaced raptor_parser_set_strict() with RAPTOR_OPTION_STRICT (raptor_parser_set_strict): Removed from public API and made static, internal. (raptor_parser_set_option): When RAPTOR_OPTION_STRICT is seen, call above function to set the values. Update rapper to remove the -m/--mode lax/strict favouring the -f strict option with boolean value. * src/raptor.h, src/raptor_option.c: Add RAPTOR_OPTION_STRICT for parser with bool value * tests/rdfxml/Makefile.am: (check-scan-rdf): Use -f scanForRDF instead of removed option -s 2010-04-27 Dave Beckett * docs/build-formats.c: Fix use of wrong array index. Rewrite for clarity * utils/rapper.1: changes * utils/rapper.1: adjust date * utils/rapper.1: Remove -s / --scan * utils/rapper.c: Remove option --scan / -s since it's the same as -f scanForRDF 2010-04-25 Dave Beckett * src/raptor_librdfa.c: Set mime types for RDFA parser with higher Q than GRDDL parser * docs/build-formats.c: Add intro section and remove version from top. * docs/build-formats.c: Note when there is no parser or serializer for a mime type * src/raptor_serialize_html.c: Set html serializer Q 1.0 * src/raptor_serialize_json.c: Pick json resource serializer as json Q 1.0 choice * src/raptor_serialize_rdfxml.c: Make rdfxml serializer accept text/rdf with lower q * src/raptor_serialize_turtle.c: Make turtle serializer accept other turtle mime types with q < 10 * src/raptor_serialize_rss.c: Make RSS tag soup serializer accept other rss mime types with low q * src/raptor_rss.c: Make RSS tag soup parser accept application/atom+xml q=1.0 for atom. * docs/build-formats.c: Emit mime types index section 2010-04-24 Dave Beckett * src/raptor_avltree.c, src/raptor_general.c, src/raptor_iostream.c, src/raptor_namespace.c, src/raptor_option.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_sax2.c, src/raptor_sequence.c, src/raptor_serialize.c, src/raptor_statement.c, src/raptor_stringbuffer.c, src/raptor_turtle_writer.c, src/raptor_uri.c, src/raptor_xml.c, src/raptor_xml_writer.c: Make all raptor object destructors handle NULL object pointer. All raptor_free_CLASS() functions when given a NULL object now just return rather than a) crash or b) abort() * docs/.gitignore: ignore more * tests/turtle/Makefile.am: remove deprecated rapper -n when testing turtle parser with with ntriples test * docs/.gitignore: ignore more * tests/rdfxml/Makefile.am: check-assume-rdf does not need -a flag. * docs/tmpl/section-avltree.sgml, docs/tmpl/section-constants.sgml, docs/tmpl/section-general.sgml, docs/tmpl/section-iostream.sgml, docs/tmpl/section-locator.sgml, docs/tmpl/section-memory.sgml, docs/tmpl/section-option.sgml, docs/tmpl/section-parser.sgml, docs/tmpl/section-sax2.sgml, docs/tmpl/section-sequence.sgml, docs/tmpl/section-serializer.sgml, docs/tmpl/section-stringbuffer.sgml, docs/tmpl/section-triples.sgml, docs/tmpl/section-unicode.sgml, docs/tmpl/section-unused.sgml, docs/tmpl/section-uri.sgml, docs/tmpl/section-world.sgml, docs/tmpl/section-www.sgml, docs/tmpl/section-xml-namespace.sgml, docs/tmpl/section-xml-qname.sgml, docs/tmpl/section-xml.sgml: Update doc tmpls * docs/build-formats.c: init parsers/serializers count to 0 * docs/.gitignore, docs/rdfcat.c, docs/rdfprint.c, docs/rdfserialize.c: Remove rdf*.c example files from git; copied in by maintainer rule * examples/.gitignore: Update examples for raptor2 API * .gitignore: Do not ignore examples dir 2010-04-19 Dave Beckett * docs/build-formats.c: ws * docs/build-formats.c: tidy words * docs/build-formats.c: do not put a title on variablelist * docs/build-formats.c: optional desc list title * docs/raptor-docs.xml: Added raptor-formats.xml * docs/Makefile.am: Added raptor-formats.xml * docs/build-formats.c: now using raptor_iostream 2010-04-18 Dave Beckett * docs/build-formats.c: Helper to print raptor syntaxes into docbook xml 2010-04-17 Dave Beckett * utils/rapper.c: code style * utils/rapper.c: Remove unused -a flag. sort options strings alphabetically * utils/rapper.1: 2.0.0 * utils/rapper.c: Remove long deprecated -n flag to set syntax to ntriples * src/raptor_general.c, src/raptor_iostream.c, src/raptor_namespace.c, src/raptor_option.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_statement.c, src/raptor_turtle_writer.c, src/raptor_uri.c, src/raptor_www.c, src/raptor_xml.c, src/raptor_xml_writer.c: Make all constructors check for non-NULL args/world and call raptor_world_open() Adjusted some documentation to allow NULL args that weren't noted, such as raptor_new_turtle_writer() can take a NULL base_uri. * src/raptor.h: raptor_syntax_description docs * src/ntriples_parse.c, src/raptor.h, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_librdfa.c, src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/turtle_parser.y: raptor_syntax_description need_base_uri now raptor_syntax_bitflags enum. (raptor_syntax_description): Change need_base_uri filed to a bitmask of bits defined in enum raptor_syntax_bitflags. Enables this structure to be used beyond parser and serializer formats. (raptor_syntax_bitflags): Added with RAPTOR_SYNTAX_NEED_BASE_URI flag. 2010-04-06 Lauri Aalto * src/raptor_guess.c: (raptor_guess_guess_get_description): Do not call raptor_parser_get_description() with NULL arg. * src/ntriples_parse.c, src/raptor.h, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_serialize_dot.c, src/raptor_serialize_html.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c, src/turtle_parser.y: Removed writable static data. Changed *_names arrays to be const. Also fixed dimensions of *_names arrays to match number of elements. (raptor_syntax_description): Changed syntax names array to const to not lose const qualifiers in initialization/assignment. * src/raptor.h, src/raptor_parse.c, src/raptor_serialize.c: (raptor_world_get_parser_description, raptor_world_get_serializer_description): Removed const qualifier from pass-by-value args. * src/raptor_serialize.c: #ws 2010-04-01 Dave Beckett * src/raptor_serialize_html.c: code style 2010-04-01 Nicholas J Humfrey * ChangeLog: Updated ChangeLog to include new HTML Table serialiser. * configure.ac, src/Makefile.am, src/raptor_internal.h, src/raptor_serialize.c, src/raptor_serialize_html.c: Added HTML Table serialiser. 2010-03-31 Dave Beckett * src/raptor_serialize_ntriples.c: ntriples writes text/plain * utils/rapper.c: Use raptor_world_get_serializer_description() for serializer info. 2010-03-29 Dave Beckett * examples/raptor_abort.c, examples/rdfcat.c, examples/rdfprint.c, examples/rdfserialize.c: Update examples to raptor2 API * examples/Makefile.am: 2010 * configure.ac: package name is raptor2 makes things a little easier * Makefile.am: Do not toy with distdir * raptor2.spec.in: Update for raptor2 * raptor2.pc.in: link with -lraptor2 * tests/Makefile.am: Use libraptor2.la * raptor2.pc.in: adjust includedir to be prefixed by package name * utils/Makefile.am: Use libraptor2.la * src/Makefile.am: libraptor2.la * .gitignore, docs/.gitignore, src/.gitignore: Update git ignores * docs/tmpl/section-general.sgml, docs/tmpl/section-option.sgml, docs/tmpl/section-parser.sgml, docs/tmpl/section-serializer.sgml, docs/tmpl/section-triples.sgml, docs/tmpl/section-world.sgml, docs/tmpl/section-xml-namespace.sgml: update doc tmpls * Makefile.am, configure.ac, docs/Makefile.am, docs/libraptor.3, docs/libraptor2.3, raptor-src-config.in, raptor.pc.in, raptor.rdf.in, raptor.spec.in, raptor2.pc.in, raptor2.rdf.in, raptor2.spec.in, src/Makefile.am, src/raptor-config.1, src/raptor-config.in: Rename raptor to raptor2 2010-03-27 Dave Beckett * src/raptor.h, src/raptor_parse.c: Added raptor_parser_parse_iostream() to parse from an iostream * src/raptor_rss.c: (raptor_rss_emit): Implement emit graph marks for rss-tag-soup parser. * src/raptor_rdfxml.c: Implement emit graph marks for rdfxml parser. * src/raptor_librdfa.c: Implement emit graph marks for librdfa parser. * src/ntriples_parse.c: (raptor_ntriples_generate_statement): Tidy emit graph mark condition. * src/raptor_librdfa.c: ws * src/raptor_librdfa.c: (raptor_librdfa_generate_statement): Do nothing if there is no statement handler. * src/raptor_grddl.c: (raptor_grddl_parse_chunk): Implement graph marks for GRDDL parser. * src/raptor_grddl.c: (raptor_grddl_ensure_internal_parser): Disable graph marks for child parsers. * src/raptor_parse.c: (raptor_parser_start_graph, raptor_parser_end_graph): Use emit_graph_marks flag. * src/raptor_internal.h, src/raptor_parse.c: Add internal raptor_parser flag emit_graph_marks default set. * src/raptor_parse.c: save editor before commit! * src/raptor_internal.h, src/raptor_parse.c: (raptor_parser_copy_flags_state): Added to copy flags to/from parsers. * src/raptor_parse.c: (raptor_parser_copy_user_state): Copy failed, emitted_default_graph bit flags. * src/ntriples_parse.c: Implement graph marks for ntriples parser * src/turtle_common.h, src/turtle_parser.y: Switch to use raptor_parser emitted_default_graph field * src/raptor_internal.h: raptor_parser_s gains emitted_default_graph flag. * src/raptor.h, src/raptor_internal.h, src/raptor_parse.c, src/turtle_parser.y: Added raptor_parser_get_graph() and factory method (raptor_parser_get_graph): Added to get current graph for a parser. raptor_parser_factory: Added optional method get_graph. If missing this indicates that start/end graph marks need to be synthesised. (raptor_turtle_get_graph): Added to implement this for Turtle and TRiG parsers. * src/raptor.h, src/raptor_namespace.c, src/raptor_serialize_turtle.c, src/raptor_xml.c, src/raptor_xml_writer.c: Rename raptor_namespace_copy to raptor_namespace_stack_start_namespace (raptor_namespace_stack_start_namespace): Renamed from raptor_namespace_copy to follow conventions; this is not a copy constructor for the raptor_namespace class, it's a method on the raptor_namespace_stack class. Update all callers * src/raptor_qname.c: (raptor_qname_copy): Handle NULL qname arg. * src/turtle_common.h, src/turtle_parser.y, utils/rapper.c: Update Turtle and TRiG parsers to emit new graph marks * src/raptor.h, src/raptor_internal.h, src/raptor_parse.c: Updated graph mark handler mechanism in a stream of triples raptor_graph_mark_handler: Renamed from raptor_graph_handler since it returns not just a URI (or NULL for default graph) but flags that indicate if it was a start/end and whether the graph name was declared in the syntax or implicit by the stream of statements. raptor_graph_mark_flags: Added used above to record the start/end marks and declared/not. (raptor_parser_set_graph_mark_handler): Renamed from raptor_parser_set_graph_handler. raptor_parser: Renamed field to graph_mark_handler and changed type to match above. (raptor_parser_start_graph): Renamed from raptor_parser_set_graph_name and added is_declared flag. (raptor_parser_end_graph): Added. 2010-03-26 Dave Beckett * docs/tmpl/section-triples.sgml: doc * docs/raptor-sections.txt: fix name * docs/raptor-sections.txt, src/raptor.h: Add extra typedefs for union to help gtkdoc * src/raptor.h: autodocs * docs/raptor-sections.txt: Update sections with renames * docs/raptor-1-to-2-map.tsv: Update for serializer descriptions raptor_serializers_enumerate* replaced by raptor_world_get_serializer_description. Added raptor_serializer_get_description * src/Makefile.am, src/raptor_internal.h, src/raptor_serialize.c, src/raptor_serialize_simple.c: Remove obsolete 'simple' serializer' from sources that has not been enabled for a long time * src/raptor.h, src/raptor_internal.h, src/raptor_rss.c, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, src/raptor_serialize_turtle.c, utils/rapper.c: Syntax description replaces serializer enumeration and get desc methods. (raptor_world_get_serializer_description): Renamed from raptor_world_enumerate_serializers and now just takes single int param. (raptor_serializer_get_description): Added Updated all serializers to register static descriptions of names, mime types, label, uris. Updated rapper utility to use raptor_serializer_get_description() for listing serializers. * src/raptor_parse.c: code style * docs/raptor-1-to-2-map.tsv: Update changes for parser descriptions raptor_get_label, raptor_get_mime_type, raptor_get_need_base_uri are deleted and use result fields from raptor_parser_get_description() * docs/raptor-1-to-2-map.tsv: Use raptor_world_get_parser_description to replace raptor_parsers_enumerate* * src/raptor_parse.c: autodocs * src/raptor.h, src/raptor_guess.c, src/raptor_internal.h, src/raptor_parse.c, utils/rapper.c: Syntax description replaces parser enumeration and get desc methods. (raptor_world_get_parser_description): Renamed from raptor_world_enumerate_parsers and now just takes single int param. (raptor_parser_get_label, raptor_parser_get_mime_type, raptor_parser_get_need_base_uri): Deleted; use raptor_world_get_parser_description() result fields instead. raptor_parser_factory gains an optional get_description factory method. (raptor_parser_get_name): Note this returns main name and point to raptor_parser_get_description() to get other names and info. (raptor_parser_get_description): Added to either use the factory method or else return the factory desc. (raptor_guess_guess_get_description): Updated guess parser to return internal description rather than that of 'guess'. Updated rapper utility to use raptor_parser_get_description() for listing parsers. * src/raptor.h: group public typedefs (code style) * src/ntriples_parse.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/turtle_parser.y: Use raptor_syntax_description inside raptor_parser_factory raptor_parser_factory loses fields about description replaced by a static raptor_syntax_description desc field. Updated all users to use factory->desc.FIELD rather than factory->FIELD for the descriptive fields. * src/raptor.h: Added raptor_type_q and raptor_syntax_description types to public API. * src/ntriples_parse.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/turtle_parser.y: Update parsers to register mime types count * src/raptor_parse.c: Check and use mime_types_count field. (raptor_world_register_parser_factory): Add maintainer/debug check of mime types count. (raptor_world_enumerate_parsers, raptor_parser_get_mime_type): Do not access mime types unless there is one. * src/raptor_internal.h: raptor_parser_factory gains mime_types_count field * src/raptor_internal.h, src/raptor_parse.c, src/turtle_parser.y: Remove raptor_parser_simple_error - only used once. (turtle_parser_error): Call raptor_log_error() direct. (raptor_parser_simple_error): Deleted. * src/raptor_parse.c: ws, code style 2010-03-25 Dave Beckett * src/ntriples_parse.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/turtle_parser.y: Alter parser registration to be more static and declarative. raptor_parser_factory: field name turns into C array of names. field mime_types turns into a C array of #raptor_type_q (raptor_free_parser_factory): Do not free data fields that are now static and shared. (raptor_world_register_parser_factory): Reduce args to just world plus factory handler. (raptor_parser_factory_add_alias, raptor_parser_factory_add_mime_type): Deleted (raptor_world_get_parser_factory, raptor_world_enumerate_parsers, raptor_parser_get_mime_type, raptor_world_guess_parser_name, raptor_parser_get_accept_header_all): Update to handle mime_types as array of #raptor_type_q Alter all parser registrations to pass in static data for names, mime_types, label and uri_string in factory registration function handler. * src/ntriples_parse.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/turtle_parser.y: (raptor_world_register_parser_factory): Renamed from raptor_parser_register_factory. 2010-03-24 Dave Beckett * src/raptor_internal.h: struct raptor_parser_factory_s: docs * src/raptor_parse.c: (raptor_parser_register_factory): autodocs 2010-03-23 Lauri Aalto * src/raptor_statement.c: (raptor_term_as_counted_string): Fixed warning about strict aliasing. 2010-03-23 Lauri Aalto * src/raptor_parse.c, src/raptor_serialize_turtle.c, src/strcasecmp.c: Fixed gcc4 warnings about using a char where an int is required 2010-03-21 Dave Beckett * docs/raptor-1-to-2-map.tsv, src/raptor.h, src/raptor_option.c: Remove raptor_option_get_value_type() - can use option description to get this and more details. 2010-03-20 Dave Beckett * src/raptor_parse.c: (raptor_new_parser): Set default options *after* initialising options block. * src/raptor_option.c: autodoc words * src/raptor_option.c: raptor_world_get_option_from_uri - autodocs * src/raptor_option.c: raptor_option_get_value_type - fix autodoc * src/raptor_general.c: Added turtle writer label to raptor_domain_labels * docs/raptor-sections.txt: Add raptor_option_description * src/raptor.h: raptor_option_description reformatting for autodocs * docs/raptor-1-to-2-map.tsv: add notes * docs/raptor-1-to-2-map.tsv: Added new raptor_option_description functions raptor_world_get_option_description and raptor_free_option_description * docs/raptor-sections.txt: Added raptor_free_option_description * docs/raptor-sections.txt: raptor_parser_get_option_count renamed to raptor_option_get_count * docs/raptor-1-to-2-map.tsv, docs/raptor-sections.txt: Update docs and API ref to remove options enumeration functions. * src/raptor.h, src/raptor_internal.h, src/raptor_option.c, src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Remove all raptor_world_enumerate_CLASS_options functions. (raptor_world_options_enumerate_common): Remove internal function no longer used. Update parser test code to use option descriptions for testing option URIs. Update autodocs to refer to raptor_world_get_option_description() for getting the valid option IDs. * src/raptor.h, src/raptor_option.c, utils/rapper.c: Added option description class to describe any domain option. typedef raptor_option_description added (raptor_world_get_option_description): Added, to create an option description object for a domain and option ID. (raptor_free_option_description): Added to free an option description. (raptor_option_get_option_area_for_domain): Added internal helper to map option IDs to area bits. Update rapper to use option description instead of options enumeration calls. * docs/raptor-1-to-2-map.tsv, src/raptor.h, src/raptor_option.c, utils/rapper.c: Rename raptor_parser_get_option_count() to raptor_option_get_count(). * src/raptor.h: Add RAPTOR_DOMAIN_TURTLE_WRITER 2010-03-18 Lauri Aalto * src/raptor.h, src/raptor_internal.h, src/raptor_option.c, src/raptor_parse.c, src/raptor_serialize.c: Changed raptor_*_set_option() to take in a const char* instead of char*. 2010-03-09 Dave Beckett * docs/raptor-1-to-2-map.tsv: code style * src/raptor.h: code style * docs/tmpl/section-parser.sgml, docs/tmpl/section-serializer.sgml, docs/tmpl/section-world.sgml, docs/tmpl/section-xml.sgml: Update doc tmpls * docs/raptor-1-to-2-map.tsv: Update raptor_xml_writer_set_feature/string new names * docs/raptor-1-to-2-map.tsv: Remove raptor_world_set_www_flags which was added in raptor2 * docs/raptor-sections.txt, src/raptor.h, src/raptor_general.c, src/raptor_www.c: (raptor_world_set_flag): Replaces raptor_world_set_www_flags with world flag RAPTOR_WORLD_FLAG_WWW_SKIP_INIT_FINISH * docs/raptor-sections.txt: Remove get/set option_string forms * docs/raptor-1-to-2-map.tsv: Update serializer and xml_writer get/set options to use just 1 function. * src/raptor_internal.h, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_sax2.c: Update sax2 set options (there is no get) to use generic code. (raptor_new_sax2): Init options structure. (raptor_free_sax2): Clear options structure. (raptor_sax2_set_option): Alter signature to use new format. This API is not yet public. Update code and callers to use the option access macros. * src/raptor_xml_writer.c: (raptor_new_xml_writer): Call raptor_object_options_init * src/raptor.h, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_xml_writer.c, utils/rapper.c: Update xml writer set/get option API to use generic code raptor_xml_writer_s: Add raptor_object_options field and delete flags, indent, xml_version, xml_declaration fields that are now managed by it. (raptor_new_xml_writer): Init options with raptor_object_options_init. Set defaults that are not 0 or NULL. (raptor_free_xml_writer): Use raptor_object_options_clear() to tidy up option strings. (raptor_xml_writer_set_option): Use raptor_object_options_set_option(). (raptor_xml_writer_set_option_string): Deleted, merged into above. (raptor_xml_writer_get_option): Use raptor_object_options_get_option(). (raptor_xml_writer_get_option_string): Deleted, merged into above. Update many references in xml_writer code to numeric and string options to use RAPTOR_OPTIONS_GET/SET_STRING/NUMERIC macros. Update callers of raptor_xml_writer_set_option() inside serializers to pass in NULL string arg. Update rapper utility to use new set_options style calls for parser and serializer. * src/raptor.h, src/raptor_internal.h, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c: Update serializer set/get option API to use generic code raptor_serializer_s: Add raptor_object_options field and delete multiple option_* fields that are now managed by it. (raptor_new_serializer): Init options with raptor_object_options_init. Set defaults that are not 0 or NULL. (raptor_free_serializer): Use raptor_object_options_clear() to tidy up option strings. (raptor_serializer_set_option): Use raptor_object_options_set_option(). (raptor_serializer_set_option_string): Deleted, merged into above. (raptor_serializer_get_option): Use raptor_object_options_get_option(). (raptor_serializer_get_option_string): Deleted, merged into above. Update many references in serializers to numeric and string options to use RAPTOR_OPTIONS_GET/SET_STRING/NUMERIC macros. Some code tidying to break long lines. * docs/raptor-1-to-2-map.tsv: Update API docs for raptor_parser_set_option: args changed raptor_parser_set_option_string: deleted, use above raptor_parser_get_option: args changed raptor_parser_get_option_string: deleted, use above * src/raptor_parse.c: autodocs * src/raptor_option.c: autodocs * src/raptor.h, src/raptor_internal.h, src/raptor_parse.c: Update parser set/get option API to use generic code raptor_parser_s: loose cache_control and user_agent char* option fields that are now managed by the raptor_object_options. (raptor_free_parser): Use raptor_object_options_clear() to tidy up option strings. (raptor_parser_set_option): Use raptor_object_options_set_option(). (raptor_parser_set_option_string): Deleted, merged into above. (raptor_parser_get_option): Use raptor_object_options_get_option(). (raptor_parser_get_option_string): Deleted, merged into above. Update references to string options to use RAPTOR_OPTIONS_GET/SET_STRING macros. * src/raptor_internal.h, src/raptor_option.c: Move support for option get/set into generic code and handle strings. (raptor_object_options_copy_state): Copy strings when copying state. (raptor_object_options_init): Set integers / strings to 0 / NULL. (raptor_object_options_clear_state): Added to free strings. (raptor_object_options_get_option): Added to get any option for an option area. (raptor_object_options_set_option): Added to set any option for an option area. * src/raptor_internal.h, src/raptor_option.c, src/raptor_parse.c: Added raptor_object_options_init to initialise options object. (raptor_object_options_init): Added (raptor_new_parser): Call above to init parser's options block. * src/raptor_internal.h: Made raptor_object_options contain an array of union str/int values and area. raptor_object_options gains raptor_option_area area field and options is now an array of raptor_str_int (union of char*/int) Adjusted RAPTOR_OPTIONS_GET/SET_NUMERIC macros to use integer part of union. * src/raptor_internal.h, src/raptor_option.c, src/raptor_parse.c: Rename raptor_object_options_copy to raptor_object_options_copy_state since it is not a copy constructor (raptor_object_options_copy_state): Renamed from raptor_object_options_copy. * src/raptor_internal.h, src/raptor_option.c, src/raptor_parse.c: Add raptor_object_options_copy() for copying options state (raptor_object_options_copy): Added. (raptor_parser_copy_user_state): Use above. * src/raptor_grddl.c, src/raptor_internal.h, src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c: Move per-parser-project options into a raptor_object_options type. raptor_object_options typedef added. raptor_parser_s: use above rather than array of int. (RAPTOR_OPTIONS_GET_NUMERIC, RAPTOR_OPTIONS_SET_NUMERIC): Added and used by parsers. * src/raptor_statement.c: (raptor_term_as_counted_string): Use raptor_term_ntriples_write() Intended to address Issue#0000357 2010-03-08 Dave Beckett * docs/raptor-docs.xml, docs/tmpl/section-uri-factory.sgml: Remove remaining uri-factory files * src/raptor_general.c: (raptor_world_set_log_handler): Allow setting after world is open. * docs/tmpl/section-unused.sgml: Update doc tmpls * docs/raptor-1-to-2-map.tsv: raptor_new_iostream_from_handler is arg change. no notes * docs/raptor-1-to-2-map.tsv: raptor_uri_is_file_uri is just a rename * docs/format-changes.pl: tweak format_notes regexes * docs/raptor-1-to-2-map.tsv: more deprecation notes * docs/raptor-1-to-2-map.tsv: update raptor_new_identifier/_v2 notes * docs/raptor-1-to-2-map.tsv: raptor_syntax_name_check and raptor_syntax_name_check_v2 replaced by raptor_world_is_parser_name * docs/format-changes.pl: Make format_notes() take is_inline param * docs/format-changes.pl: remove # from formatted type name * docs/format-changes.pl: format notes * docs/format-changes.pl: format notes when present * docs/raptor-1-to-2-map.tsv: Add change notes field * docs/format-changes.pl: read notes field * docs/format-changes.pl: ignore comments 2010-03-08 Lauri Aalto * src/raptor_general.c: (raptor_world_set_flag): Set uri_interning to passed in value. 2010-03-07 Dave Beckett * docs/format-changes.pl: headers for changed * docs/format-changes.pl: adjust headers * docs/.gitignore, docs/Makefile.am, docs/format-changes.pl, docs/raptor-docs.xml: Add raptor changes formatting script format-changes.pl * docs/raptor-1-to-2-map.tsv, raptor-1-to-2-map.tsv: Move raptor-1-to-2-map.tsv to docs * raptor-1-to-2-map.tsv: move to 1 line TSV * raptor-1-to-2-map.tsv: raptor 1 to raptor 2 function API map * docs/raptor-sections.txt: Add RAPTOR_V2_AVAILABLE to sections. * docs/tmpl/section-unused.sgml, src/raptor_uri.c: fix docbook escapes for % in comments * src/raptor_uri.c: autodocs and docbook for uri-hex literals * src/raptor.h: autodocs for raptor_data_compare_function and raptor_data_free_function * src/raptor.h: autodocs for raptor_avltree, raptor_avltree_iterator and raptor_avltree_visit_function. * src/raptor_avltree.c: autodocs for raptor_avltree_print * src/raptor_unicode.c: autodocs and docbook for linking to urls with #s * src/raptor_xml.c: autodocs * src/raptor_statement.c: autodocs * docs/tmpl/section-avltree.sgml: Added avltree template * docs/tmpl/section-general.sgml, docs/tmpl/section-iostream.sgml, docs/tmpl/section-option.sgml, docs/tmpl/section-sequence.sgml, docs/tmpl/section-stringbuffer.sgml, docs/tmpl/section-triples.sgml, docs/tmpl/section-unicode.sgml, docs/tmpl/section-unused.sgml, docs/tmpl/section-uri.sgml, docs/tmpl/section-world.sgml, docs/tmpl/section-xml-namespace.sgml, docs/tmpl/section-xml-qname.sgml, docs/tmpl/section-xml.sgml: Updated sgml templates * docs/raptor-sections.txt: raptor_avltree_dump not raptor_avltree_debug * docs/raptor-sections.txt, src/raptor.h, src/raptor_avltree.c: Added enum raptor_avltree_bitflags for raptor_new_avltree() flags with docs. raptor_avltree_bitflags added with docs on flags. (raptor_new_avltree): Updated docs to point to above. * src/raptor.h, src/raptor_general.c, src/raptor_libxml.c: Rename raptor_world_flag enum values to remove plural FLAGS * src/raptor.h: autodocs * src/raptor_statement.c: autodocs * docs/raptor-sections.txt: autodocs * src/raptor_iostream.c: autodocs * src/raptor_locator.c: autodocs * src/raptor_avltree.c: autodocs * src/raptor.h: autodocs * src/raptor_namespace.c: autodocs * docs/raptor-sections.txt: more new names * src/raptor.h, src/raptor_general.c, src/raptor_internal.h, src/raptor_libxml.c, src/raptor_uri.c: Give raptor_world a flags mechanism for pre-open configuration raptor_world_flags: Replaces raptor_libxml_flags and is an enum not a bitmask. Add RAPTOR_WORLD_FLAGS_URI_INTERNING flag for disabling URI interning using an AVL-Tree. (raptor_world_set_libxslt_security_preferences, raptor_world_set_log_handler): Gains an int return value to report failure if world is already opened. (raptor_world_set_flag): Replaces raptor_world_set_libxml_flags and has both an enum flag, int value and int error return. Update libxml code looking for world->libxml_flags to use new enum names as bitmasks. * src/Makefile.am, src/raptor_general.c, src/raptor_log.c: Move raptor logging code to new raptor_log.c 2010-03-06 Dave Beckett * src/raptor_option.c: code style static int raptor_option_uri_prefix_len replaces #define RAPTOR_OPTION_URI_PREFIX_LEN * src/raptor_parse.c: autodocs * src/raptor.h, src/raptor_general.c: Added raptor_domain and add it to raptor_log_message structure 2010-03-02 Dave Beckett * src/raptor_general.c: Code style 2010-03-01 Dave Beckett * src/raptor.h, src/raptor_general.c, src/raptor_internal.h, utils/rapper.c, utils/rdfdiff.c: Added raptor_log_message for message callbacks. raptor_log_message: added struct raptor_log_handler function prototype now takes just user dat and message. raptor_world_s gains a static raptor_log_message for use in errors. No field here is reference counted. (raptor_log_error): Rename arg to text and init raptor_log_message structure in world object. Updated rapper and rdfdiff log handler functions to new signature. 2010-02-26 Dave Beckett * src/raptor.h, src/raptor_general.c: (raptor_log_level_get_label): Added * src/raptor.h: Move raptor_log_level earlier * src/turtle_parser.y: (graph): Do not free graph name twice for TRIG { } * src/raptor_general.c: 2010 2010-02-26 Lauri Aalto * src/raptor_statement.c: (raptor_term_compare): Allow NULL terms in comparison * src/raptor_statement.c: (raptor_new_statement_from_nodes): free passed in graph term on alloc failure * src/turtle_parser.y: (graph): No need to NULL something that's already NULL. * src/raptor.h: (raptor_statement): fixed docs * src/turtle_parser.y: (raptor_turtle_parse_terminate): Set graph_name to NULL after freeing to prevent a double free. 2010-02-25 Dave Beckett * src/turtle_common.h, src/turtle_parser.y: Generate graph name in raptor_statement object for TRIG syntax struct raptor_turtle_parser_s gains raptor_term* graph_name. Turtle parser: if trig is set, update graph_name field when { and } are parsed, in addition to the raptor_parser_set_graph_name() calls (raptor_turtle_parse_terminate): Free any existing graph name. (raptor_turtle_generate_statement): Set statement graph name for TRIG, free it if copied in. End early if there is no statement handler, no need to compute and free terms. * src/raptor_statement.c: (raptor_free_term): Return if term is nULL * src/raptor.h, src/raptor_internal.h, src/raptor_statement.c, src/turtle_parser.y: Added graph name to raptor_statement raptor_statement typedef gains an optional raptor_term* graph field for the graph name of the triple. (raptor_new_statement_from_nodes): Gains an optional graph argument. (raptor_statement_copy, raptor_free_statement, raptor_statement_print, raptor_statement_print_as_ntriples): Updated to use graph field if present. Updated raptor_new_statement_from_nodes() callers in turtle parser. 2010-02-23 Lauri Aalto * src/raptor_uri.c: (raptor_uri_finish): Set world->uris_tree to NULL after freeing * src/raptor_serialize_turtle.c: (raptor_turtle_serialize_init): Free rdf_type_uri, uri_term - already copied to other objects. 2010-02-22 Lauri Aalto * src/raptor_parse.c: (raptor_parser_factory_add_alias): Do not leak previously added aliases. FIXME: Discards previously added aliases. 2010-02-21 Dave Beckett * src/ntriples_parse.c, src/raptor.h, src/raptor_nfc_test.c, src/raptor_unicode.c, src/turtle_common.c: (raptor_unicode_utf8_string_put_char): renamed from raptor_unicode_string_put_char() * src/raptor.h, src/raptor_internal.h: Export raptor_term_copy to public API. * docs/raptor-sections.txt, src/ntriples_parse.c, src/raptor.h, src/raptor_internal.h, src/raptor_nfc.c, src/raptor_nfc_test.c, src/raptor_turtle_writer.c, src/raptor_unicode.c, src/raptor_xml.c, src/turtle_common.c: Define raptor_unicode_max_codepoint for magic number U+10FFFF 2010-02-18 Dave Beckett * src/ntriples_parse.c, src/raptor.h, src/raptor_nfc.c, src/raptor_nfc_test.c, src/raptor_turtle_writer.c, src/raptor_unicode.c, src/raptor_xml.c: (raptor_unicode_utf8_string_get_char): Renamed from raptor_unicode_decode_utf8_char() * src/raptor.h, src/raptor_nfc_test.c, src/raptor_unicode.c: (raptor_unicode_check_utf8_string): Renamed from raptor_utf8_check() * src/raptor_internal.h, src/raptor_rdfxml.c, src/raptor_unicode.c: (raptor_unicode_check_utf8_nfc_string): Renamed from raptor_utf8_is_nfc() Internal function rename. * src/ntriples_parse.c, src/raptor.h, src/raptor_nfc.c, src/raptor_nfc_test.c, src/raptor_turtle_writer.c, src/raptor_unicode.c, src/raptor_xml.c: (raptor_unicode_decode_utf8_char): Renamed from raptor_utf8_to_unicode_char() * src/Makefile.am, src/raptor_unicode.c, src/raptor_utf8.c: Renamed raptor_utf8.c to raptor_unicode.c * src/raptor.h, src/raptor_abbrev.c, src/raptor_avltree.c, src/raptor_serialize_json.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_set.c, src/raptor_uri.c: raptor_new_avltree() loses world arg. (raptor_new_avltree): Delete world arg that is unused and not necessary to tie an avltree to raptor world. * src/raptor.h, src/raptor_iostream.c, src/raptor_json_writer.c, src/raptor_namespace.c, src/raptor_qname.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_simple.c, src/raptor_turtle_writer.c, src/raptor_xml.c, src/raptor_xml_writer.c: Rename raptor_iostream write bytes/string method to raptor_iostream_TYPE_write form with iostream arg at end. (raptor_iostream_write_bytes, raptor_iostream_write_byte, raptor_iostream_read_bytes): Put iostream arg at end but don't move type, bytes are the lowest level iostream read/writing routines so use a different convention to writing 'types'. (raptor_iostream_string_write); Renamed from raptor_iostream_write_string(). (raptor_iostream_counted_string_write): Renamed from raptor_iostream_write_counted_string(). Update callers - lots of them! * src/raptor_iostream.c: (raptor_iostream_write_bytes): Move offset after a successful write. * src/raptor.h, src/raptor_iostream.c, src/raptor_json_writer.c, src/raptor_serialize_simple.c, src/raptor_turtle_writer.c, src/raptor_xml.c: Rename iostream writing methods to raptor_iostream_TYPE_write form. (raptor_iostream_decimal_write): Renamed from raptor_iostream_write_decimal() (raptor_iostream_hexadecimal_write): Renamed from raptor_iostream_format_hexadecimal() (raptor_stringbuffer_write): Renamed from raptor_iostream_write_stringbuffer() (raptor_uri_write): Renamed from raptor_iostream_write_uri() (raptor_xml_element_write): Renamed from raptor_iostream_write_xml_element() * src/raptor.h, src/raptor_abbrev.c, src/raptor_namespace.c, src/raptor_serialize_turtle.c, src/raptor_turtle_writer.c: Renamed raptor_namespaces_qname_from_uri() to raptor_new_qname_from_namespace_uri() * src/raptor.h, src/raptor_xml.c, src/raptor_xml_writer.c: Rename XML escaping utility functions to be consistent (raptor_xml_escape_string_any): Renamed from raptor_xml_any_escape_string() (raptor_xml_escape_string_any_write): Renamed from raptor_xml_any_escaped_string_write() (raptor_xml_escape_string_write): Renamed from raptor_xml_escaped_string_write() 2010-02-18 Lauri Aalto * src/raptor_internal.h, src/raptor_sax2.c: (raptor_sax2_init,raptor_sax2_finish,raptor_world_s): Removed sax2_initialized flag as no longer necessary. * utils/rdfdiff.c: raptor_parse_uri() -> raptor_parser_parse_uri() 2010-02-17 Dave Beckett * docs/raptor-sections.txt, docs/tmpl/section-general.sgml, docs/tmpl/section-iostream.sgml, docs/tmpl/section-locator.sgml, docs/tmpl/section-option.sgml, docs/tmpl/section-parser.sgml, docs/tmpl/section-serializer.sgml, docs/tmpl/section-triples.sgml, docs/tmpl/section-uri.sgml, docs/tmpl/section-world.sgml, docs/tmpl/section-www.sgml, docs/tmpl/section-xml-namespace.sgml, docs/tmpl/section-xml-qname.sgml, docs/tmpl/section-xml.sgml: update doc templates and sections for function renames * src/raptor.h, src/raptor_serialize.c, src/raptor_serialize_rss.c, utils/rapper.c: Rename serializer methods to match raptor_CLASS_METHOD convention (raptor_serializer_serialize_end): Renamed from raptor_serialize_end(). (raptor_serializer_set_namespace): Renamed from raptor_serialize_set_namespace(). (raptor_serializer_set_namespace_from_namespace): Renamed from raptor_serialize_set_namespace_from_namespace(). (raptor_serializer_start_to_file_handle): Renamed from raptor_serialize_start_to_file_handle(). (raptor_serializer_start_to_filename): Renamed from raptor_serialize_start_to_filename(). (raptor_serializer_start_to_iostream): Renamed from raptor_serialize_start_to_iostream(). (raptor_serializer_start_to_string): Renamed from raptor_serialize_start_to_string(). (raptor_serializer_serialize_statement): Renamed from raptor_serialize_statement(). Updated callers * src/raptor.h, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_parse.c, utils/rapper.c: Rename parse methods to match raptor_CLASS_METHOD convention (raptor_parser_parse_file_stream): Renamed from raptor_parse_file_stream() (raptor_parser_parse_file): Renamed from raptor_parse_file() (raptor_parser_parse_uri): Renamed from raptor_parser_uri() (raptor_parser_parse_uri_with_connection): Renamed from raptor_parse_uri_with_connection() * utils/rapper.c: Update call to raptor_namespaces_format * src/raptor.h, src/raptor_namespace.c, src/raptor_xml.c, src/raptor_xml_writer.c, utils/rapper.c: Rename namespace methods to match raptor_CLASS_METHOD convention (raptor_namespace_format_as_xml): Renamed from raptor_namespaces_format() (raptor_xml_namespace_string_parse): Renamed from raptor_new_namespace_parts_from_string() since it is not a constructor for anything. Tidied docs and code. Updated callers. * src/raptor.h, src/raptor_www.c: (raptor_world_set_www_flags): Renamed from raptor_www_no_www_library_init_finish() and gains flags arg. * src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_statement.c: raptor_term_print_as_ntriples() now uses raptor_term_ntriples_write() (raptor_term_print_as_ntriples): Put handle at end like other FILE* print methods. Update callers * src/raptor.h, src/raptor_general.c: Remove raptor_print_ntriples_string() debug function * src/raptor.h, src/raptor_serialize_ntriples.c: Give raptor_term_ntriples_write() and raptor_statement_ntriples_write() a return value * src/raptor.h, src/raptor_json_writer.c, src/raptor_namespace.c, src/raptor_qname.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_turtle_writer.c, src/raptor_xml.c, src/raptor_xml_writer.c: Rename write to iostream methods of class to follow raptor_CLASS_write() form (raptor_term_ntriples_write): Renamed from raptor_iostream_write_term_ntriples() and moved iostream to last arg. (raptor_xml_any_escaped_string_write): Renamed from raptor_iostream_write_xml_any_escaped_string() and moved iostream to last arg. (raptor_xml_escaped_string_write): Renamed from raptor_iostream_write_xml_escaped_string() and moved iostream to last arg. (raptor_qname_write): Renamed from raptor_iostream_write_qname() and moved iostream to last arg. (raptor_namespace_write): Renamed from raptor_iostream_write_namespace() and moved iostream to last arg. (raptor_string_ntriples_write): Renamed from raptor_iostream_write_string_ntriples() and moved iostream to last arg. (raptor_string_python_write): Renamed from raptor_iostream_write_string_python() and moved iostream to last arg. * src/raptor.h, src/raptor_internal.h, src/raptor_www.c: Move raptor_www_init and raptor_www_finish to internal API. * src/raptor_parse.c: Define ACCEPT_HEADER_LEN since this has been a crash bug twice. * src/ntriples_parse.c: (raptor_ntriples_generate_statement): Let datatype URI be freed after making literal term. * src/raptor_parse.c: (raptor_parser_get_accept_header): strncpy 9 * src/ntriples_parse.c: Use raptor_free_statement() to clear static statement. * src/raptor_statement.c: (raptor_free_statement): use if(dynamic...) * src/raptor_statement.c: (raptor_free_statement): NULL triple part pointers after free terms. * src/ntriples_parse.c: (raptor_ntriples_parse_init): Init static statement. 2010-02-16 Dave Beckett * src/raptor_www_test.c: test fix for www * src/raptor.h, src/raptor_grddl.c, src/raptor_parse.c, src/raptor_www.c, src/raptor_www_test.c: Rename raptor_www constructor / destructor to standard names (raptor_new_www): Renamed from raptor_www_new (raptor_new_www_with_connection): Renamed from raptor_www_new_with_commection (raptor_free_www): Renamed from raptor_www_free Update all callers. 2010-02-16 Lauri Aalto * src/raptor_statement.c: (raptor_free_statement): Free terms contained in statically allocated statements. * src/raptor_iostream.c: raptor_iostream write_bytes handlers are supposed to return the number of bytes written or 0 on failure * src/raptor.h, src/raptor_uri.c: (raptor_uri_get_world): Added new API helper function. Needed to prevent API breakage in librdf_uri. * src/raptor_serialize_rss.c: (raptor_rss10_serialize_statement): Fixed compilation with RAPTOR_DEBUG > 1. * src/turtle_parser.y: Replaced raptor_term_print() calls with raptor_term_print_as_ntriples() to compile with RAPTOR_DEBUG > 1. 2010-02-14 Dave Beckett * docs/tmpl/section-iostream.sgml, docs/tmpl/section-locator.sgml, docs/tmpl/section-option.sgml, docs/tmpl/section-parser.sgml, docs/tmpl/section-sequence.sgml, docs/tmpl/section-serializer.sgml, docs/tmpl/section-world.sgml, docs/tmpl/section-xml.sgml: Update generated docs * README.html: GIT * src/raptor_parse.c: (raptor_parser_get_accept_header): Static accept header should be 9 when string is correct. 2010-02-12 Lauri Aalto * src/raptor.h: Reintroduced RAPTOR_V2_AVAILABLE flag so that library users can support both raptor1 and raptor2. 2010-02-11 Lauri Aalto * src/raptor.h, src/raptor_internal.h: Pulled raptor_statement_init(), raptor_free_statement() to public API. 2010-02-10 Lauri Aalto * src/raptor.h, src/raptor_internal.h, src/raptor_statement.c: Pulled raptor_new_term_from_{uri,literal,blank}(), raptor_free_term() to public API. Added API documentation. 2010-02-09 Lauri Aalto * src/raptor_option.c: Fixed warnings about enum-int mismatches. 2010-02-05 Lauri Aalto * src/raptor_rss.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_serialize_json.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_set.c, src/raptor_uri.c, src/raptor_xml.c, src/raptor_xml_writer.c: indent + whitespace * src/raptor_rdfxml.c: Made daml_namespace_uri_string_len const. Does not need to be initialised data. * src/raptor_iostream.c: (raptor_iostream_write_end): Return success (0) if iostream handler does not implement write_end. Was returning an uninitialized value (most likely non-0). * src/fix-bison, src/turtle_parser.y: Removed fix-bison/yydestruct hack to pass in YYPARAM* to %destructors. Was required for raptor_uri cleanup before raptor_uri became a struct containting raptor_world*. * src/raptor_www.c: (raptor_www_init,raptor_www_finish): Pulled functionality from similar _common functions (removed, no longer a need to share functionality). * src/raptor_serialize_rdfxmla.c: Remove accidental formatting whitespace from string literal. * src/raptor_rfc2396.c: Fixed code formatter artifact in comment URL. * src/raptor.h: Fixed typo in comment. 2010-02-06 Dave Beckett * tests/turtle/Makefile.am: Add check-warn-rdf to check-local * tests/turtle/Makefile.am: Move test-35 to TEST_WARN_FILES * src/raptor_statement.c: (raptor_new_term_from_literal): Remove language used with typed literal and generate warning * src/turtle_parser.y: Fix warning message * src/turtle_parser.y: Remove language used with typed literal and generate warning * tests/turtle/Makefile.am, tests/turtle/test-35.out, tests/turtle/test-35.ttl: Add turtle test 35 to ensure language is removed when datatype is present 2010-02-05 Dave Beckett * docs/raptor-sections.txt: some more fn renames * docs/raptor-docs.xml: rename section-feature.xml to section.option.xml * src/raptor_parse.c: (main): need program even when not debugging * docs/raptor-sections.txt, docs/tmpl/section-feature.sgml, docs/tmpl/section-option.sgml: Rename feature to option - tutorial docs not updated * utils/rapper.c: Use raptor_option_get_value_type_label to print option types * src/raptor.h, src/raptor_option.c: (raptor_option_get_value_type_label): Added * src/raptor_option.c: Update option descriptions to give specific instance names. * utils/rapper.c: feature->option in API calls except leave -f/--feature alone * src/raptor_internal.h, src/raptor_option.c: Renamed raptor_options_enumerate_common to raptor_world_options_enumerate_common * src/raptor_uri.c: (main): Make test code less verbose except when very debuggy. * src/raptor_rfc2396.c: (main): Make test code less verbose except when very debuggy. * src/raptor_www_test.c: (main): Make test code less verbose except when very debuggy. * src/raptor_sequence.c: (main): Make test code less verbose except when very debuggy. * src/raptor_iostream.c: (main): Make test code less verbose except when very debuggy. * src/raptor_stringbuffer.c: (main): Make test code less verbose except when very debuggy. * src/raptor_parse.c: (main): Make test code less verbose except when very debuggy. * src/raptor_option.c: Restore old feature URI prefix * src/Makefile.am, src/raptor.h, src/raptor_feature.c, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_option.c, src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Rename feature to option * src/raptor_feature.c, src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Move raptor_world_enumerate_*_features functions to raptor_feature.c * src/raptor_serialize.c: #autodocs * src/raptor_feature.c, src/raptor_internal.h, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Replace raptor_feature_get_areas with raptor_feature_is_valid_for_area (raptor_feature_get_areas): Deleted. (raptor_feature_is_valid_for_area): Added to check if a feature is valid for a given area; this all the calls to raptor_feature_get_areas() ever was used for. * src/raptor_xml_writer.c: Check for valid xml writer features before getting or setting them. (raptor_xml_writer_set_feature, raptor_xml_writer_set_feature_string, raptor_xml_writer_get_feature, raptor_xml_writer_get_feature_string): Use raptor_feature_get_areas() to check the features are valid. * src/raptor_internal.h, src/raptor_turtle_writer.c: Check for valid turtle writer features before setting them. (raptor_world_enumerate_turtle_writer_features): Renamed from raptor_turtle_writer_features_enumerate() (raptor_turtle_writer_set_feature, raptor_turtle_writer_set_feature_string): Use raptor_feature_get_areas() * src/raptor_serialize.c: Check for valid serializer features before getting them (raptor_serializer_get_feature, raptor_serializer_get_feature_string): Use raptor_feature_get_areas() to check for valid serializer features. * src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Remove unused RAPTOR_FEATURE_START_URI * src/raptor_serialize.c: Check for valid serializer features before setting them (raptor_serializer_set_feature, raptor_serializer_set_feature_string): Use raptor_feature_get_areas() to check for valid serializer features. * src/raptor.h, src/raptor_sax2.c: Added raptor_world_enumerate_sax2_features() * src/raptor_sax2.c: Check for valid features before setting them (raptor_sax2_set_feature): Check for a feature that applies using raptor_feature_get_areas() then set the values. * src/raptor_feature.c, src/raptor_internal.h: Added raptor_feature_get_areas() * src/raptor_internal.h: Add RAPTOR_FEATURE_AREA_NONE * src/raptor_feature.c, src/raptor_internal.h: Added RAPTOR_FEATURE_AREA_SAX2 for raptor_sax2 features raptor_feature_area gains RAPTOR_FEATURE_AREA_SAX2 raptor_features_list: Use RAPTOR_FEATURE_AREA_SAX2 for RAPTOR_FEATURE_NORMALIZE_LANGUAGE and RAPTOR_FEATURE_NO_NET. * src/raptor.h, src/raptor_feature.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Reapply: Remove RAPTOR_FEATURE_ASSUME_IS_RDF - obsolete since 2003 Reapply GIT d7b9a598372cf1630dad79943ecd262427240719 raptor_feature enum loses RAPTOR_FEATURE_ASSUME_IS_RDF (raptor_parser_set_feature, raptor_parser_get_feature): Remove check for RAPTOR_FEATURE_ASSUME_IS_RDF. Remove all case RAPTOR_FEATURE_ASSUME_IS_RDF: * ChangeLog, src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Revert the commits that removed the switch()s around features Reverts commits 60c814c462961b42e3e54dde1a4fb31bb274b2a8 c0db820178c7b4df4d22d7b2e9bbbfb808e21ad4 8834cdc5fe3b9191b999dd1fb438912d19335771 aaa15968153874b15cd084301fc9d01e625503c2 961f3225876929de7aa111b14bfa2470f1738175 791de39082f36e449f586021797e768b798bb4f3 24d277a1a920c393dd905be063784153f7ea6b00 30737c28676891e0602bd2f39c7fe4d2ad56ed03 85f3d2a285238f4dae1f3a344387be7e71afeb50 65f264148fcb4fba792dea2fe40c079ffaa2af0a 33df189465408c1a877a2a8b8ce6ad03c17e3f32 c9baae1679a55ac10b3bd91303679c7974c10335 bf43e7b8a12818742420c7fd860629a10d9584f8 6355375feca96d6dcc2be74f9dd3422f30ff48a6 faa08164fcbd21a390633adfc75ee56595b73857 d7b9a598372cf1630dad79943ecd262427240719 6c28294c30f870f8a26c985af412477cafc4cba9 2010-02-04 Dave Beckett * src/raptor_xml_writer.c: code style * src/raptor_xml_writer.c: (raptor_xml_writer_get_feature, raptor_xml_writer_set_feature): Use raptor_feature_get_areas() to check for valid xml writer features. * src/raptor_turtle_writer.c: (raptor_turtle_writer_get_feature): Use raptor_feature_get_areas() to check for valid turtle writer features. * src/raptor_internal.h, src/raptor_turtle_writer.c: Set turtle writer features using feature data tables (raptor_turtle_writer_set_feature): Use raptor_feature_get_areas. (raptor_world_enumerate_turtle_writer_features): Renamed from raptor_turtle_writer_features_enumerate() * src/raptor_serialize.c: Make raptor_serializer_get_feature and raptor_serializer_get_feature_string use area and numeric checks to remove cases (raptor_serializer_set_feature_string): docs. (raptor_serializer_get_feature, raptor_serializer_get_feature_string): Use raptor_feature_get_areas() and raptor_feature_value_is_numeric() to validate features for serializers. * src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Remove unused RAPTOR_FEATURE_START_URI * src/raptor_serialize.c: (raptor_serializer_set_feature_string): Use raptor_feature_get_areas() to check for valid serializer features. * src/raptor_serialize.c: (raptor_serializer_set_feature): Use raptor_feature_get_areas() to check for valid serializer features. * src/raptor_sax2.c: (raptor_sax2_set_feature): use bit & * src/raptor.h, src/raptor_sax2.c: Added raptor_world_enumerate_sax2_features() * src/raptor_sax2.c: Make raptor_sax2_set_feature smaller using raptor_feature_get_areas (raptor_sax2_set_feature): Check for a feature that applies using raptor_feature_get_areas() then set the values. * src/raptor_feature.c, src/raptor_internal.h: Added raptor_feature_get_areas() * src/raptor_internal.h: Add RAPTOR_FEATURE_AREA_NONE * src/raptor_feature.c, src/raptor_internal.h: Added RAPTOR_FEATURE_AREA_SAX2 for raptor_sax2 features raptor_feature_area gains RAPTOR_FEATURE_AREA_SAX2 raptor_features_list: Use RAPTOR_FEATURE_AREA_SAX2 for RAPTOR_FEATURE_NORMALIZE_LANGUAGE and RAPTOR_FEATURE_NO_NET. * src/raptor.h, src/raptor_feature.c, src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Remove RAPTOR_FEATURE_ASSUME_IS_RDF - obsolete since 2003 raptor_feature enum loses RAPTOR_FEATURE_ASSUME_IS_RDF (raptor_parser_set_feature, raptor_parser_get_feature): Remove check for RAPTOR_FEATURE_ASSUME_IS_RDF. Remove all case RAPTOR_FEATURE_ASSUME_IS_RDF: * src/raptor_parse.c: Use raptor_feature_value_is_numeric() in get/set parser features (raptor_parser_set_feature, raptor_parser_get_feature): Use raptor_feature_value_is_numeric rather than huge cases with very similar checks. * src/turtle_parser.y: Remove obsolete raptor_init() raptor_finish() calls * utils/rapper.c: Update for feature type api * src/raptor_feature.c, src/raptor_internal.h, src/raptor_parse.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Added raptor_feature_value_is_numeric for internal use. (raptor_feature_value_is_numeric): Added. Replaced most uses of same pattern: int value_is_string = (raptor_feature_get_value_type(feature) == RAPTOR_FEATURE_VALUE_TYPE_STRING); if(!value_is_string) ... with a raptor_feature_value_is_numeric() call. * src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, src/raptor_parse.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Add raptor_feature_value_type enum and use for features raptor_features_list gains a raptor_feature_value_type value_type field and uses enum values in data. raptor_feature_area gains RAPTOR_FEATURE_AREA_TURTLE_WRITER since XML writer features don't all apply; just indenting ones. typedef raptor_feature_value_type added to public API (raptor_feature_get_value_type): Renamed from raptor_feature_value_type to return raptor_feature_value_type and updated callers. * src/raptor_feature.c: #ws * src/raptor_feature.c: Use raptor_feature_area to split raptor_features_list area / value type. raptor_features_list flags field is split into area and value_type. Use raptor_features_list enum values in data. (raptor_features_enumerate_common): Get features for an area. (raptor_feature_value_type): Use VT_STRING define. * src/raptor_feature.c, src/raptor_internal.h, src/raptor_parse.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Added raptor_feature_area enum for raptor_features_enumerate_common() raptor_feature_area added internally. (raptor_features_enumerate_common): Switch flags arg to use enum. Update callers. * src/raptor_parse.c: #autodocs * src/raptor_feature.c: Turn feature flag magic numbers into defines * src/raptor_feature.c: Add feature flag 32 for features with URI-string values raptor_features_list: Split the flags into their bits and set RAPTOR_FEATURE_START_URI and RAPTOR_FEATURE_ATOM_ENTRY_URI to have URI string value. 2010-02-03 Dave Beckett * docs/.gitignore: Ignore bak files * docs/tmpl/section-general.sgml, docs/tmpl/section-locator.sgml, docs/tmpl/section-sequence.sgml, docs/tmpl/section-uri.sgml: Update docbook tmpls * src/raptor_sequence.c: code style * src/raptor_sequence.c: Use RAPTOR_SEQUENCE_MIN_CAPACITY to declare magic number * src/raptor_sequence.c: #autodocs * src/raptor.h, src/raptor_sequence.c: Make raptor_sequence_sort take raptor_data_compare_function typedef (raptor_sequence_sort): Adjusted parameters to use raptor_data_compare_function. It's the same parameter type but now via a typedef. * src/raptor.h, src/raptor_iostream.c: iostream write_end now returns a status code typedef raptor_iostream_write_end_func returns an int (raptor_iostream_write_end): Returns an int. (raptor_filename_iostream_write_end): Update file write handlers to return fclose value. * src/raptor.h, src/raptor_iostream.c: Rename raptor_iostream_handler2 to raptor_iostream_handler typedef raptor_iostream_handler: renamed from raptor_iostream_handler2 Update all callers and rename parameters and variables from handler2 to handler. (raptor_new_iostream_from_handler): Renamed from raptor_new_iostream_from_handler2. * src/ntriples_parse.c: Remove support for xml"..." N-Triples literals, long obsolete. * tests/ntriples/Makefile.am, tests/ntriples/bad-07.nt: Add bad07.nt to test literal form xml"..." is refused * .gitignore: do not ignore rdf files * src/raptor.h, src/raptor_sequence.c: Remove raptor_sequence_print_string from public API (raptor_sequence_print_string): Moved to static and used for test only. * src/raptor.h, src/raptor_sequence.c: Remove raptor_compare_strings from public API (raptor_compare_strings): Moved to static and used for test only. * src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_rdfxml.c, src/raptor_serialize_dot.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_statement.c, src/turtle_parser.y: Rename raptor_new_term_from_term to raptor_term_copy (raptor_term_copy): Renamed from raptor_new_term_from_term Updated all callers with new name. All copy constructors should be raptor_CLASS_copy now. 2010-01-30 Dave Beckett * src/raptor.h: Reorder prototypes to group class and methods. * src/raptor.h: #ws * src/raptor.h, src/raptor_locator.c: Renamed raptor_format_locator to raptor_locator_format * src/raptor.h, src/raptor_general.c, src/raptor_locator.c, utils/rapper.c, utils/rdfdiff.c: raptor_print_locator renamed to raptor_locator_print * src/raptor.h: Reorder and group by class. * src/raptor_avltree.c, src/raptor_internal.h: Remove legacy raptor_avltree cursor functions raptor_avltree loses cursor_iterator field. (raptor_avltree_cursor_first, raptor_avltree_cursor_last, raptor_avltree_cursor_prev, raptor_avltree_cursor_next, raptor_avltree_cursor_get): Deleted * src/raptor_avltree.c: code style - whitespace, line breaks * src/raptor.h, src/raptor_avltree.c: Rename raptor_avltree_iterator_end to raptor_avltree_iterator_is_end * src/raptor_avltree.c, src/raptor_internal.h: Move raptor_avltree_s internals into raptor_avltree.c module. * src/raptor_abbrev.c: Use term->world to save knowing internals of raptor_avltree. * docs/raptor-docs.xml, docs/raptor-sections.txt, src/raptor.h, src/raptor_avltree.c, src/raptor_internal.h: Move raptor_avltree to public API. Public opaque typedefs: raptor_avltree and raptor_avltree_iterator Public function typedefs: raptor_data_compare_function, raptor_data_free_function and raptor_avltree_visit_function Public functions: raptor_new_avltree, raptor_free_avltree, raptor_avltree_add, raptor_avltree_delete, raptor_avltree_print, raptor_avltree_remove, raptor_avltree_search, raptor_avltree_set_print_handler, raptor_avltree_size, raptor_avltree_visit, raptor_new_avltree_iterator, raptor_free_avltree_iterator, raptor_avltree_iterator_end, raptor_avltree_iterator_get and raptor_avltree_iterator_next NOTE: These were not made public and seem to be internal/unused: raptor_avltree_cursor_first, raptor_avltree_cursor_last, raptor_avltree_cursor_prev, raptor_avltree_cursor_next and raptor_avltree_cursor_get * docs/raptor-docs.xml: 2010 * NEWS.html, RELEASE.html: Merge 1.4.21 news and release notes * ChangeLog, ChangeLog.9, Makefile.am: ChangeLog.9 for 2008 * .gitignore: Do not ignore ChangeLog* * utils/rapper.c, utils/rdfdiff.c: Update raptor_print_locator calling convention 2010-01-29 Dave Beckett * src/raptor_serialize_turtle.c: Ensure serialized Turtle names are legal (raptor_turtle_is_legal_turtle_qname): Added to enforce prefix and local name character constraints. (raptor_turtle_emit_resource): Use above to ensure that XML Qnames that are not legal Turtle Qnames are never serialized. Fixes Issue#0000337 http://bugs.librdf.org/mantis/view.php?id=337 * tests/turtle/Makefile.am, tests/turtle/test-34-out.ttl, tests/turtle/test-34.ttl: Add Turtle serializing test 34 for not serializing a qname with a . Test for Issue#0000337 http://bugs.librdf.org/mantis/view.php?id=337 2010-01-28 Dave Beckett * src/raptor_rdfxml.c: Create a new set for checking for duplicate rdf:ID at start of every parse. (raptor_rdfxml_parse_init): Remove creating set from when parser is constructed. (raptor_rdfxml_parse_start): At start of parsing, delete any existing id set and only create a new one if the feature RAPTOR_FEATURE_CHECK_RDF_ID is enabled. * src/turtle_lexer.l: Alter Turtle lexer to refuse to accept . in namespace prefix/local names Adjust Turtle lexer to match spec for the prefixName and name tokens: http://www.w3.org/TeamSubmission/2008/SUBM-turtle-20080114/#prefixName http://www.w3.org/TeamSubmission/2008/SUBM-turtle-20080114/#name This makes some previously accepted not-to-spec turtle documents be rejected. It makes new bad turtle syntax tests bad-21 and bad-22 pass. (NCNAME_PREFIX): Updated for prefixName (NCNAME): Update for name Fixes Issue#0000326 http://bugs.librdf.org/mantis/view.php?id=326 * tests/turtle/Makefile.am, tests/turtle/bad-21.ttl, tests/turtle/bad-22.ttl: Add bad turtle tests 21, 22 for . in prefix and qname * src/ntriples_parse.c: Make ntriples parser accept text/plain with q=0.1 (raptor_ntriples_parser_register_factory): Register mime type text/plain via raptor_parser_factory_add_mime_type. Fixes Issue#0000319 http://bugs.librdf.org/mantis/view.php?id=319 * src/turtle_lexer.l: Make Turtle lexer handle \\ at end of triple-quoted literals Alter literal regex and let raptor_stringbuffer_append_turtle_string report problems with buffer ending in middle of \u and \U. Add rule for bare \ on it's own which can only happen if input ends on a \. Fixes Issue#0000318 http://bugs.librdf.org/mantis/view.php?id=318 * tests/turtle/Makefile.am, tests/turtle/bad-20.ttl: Add bad-20.ttl test for end of file in middle of \ escape * tests/turtle/Makefile.am, tests/turtle/test-33.out, tests/turtle/test-33.ttl: Added test-33 for \\ at end of triple-quoted turtle literal Added tests/turtle/test-33.ttl and tests/turtle/test-33.out files to test Issue#0000318 http://bugs.librdf.org/mantis/view.php?id=318 * librdfa/iri.c: Update to librdfa GIT commit 1979d7246a1d98f95bab78704a32b87cf95d1ef6 * librdfa/curie.c, librdfa/iri.c, librdfa/rdfa.c, librdfa/rdfa.h, librdfa/triple.c: Merge librdfa changes to GIT 88ca099befcb1b81be1a879663e5e891707e5239 Fixes several buffer alloc/realloc problems and failure to terminate strings when using them with strstr(). Other librdfa changes: - added "first" to list of allowed reserved words. - allow @rel/@rev reserved word values to be in any case (TC 134) - librdfa now treats the following characters as valid whitespace characters: SPACE, \t, \n, \v, \f, and \r. (TC 131) - fix generation of xml:lang if language was already in XML Literal (TC 102) 2010-01-26 Dave Beckett * src/raptor_general.c: ws * src/raptor.h, src/raptor_general.c, src/raptor_statement.c: Adjust raptor_print_ntriples_string params to put FILE* last * src/raptor.h, src/raptor_general.c, src/raptor_locator.c: Adjust raptor_print_locator params to put FILE* last like other print methods. * src/raptor_locator.c: ws * src/raptor_general.c, src/raptor_internal.h, src/raptor_sax2.c: Remove raptor_log_error_to_handlers and call raptor_log_error directly. (raptor_log_error_to_handlers): Deleted. Update several sax2 modules to call raptor_log_error instead. * src/raptor_sequence.c: indent * src/raptor_abbrev.c, src/raptor_avltree.c, src/raptor_internal.h: Update raptor_avltree to us raptor_data_print_handler typedef raptor_data_print_function: deleted (raptor_new_abbrev_subject, raptor_avltree_set_print_handler): Use raptor_data_print_handler* to replace raptor_data_print_function. (raptor_print_abbrev_po): Swap args to match raptor_data_print_handler calling convention. * src/raptor.h, src/raptor_grddl.c, src/raptor_parse.c, src/raptor_rss_common.c, src/raptor_sequence.c, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_rss.c, src/turtle_parser.y: Rename sequence-specific handlers typedefs to be more raptor-general raptor_data_free_handler renamed from raptor_sequence_free_handler raptor_data_context_free_handler renamed from raptor_sequence_context_free_handler raptor_data_print_handler renamed from raptor_sequence_print_handler and update docs raptor_data_context_print_handler renamed from raptor_sequence_context_print_handler and update docs Update all users. * src/raptor_internal.h: Make all print methods return an int status code (raptor_statement_print, raptor_uri_print, raptor_sequence_print, raptor_term_print_as_ntriples): Return int success code. * src/raptor.h, src/raptor_sequence.c, src/raptor_statement.c, src/raptor_uri.c: Make all print methods return an int status code (raptor_statement_print, raptor_uri_print, raptor_sequence_print, raptor_term_print_as_ntriples): Return int success code. * src/raptor.h, src/raptor_grddl.c, src/raptor_sequence.c: Update sequence _v2 constructor/methods to use _with_context Rename typedefs for handlers to match, update constructor documentation to explain the difference. typedef raptor_sequence_context_print_handler renamed from raptor_sequence_print_handler_v2. raptor_sequence - renamed fields to add context_NAME for the formerly _v2 handler names. Add explanations of what they are for. (raptor_new_sequence): autodocs and example of use (raptor_new_sequence_with_context): Renamed from raptor_new_sequence_v2 and autodocs. * src/raptor.h, src/raptor_sequence.c: Remove unused raptor_sequence_set_print_handler() and raptor_sequence_set_print_handler_2(). (raptor_sequence_set_print_handler, raptor_sequence_set_print_handler_v2): Deleted. 2010-01-24 Dave Beckett * src/turtle_parser.y: (verb): Get rdf:type term from static term and do not lose an URI reference. * src/turtle_parser.y: Free literal strings passed into raptor_new_term_from_literal() * src/turtle_parser.y: (resource): Free uri object references when making resource from QNAME_LITERAL or URI_LITERAL. (raptor_turtle_generate_statement): Redo - free constructed terms * src/turtle_parser.y: (raptor_turtle_generate_statement): UNDO Free constructed terms * src/turtle_parser.y: (raptor_turtle_generate_statement): Free constructed terms * src/turtle_parser.y: Free blank_id not blank * src/raptor_rdfxml.c: When creating new URIs or terms, free allocated values early. Since functions like raptor_new_term_from_uri() take copies of their arguments, any allocated objects passed in such as URIs or literals should be freed. Adjust the code so that's done early. (raptor_rdfxml_generate_statement): Free bag_predicate_uri. (raptor_rdfxml_start_element_grammar): For rdf:ID, move the syntax checks earlier to save extra complexity on errors. Generally update all places to free generated IDs and constructed URIs just after making raptor_uri or raptor_term * src/raptor_uri.c: Use raptor_uri_resolve_uri_reference length with raptor_new_uri_from_counted_string internally. raptor_uri length is now unsigned int (raptor_new_uri_from_counted_string): Add maintainer assert that URI string is length it is declared to be. (raptor_new_uri_relative_to_base): Use raptor_uri_resolve_uri_reference return value to call raptor_new_uri_from_counted_string. (raptor_new_uri_for_rdf_concept): Correctly calcuate passed in buffer length - it was malloced correctly. (assert_uri_is_valid): Added. (assert_uri_to_relative): Use above for checks. * src/raptor_rfc2396.c: (raptor_uri_resolve_uri_reference): set result_len when relative is #frag. * src/raptor_abbrev.c: (raptor_new_qname_from_resource): Calculate the length of namespace part of predicate URI correctly. * src/raptor_abbrev.c: (raptor_new_qname_from_resource): Namespace URI buffer was too short by 1. * src/raptor_serialize_rdfxmla.c: Replace rdf_xml_literal_uri with use of static rdf:XMLLiteral URI raptor_rdfxmla_serializer_context loses rdf_xml_literal_uri (raptor_rdfxmla_serialize_init): Remove init with rdf_type_uri, copy RAPTOR_RDF_type_term(). Remove rdf_xml_literal_uri. (raptor_rdfxmla_serialize_terminate): Remove free of rdf_xml_literal_uri. * src/raptor_serialize_rdfxml.c: Replace rdf_xml_literal_uri with use of static rdf:XMLLiteral URI raptor_rdfxml_serializer_context loses rdf_xml_literal_uri (raptor_rdfxml_serialize_init, raptor_rdfxml_serialize_terminate): Remove init, free. (raptor_rdfxml_serialize_statement): Use RAPTOR_RDF_XMLLiteral_URI() * src/raptor.h, src/raptor_rfc2396.c: (raptor_uri_resolve_uri_reference): Now returns length of URI. 2010-01-23 Dave Beckett * src/raptor_librdfa.c: (raptor_librdfa_generate_statement): Use raptor_new_uri_from_counted_string for rdf:XMLLiteral datatype. * src/raptor_abbrev.c: (raptor_new_qname_from_resource): Use raptor_new_uri_from_counted_string. * src/raptor_feature.c: Create feature URI prefix from counted URI string (raptor_features_enumerate_common): Use raptor_new_uri_from_counted_string. * src/raptor_rdfxml.c: Create daml namespaces from counted string URIs Added daml_namespace_uri_string and daml_namespace_uri_string statics for DAML namespace URI. (raptor_rdfxml_parse_init): Use raptor_new_uri_from_counted_string. * src/raptor_namespace.c: Create rdf and rdfs namespaces from counted string URIs Added raptor_rdf_schema_namespace_uri_len constant int. (raptor_namespaces_init): Use raptor_new_uri_from_counted_string. * src/raptor_uri.c: Ensure URI string field is always set Renamed raptor_uri_s field string_length to length. (raptor_new_uri_from_uri_local_name, raptor_new_uri_relative_to_base, raptor_new_uri_for_rdf_concept): Use raptor_new_uri_from_counted_string with already calculated length. * src/raptor_grddl.c: Create constant strings / lengths for GRDDL predicate URIs Added grddl_namespaceTransformation_uri_string and grddl_profileTransformation_uri_string constant strings with macros for lengths. (raptor_grddl_parse_init): Use above to create grddl parser URIs with raptor_new_uri_from_counted_string. * src/raptor.h, src/raptor_uri.c: Added new uri constructor raptor_new_uri_from_counted_string (raptor_new_uri_from_counted_string): Added (raptor_new_uri): Now a wrapper around raptor_new_uri_from_counted_string. 2010-01-22 Dave Beckett * src/raptor_serialize_rss.c: Use raptor_term instead of URIs and 'fake' URIs raptor_rss_group_map uses a raptor_term as identifier, not URI. (raptor_free_group_map): Free term. (raptor_rss_group_map_compare): Compare terms. (raptor_rss10_get_group_item): Use terms in search. (raptor_rss10_set_item_group): Use term to create a new gm. (raptor_rss10_move_statements, raptor_rss10_move_anonymous_statements, raptor_rss10_store_statement): Replace URIs with terms from subject, removing all fake_uri. (raptor_rss10_serialize_statement, raptor_rss10_build_items): Use item term for calling raptor_rss10_set_item_group * src/raptor_serialize_rss.c: Use raptor_term for rdf:Seq node identity and remove a fake_uri raptor_rss10_serializer_context replace seq_uri with raptor_term* seq_term (raptor_rss10_serialize_terminate): Free term. (raptor_rss10_serialize_statement): Copy statement subject to get seq node identity. (raptor_rss10_build_items): Use seq_term for comparisons with subject and delete fake_uri * raptor.rdf.in: GITRepository 2010-01-21 Dave Beckett * src/turtle_lexer.l: Make Turtle long literals count raw newlines correctly (Rule \" ....): Count the raw newlines seen in the yytext to adjust the line numbers correctly for long literals. Fixes Issue#0000331 http://bugs.librdf.org/mantis/view.php?id=331 * src/raptor_general.c: , * raptor.rdf.in: Update DOAP with GIT information. 2010-01-20 Dave Beckett * src/raptor_rdfxml.c: Always take a copy of world concepts so they are consitently freed * src/ntriples_parse.c, src/raptor_rdfxml.c: Use rdf namespace raptor_terms to reduce raptor_term creations in parsers. (raptor_ntriples_generate_statement): Tidy code, moving URI construction to local blocks. (raptor_rdfxml_generate_statement): Use concept terms for refiying predicates and rdf:Statement class. (raptor_rdfxml_start_element_grammar, raptor_rdfxml_end_element_grammar): Update to use concept terms. * src/raptor_internal.h: Added macros to access the static RDF namespace raptor terms Added macros RAPTOR_RDF_{NAME}_term(world) to get a shared pointer to the static raptor_term for rdf namespace concepts. * src/raptor_concepts.c, src/raptor_internal.h: Make a set of raptor_term for RDF namespace terms used in graph. raptor_rdf_ns_term_id gains an alias RDF_NS_LAST_SYNTAX_TERM for the last syntax term. raptor_world gains an array of raptor_term 'terms'; not all of these will be used, the first few are syntax only. (raptor_concepts_init, raptor_concepts_finish): Initialised and free the terms. 2010-01-19 Dave Beckett * src/raptor_rss.c: (raptor_rss_block_set_field): Fix failure check * src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c: Turn two magic number offsets 0 into defines in raptor_rss.h Add defines RAPTOR_RSS_LINK_HREF_URL_OFFSET and RAPTOR_RSS_LINK_REL_STRING_OFFSET for indexes into block urls/strings arrays - both at offset 0. (raptor_rss_insert_rss_link): Use above defines and remove fixme. Update raptor_rss_block_fields_info to use defines. * src/raptor_xml_writer.c: raptor_xml_writer_nsd_compare - Remove FIXME; duplicating a 3 line function is not a worry. * src/raptor_uri.c: (raptor_uri_print): Use world to report fwrite failure, remove FIXME. * src/raptor_serialize_rss.c: raptor_rss10_emit_item - remove fixme now it is documented. * docs/raptor-serializers.xml: note default atom:content type on serializing to atom 1.0 * src/raptor_serialize_rdfxmla.c: remove FIXME no longer relevant * src/raptor_rss.c: Add some resilience to calloc/malloc failure (raptor_rss_parse_init): Code tidy. (raptor_rss_block_set_field): Add return value for failure. Check for URI and string alloc failure. (raptor_rss_start_element_handler, raptor_rss_end_element_handler): Set parser failure and end on alloc failure. (raptor_rss_insert_rss_link): Add return value for failure and check for new field, string failure. (raptor_rss_insert_identifiers): Add return value for failure and check for above function failing. (raptor_rss_copy_field): Return failure on string alloc failure. (raptor_rss_parse_chunk): Fail to parse when raptor_rss_insert_identifiers fails. * src/raptor_parse.c: Make score sorting us a dynamic buffer in raptor_world_guess_parser_name (raptor_world_guess_parser_name): Calloc/free the array and remove FIXME! * src/raptor_grddl.c: raptor_grddl_run_grddl_transform_doc - remove FIXMEs now that these are documented * docs/raptor-parsers.xml: document more GRDDL parser features * src/raptor_grddl.c: raptor_grddl_run_grddl_transform_doc - remove FIXME now that the XSLT params are documented * docs/raptor-parsers.xml: document GRDDL XSTL parameters * src/raptor_abbrev.c: autodocs * src/turtle_parser.y: remove FIXMEs * src/turtle_lexer.l: Update test code to Raptor V2 APIs. * src/raptor_concepts.c, src/raptor_internal.h: Do not try to make an rdf namespace concept URI for the NULL name * src/raptor_concepts.c: (raptor_concepts_init): Return 1 if URI alloc failed not succeeded * src/raptor_concepts.c: (raptor_concepts_init): Return 1 if URI alloc failed. * src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c: Rename abbrev struct compare functions to standard naming. (raptor_abbrev_node_compare): Renamed from raptor_abbrev_node_cmp. (raptor_abbrev_subject_compare): Renamed from raptor_abbrev_subject_cmp. 2010-01-18 Dave Beckett * src/raptor_grddl.c: GRDDL parser code style - whitespace, break long lines, loop pre-counting Whitespace around operators and break long lines. For fixed size raptor_sequence or array loops, store size in a var 'size' rather than run a function on every if/while loop. * src/raptor_grddl.c: code style: break into 2 lines the long assignments to grddl_parser * src/raptor_grddl.c: Update conformance urls and doc ptr * src/raptor_rdfxml.c: Code style fixes - indenting, whitespace, add vars to break long lines. Code style, indenting and whitespace. Add variables to break long lines especially error reporting Use __func__ for internal error message rather than hardcoding function name. * src/Makefile.am, src/raptor.h, src/raptor_concepts.c, src/raptor_general.c, src/raptor_internal.h, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c, src/raptor_serialize_rss.c, src/raptor_uri.c, src/turtle_common.h, src/turtle_parser.y: Update rdf namespace concepts to add PlainLiteral, share across parsers raptor_rdf_ns_term_id gains RDF_NS_PlainLiteral; reordered to put together with RDF_NS_XMLLiteral, the other datatype. raptor_world gains an array of pointers to raptor_uri* concepts. turtle_parser loses nil_uri, first_uri, rest_uri that are now available via the macros. rss_parser loses rdf:type and rdf:Seq concept URIs that are now available via the macros. Added macros RAPTOR_RDF_{name}_URI(world) to get pointer to static raptor_uri* for NS terms. RDF/XML parser cuts down to just 5 DAML NS URIs to manage itself. (raptor_new_uri_for_rdf_concept): now takes const name. (raptor_concepts_init, raptor_concepts_finish): Added. (raptor_world_open): Call raptor_concepts_init; re-order to init URIs then concepts first. (raptor_free_world): Call raptor_concepts_finish Update RDF/XML, RSS and Turtle parsers to use shared URIs. * src/fix-flex: alter lexer output to remove signed/unsigned comparison that gcc 4.x warns. * src/raptor_librdfa.c: Do not strdup language in raptor_librdfa_generate_statement * src/ntriples_parse.c, src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_serialize_rss.c, src/raptor_statement.c, src/turtle_parser.y: Change raptor_new_term_from_blank calling semantics to copy id inside. (raptor_new_term_from_blank): Copy blank ID. Update all calls to raptor_new_term_from_blank to remove strdup()s and add a few RAPTOR_FREE for generated IDs. * src/ntriples_parse.c, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_statement.c, src/turtle_parser.y: Change raptor_new_term_from_literal calling semantics to copy inside. (raptor_new_term_from_literal): Copy literals, optional language and datatype URIs. Update all calls to raptor_new_term_from_literal to remove strdup(), malloc/free, or stringbuffer copy for literal string; remove copy URI for datatype URI. * src/raptor_rdfxml.c: Rename RDF ns-checking functions and document their returns (raptor_rdfxml_check_propertyElement_name): Renamed from raptor_rdfxml_forbidden_nodeElement_name and returns tri-state flag (raptor_rdfxml_check_propertyElement_name): Renamed from raptor_rdfxml_forbidden_propertyElement_name and returns tri-state flag. (raptor_rdfxml_check_propertyAttribute_name): Renamed from raptor_rdfxml_forbidden_propertyAttribute_name and returns tri-state flag. Update callers to check for <0: unknown name, 0: allowed, >0: not allowed * src/raptor_rdfxml.c: Set raptor_rdf_ns_terms_info as unsigned int 1 bit so bool works * src/raptor_rdfxml.c: Adjust raptor_rdf_ns_terms_info fields: reorder, make positive and use bitfields. Altered raptor_rdf_ns_terms_info field order to group flag attributes together and use 1 bit each, make them positive allowed flags rather than mix of forbidden/allowed. Adjust the raptor_rdfxml_forbidden_TEST_name calling code to use !raptor_rdf_ns_terms_info[field].allowed_TEST * src/raptor_rdfxml.c: Tidy comments for raptor_rdf_ns_term_id names * src/raptor_rdfxml.c: Tidy RDF terms description raptor_rdf_ns_term_id: Renamed enum from rdf_attr. Names are all RDF_ATTR_[name] now. * src/ntriples_parse.c, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_statement.c, src/turtle_parser.y: Change raptor_new_term_from_uri calling semantics to take URI copy inside (raptor_new_term_from_uri): autodocs and call raptor_uri_copy. Updated all calls to raptor_new_term_from_uri to remove a raptor_uri_copy or add a raptor_uri_free as appropriate. * src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c: Make raptor_abbrev_node use raptor_term rather than another embedded node raptor_abbrev_node loses the 'value' union and a pile of sub-structure duplicating raptor_term* contents; yet another librdf_node copy bites the dust. (raptor_new_abbrev_node): Use raptor_new_term_from_term (raptor_free_abbrev_node): Use raptor_free_term (raptor_abbrev_node_cmp): Thin wrapper around raptor_term_compare. (raptor_abbrev_node_equals): Thin wrapper around raptor_term_equals. Update all references to the raptor_abbrev_node internals above. (raptor_rdfxmla_serialize_init, raptor_turtle_emit_subject): Fix a couple of places where a static raptor_term was used for creating a raptor_abbrev_node; now make a dynamic one so it can be reference counted and freed. * src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_statement.c: Make raptor_term_print_as_ntriples internal so can use for raptor_abbrev (raptor_term_print_as_ntriples): No longer static. 2010-01-17 Dave Beckett * docs/rdfprint.c, examples/rdfprint.c, src/raptor.h, src/raptor_grddl.c, src/raptor_rdfxml.c, src/raptor_rss_common.c, src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, src/raptor_statement.c, src/turtle_parser.y, utils/rdfdiff.c: Rename statement printing methods to raptor_statement_NAME() form (raptor_statement_print): Renamed from raptor_print_statement (raptor_statement_print_as_ntriples): Renamed from raptor_print_statement_as_ntriples * src/raptor.h: Remove unused typedefs for old URI handler code raptor_new_uri_func, raptor_new_uri_from_uri_local_name_func, raptor_new_uri_relative_to_base_func, raptor_new_uri_for_rdf_concept_func, raptor_free_uri_func, raptor_uri_equals_func, raptor_uri_compare_func, raptor_uri_copy_func, raptor_uri_as_string_func, raptor_uri_as_counted_string_func: Deleted. * docs/rdfcat.c, docs/rdfprint.c, examples/grapper.c, examples/raptor_abort.c, examples/rdfcat.c, examples/rdfprint.c, src/raptor.h, src/raptor_feature.c, src/raptor_general.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_internal.h, src/raptor_parse.c, src/turtle_parser.y, utils/rapper.c, utils/rdfdiff.c: Rename parser methods to all start raptor_parser_METHOD (raptor_parser_get_feature): Renamed from raptor_get_feature. (raptor_parser_get_label): Renamed from raptor_get_label. (raptor_parser_get_locator): Renamed from raptor_get_locator. (raptor_parser_get_mime_type): Renamed from raptor_get_mime_type. (raptor_parser_get_name): Renamed from raptor_get_name. (raptor_parser_get_need_base_uri): Renamed from raptor_get_need_base_uri. (raptor_world_get_parser_factory): Renamed from raptor_get_parser_factory. (raptor_parser_parse_abort): Renamed from raptor_parse_abort. (raptor_parser_parse_chunk): Renamed from raptor_parse_chunk. (raptor_parser_set_uri_filter_no_net): Renamed from raptor_parse_uri_no_net_filter. (raptor_parser_get_new_generated_i): Renamed from raptor_parser_generate_id. (raptor_parser_set_default_generate_id_parameters): Renamed from raptor_set_default_generate_id_parameters. (raptor_parser_set_generate_id_handler): Renamed from raptor_set_generate_id_handler. (raptor_parser_set_graph_handler): Renamed from raptor_set_graph_handler. (raptor_parser_set_namespace_handler): Renamed from raptor_set_namespace_handler. (raptor_parser_set_statement_handler): Renamed from raptor_set_statement_handler. (raptor_parser_parse_start): Renamed from raptor_start_parse. * src/raptor.h, src/raptor_general.c, src/raptor_libxml.c, src/raptor_parse.c: Adjust raptor_log_level to match log4j levels: add trace, debug, info. raptor_log_level gains RAPTOR_LOG_LEVEL_TRACE, RAPTOR_LOG_LEVEL_DEBUG and RAPTOR_LOG_LEVEL_INFO. Reordered to match severity from trace level to fatal error. Add autodocs. * src/raptor_statement.c: code style * src/raptor_parse.c: autodocs * src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: autodocs * src/raptor.h, src/raptor_iostream.c, src/raptor_serialize_simple.c: Renamed raptor_iostream_write_uri_v2 to raptor_iostream_write_uri and lose world arg * src/raptor.h, src/raptor_xml_writer.c: Rename raptor_xml_writer_features_enumerate_v2 to raptor_world_enumerate_xml_writer_features * src/raptor.h, src/raptor_general.c: Rename raptor_error_handlers_init_v2 to raptor_error_handlers_init * src/raptor_serialize_rss.c: Fix debug calls to raptor_print_statement_as_ntriples_v2 now called raptor_print_statement_as_ntriples * src/raptor.h, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_xml_writer.c: Remove _v2 from raptor_new_xml_writer_v2 name and remove unused arg. (raptor_new_xml_writer_v2): Renamed from raptor_new_xml_writer and delete unused (never used) canonicalized arg. * src/raptor.h, src/raptor_feature.c, src/raptor_parse.c: Renamed raptor_feature_from_uri_v2 to raptor_world_get_feature_from_uri * src/raptor.h, src/raptor_abbrev.c, src/raptor_namespace.c, src/raptor_qname.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_turtle_writer.c, src/raptor_xml.c, src/raptor_xml_writer.c: Remove _v2 from raptor_new_qname_from_namespace_local_name_v2 (raptor_new_qname_from_namespace_local_name): Renamed from raptor_new_qname_from_namespace_local_name_v2. * src/raptor.h, src/raptor_internal.h, src/raptor_namespace.c, src/raptor_rss.c, src/raptor_sax2.c, src/raptor_serialize_dot.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c, src/turtle_common.h, src/turtle_lexer.l, src/turtle_parser.y: Rename raptor_namespaces/stack functions to lose _v2 in name (raptor_new_namespaces): Renamed from raptor_new_namespaces_v2. (raptor_namespaces_init): Renamed from raptor_namespaces_init_v2 Also note where raptor_namespace_stack is static such as in raptor_sax2, some tests and in raptor_turtle_parser. * src/raptor_www_test.c: Fix test o use raptor_www_new * src/raptor.h, src/raptor_general.c, src/raptor_grddl.c, src/raptor_parse.c, src/raptor_www.c: Rename raptor_www functions to lose _v2 in name (raptor_www_init): Renamed from raptor_www_init_2 - internal. (raptor_www_finish): Renamed from raptor_www_finish_v2 - internal. (raptor_www_new): Renamed from raptor_www_new_v2. (raptor_www_new_with_connection): Renamed from raptor_www_new_with_connection_v2. * src/raptor.h, src/raptor_general.c, src/raptor_locator.c, utils/rapper.c, utils/rdfdiff.c: Remove _v2 from name and world arg from raptor_locator functions (raptor_print_locator): Renamed from raptor_print_locator_v2 and loses world arg. (raptor_format_locator): Renamed from raptor_format_locator_v2 and loses world arg. (raptor_locator_uri_string): Renamed from raptor_locator_uri_v2 and renamed to reflect returns a string not a raptor_uri* * src/raptor_avltree.c, src/raptor_general.c, src/raptor_grddl.c, src/raptor_iostream.c, src/raptor_json_writer.c, src/raptor_namespace.c, src/raptor_nfc_test.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_rdfxml.c, src/raptor_rfc2396.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_sax2.c, src/raptor_sequence.c, src/raptor_serialize.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_set.c, src/raptor_statement.c, src/raptor_stringbuffer.c, src/raptor_turtle_writer.c, src/raptor_www.c, src/raptor_xml.c, src/raptor_xml_writer.c, src/turtle_lexer.l, src/turtle_parser.y: Code style: use TYPE* var_name = RAPTOR_CALLOC(TYPE, 1, sizeof(*var_name)) This fix caught a few times where the calloc added an extra +1 - presumably from the usual thing you need to do with a string malloc. e.g. in raptor_new_json_writer(), raptor_new_turtle_writer() and raptor_new_xml_writer_v2() which probably were all from the same source. * src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c: Remove some un-necessary casts to (unsigned char*) * src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, src/raptor_statement.c: Remove some un-necessary casts to raptor_uri* * src/raptor_serialize_json.c: (raptor_json_serialize_avltree_visit): Use raptor_term_equals instead of hand-crafted equivalent. * src/raptor.h, src/raptor_abbrev.c, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_json_writer.c, src/raptor_rdfxml.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, src/raptor_serialize_turtle.c, src/raptor_statement.c, src/turtle_parser.y, utils/rapper.c, utils/rdfdiff.c: raptor_term values are now a union of uri / literal fields / blank string raptor_term gains union value with uri field, literal struct and blank field for URI, Literal and Blank rdf terms. Lots of consequent changes; mostly mechanical search and replace. Removed several (raptor_uri*)value and (unsigned char*)value casts. (raptor_rss10_move_statements): Changes but when zeroing uri / literal, do that in separate steps rather than assigning to value. * src/raptor_serialize_dot.c: Convert DOT serializer to use raptor_term not local raptor_dot_serializer_node Deleted raptor_dot_serializer_node typedef (raptor_dot_serializer_free_node, raptor_dot_serializer_node_matches, raptor_dot_serializer_new_node): Deleted and replaced with raptor_term versions - both based on librdf_node. Code style fixes. * src/raptor_statement.c: Fix formatting in raptor_term_as_counted_string for blank and uri (raptor_term_as_counted_string): RAPTOR_TERM_TYPE_BLANK and RAPTOR_TERM_TYPE_URI code was wrong - bad casting. 2010-01-16 Dave Beckett * Merge branch 'statement-term' to 'master' with commit efd40982c2356eab8c37c1da1acd8b459ec06b56 2010-01-15 Dave Beckett * src/Makefile.am, src/raptor_internal.h, src/raptor_xsd.c: Removed unused raptor_new_identifier_from_double and raptor_xsd module. * src/raptor_librdfa.c: Updated RDFA parser to use statement and term object model * src/raptor_rss.c: Skip attempting to output predicates with no URI/namespace (raptor_rss_emit_item): Check predicate_uri first. * src/raptor_rss.c: Free allocate raptor_term (raptor_rss_emit_item): Free some predicate and object terms just allocated. Code style. * docs/tmpl/section-iostream.sgml, docs/tmpl/section-triples.sgml, docs/tmpl/section-uri.sgml: update generated docs * src/raptor_rss.c: Construct terms in raptor_rss_emit_item (raptor_rss_emit_item): Use raptor_term constructors * src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c, src/raptor_serialize_rss.c: Switch RSS parser and serializer internals from identfier to term Compiles but does not fully work yet. * src/raptor_internal.h: Added raptor_term_equals * src/raptor_statement.c: Added raptor_term_equals 2010-01-14 Dave Beckett * src/turtle_parser.y: Convert turtle parser to use raptor_statement and raptor_term Change raptor_identifier to raptor_term Change raptor_turtle_triple to raptor_statement Code style. (raptor_turtle_generate_statement): Use copy constructor for term. (raptor_turtle_new_triple, raptor_turtle_free_triple, raptor_triple_print): Deleted * src/raptor_internal.h, src/raptor_statement.c: Add raptor_new_statement_from_nodes (raptor_new_statement_from_nodes): Added * src/raptor_serialize_turtle.c, src/turtle_parser.y: Update Turtle parser and serializer to statement reference model. (raptor_turtle_generate_statement): Generate new term objects for each statement. (raptor_turtle_serialize_statement): Use correct reference to statement fields. * src/raptor_internal.h, src/raptor_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_statement.c: Made statement work statically and dynamically, promoting on copies (raptor_new_statement): Added to make a new dynamic statement (raptor_statement_init): Init a static statement with negative usage. (raptor_statement_copy): Do promote to dynamic on copy. (raptor_free_statement): Do not free static statements. (raptor_rdfxml_generate_statement): Do proper predicate creation when reifying - this broke statement copying and rdfdiff. (raptor_rdfxmla_serialize_statement): Correct pointers to statement fields. 2010-01-13 Dave Beckett * src/raptor_rdfxml.c: Code style and more fixing up RDF/XML raptor_term object use Code style; introduce variables to break long lines/duplicate expressions that hopefully the compiler will still optimize way. (raptor_rdfxml_generate_statement): Free a locally created reified_term object. (raptor_rdfxml_process_property_attributes): Save a strlen. Code style. (raptor_rdfxml_start_element_grammar): Code style. Add element_name_uri to remove several long lines. Add some OOM checks when an ID/URI then raptor_term are created in two steps. * src/ntriples_parse.c: Update N-Triples parser to use raptor_term objects (raptor_ntriples_generate_statement): Use raptor_term constructors. * src/raptor_rdfxml.c: More conversions of raptor_term statics to dynamic. (raptor_rdfxml_process_property_attributes): Return failure error status. (raptor_rdfxml_process_property_attributes): Convert more static (on stack) raptor_term objects into dynamic/by-reference. * src/raptor_statement.c: (raptor_statement_copy): Delete commented out old deep copy code. (raptor_free_statement): Just call raptor_term to free inner terms. * src/raptor_internal.h, src/raptor_rdfxml.c, src/raptor_statement.c: Deleted raptor_clear_term and raptor_copy_term. literal languages (raptor_clear_term, raptor_copy_term): Deleted - no longer needed or used. (raptor_free_term): Merge in old raptor_clear code here. (raptor_rdfxml_end_element_grammar): A little OOM checking. * src/raptor_rdfxml.c: (raptor_rdfxml_end_element_grammar): Allocate new strings for literals since they become owned by raptor_term. * src/raptor_rdfxml.c, utils/rapper.c: change raptor_rdfxml_element raptor_term statics fields to objects raptor_rdfxml_element: reified, bag, subject, predicate and object fields are now raptor_term* (raptor_free_rdfxml_element): Use raptor_free_term on above fields instead of raptor_clear_term. (raptor_rdfxml_start_element_handler): Do not assign world to above fields - not allocated yet. Move setting of default literal_language inscope to code near the line where raptor_term for a literal is created. Start turning direct references to raptor_statement field->subject->type into static raptor_term objects (memset then assigned) for bags, reified terms, collections, bags, reified statements, ... First stage of conversion to allocated raptor_terms. * src/ntriples_parse.c, src/raptor.h, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, src/raptor_serialize_turtle.c, src/raptor_statement.c, src/turtle_parser.y, utils/rapper.c, utils/rdfdiff.c: raptor_term and raptor_term get usages. statement is pointer to 3 terms Compiles, does not all work. (raptor_statement_init): Init usage. (raptor_statement_copy): Now just a usage increment; comment out old copying code. (raptor_free_statement): Free on zero usage. (raptor_free_term): Free on zero usage. (raptor_new_term_from_term, raptor_new_term_from_uri, raptor_new_term_from_literal, raptor_new_term_from_blank): Added new term constructors - taking ownership of their input objects. (raptor_rdfxml_generate_statement): Create raptor_term objects to generate reified statements. Update lots of uses in parsers and serializers of object.field to object->field for pointer based access. 2010-01-12 Dave Beckett * docs/tmpl/section-iostream.sgml, docs/tmpl/section-triples.sgml, docs/tmpl/section-uri.sgml: Update generated docs 2010-01-11 Dave Beckett * src/raptor_rdfxml.c: raptor_rdfxml_generate_statement() now takes raptor_term subject/ raptor_uri term. (raptor_rdfxml_generate_statement): Use raptor_term fields. (raptor_rdfxml_element_has_property_attributes, raptor_rdfxml_start_element_grammar): Create static raptor_term objects on stack for use in constructing parameter sets for raptor_rdfxml_generate_statement. Several of these should be dynamic and/or constructed once parser-wide. * src/raptor_internal.h, src/raptor_rdfxml.c, src/raptor_statement.c: Replace raptor_identifier with raptor_term inside rdf/xml parser. struct raptor_rdfxml_element_s updated to change fields reified, bag, subject, predicate, object from raptor_identifier to raptor_term. Also added a reified_id field for storing an ID used for reification; not clear if this is entirely necessary. (raptor_clear_term): Added based on raptor_clear_identifier. (raptor_free_term): Added. (raptor_copy_term): Added based on raptor_copy_identifier but not calling raptor_free term on dest; call raptor_clear_term instead. (raptor_free_rdfxml_element): Use raptor_clear_term to replace raptor_clear_identifier. (raptor_rdfxml_generate_statement): Updated to use raptor_term field names. Some loss of clarity here since identifier URI/blank node fields are merged into one void* term field 'value' for now. (raptor_rdfxml_process_property_attributes, raptor_rdfxml_start_element_grammar): Updated for raptor_term fields. For capturing bag/reified IDs, use local variables rather than overloading subject/reified/bad.id fields. * src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c: Make abbrev_node constructors/lookup functions use raptor_term (raptor_new_abbrev_node): Pass in a raptor_term and use that to find fields to copy. (raptor_abbrev_node_lookup, raptor_abbrev_subject_find, raptor_abbrev_subject_lookup): Lookup using fields in a passed in raptor_term. Update callers to use raptor_term when searching - means creating some static raptor_term objects on the stack for now; will be either references or dynamically created when raptor_abbrev_node / raptor_term node merge is done. * src/raptor.h, src/raptor_serialize_ntriples.c: Added raptor_iostream_write_term_ntriples and raptor_iostream_write_statement_ntriples to public API (raptor_iostream_write_statement_ntriples): Renamed from raptor_iostream_write_statement_ntriples_v2 and loses world arg. (raptor_iostream_write_term_ntriples): Renamed from internal raptor_iostream_write_statement_part_ntriples and down to just 2 args: the iostr and term. (raptor_ntriples_serialize_statement): Updated call to raptor_iostream_write_statement_ntriples. * src/raptor_internal.h, src/raptor_statement.c: Added raptor_term_compare split out from raptor_statement_compare * src/raptor.h, src/raptor_abbrev.c, src/raptor_statement.c: Turn print-part-of-statements functions into methods of raptor_term (raptor_term_as_counted_string): Renamed from raptor_statement_part_as_counted_string and just take term arg. (raptor_term_as_string): Renamed from raptor_statement_part_as_string and just take term arg. Update callers to use new 1-arg convention. * src/raptor_statement.c: raptor_term_print_as_ntriples formed from raptor_print_statement_as_ntriples (raptor_term_print_as_ntriples): Renamed from raptor_print_statement_part_as_ntriples (raptor_print_statement_as_ntriples): Call above with raptor_term pointer. * librdfa/curie.c, librdfa/rdfa.c, src/ntriples_parse.c, src/raptor.h, src/raptor_abbrev.c, src/raptor_expat.c, src/raptor_feature.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_identifier.c, src/raptor_internal.h, src/raptor_iostream.c, src/raptor_json_writer.c, src/raptor_librdfa.c, src/raptor_locator.c, src/raptor_namespace.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_set.c, src/raptor_statement.c, src/raptor_turtle_writer.c, src/raptor_uri.c, src/raptor_www.c, src/raptor_www_curl.c, src/raptor_www_libfetch.c, src/raptor_www_libxml.c, src/raptor_www_test.c, src/raptor_xml.c, src/raptor_xml_writer.c, src/turtle_lexer.l, src/turtle_parser.y, utils/rapper.c, utils/rdfdiff.c: New raptor_uri implementation - reference counted uris with interning. Based on librdf_uri reference counted uris with interning in an librdf_hash, this uses a raptor_avltree to store/lookup previously seen uris so that a single URI string has one raptor_uri* object. Removed initial world parameter from all raptor_uri class methods. Update all callers of above. rdfdiff debug prints also updated to generate ntriples * src/raptor_abbrev.c: Remove too-clever inline editing of uri string in raptor_new_qname_from_resource * src/raptor_general.c, src/raptor_internal.h, src/raptor_uri.c: Add raptor_uri_finish stup for uri class cleanup * docs/raptor-sections.txt, docs/tmpl/section-feature.sgml, docs/tmpl/section-general.sgml, docs/tmpl/section-iostream.sgml, docs/tmpl/section-locator.sgml, docs/tmpl/section-parser.sgml, docs/tmpl/section-sax2.sgml, docs/tmpl/section-sequence.sgml, docs/tmpl/section-serializer.sgml, docs/tmpl/section-triples.sgml, docs/tmpl/section-unused.sgml, docs/tmpl/section-uri.sgml, docs/tmpl/section-world.sgml, docs/tmpl/section-www.sgml, docs/tmpl/section-xml-namespace.sgml, docs/tmpl/section-xml-qname.sgml, docs/tmpl/section-xml.sgml: Update some generated docs. * librdfa/rdfa.c, src/ntriples_parse.c, src/raptor.h, src/raptor_abbrev.c, src/raptor_feature.c, src/raptor_grddl.c, src/raptor_json_writer.c, src/raptor_librdfa.c, src/raptor_namespace.c, src/raptor_qname.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_sax2.c, src/raptor_serialize.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_set.c, src/raptor_turtle_writer.c, src/raptor_uri.c, src/raptor_www.c, src/raptor_www_curl.c, src/raptor_www_test.c, src/raptor_xml_writer.c, src/raptor_xsd.c, src/turtle_lexer.l, src/turtle_parser.y, utils/rapper.c, utils/rdfdiff.c: Remove _v2 suffix from raptor_uri constructors * src/raptor_rss.c: (raptor_rss_emit_connection): Use raptor_uri* for predicate_uri arg * src/raptor_internal.h, src/raptor_uri.c, src/raptor_xml_writer.c: Removed raptor_uri_handler and made all URI functions work direct with default implementation * src/raptor.h, src/raptor_internal.h, src/raptor_uri.c: Move raptor_uri_handler to internal and remove get/set functions. (raptor_uri_get_handler_v2, raptor_uri_set_handler_v2): Deleted (raptor_uri_init): Set default handler directly. * src/raptor.h: Add raptor_new_identifier_from_identifier prototype * src/raptor.h, src/raptor_identifier.c: Add reference count model for raptor_identifier (raptor_new_identifier_from_identifier): Set initial usage to 1 when allocaed as an object; initialising statically does not use this. (raptor_new_identifier_from_identifier): Added copy constructor (raptor_free_identifier): Free when usage is 0. static identifiers do not call this; they use raptor_clear_identifier 2010-01-08 Dave Beckett * src/raptor.h, src/raptor_identifier.c, src/raptor_internal.h, src/raptor_rdfxml.c, src/turtle_parser.y: Remove is_malloced field from raptor_identifier raptor_identifier loses is_malloc field (raptor_clear_identifier): Added to clear fields of static identified; pulled out of raptor_free_identifier (raptor_free_identifier): Call above and then free the object. * src/raptor.h, src/raptor_parse.c, src/raptor_serialize.c, utils/rapper.c: Rename parser/serializer feature enumeration methods to be on raptor_world class (raptor_world_enumerate_parser_features): Renamed from raptor_features_enumerate_v2 (raptor_world_enumerate_serializer_features): Renamed from raptor_serializer_features_enumerate_v2. * src/raptor.h, src/raptor_feature.c, src/raptor_parse.c, utils/rapper.c: Rename raptor_set_feature to correct method name raptor_parser_set_feature * src/raptor.h, src/raptor_parse.c, utils/rapper.c: Rename raptor_set_parser_strict to correct method name raptor_parser_set_strict * utils/rdfdiff.c: Update for new parser constructor name * utils/rapper.c: Update for new parser/serializer enumerate/check method names * src/raptor.h, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_parse.c, src/raptor_serialize.c, src/raptor_serialize_rss.c: Rename parser/serializer enumerating, checking and guessing functions to be methods of raptor_world. (raptor_world_enumerate_parsers): Renamed from raptor_parsers_enumerate_v2 (raptor_syntaxes_enumerate_v2): Deleted; use raptor_world_enumerate_parsers. (raptor_world_is_parser_name): Renamed from raptor_syntax_name_check_v2 (raptor_world_guess_parser_name): Renamed from raptor_guess_parser_name_v2 (raptor_new_parser): Renamed from raptor_new_parser_v2 (raptor_new_parser_for_content): Renamed from raptor_new_parser_for_content_v2. (raptor_world_enumerate_serializers): Renamed from raptor_serializers_enumerate_v2. (raptor_world_is_serializer_name): Renamed from raptor_serializer_syntax_name_check_v2 (raptor_new_serializer): Renamed from raptor_new_serializer_v2 * src/raptor_internal.h: Restore raptor_simple_message_handler for internal use * src/raptor_general.c: (raptor_log_error): All user error handlers are called here now. * src/raptor.h: Delete raptor_simple_message_handler - nothing uses it anymore. * src/raptor.h, src/raptor_namespace.c, src/raptor_xml.c: raptor_xml_any_escape_string and raptor_xml_any_escape_string use raptor_world to replace error_handler/error_data args. (raptor_xml_any_escape_string, raptor_xml_any_escape_string): Delete error_handler and error_data args and replace with raptor_world initial argument. Pass errors via raptor_log_error/formatted. * src/raptor.h, src/raptor_internal.h, src/raptor_serialize.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c: Serializer class loses specific fatal/error/warning handling (raptor_serializer_set_error_handler, raptor_serializer_set_warning_handler): Deleted (raptor_serializer_error, raptor_serializer_simple_error, raptor_serializer_error_varargs, raptor_serializer_warning, raptor_serializer_warning_varargs): Removed the internal functions that called the serializer-specific handlers. In serializers replaced calls to the above functions with raptor_log_error or raptor_log_error_formatted depending on the arguments present. * src/raptor_internal.h, src/raptor_serialize_turtle.c, src/raptor_turtle_writer.c: raptor_new_turtle_writer loses error_handler / error_data args. struct raptor_turtle_writer_s loses error_handler and error_data fields. (raptor_new_turtle_writer): error_handler and error_data args deleted. Updated callers. * src/raptor.h, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_xml_writer.c: raptor_new_xml_writer_v2 loses error_handler / error_data args. raptor_xml_writer gains raptor_world field. (raptor_new_xml_writer_v2): Delete args. Store world. * src/raptor.h, src/raptor_internal.h, src/raptor_iostream.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_serialize.c, src/raptor_turtle_writer.c, src/raptor_xml.c, src/raptor_xml_writer.c: All raptor_iostream constructors gain an initial raptor_world arg. (raptor_new_iostream_from_handler2, raptor_new_iostream_to_sink, raptor_new_iostream_to_filename, raptor_new_iostream_to_file_handle, raptor_new_iostream_to_string, raptor_new_iostream_from_sink, raptor_new_iostream_from_filename, raptor_new_iostream_from_file_handle, raptor_new_iostream_from_string): Gain an initial raptor_world* world argument. Consequently: (raptor_iostream_write_xml_any_escaped_string, raptor_iostream_write_xml_escaped_string): Both lose the error_handler and error_data args since it can send errors via the internal world. * src/raptor.h, src/raptor_qname.c, src/turtle_parser.y: raptor_qname_string_to_uri loses error_handler/error_data args. (raptor_qname_string_to_uri): Delete error_handler and error_data args. Use raptor_log_error_formatted to report prefix error. * src/raptor.h, src/raptor_qname.c, src/raptor_sax2.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_xml_writer.c: raptor_new_qname loses error_handler / error_data args (raptor_new_qname): delete args and use raptor_log_error_formatted for error reporting. Update callers. * src/raptor.h, src/raptor_namespace.c, src/raptor_rss.c, src/raptor_serialize_dot.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_turtle_writer.c, src/raptor_xml_writer.c: raptor_new_namespaces_v2 loses error_handler / error_data args. (raptor_new_namespaces_v2): Delete args. Update all callers with the change - many of which were NULL/NULL anyway! * src/raptor.h, src/raptor_general.c, src/raptor_internal.h, src/raptor_namespace.c, src/raptor_sax2.c, src/turtle_parser.y: raptor_namespaces_init_v2 loses error_handler / error_data (raptor_log_error_formatted): Added to write a formatted error message with sprintf style. raptor_namespace_stack: loses error_handler and error_data fields. (raptor_namespaces_init_v2): Remove error_handler and error_data args. (raptor_new_namespace_from_uri): Use raptor_log_error_formatted to format an error message with argument. Update all calls to raptor_namespaces_init_v2 to remove error handler/data args. * src/raptor_json_writer.c: Update call to error_handler in #defined-out code * src/raptor_internal.h, src/raptor_json_writer.c, src/raptor_serialize_json.c: Remove error_handler/error_data from json writer struct raptor_json_writer_s: loses error_handler and error_data fields. (raptor_new_json_writer): loses error_handler and error_data args. (raptor_json_serialize_start): Update for new signature. * src/raptor_libxml.c: Initialise libxml generic error with pointer to raptor_world (raptor_libxml_generic_error): Expect world and never a locator. (raptor_libxml_init): Initialise generic error func with world user data. * src/raptor_libxml.c: Handle new XML_FROM_SCHEMATRONV introduced in libxml 2.6.32 2008-04-08 * src/raptor.h, src/raptor_general.c, src/raptor_internal.h, src/raptor_libxml.c: libxml generic & structured error saving defaults on. These are turned on by default so that when libxml library-wide generic/structured error handlers are set, this happens by default. Previously (1.4.x) it was done anyway, regardless of the flags. raptor_libxml_flags: update docs to note default is on. (raptor_new_world): set the flags on. raptor_world_s: update docs for libxml_flags field to note default. (raptor_libxml_xmlStructuredError_handler_common): Renamed from raptor_libxml_xmlStructuredErrorFunc and contains the core libxml error handling but not the parameter guessing. (raptor_libxml_xmlStructuredError_handler_global): Added to take structured errors from the global libxml handlers. Calls raptor_libxml_xmlStructuredErrorFunc with world and always NULL locator. (raptor_libxml_xmlStructuredError_handler_parsing): Added to take structured errors from serror SAX handler. Calls raptor_libxml_xmlStructuredErrorFunc with any world and locator found. * src/raptor_general.c, src/raptor_internal.h, src/raptor_libxml.c: raptor_log_error no longer needs/uses error hander/data args (raptor_log_error): Remove args and pick handler/data from work error handlers. (raptor_log_error_varags): Just call raptor_log_error and no longer pick error handler/data here. * src/raptor.h, src/raptor_general.c, src/raptor_parse.c, utils/rapper.c, utils/rdfdiff.c: Move error-handler setting functions to methods of raptor_world (raptor_world_set_fatal_error_handler): Renamed from raptor_set_fatal_error_handler from parser class. (raptor_world_set_error_handler): Renamed from raptor_set_error_handler from parser class. (raptor_world_set_warning_handler): Renamed from raptor_set_warning_handler from parser class. Updated rapper.c and rdfdiff.c to use new names and calling convention. * src/raptor_general.c, src/raptor_internal.h, src/raptor_libxml.c, src/raptor_parse.c, src/raptor_sax2.c, src/raptor_www.c: raptor_log_error_varargs no longer needs/users error handler/data args (raptor_log_error_varargs): Remove args and pick handler and handler data from world error_handlers. Update all callers of above. * src/raptor_www_libxml.c: (raptor_www_libxml_init, raptor_www_libxml_free): Remove error_handlers code. * src/raptor_libxml.c, src/raptor_sax2.c: Move libxml init/free code to raptor_libxml_init and raptor_libxml_finish (raptor_libxml_init): Add xmlInitParser call. (raptor_libxml_finish): Add xmlCleanupParser call. (raptor_sax2_init): Remove xmlInitParser call. (raptor_sax2_finish): Remove xmlCleanupParser call. * src/raptor_grddl.c: Remove use of xmlSetStructuredErrorFunc from GRDDL parser. (raptor_grddl_parse_chunk): Remove call to xmlSetStructuredErrorFunc which is now done in raptor_libxml_init, once per-library. * src/raptor_internal.h, src/raptor_libxml.c: Removed raptor_libxml_sax_init_error_handlers - no users remain. (raptor_libxml_sax_init_error_handlers): Deleted and merged back into raptor_libxml_sax_init * src/raptor_grddl.c: GRDDL parser does not need or use libxml2 sax object. struct raptor_grddl_parser_context_s loses sax field. (raptor_grddl_parse_init_common): Remove call to raptor_libxml_sax_init_error_handlers. * src/raptor_grddl.c: GRDDL parser does not need to create a raptor_sax2 for error handlers. struct raptor_grddl_parser_context_s loses sax2 field. (raptor_grddl_parse_init_common, raptor_grddl_parse_terminate): Do not init / free sax2. * src/raptor_general.c, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_libxml.c, src/raptor_sax2.c: Make libxml error handling save/restore happen once in world struct raptor_sax2_s loses saved_structured_error_context, saved_structured_error_handler, saved_generic_error_context and saved_generic_error_handler struct raptor_world_s gains above fields. (raptor_libxml_init, raptor_libxml_finish): Added to capture the save/restore of xmlSetStructuredErrorFunc and xmlSetGenericErrorFunc context and handlers. (raptor_world_open, raptor_free_world): Call raptor_libxml_init and raptor_libxml_finish. (raptor_libxml_sax_init_error_handlers): Renamed from raptor_libxml_init_sax_error_handlers. (raptor_libxml_sax_init): libxml setup specific to a SAX setup (raptor_grddl_parse_init_common): Use above. (raptor_new_sax2): Delete libxml init code. (raptor_sax2_parse_start): Delete xmlSetStructuredErrorFunc call and use raptor_libxml_sax_init. * src/raptor_grddl.c: (raptor_grddl_parse_init_common): Code style. 2010-01-07 Dave Beckett * librdfa/rdfa.c, librdfa/rdfa.h, src/raptor.h, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_libxml.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_sax2.c: Alter raptor_new_sax2() to take world and locator not error_handlers. struct raptor_sax2_s loses error_handlers field. (raptor_new_sax2): Change to add world and locator at start; store them and forget about error_handlers. (raptor_sax2_simple_error, raptor_sax2_parse_chunk, raptor_sax2_start_element): Take error handlers from world, not sax2. (raptor_grddl_parse_init_common, raptor_librdfa_parse_start, raptor_rdfxml_parse_init, raptor_rss_parse_init): Update to new raptor_new_sax2 calling convention. (raptor_libxml_warning, raptor_libxml_error_common, raptor_libxml_validation_warning): Call error handlers under world rather than in sax2 error_handlers object. (raptor_libxml_xmlStructuredErrorFunc): Find error handlers via world. struct rdfacontext [in librdfa] replaces error_handlers with world and locator fields for use in calling raptor_new_sax2() (rdfa_create_new_element_context) [in librdfa]: no need to copy error_handlers. (rdfa_parse_start) [in librdfa] use stored world and locator. * src/raptor.h: Removed prototype for raptor_www_set_error_handler * src/raptor_general.c, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_www.c: Moved raptor_error_handlers to one instance in raptor_world. structs raptor_parser_s and raptor_www_s lose error_handlers field. struct raptor_world_s gains error_handlers field and new internal_ignore_errors flag to temporarily disable errors. (raptor_new_world): Initialise error handlers structure; this is now the only place in the library this is done the public function raptor_error_handlers_init_v2() Consequently raptor_error_handlers_init_v2() could be moved internal and the raptor_error_handlers structure made just fields in raptor_world rather than a public structure that is hard to version. (raptor_world_internal_set_ignore_errors): Added internal function to disable invoking all error handlers when set. Used in the GRDDL parser and when WWW-fetching in some cases to ignore parse/404 errors. (raptor_log_error_to_handlers, raptor_log_error_varargs, raptor_log_error): Respect the ignore errors flag. (raptor_grddl_discard_message): Deleted. (raptor_grddl_fetch_uri): No longer uses above function but instead calls raptor_world_internal_set_ignore_errors() before and after the WWW fetch. (raptor_grddl_run_recursive): Also no longer sets error handlers to ignore errors and uses raptor_world_internal_set_ignore_errors before and after running an internal parser. (raptor_new_parser_v2): Do not init error_handlers field, just set locator. (raptor_www_set_error_handler): Deleted; not necessary since the error_handlers is part of raptor_world not in raptor_www. (raptor_parse_uri_with_connection): Removed call to raptor_www_set_error_handler. (raptor_parser_copy_user_state): Do not copy removed error_handlers field. (raptor_www_new_with_connection_v2): Do not init error_handlers field. * src/raptor_parse.c: (raptor_parser_copy_user_state): Code style for assignments. * src/raptor_internal.h: Delete unused field from raptor_parser_s * src/raptor_abbrev.c, src/raptor_internal.h: Remove unused ordinal code from raptor_abbrev_node raptor_abbrev_node: lose ordinal union part. (raptor_abbrev_subject_add_list_element): Deleted. * src/raptor.h: Remove RAPTOR_WORLD_DECLARED * src/raptor_internal.h: Remove an old RAPTOR_DISABLE_V1-protected prototype. 2010-01-06 Dave Beckett * src/raptor.h: Break raptor_error_handlers struct ABI moving handlers array to end. Remove V2 API fixmes near this; also allows new log levels to be added later. * src/raptor_internal.h: Remove unused static_usage field from raptor_world * src/ntriples_parse.c: Replace raptor_ntriples_term_type with raptor_term_type (raptor_ntriples_generate_statement): Change types of args. Just assign term types to statement types. (raptor_ntriples_parse_line): Declare array of 3 term types. * src/Makefile.am: remove n3 tests * configure.ac, src/Makefile.am, src/n3_common.h, src/n3_lexer.l, src/n3_parser.y, src/turtle_parser.y: Remove experimental N3 flex/bison parser - let turtle parser handle it This code was never in production/released code and will never be since the turtle parser is likely to be updated and rewritten. * src/n3_parser.y, src/ntriples_parse.c, src/raptor.h, src/raptor_abbrev.c, src/raptor_grddl.c, src/raptor_identifier.c, src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, src/raptor_serialize_turtle.c, src/raptor_statement.c, src/raptor_xsd.c, src/turtle_parser.y, utils/rapper.c, utils/rdfdiff.c: Rename raptor_identifier_type enum and values to raptor_term_type The enum values changed: from RAPTOR_IDENTIFIER_TYPE_RESOURCE to RAPTOR_TERM_TYPE_URI, from RAPTOR_IDENTIFIER_TYPE_ANONYMOUS to RAPTOR_TERM_TYPE_BLANK, from RAPTOR_IDENTIFIER_TYPE_LITERAL to RAPTOR_TERM_TYPE_LITERAL and from RAPTOR_IDENTIFIER_TYPE_UNKNOWN to RAPTOR_TERM_TYPE_UNKNOWN. * librdfa/iri.c: fix warning: cast from pointer to integer of different size (rdfa_iri_get_base): Do pointer calculations then cast result to unsigned int. * src/raptor.h: Remove RAPTOR_V2_AVAILABLE - not needed * configure.ac: Remove -DRAPTOR_V2_EXPERIMENTAL=1 not needed anymore * src/raptor.h, src/raptor_serialize.c: raptor_serialize_start replaced by raptor_serialize_start_to_iostream (raptor_serialize_start): Removed deprecated function replaced by correctly named raptor_serialize_start_to_iostream. * src/ntriples_parse.c, src/raptor.h: Removed raptor_ntriples_term_type from public api. Moved raptor_ntriples_term_type to ntriples_parse.c module only. It could be replaced by a more general raptor_term_type in future when it gets added. * src/raptor.h, src/raptor_abbrev.c, src/raptor_identifier.c, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_simple.c, src/raptor_serialize_turtle.c, src/raptor_statement.c, utils/rdfdiff.c: Remove RAPTOR_IDENTIFIER_TYPE_XML_LITERAL This was used for rdf:parseType="Literal" object literals internally but publically always is turned into RAPTOR_IDENTIFIER_TYPE_LITERAL. raptor_identifier_type loses RAPTOR_IDENTIFIER_TYPE_XML_LITERAL value. Removed all code for this which mostly was deleting switch cases but also deletes some functions from the Turtle and RDF/XML-abbrev serializers. (raptor_rdfxmla_emit_xml_literal, raptor_turtle_emit_xml_literal): Deleted. * src/raptor.h, src/raptor_abbrev.c, src/raptor_identifier.c, src/raptor_rdfxml.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c src/raptor_serialize_rdfxmla.c , src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, src/raptor_serialize_turtle.c, src/raptor_statement.c, utils/rdfdiff.c: raptor_identifier_type loses the RAPTOR_IDENTIFIER_TYPE_ORDINAL value. raptor_identifier loses ordinal field. Consequent removal of RAPTOR_IDENTIFIER_TYPE_ORDINAL from cases especially handling predicates. (raptor_rdfxml_end_element_grammar, raptor_rdfxml_generate_statement, raptor_rdfxml_process_property_attributes, raptor_rdfxml_serialize_statement): Most changes were made here to generate a URI instead of the ordinal integers from the various rdf:li element forms. Multiple serializers are now simpler in not having to check for predicate (or even subject/object) ordinals. Several if ordinal {ordinal handling } .. else {uri handling} were removed. rdfdiff lost several checks for ordinal/resource alternatives. (rdfdiff_ordinal_equals_resource): Deleted. * utils/rdfdiff.c: Remove checks for RAPTOR_IDENTIFIER_TYPE_PREDICATE comparison with ordinal for equality. * src/raptor.h, src/raptor_abbrev.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_statement.c: Removed RAPTOR_IDENTIFIER_TYPE_PREDICATE raptor_identifier_type loses RAPTOR_IDENTIFIER_TYPE_PREDICATE which has been a synonym for RAPTOR_IDENTIFIER_TYPE_RESOURCE for some time. Update code to remove from switch()s and conditions. * src/n3_parser.y, src/raptor.h, src/raptor_identifier.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_serialize_rss.c, src/raptor_xsd.c, src/turtle_parser.y: Deleted raptor_uri_source enum and removed from raptor_identifier. Only in RDF/XML parser and not used for anything public. (raptor_new_identifier_v2): Delete uri_source arg. (raptor_copy_identifier, raptor_set_identifier_uri, raptor_set_identifier_id): Remove assignments to uri_source field. (raptor_rdfxml_generate_statement): Remove 3 uri_source args. (raptor_rss10_emit_item): Remove assignment to uri_source field. Change all calls to raptor_new_identifier_v2() and raptor_rdfxml_generate_statement() in the RDF/XML parser. * src/n3_parser.y, src/ntriples_parse.c, src/raptor.h, src/raptor_grddl.c, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, src/raptor_serialize_turtle.c, src/raptor_statement.c, src/turtle_parser.y, utils/rapper.c, utils/rdfdiff.c: Make a raptor_statement into a 3-tuple of raptor_term. This is a short term stage before merging raptor_term with raptor_identifier and getting rid of raptor_triple (in N3 and Turtle parsers). Also want to make the 3 raptor_terms in raptor_statement as object references not statics, and add a graph term. raptor_identifier_type should be raptor_term_type and have less values: kill ordinal and predicate types. Lots of structure name field changes everywhere statement is used. 2010-01-05 Dave Beckett * src/raptor.h, src/raptor_abbrev.c, src/raptor_internal.h, src/raptor_parse.c, src/raptor_rss_common.c, src/raptor_serialize_json.c, src/raptor_serialize_rss.c, src/raptor_statement.c, utils/rdfdiff.c: Add raptor_world field to raptor_statement, remove raptor_statement_v2. raptor_statment gains a raptor_world* field. raptor_statement_v2 typedef is deleted. (raptor_print_statement_as_ntriples_common, raptor_statement_compare_common): Deleted these internal helper functions. (raptor_print_statement_v2): Renamed to raptor_print_statement (raptor_print_statement_as_ntriples_v2): Renamed to raptor_print_statement_as_ntriples. (raptor_statement_part_as_counted_string_v2): Renamed to raptor_statement_part_as_counted_string. (raptor_statement_part_as_string_v2): Renamed to raptor_statement_part_as_string. (raptor_statement_compare_v2): Renamed to raptor_statement_compare. (raptor_statement_copy): Loses world arg. (raptor_statement_copy_v2, raptor_statement_copy_v2_from_v1): Deleted. (raptor_free_statement): Loses world arg. (raptor_free_statement_v2, raptor_print_statement_v1): Deleted (raptor_statement_init): Added to initialise statically a allocated statement. (raptor_new_parser_v2): Init static statement with raptor_statement_init(). 2010-01-05 Dave Beckett * src/ntriples_parse.c, src/raptor.h, src/raptor_iostream.c, src/raptor_turtle_writer.c, src/raptor_uri.c: Removed all V1 deprecated functions and structures. (raptor_ntriples_term_as_string, raptor_ntriples_string_as_utf8_string, raptor_new_iostream_from_handler, raptor_iostream_get_bytes_written_count, raptor_iostream_write_string_turtle, raptor_uri_is_file_uri): Deprecated functions deleted raptor_ntriples_parser and raptor_iostream_handler: Deprecated typedefs removed. * src/raptor.h: Remove RAPTOR_V2_AVAILABLE blocks - V2 is always available * src/raptor.h, src/raptor_feature.c, src/raptor_general.c, src/raptor_identifier.c, src/raptor_iostream.c, src/raptor_locator.c, src/raptor_namespace.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_sequence.c, src/raptor_serialize.c, src/raptor_serialize_ntriples.c, src/raptor_statement.c, src/raptor_uri.c, src/raptor_www.c, src/raptor_xml_writer.c: Remove all raptor v1 APIs with v2 replacements. Remove RAPTOR_V2_EXPERIMENTAL - no longer experimental. Remove RAPTOR_V1 - not needed. Remove all blocks that were protected by RAPTOR_DISABLE_V1 including structs, prototypes and V1 functions. * src/raptor_parse.c: Fix static accept_header string length so result is always NUL terminated (raptor_parser_get_accept_header): The static last-resource accept_header static string is 11 chars not 9. Ensure buffer is big enough so that the NUL gets copied by strncpy(). * tests/turtle/ex-38-turtle.out: Restore hack out file ex-38-turtle.out * tests/.gitignore, tests/rdfxml/ex-38-rdfxmla.out: Restore hack out file ex-38-rdfxmla.out * src/n3_lexer.l, src/n3_parser.y, src/ntriples_parse.c, src/parsedate.y, src/raptor.h, src/raptor_abbrev.c, src/raptor_avltree.c, src/raptor_expat.c, src/raptor_feature.c, src/raptor_general.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_identifier.c, src/raptor_iostream.c, src/raptor_json_writer.c, src/raptor_librdfa.c, src/raptor_libxml.c, src/raptor_locator.c, src/raptor_memstr.c, src/raptor_namespace.c, src/raptor_nfc.c, src/raptor_nfc_test.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_rdfxml.c, src/raptor_rfc2396.c, src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c, src/raptor_sax2.c, src/raptor_sequence.c, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, src/raptor_serialize_turtle.c, src/raptor_set.c, src/raptor_statement.c, src/raptor_stringbuffer.c, src/raptor_turtle_writer.c, src/raptor_uri.c, src/raptor_utf8.c, src/raptor_www.c, src/raptor_www_curl.c, src/raptor_www_libfetch.c, src/raptor_www_libxml.c, src/raptor_www_test.c, src/raptor_xml.c, src/raptor_xml_writer.c, src/raptor_xsd.c, src/snprintf.c, src/strcasecmp.c, src/turtle_common.c, src/turtle_lexer.l, src/turtle_parser.y, utils/getopt.c, utils/rapper.c, utils/rdfdiff.c: Code style - whitespace around assignment and comparison ops 2010-01-02 Dave Beckett * Use AM_SILENT_RULES and move autotools helper files to build/ dir Update autogen.sh with latest version; dependent on automake 1.11 and it's dependencies to get AM_SILENT_RULES. Update configure.ac to invoke AM_SILENT_RULES defaulting to 'no'. * Remove RCS ID * Update another .gitignore * Add .gitignore to replace SVN properties svn:ignore