2010-08-16  Dave Beckett <dave@dajobe.org>

	* Snapshotted raptor2_1_9_0 for 1.9.0 release (GIT
	9223bfb82c7291dfc778d5bde690a6ecdb652e8e)

2010-08-15  Dave Beckett <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* src/raptor_term.c: STANDALONE flagging for raptor_term unit
          tests

2010-08-08  Dave Beckett <dave@dajobe.org>

	* docs/raptor-1-to-2-map.tsv: ID function rename typo

2010-08-08  Dave Beckett <dave@dajobe.org>

	* docs/tmpl/section-parser.sgml, docs/tmpl/section-triples.sgml,
	docs/tmpl/section-world.sgml: Update tmpls

2010-08-08  Dave Beckett <dave@dajobe.org>

	* 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 <njh@aelius.com>

	* src/raptor_json.c: The JSON parser supports both
          Resource-Centric and Triples.

2010-08-06  Dave Beckett <dave@dajobe.org>

	* 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 <njh@aelius.com>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* src/raptor_term.c:
	(raptor_term_equals): Make terms *different* not equal if lengths
	are different

2010-07-20  Dave Beckett <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* tests/json/Makefile.am: Run JSON parser tests only if the parser
	is enabled

2010-07-01  Nicholas J Humfrey <njh@aelius.com>

	* 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 <njh@aelius.com>

	* 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 <njh@aelius.com>

	* 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 <dave@dajobe.org>

	* 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 <njh@aelius.com>

	* 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 <njh@aelius.com>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* src/raptor_internal.h: Deleted raptor_unique_id prototype

	* src/raptor_abbrev.c:
	(raptor_unique_id): Deleted - never used.

2010-05-07  Dave Beckett <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* LICENSE.html: Link to specific GPL 2.1 version doc.  Wording and
	formatting

2010-05-04  Dave Beckett <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* docs/build-formats.c: Helper to print raptor syntaxes into
	docbook xml

2010-04-17  Dave Beckett <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* src/raptor_serialize_html.c: code style

2010-04-01  Nicholas J Humfrey <njh@aelius.com>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* src/raptor_internal.h: struct raptor_parser_factory_s: docs

	* src/raptor_parse.c:
	(raptor_parser_register_factory): autodocs

2010-03-23  Lauri Aalto <laalto@iki.fi>

	* src/raptor_statement.c:
	(raptor_term_as_counted_string): Fixed warning about strict
	aliasing.

2010-03-23  Lauri Aalto <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* src/raptor_general.c:
	(raptor_world_set_flag): Set uri_interning to passed in value.

2010-03-07  Dave Beckett <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* src/raptor_general.c: Code style

2010-03-01  Dave Beckett <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* 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 <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* 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 <laalto@iki.fi>

	* src/raptor.h: Reintroduced RAPTOR_V2_AVAILABLE flag so that
	library users can support both raptor1 and raptor2.

2010-02-11  Lauri Aalto <laalto@iki.fi>

	* src/raptor.h, src/raptor_internal.h: Pulled
	raptor_statement_init(), raptor_free_statement() to public
	API.

2010-02-10  Lauri Aalto <laalto@iki.fi>

	* 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 <laalto@iki.fi>

	* src/raptor_option.c:
	Fixed warnings about enum-int mismatches.

2010-02-05  Lauri Aalto <laalto@iki.fi>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* src/turtle_lexer.l:
	Make Turtle long literals count raw newlines
	correctly

	(Rule <LITERAL>\" ....): 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* Merge branch 'statement-term' to 'master' with
	commit efd40982c2356eab8c37c1da1acd8b459ec06b56
	
2010-01-15  Dave Beckett <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* docs/tmpl/section-iostream.sgml, docs/tmpl/section-triples.sgml,
	docs/tmpl/section-uri.sgml: Update generated docs

2010-01-11  Dave Beckett <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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 <dave@dajobe.org>

	* 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

2009-11-29  Dave Beckett  <dave@dajobe.org>

	* Merge from raptor 1.4.20 release SVNr15728 to trunk

2009-11-28  Dave Beckett  <dave@dajobe.org>

	* Merge RDFa changes from Raptor branch raptor1 (r15719)

	* Snapshotted raptor_1_4_20 for 1.4.20 release (SVN 15727)
	
	* tests/rdfa/0172.out, tests/rdfa/0172.xhtml, tests/rdfa/0173.out,
	tests/rdfa/0173.xhtml, tests/rdfa/0174.out, tests/rdfa/0174.xhtml,
	tests/rdfa/Makefile.am:
	Added unapproved RDFa tests from librdfa upstream test suite:
	 0172: empty datatype attribute
	 0173: empty xml:lang attribute on plain literal
	 0174: single character namespace prefixes

	0172 and 0173 test
	Issue#0000306 http://bugs.librdf.org/mantis/view.php?id=306

	0174 tests
	Issue#0000310 http://bugs.librdf.org/mantis/view.php?id=310

	* librdfa/rdfa.c:
	(start_element): For raptor, turn a NULL language to "" which is
	what librdfa expects.

	* librdfa/curie.c, librdfa/language.c, librdfa/rdfa.c,
	librdfa/triple.c:
	Apply librdfa GIT commits up to
	5823cb8bffe50fb1b46960f237f7274388cb5f93

	commit 5823cb8bffe50fb1b46960f237f7274388cb5f93
	    Fixed @property CURIE processing unit tests to match code
	    updates.

	commit a85d8e9e2e3d28452ad03d1ca64fdd98eed1c180
	    Fixed CURIE processing bug for TC 174.

	    The bug caused single-character prefixed CURIEs to be processed
	    incorrectly. Also fixed @property processing to not use reserved
	    words specified in a very early version of the RDFa spec. Fixed
	    a small bug related to processing CURIEs that have ':' as the
	    second character in the URI string.

	commit f384b28bf916a2e0c7a7dbc99101a1a44c301965
	    Fixed plain literal bug uncovered by TC 172.

	    This bug caused plain literals to not be generated when
	    datatype="" was specified and when the content inside the element
	    contained XHTML child nodes.

	* librdfa/language.c:
	Apply librdfa GIT commit
	9960791ee4beca8e52e5d3a9766aba73d33f0063
	    Fixed bug that caused unreviewed TC 173 to partially fail.

	    The currently active language, specified via xml:lang, was not
	    being cleared when xml:lang="" was specified.

	Related to Redland Issue#0000306
	http://bugs.librdf.org/mantis/view.php?id=306

2009-11-25  Dave Beckett <dave@dajobe.org>

	* librdfa/rdfa.c, src/raptor_abbrev.c: Casts for C++

2009-11-25  Lauri Aalto <laalto@iki.fi>

	* src/raptor_abbrev.c:
	(raptor_abbrev_subject_lookup): Free node if
	raptor_new_abbrev_subject() ownership transfer did not succeed.

	* src/raptor_abbrev.c:
	(raptor_abbrev_subject_find): Check for failures.

	* src/raptor_serialize_turtle.c:
	(raptor_turtle_emit): Free iterators on before returning an error.

	* src/raptor_abbrev.c, src/raptor_avltree.c:
	(raptor_avltree_sprout): Always take ownership of passed in node
	data - free it if malloc fails. Make sure free_fn is not null
	before calling it.

	(raptor_abbrev_node_lookup,raptor_abbrev_subject_add_property):
	raptor_avltree_add() now always takes ownership of added nodes.

	* src/raptor_internal.h, src/raptor_serialize_rdfxmla.c:
	fixed indent tabs -> spaces

	* src/raptor_abbrev.c:
	(raptor_abbrev_subject_invalidate): Return value expected

2009-11-24  Dave Beckett <dave@dajobe.org>

	* many files: Merge from raptor branch raptor1

2009-11-23  Dave Beckett <dave@dajobe.org>

	* src/raptor_abbrev.c, src/raptor_internal.h,
	src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c,
	tests/feeds/test01-result.ttl, tests/feeds/test02-result.ttl,
	tests/feeds/test03-result.ttl, tests/feeds/test04-result.ttl,
	tests/rdfxml/Makefile.am, tests/turtle/Makefile.am: Apply SVN
	r15690 to raptor head

2009-11-15  Dave Beckett <dave@dajobe.org>

	* utils/rdfdiff.c: Apply SVN 15667 to raptor trunk

2009-10-10  Dave Beckett <dave@dajobe.org>

	* src/raptor_grddl.c:
	(raptor_grddl_run_grddl_transform_uri): Fix XML parser context
	resource leak if raptor_grddl_fetch_uri fails.

	* src/raptor_grddl.c:
	(raptor_grddl_parse_chunk): Save and restore error handlers
	properly - restore loop was broken.  Remove memcpy for clarity in
	copying.

2009-08-25  Dave Beckett <dave@dajobe.org>

	* autogen.sh: Update common autogen.sh

2009-08-21  Lauri Aalto <laalto@iki.fi>

	* src/raptor_www.c:
	(raptor_www_set_http_cache_control): Avoid dangling pointers

2009-08-03  Lauri Aalto <laalto@iki.fi>

	* src/raptor_internal.h: Fixed comment

2009-07-27  Dave Beckett <dave@dajobe.org>
	* src/turtle_parser.y
	(main): Terminate parser

	* src/turtle_lexer.l
	(main): Init world and namespaces so turtle lexing test does not
	die.

	* src/raptor_parse.c
	(raptor_parse_file): Simplify, no need for O_LARGEFILES flag and
	open/fdopen sequence.

	* configure.ac:
	Check for fcntl.h and AC_SYS_LARGEFILE to get large file checks

	* src/raptor_parse.c:
	(raptor_parse_file): Use open(2) and apply O_LARGEFILE option to
	allow 32bit systems to read multi-gigabyte files.

2009-07-23  Dave Beckett <dave@dajobe.org>

	* Changelog entries above this are on BRANCH raptor1

	* Create raptor 1 branch (SVN r15287)

2009-07-19  Dave Beckett <dave@dajobe.org>

	* Tagged for raptor 1.4.19 (SVN r15280)

	* Snapshotted raptor_1_4_19 for 1.4.19 release (SVN 15279)

	* src/raptor_serialize_rss.c:
	(raptor_rss10_emit_item): Handle C++'s picky casting between enum
	types - that are really integers - to ints.

	* src/raptor_rss_common.c: static data raptor_rss_fields_info:
	semantic data errors found by C++'s more strict aliasing.
	- Fix author item class.
	- Set URI flag value for atom:schema and atom:href

	* src/raptor_namespace.c:
	(raptor_namespaces_init_v2, raptor_namespace_stack_to_array):
	Casts for C++ in returns from RAPTOR_CALLOC for namespace stacks

	* src/raptor_grddl.c:
	(raptor_grddl_run_grddl_transform_doc): Cast for C++ for arg to
	xsltSetCtxtSecurityPrefs.

	* src/raptor_rfc2396.c:
	(raptor_uri_resolve_uri_reference): Use memmove for overlapping
	copy, not memcpy. [valgrind]

	* src/raptor_serialize_json.c: raptor_json_context - use
	raptor_statement_v2 for last statement.
	(raptor_json_serialize_avltree_visit): Make V1 statements for the
	stored V2 statements.
	Improve fatal error messages.

	* src/raptor_statement.c:
	(raptor_free_statement): Restore actually freeing statement memory
	- resource leak.

	* configure.ac: libtool version change.
	was: current 2  revision 0  age 1
	rules steps:
	   3. source code changed: revision++ = 3
	   4. interfaces added and changed: current++ = 3, revision = 0
	   5. interfaces added: age++ = 2
	   6. interfaces removed: no
	now: current 3  revision  0  age 2

	* docs/libraptor.3: 1.4.19 changes

	* src/raptor_turtle_writer.c:
	(raptor_turtle_writer_literal): More silly games to prevent stupid
	gcc warning: ignoring return value of 'strtol', declared with
	attribute warn_unused_result so use the value and then discard it
	in a stupid expression.  Ditto strtod.

	* src/raptor_uri.c:
	(raptor_uri_print_v2): Silly games to prevent stupid gcc warning:
	ignoring return value of 'fwrite', declared with attribute
	warn_unused_result but right now there is nowhere to return the
	error too.

	* src/raptor_rss.c:
	(raptor_rss_uplift_fields): Comment out variables used only in
	debugging.

	* src/raptor_turtle_writer.c:
	(raptor_turtle_writer_literal): Ignore unused return values from
	strtol and strtod used for checking.

	* utils/rapper.c: Revert r15252 and reapply r14951 on rapper to
	use experimental V2 APIs again

	* configure.ac, src/Makefile.am, src/raptor_internal.h,
	src/raptor_v2.h: Remove raptor_v2.h again - no need to dup this
	for an internal build.  Instead use -DRAPTOR_V2_EXPERIMENTAL when
	building

	* src/Makefile.am, src/raptor.h, src/raptor_internal.h,
	src/raptor_v2.h: Added raptor_v2.h again - internal only and put
	scary warning about V2 things into raptor.h

	* src/raptor.h: use -DRAPTOR_V2_EXPERIMENTAL to enable the V2
	structs and functions

	* src/Makefile.am: Remove raptor_v2.h - bad idea for now

	* src/Makefile.am, src/raptor.h, src/raptor_internal.h,
	src/raptor_v2.h: Move public V2 structs and prototypes to internal
	raptor_v2.h

	* utils/rapper.c: Revert r14951 on rapper to use V1 APIs only for now

	* COPYING, COPYING.LIB: Add specific versions of GPL (2) and
	LGPL (2.1) to source control

2009-07-16  Dave Beckett <dave@dajobe.org>

	* docs/raptor-docs.xml, docs/raptor-sections.txt,
	docs/tmpl/section-general.sgml, docs/tmpl/section-parser.sgml,
	docs/tmpl/section-serializer.sgml, docs/tmpl/section-world.sgml:
	Add new functions.  Add section world for init/cleanup and V2
	world stuff

	* src/raptor.h, src/raptor_grddl.c, src/raptor_sequence.c:
	(raptor_new_sequence_v2): Renamed from
	raptor_new_sequence_with_handler_context

	* tests/rdfxml: Ignore automake outputs

	* tests/ntriples: Ignore automake outputs

	* tests/feeds: Ignore ttl outputs

	* tests/feeds/Makefile.am: (check-serialize-atom): Make test use
	generated file from build dir.

	* utils/rapper.c: calloc another feature_value

	* tests/feeds/Makefile.am: set result=1 on failures

	* utils/rapper.c: calloc feature_value so that fields are
	initialised to 0/NULL

	* Raptor passes 'make check' test suite as of SVN r15234

	* src/raptor_serialize_rss.c: Guess whether <atom:summary> on
	input is xml or not based on if it starts with <

	* tests/feeds/test02-result.atom, tests/feeds/test02-result.ttl,
	tests/feeds/test02.rdf: Add <div>...</div> once to descs

	* tests/feeds/test02.rdf: use <div>...</div> in descriptions

	* tests/feeds/test03-result.atom: fix relative atom:link @href in
	expected output

	* src/raptor_serialize_rss.c:
	(raptor_rss10_emit_atom_feed): Output relative URIs for
	<atom:link @href>

	* src/raptor_serialize_rss.c: Extra/tidy debug messages

2009-07-15  Dave Beckett <dave@dajobe.org>

	* src/raptor_serialize_rss.c:
	(raptor_rss10_serialize_statement, raptor_rss10_build_items): Use
	raptor_rss_item_set_uri to always assign item identifier and uri
	fields correctly.

	* src/raptor_rss.h, src/raptor_rss_common.c:
	(raptor_rss_item_set_uri): Added to set the item identifier fields
	plus the item->uri field correctly.

2009-07-13  Dave Beckett <dave@dajobe.org>

	* autogen.sh: Add SHAVE support - disabled by default and enabled
	for maintainers.
	libtool V2 needed
	Add -Wall to automake args
	Reorder args to remove dups
	Find config_aux_dir and config_macro_dir and use them for copying in
	config.{sub,guess} and adjusting aclocal args respectively.

2009-06-21  Dave Beckett <dave@dajobe.org>

	* src/raptor_serialize_rss.c:
	(raptor_rss10_move_statements, raptor_rss10_store_statement): When
	mapping fields rss to atom, do not copy into a field that has a
	value already.

2009-06-13  Dave Beckett <dave@dajobe.org>

	* src/raptor_parse.c:
	(raptor_get_name): Use factory method if present.

	* src/raptor_guess.c:
	(raptor_guess_guess_get_name): Implement get_name by passing it on
	to internal guessed parser.
	(raptor_guess_parser_register_factory): Register get_name

	* src/raptor_internal.h: struct raptor_parser_factory_s gains
	get_name method

	* src/raptor_guess.c:
	(raptor_guess_parse_chunk): docs

	* src/raptor_grddl.c:
	(raptor_grddl_run_grddl_transform_doc): Init userCtxt *after*
	sheet is defined as not NULL.  GRDDL transforms now work again.

	* utils/rapper.c:
	(main): If counting, do not use a serializer at all.

2009-05-16  Dave Beckett <dave@dajobe.org>

	* src/raptor_serialize_rss.c: autodocs

	* src/raptor_rss.c:
	(raptor_rss_insert_rss_link): Added to add rss:link from atom:id
	or <link rel=self>
	(raptor_rss_insert_identifiers): Call above for channel and items.

	* tests/feeds/test04-result.ttl: items and rss:links point to url
	not tag: uri

	* tests/feeds/test05-result.ttl: Moved dc:date to top

	* tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
	Added more atom:entrymap values

2009-05-12  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c:
	(raptor_rss_insert_identifiers): Add an rss:link with
	/atom:link[@rel="self"]/@href string contents if not already
	present.

	* src/raptor_rss.c:
	(raptor_rss_emit_block): Add resource parameter for the subject of
	the triples to set.  Do not try to play save/restore games with
	the statement.subject
	(raptor_rss_emit_item): Pass in item identifier to above.

2009-05-11  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c:
	(raptor_rss_emit_item): Set the atom author output node type by a
	quick hack to alter the URIs.

2009-05-10  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c: raptor_rss_uplift_map merged into
	raptor_atom_to_rss
	(raptor_rss_copy_field): Added to do field copy/conversion with
	pair
	(raptor_rss_uplift_fields): Iterate over list of conversions and
	call raptor_rss_copy_field.

	* src/raptor_rss_common.c:
	(raptor_rss_field_conversion_date_uplift): Added for converting
	from junk date to ISO dates.
	(raptor_rss_date_uplift): Deleted, replaced by above.
	raptor_atom_to_rss: gains fields from raptor_rss_uplift_map and
	uses above conversion function to fix rss:pubdate to dc:date

	* src/raptor_rss.h: Add raptor_rss_field_conversion for converting
	field values and add to raptor_field_pair

	* tests/feeds/test05-result.ttl: Add dc:date, atom:id, atom:title
	fields

2009-05-09  Dave Beckett <dave@dajobe.org>

	* tests/feeds/test04-result.ttl: add both rss and renamed atom
	fields rather than just one:
	- dc:date & atom:updated
	- rss:title & atom:title
	- atom:id
	- atom:summary

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Remove renaming of atom terms
	to rss
	(raptor_rss_uplift_fields): Add copying of atom to rss terms, not
	renaming.

	* src/raptor_rss_common.c: atom:author is a container, not a block
	raptor_rss_items_info - set value type to RAPTOR_RSS_ITEM_CONTAINER
	raptor_rss_fields_info - set class to RAPTOR_RSS_RDF_ATOM_AUTHOR_CLASS
	raptor_rss_block_fields_info - remove author from list of blocks

	* tests/feeds/test04.atom: Restore xhtml namespace to div

2009-05-01  Dave Beckett <dave@dajobe.org>

	* docs/tmpl/section-general.sgml: update tmpls

	* tests/turtle/Makefile.am, tests/turtle/test-32-out.ttl,
	tests/turtle/test-32.ttl: Added test-32 based on test for
	http://bugs.librdf.org/mantis/view.php?id=274

	* src/raptor_serialize_turtle.c:
	(raptor_turtle_emit_subject_collection_items): Notice when a new
	subject happens and reset property iterator.
	(raptor_turtle_emit_subject): Look for trees with 2 or more
	properties to be a potential collection.
	Fixes Issue#0000277 http://bugs.librdf.org/mantis/view.php?id=277

	* src/raptor_parse.c:
	(raptor_get_feature): Return raw parser int feature.
	Fixes Issue#0000288 http://bugs.librdf.org/mantis/view.php?id=288

	* src/raptor_feature.c: raptor_features_list use bit 16 to record
	that an int is not a boolean flag.  Should refactor these flags
	for Raptor V2 and alter the raptor_feature_value_type() return.

2009-04-30  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am: Add atom to turtle expected results to
	EXPECTED_TTLS

	* tests/turtle/Makefile.am: Add $(TURTLE_SERIALIZE_RDF_FILES) to dist

	* tests/turtle/Makefile.am: More fixes for make distcheck testing

	* tests/turtle/Makefile.am:
	(check-turtle-parse-ntriples, check-turtle-serialize-rdf): Get
	filenames from invoking Makefiles in nearby build-dirs not
	src-dirs, which won't have makefiles in 'make distcheck' mode

	* tests/ntriples/Makefile.am: Revert r15175

	* tests/ntriples/Makefile.am: Make print-nt-test-files work in
	'make distcheck' mode

	* src/raptor_sax2.c:
	(raptor_sax2_parse_chunk): Make undeclared entity not fatal in
	parsing - errors are still thrown by the error callback, but
	parsing continues.  Makes
	http://bugs.librdf.org/mantis/view.php?id=303 easier to deal with
	- primary data gets out when errors are present; when DTDs are not
	loaded.

	* src/raptor_libxml.c:
	(raptor_libxml_xmlStructuredErrorFunc): Hunt for error_handlers in
	parser context user data too.

	* src/raptor_sax2.c:
	(raptor_new_sax2): Save correct libxml error handlers

2009-04-24  Dave Beckett <dave@dajobe.org>

	* src/raptor.h: Revert raptor_error_handlers ABI change for now

2009-04-23  Dave Beckett <dave@dajobe.org>

	* src/raptor.h, src/raptor_general.c, src/raptor_internal.h,
	src/raptor_sax2.c: Protect calls to xmlSetStructuredErrorFunc()
	and xmlSetGenericErrorFunc() by libxml flags and if enabled, save
	and restore the previous values.  Added
	raptor_set_libxml_flags() (raptor V1) and
	raptor_world_set_libxml_flags() (raptor V2) to set these flags.
	Flags are defined in new enum raptor_libxml_flags.

	Fixes Issue#000299 http://bugs.librdf.org/mantis/view.php?id=299

	* docs/tmpl/section-feature.sgml, src/raptor.h,
	src/raptor_general.c, src/raptor_grddl.c, src/raptor_internal.h,
	src/raptor_parse.c: Use context-specific libslt security
	configuration to avoid calling 	xsltSetDefaultSecurityPrefs().

	Also allow user to set the policy for raptor globally with new API
	function raptor_set_libxslt_security_preferences() (and in Raptor V2
	with raptor_world_set_libxslt_security_preferences method on the
	world class)

	Fixes Isssue#0000296 http://bugs.librdf.org/mantis/view.php?id=296

2009-04-21  Dave Beckett <dave@dajobe.org>

	* src/raptor_libxml.c:
	(raptor_libxml_init, raptor_libxml_init_sax_error_handlers): Init
	per-context structured error handlers to go to
	raptor_libxml_xmlStructuredErrorFunc

	* configure.ac: Use RAPTOR_LDFLAGS for rest of internally linked
	libs for libm, curl, fetch, libxml, expat, libxslt, libinn (for
	parsedate)

	* configure.ac, raptor.pc.in, src/Makefile.am: Introduce
	RAPTOR_LDFLAGS to replace raw LIBS as the internal set of
	arguments to use in linking.

	* configure.ac, src/Makefile.am, utils/Makefile.am: Add
	--enable-debug configure option. use AM_CPPFLAGS for defines and
	include options Remove unused STANDARD_CFLAGS

2009-03-31  Lauri Aalto <laalto@iki.fi>

	* src/raptor_namespace.c:
	(raptor_new_namespaces_v2): Lowmem fix. Use calloc instead of
	malloc to have struct members initialized to zero in case
	raptor_namespaces_init_v2() fails and need to free a partially
	initialized nstack.

2009-03-30  Dave Beckett <dave@dajobe.org>

	* configure.ac, src/raptor_serialize_rss.c: Test for
	gettimeofday. (raptor_rss10_ensure_atom_feed_valid): Use condition
	to avoid calling it on windows that doesn't have it.  Patch from
	Lou Sakey 2008-07-31 to redland-dev

	* src/raptor_sax2.c:
	(raptor_sax2_finish): Call xmlCleanupParser() libxml call last to
	avoid an access violation on windows. Patch from Lou Sakey
	2008-07-31 to redland-dev.

	* src/raptor_general.c:
	(raptor_vsnprintf): Windows vsnprintf() portability patch from Lou
	Sakey.

2009-03-29  Dave Beckett <dave@dajobe.org>

	* configure.ac: Substitute ECHO

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Make namespaces seen in fields
	after any potential renames, so they will get declared later.
	(raptor_rss_end_element_handler): End any blocks in all cases -
	was not happening when there was no cdata.
	(raptor_rss_emit_block): Only emit block strings that are not
	NULL.
	(raptor_rss_emit_connection): Turn predicate ordinals into URIs
	since the RAPTOR_IDENTIFIER_TYPE_ORDINAL is deprecated (and turtle
	serialiser does not handle it).
	(raptor_rss_uplift_fields): Gain rss_parser arg and mark
	namespaces seen in renames.

	* src/raptor_rss_common.c: raptor_rss_fields_info - restore
	rss:link value to string. raptor_rss_block_fields_info - fix
	clashing offset for atom author name/email fields.

2009-03-28  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am, tests/feeds/test02-result.atom,
	tests/feeds/test04-result.ttl, tests/feeds/test04.atom,
	tests/feeds/test05-result.ttl, tests/feeds/test05.atom: Add test04
	and test05 atom parsing to turtle.  Update test suite to show
	errors better and use ECHO macros

	* tests/feeds/test0[123].rdf:: Rename test0[123].rss to .rdf

	* tests/turtle/Makefile.am: Use TURTLE_SERIALIZE_RDF_FILES so that
	ex-62.rdf gets used

	* tests/turtle/Makefile.am, tests/turtle/test-31-out.ttl,
	tests/turtle/test-31.ttl: Add tests for serializing rdf:_<n>
	properties back to themselves.

2009-03-23  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am: use conditionals to execute tests in
	sane order via FEED_TESTS var

	* tests/feeds/Makefile.am:
	(check-serialize-atom): Set parser/input base URI for test.

	* tests/feeds/Makefile.am: notes

	* tests/feeds/Makefile.am, tests/feeds/test01-result.ttl,
	tests/feeds/test02-result.ttl, tests/feeds/test03-result.ttl: Add
	parsing and serializing tests with intermediate turtle results to
	check

	* 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_serialize_rss.c, src/raptor_turtle_writer.c,
	src/raptor_xml_writer.c: Renamed
	RAPTOR_FEATURE_ALIAS_DEFAULT_NAMESPACE to
	RAPTOR_FEATURE_PREFIX_ELEMENTS (prefixElements) and change
	meaning; it always declares prefix: and default namespace but this
	option flips whether it core vocab is in the prefixed or default
	namespace.

	* src/raptor_serialize_rss.c:
	(raptor_rss10_build_xml_names): Do not declare or start namespaces
	with NULL prefix; only the default namespace *may* do that.

2009-03-20  Dave Beckett <dave@dajobe.org>

	* tests/feeds/test01-result.atom: fix namespaces

	* tests/feeds/test01-result.atom, tests/feeds/test02-result.atom,
	tests/feeds/test03-result.atom: Add namespaces back to all
	expected results

	* src/raptor_serialize_rss.c:
	(raptor_rss10_build_xml_names): Enable turning on/off namespaced
	elements based on feature_alias_default_namespace

2009-03-19  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am, tests/feeds/test01-result.atom,
	tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
	Remove -f aliasDefaultNamespace=0 from tests for now, to enable
	fixing of other things on their own

2009-03-17  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am: use $(srcdir) before expected

	* tests/feeds/Makefile.am: report failure diff the right way
	around: from expected to actual

2009-03-12  Dave Beckett <dave@dajobe.org>

	* tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
	Fix atom namespaces

	* tests/feeds/Makefile.am: Set aliasDefaultNamespace=0

	* tests/feeds/Makefile.am, tests/feeds/test01-result.atom,
	tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
	Add expected test results, make check works from Makefile alone

	* tests/feeds/Makefile.am: Fix RAPPER call

2009-03-10  Dave Beckett <dave@dajobe.org>

	* tests/feeds/test01.atom, tests/feeds/test02.atom,
	tests/feeds/test03.atom: Remove atom output - now generated via
	test

	* tests/feeds/Makefile.am: fix error in error logging

	* configure.ac, tests/Makefile.am, tests/feeds,
	tests/feeds/Makefile.am: automaked tests/feed

	* tests/feeds/Makefile: Removed, now autogenerated

2009-02-28  Dave Beckett <dave@dajobe.org>

	* src/raptor_serialize_rss.c: comments

	* src/raptor_serialize_rss.c:
	(raptor_rss10_serialize_statement):
	Code style, remove if() depth.

2009-02-27  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss_common.c: Make itunes:owner container work again.

2009-02-25  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss_common.c: fix enclosure class/predicate RDF names

	* src/raptor_rss.h, src/raptor_rss_common.c: Added
	RAPTOR_RSS_RDF_ENCLOSURE for enclosure predicate in RDF as well as
	RAPTOR_RSS_RDF_ENCLOSURE_CLASS for enclosure class in RDF

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Declare as
	seen the namespace for a block.

	* src/raptor_rss.h, src/raptor_rss_common.c: Add RAPTOR_ATOM_LINK
	block type

	* src/raptor_rss.c:
	(raptor_rss_emit_block): Emit type URI from
	cls field, not predicate.

2009-02-23  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c: raptor_rss_element loses unused rel field

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Remove
	unused element attribute recognition <source url> and <category domain>

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Set
	enclosure namespace used if an enclosure block was seen.

2009-02-22  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss_common.c: raptor_rss_items_info - add block
	predicate types raptor_rss_fields_info - make atom:author a
	block. add atom:Author, atom:Category, atom:label, atom:schema and
	atom:term raptor_rss_block_fields_info - add new predicates for
	atom:category block add atom:author block

	* src/raptor_rss.c: raptor_rss_parser gains current_block field to
	store current metadata block object.
	(raptor_rss_start_element_handler): Set current_block.
	(raptor_rss_end_element_handler): Store any cdata in block field
	with NULL attribute if there is one.

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Wildcard element name matches
	for RSS namespaces

	* src/raptor_rss.c:
	(raptor_rss_block_set_field): Added.
	(raptor_rss_start_element_handler): Use above to set a block
	attribute value

	* src/raptor_rss.c: raptor_rss_parser - comment.
	(raptor_rss_start_element_handler): Use
	raptor_rss_get_current_item to get item.  When checking block
	attributes, skip NULL attribute names - for element cdata

	* src/raptor_rss.c:
	(raptor_rss_emit_block): Code style and skip block fields with no name.
	(raptor_rss_emit_item): Code style.

	* src/raptor_rss_common.c: raptor_rss_fields_info modify to make
	rss:link and rss:docs take URLs

	* src/raptor_rss.c, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: Use RAPTOR_RSS_RDF_ENCLOSURE_CLASS for
	enclosure class and RAPTOR_RSS_FIELD_ENCLOSURE for predicate

	* src/raptor_rss.h: RAPTOR_RSS_BLOCKS_SIZE 10 after removing rss
	container

	* src/raptor_rss.h, src/raptor_rss_common.c: Add itunes: namespace
	and itunes:owner container with fields in namespace itunes:
	author, subtitle, summary, keywords explicit, image, name, block,
	category and email

	* src/raptor_rss.h, src/raptor_rss_common.c: raptor_rss_type loses
	RAPTOR_RSS_CATEGORY type.  raptor_rss_block_fields_info loses rss
	category - just make it a string value

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c:
	raptor_rss_type delete RAPTOR_RSS_UNKNOWN and replace with
	RAPTOR_RSS_NONE everywhere

2009-02-21  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.h, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: raptor_rss_field_info renamed from
	raptor_rss_info

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: raptor_rss_items_info renamed from
	raptor_rss_types_info raptor_rss_types_info gains a flags field to
	distinguish blocks from containers.
	(raptor_rss_add_container): Use flag to only scan containers, not
	blocks.
	(raptor_rss_emit_block): Handle all types of blocks.  Use the node
	type from raptor_rss_types_info to emit the node type.  Use the
	raptor_rss_block_fields_info to emit the predicates for all
	blocks.

2009-02-20  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Code style.

	* src/raptor_rss.c:
	(raptor_rss_insert_identifiers): Tidy to use
	raptor_set_identifier_uri. Indenting.

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: 
	(raptor_rss_start_element_handler, raptor_rss_insert_identifiers,
	raptor_rss10_serialize_statement): Use raptor_set_identifier_uri
	and raptor_set_identifier_id and refactor to use them better.
	(raptor_rss_block_make_blank_node,
	raptor_rss_insert_block_identifiers): Deleted.
	(raptor_rss_item_equals_statement_subject): Added.
	(raptor_new_rss_block): Add id argument.

	* src/raptor_identifier.c, src/raptor_internal.h:
	Added raptor_set_identifier_uri and raptor_set_identifier_id

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: Remove old enclosure core and switch
	to data-driven raptor_rss_block metadata code.  Update copyrights
	for 2009.  typedef raptor_rss_block_fields_info renamed from
	raptor_rss_block_info and add docs.  Renamed field 'attribute'
	from field_name, attribute_type from field_type.  Added rdf
	predicate info 'field'.  raptor_rss_block_fields_info adds
	predicate info.
	(raptor_rss_start_element_handler): Read from
	raptor_rss_block_fields_info.
	(raptor_rss_insert_block_identifiers): Renamed from
	raptor_rss_insert_enclosure_identifiers.
	(raptor_rss_insert_identifiers): Call above with new name.
	(raptor_rss_emit_block): Use more data tables to emit block.

	* src/raptor_rss_common.c: Add sentinel to end
	raptor_rss_blocks_info array

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Recognise blocks from flags
	and handle <enclosure> attributes @url, @length and @type -
	statically for now.

	* src/raptor_rss.h, src/raptor_rss_common.c: raptor_rss_info gains
	block flag and block_type to use when a block is found.

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Fix conditions for recognizing
	inner containers.

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c: Add
	raptor_rss_block_info to record other metadata blocks
	configuration: rss enclosues, atom categories, rss category and
	rss source.  Switch raptor_rss_block structure from a list of
	specific fields to short arrays of urls and strings.
	(raptor_free_rss_block, raptor_rss_start_element_handler,
	raptor_rss_insert_enclosure_identifiers, raptor_rss_emit_block):
	Switch to generic raptor_rss_block URLs, strings

2009-02-20  Lauri Aalto <laalto@iki.fi>

	* src/raptor_rss.c:
	(raptor_rss_emit_block): Compilation fix after function parameter
	rename

2009-02-19  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c:
	(raptor_rss_emit_block): Renamed from raptor_rss_emit_enclosure

	* src/raptor_rss.h, src/raptor_rss_common.c: Add none raptor node type

	* src/raptor_rss.c: Code style / whitespace.
	(raptor_rss_end_element_handler): Use
	raptor_rss_get_current_item() to get update_item.

2009-02-18  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c:
	(raptor_rss_get_current_item): Pull logic out to get item for
	current type.
	(raptor_rss_start_element_handler): Fix inner container
	processing. Look for rdf:about on an item to get item URI there
	first. Pull out enclosure construction from general field
	handling.

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Remove extra code block &
	outdent.

	* src/raptor_rss.c:
	(raptor_rss_promote_namespace_uri): Added for storing namespace
	change rules.
	(raptor_rss_start_element_handler): Use above to simplify field
	search logic.  Document how an element matches a field.

	* src/raptor_rss.c:
	(raptor_rss_add_container): Add rules about inner containers,
	setting prev_type if seen and put author element ambiguity rules
	here.
	(raptor_rss_start_element_handler): Use above to replace inner
	container identification code.

	* src/raptor_rss.c:
	(raptor_rss_add_container): Added, pulled out of
	raptor_rss_start_element_handler to include the logic for
	determining feed type and container from element name.
	(raptor_rss_start_element_handler): Call above.

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Comments and tidying control
	flow when identifying a container for rss_parser->current_type

	* src/raptor_rss.c:
	(raptor_rss_block_make_blank_node): Added
	pulled out of raptor_rss_insert_identifiers
	(raptor_rss_insert_identifiers): Call above.

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c:
	raptor_rss_block gains rss_type field
	(raptor_new_rss_block): Take type as param and use to set
	node_type.
	(raptor_rss_insert_enclosure_identifiers): Remove node_type init
	and let raptor_new_rss_block set it.
	(raptor_rss_start_element_handler): Call raptor_new_rss_type with
	param for enclosure.

	* src/raptor_rss.h: prototype param

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c:
	raptor_rss_item renamed field enclosure to blocks.
	(raptor_rss_insert_identifiers, raptor_rss_emit_item,
	raptor_free_rss_item, raptor_rss_item_add_block): Renamed
	item->enclosure to item->blocks and renamed variables.

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c:
	Rename raptor_rss_enclosure to raptor_rss_block throughout and
	corrected naming convention.

	(raptor_new_rss_block): Renamed from raptor_rss_new_enclosure.
	(raptor_rss_item_add_block): Renamed from
	raptor_rss_item_add_enclosure.
	(raptor_free_rss_block): Renamed from raptor_enclosure_free.

	* 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_serialize_rss.c, src/raptor_turtle_writer.c,
	src/raptor_xml_writer.c, utils/rapper.c:
	Added serializer feature
	RAPTOR_FEATURE_ALIAS_DEFAULT_NAMESPACE (aliasDefaultNamespace) for
	atom and rss 1.0 serializers to prevent declaring the default
	namespace twice with a prefix and without.  raptor_feature gains
	RAPTOR_FEATURE_ALIAS_DEFAULT_NAMESPACE raptor_features_list gains
	new feature

	(raptor_turtle_writer_set_feature, raptor_sax2_set_feature,
	raptor_xml_writer_set_feature, raptor_set_feature,
	raptor_get_feature, raptor_serializer_set_feature_string,
	raptor_serializer_get_feature_string): enum extensions for
	raptor_feature switches.  struct raptor_serializer_s gains int
	field feature_alias_default_namespace
	raptor_rss10_serializer_context gains a flag free_default_nspace
	to know when to free default namespace now that it may not be
	needed.
	(raptor_rss10_serialize_terminate): Use the free_default_nspace
	flag.
	(raptor_rss10_build_xml_names): Implement altered namespace
	declaration rules.
	(raptor_new_serializer_v2): Initialise default namespace aliasing
	to true by default.
	(raptor_serializer_set_feature): Set flag.

	* src/raptor_rss.h: document struct raptor_rss_enclosure_s fields

2009-02-18  Lauri Aalto <laalto@iki.fi>

	* src/raptor_internal.h, src/raptor_sax2.c: Lowmem fixes in
	raptor_sax2

	(raptor_sax2_s): Internal struct gains "failed" field.

	(raptor_sax2_parse_start):
	Check for raptor_namespaces_init_v2() failure and set sax2 struct
	failure flag.

	(raptor_sax2_start_element, raptor_sax2_end_element,
	raptor_sax2_characters, raptor_sax2_cdata, raptor_sax2_comment,
	raptor_sax2_unparsed_entity_decl,
	raptor_sax2_external_entity_ref):
	No-op if sax2 struct in failed state.

	* src/raptor_namespace.c:
	(raptor_namespaces_init_v2): Check for alloc failure

	* src/raptor_namespace.c:
	(raptor_namespaces_qname_from_uri): Init ns to NULL to prevent
	use-before-init warnings from some optimizing compilers.

2009-02-17  Dave Beckett <dave@dajobe.org>

	* src/raptor_namespace.c:
	(raptor_namespaces_get_default_namespace): Make this work again -
	look for default namespace in correct bucket.

	* librdfa/rdfa.c, src/raptor_internal.h, src/raptor_namespace.c:
	Replace namespace storage from a linked list to a hash on prefix
	using raptor_hash_ns_string() witb a DJ Bernstein hash.  This
	makes turtle parsing with lots of namespaces (100s) much faster.
	Based on the initial patch in the bug it fixes.

	Fixes Issue#0000290 http://bugs.librdf.org/mantis/view.php?id=290

2009-02-10  Dave Beckett <dave@dajobe.org>

	* src/raptor_serialize_rdfxmla.c:
	(raptor_rdfxmla_ensure_writen_header):
	For XMP add a cosmetic newline after <?xpacket>

	* src/raptor_rdfxml.c:
	(raptor_rdfxml_generate_statement): Adjust predicate_type when
	removing ordinal identifier type from predicate.
	Fixes Issue#0000293 http://bugs.librdf.org/mantis/view.php?id=293

