The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
2004-12-31  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rss.c (raptor_rss10_serialize_terminate):
	Free all namespaces, now they are
	not stacked explicitly.  Free namespace stack.
	(raptor_rss10_build_xml_names): Use raptor_new_namespace and don't
	start the rdf namespace.
	(raptor_rss10_build_xml_names):  Use raptor_new_namespace and don't
	start the namespaces
	((raptor_rss10_serialize_end): Make a namespace stack here, with
	only xml: defined.

	* raptor_xml_writer.c (raptor_xml_writer_start_namespace_full):
	Deleted.
	(main): Declare the foo namespace but don't start it, so that the xml
	writer will do that.

	* raptor_xml_writer.c: Optionally declare a namespace stack internally.
	(raptor_new_xml_writer): Add optional raptor_namespace_stack
	parameter, if NULL declare one internally.

	* turtle_lexer.l, turtle_parser.y: Delete unused WS token

	* raptor_xml_writer.c, raptor_sax2.c, raptor_rss.c,
	raptor_rdfxml.c, raptor_internal.h, raptor.h, libraptor.3:
	Rename raptor_sax2_element to raptor_xml_element throughout.

	* raptor_internal.h: Added feature_start_uri to raptor_serializer

	* raptor_serialize.c (raptor_free_serializer):
	Tidy up any feature_start_uri set.
	(raptor_serializer_set_feature_string): Added, handling
	feature_start_uri created from a passed in string.
	(raptor_serializer_get_feature_string): Added, handling
	feature_start_uri as a returned shared string.

	* raptor_parse.c (raptor_parser_set_feature_string):
	Added, always failing.
	(raptor_parser_get_feature_string): Added, always failing.

	* raptor.h: Added feature RAPTOR_FEATURE_START_URI
	Added prototypes for raptor_parser_set_feature_string,
	raptor_parser_get_feature_string,
	raptor_serializer_set_feature_string,
	raptor_serializer_get_feature_string and
	raptor_feature_value_type

	* raptor_feature.c: Added flag bits for string valued features.
	Added startUri (RAPTOR_FEATURE_START_URI) with a string value.
	(raptor_feature_value_type): Added, to return value of a feature.

2004-12-30  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* libraptor.3: Added SAX2 XML Element and XML Writer classes.

	* raptor_internal.h, raptor.h:
	Moved raptor_sax2_element and raptor_xml_writer to public API.

	* libraptor.3: Added rss-1.0 to raptor_new_serializer description.

	* libraptor.3: More updates for 1.4.3

2004-12-25  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rss.c (raptor_rss_parser_processNode):
	Turn <guid isPermaLink="true">val</guid>
	into <guid rdf:resource="val"/>
	(raptor_rss10_emit_item): Always serialize rss:items at the end of
	an rss channel.

	* raptor_xml_writer.c, raptor_xml.c, raptor_utf8.c, raptor_sax2.c,
	raptor_rss.c, raptor_general.c: Casts for c++.  Rename variables
	namespace to nspace.

2004-12-24  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_www_test.c (main): Cast for size_t

2004-12-23  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rss.c (raptor_rss10_serialize_statement): Fix item URI
	check to use correct URI.  In debugging unknown typed node, print
	type URI.

	* raptor_rss.c (raptor_rss10_serialize_statement): Do not look in
	items with no URI.
	(raptor_rss10_build_xml_names): Do not make qnames for types with
	no namespace.

	* raptor_rss.c (raptor_rss10_build_items): Do nothing if there is
	no seq_uri

	* raptor_rss.c (raptor_init_serializer_rss10): Give rss 1.0 a URI

	* raptor_serialize.c (raptor_iostream_write_string_ntriples):
	Renamed from raptor_serialize_ntriples_print_string and made public.
	Handle delimiters that aren't ' or " such as >, and if found
	\uHHHH escape it.
	(raptor_iostream_write_statement_part_ntriples): Renamed from
	raptor_serialize_ntriples_print_statement_part and made public.
	(raptor_iostream_write_statement_ntriples): Added and made public.
	(raptor_ntriples_serialize_statement): Moved most code to
	raptor_iostream_write_statement_ntriples

	* raptor.h: Add and export raptor_iostream_write_ntriples_string
	and raptor_iostream_write_statement_ntriples

	* tests/turtle/test-13.ttl, tests/turtle/test-13.out: Use a
	namespace URI that gives a predicate which could be serialized to
	rdf/xml.

	* raptor_rss.c (raptor_rss_insert_identifiers): For channel type,
	check both the link field and the atom:id field.

	* raptor_rss.c (raptor_rss10_emit_item): Emit the
	<rss:items><rdf:Seq><rdf:li /> .... </rdf:Seq></rss:items> here.
	(raptor_rss10_serialize_end): Moved items code above.

	* raptor_parse.c (raptor_guess_parser_name): Don't emit debug
	messages about scores unless very debuggy.

	* n3_lexer.l, turtle_lexer.l: In <PREF> state, accept remaining
	characters so -s is true.

	* raptor.h: Export raptor_xml_name_check

	* raptor_xml.c (raptor_valid_xml_ID): Use raptor_xml_name_check
	with appropriate XML version.
	(raptor_xml_name_check): Added to check for a legal XML name.

	* raptor_utf8.c (raptor_utf8_check): Added, to just check a string
	is good UTF-8 and all the Unicode characters are 0 <= char <=
	0x10ffff

	* raptor.h: Export raptor_utf8_check

	* raptor_nfc_test.c (main): Use raptor_utf8_check

	* raptor_xml_writer.c (main): Update tests for changed xml_writer api

	* raptor.h: Export raptor_unicode_is_xml11_namestartchar,
	raptor_unicode_is_xml10_namestartchar
	raptor_unicode_is_xml11_namechar and
	raptor_unicode_is_xml10_namechar

	* raptor_utf8.c: (raptor_unicode_is_xml10_namestartchar,
	raptor_unicode_is_xml11_namestartchar,
	raptor_unicode_is_xml11_namechar, raptor_unicode_is_xml10_namechar):
	Added, as public functions called by raptor_unicode_is_namestartchar
	and raptor_unicode_is_namechar respectively.

	* raptor_rss.c (raptor_clear_rss_items): Renamed from
	raptor_free_rss_items. 	Use raptor_free_rss_item.
	(raptor_rss_context_terminate): Rename call to raptor_clear_rss_items

	* raptor_rss.c (raptor_clear_rss_item): Renamed from
	raptor_free_rss_item to empty a static raptor_rss_item.
	(raptor_free_rss_item): Same as above but deallocates the item too.
	(raptor_free_rss_items, raptor_rss_context_terminate): Use
	raptor_clear_rss_item.

	* raptor_rss.c (raptor_rss10_move_statements): Add item arg.
	Remove auto-fail with type RAPTOR_RSS_ITEM, and now look in the
	sequence of items for instances of this type.
	Count and report moved statements counts when debugging.
	(raptor_rss10_store_statement): Only print out individal statement
	moves when debugging.
	(raptor_rss10_serialize_statement): When typed node is an item, get
	the URI from the entry in the sequence if it exists, maybe move the
	statements then.
	(raptor_rss10_build_items): Move any item statements once the item
	URIs have been made.
	(raptor_rss10_serialize_end): Report triples remaining when
	debugging.
	Remove last raw use of raptor_iostream*

2004-12-22  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rss.c: Fix 'enc' prefix.
	Add rdf_RDF_element and xml_writer to raptor_rss10_serializer_context.
	(raptor_rss10_serialize_init): No need for nstack here.
	(raptor_rss10_serialize_terminate): Delete nstack tidy.
	Tidy up xml_writer and type qnames.
	(raptor_rss10_move_statements): Note don't do rss items.
	(raptor_rss10_build_items): Build list of raptor_rss_item* in
	rss_serializer->items.
	(raptor_rss10_build_xml_names): Added to make namespaces and qnames
	for fields and types; pulled out of raptor_rss10_build_items.
	(raptor_rss10_emit_item): Delete xml-writer, iostr args.
	Replace more raptor_iostream* functions with raptor_xml_writer*
	equivalents.
	(raptor_rss10_serialize_end): Extra nl at end

	* raptor_rss.c: Fix 'enc' prefix.
	Add rdf_RDF_element and xml_writer to raptor_rss10_serializer_context.
	(raptor_rss10_serialize_init): No need for nstack here.
	(raptor_rss10_serialize_terminate): Delete nstack tidy.
	Tidy up xml_writer and type qnames.
	(raptor_rss10_move_statements): Note don't do rss items.
	(raptor_rss10_build_items): Build list of raptor_rss_item* in
	rss_serializer->items.
	(raptor_rss10_build_xml_names): Added to make namespaces and qnames
	for fields and types; pulled out of raptor_rss10_build_items.
	(raptor_rss10_emit_item): Delete xml-writer, iostr args.
	Replace more raptor_iostream* functions with raptor_xml_writer*
	equivalents.
	(raptor_rss10_serialize_end): Move rdf_RDF qname stuff to new
	raptor_rss10_build_xml_names
	Move bits around so that rdf:RDF is declared with all namespaces
	known and using raptor_xml_writer_start_element.
	Emit rdf:Seq and rdf:li elements using_xml_writer_start_element with
	attributes as needed.
	Attempt to emit channel items.

	* raptor_internal.h: Remove
	raptor_xml_writer_element_declare_namespace_full

	* raptor_xml_writer.c: Renamed content_cdata_namespaces to nstack,
	content_cdata_namespaces_depth to nstack_depth.
	(raptor_xml_writer_start_namespace_full): Added, to start a new
	namespace in the xml_writer at the current element.
	(raptor_xml_writer_cdata_counted, raptor_xml_writer_raw_counted,
	raptor_xml_writer_comment_counted): Added.counted string versions.

	* raptor_sax2.c (raptor_new_sax2_element, raptor_free_sax2_element):
	Init/tidy declared_namespaces.
	(raptor_sax2_declare_namespace): Added to declare the given namespace
	on the element.
	(raptor_iostream_write_sax2_element): Handle declared_namespaces;
	boost the nspace_declarations by size of the sequence.
	Declare all the namespaces in the declared_nspaces sequence.

	* raptor_rdfxml.c (raptor_xml_comment_handler):
	Use raptor_xml_writer_comment (uncounted).
	(raptor_cdata_grammar): Use raptor_xml_writer_cdata_counted

	* raptor_internal.h: raptor_sax2_element added declared_nspaces field
	Added prototype for raptor_sax2_declare_namespace.
	Added prototypes for raptor_xml_writer_start_namespace_full and
	raptor_xml_writer_element_declare_namespace_full
	Split raptor_xml_writer_cdata / raptor_xml_writer_raw /
	raptor_xml_writer_comment into uncounted and
	raptor_xml_writer_cdata_counted / raw_counted / comment_counted

2004-12-21  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rss.c: Made rss1.0 the default namespace for writing;
	added prefixes for others.
	(raptor_rss10_serialize_end): Removed unused commented code.

	* raptor_qname.c (raptor_qname_copy): Added.

	* raptor.h: Added raptor_qname_copy.

	* raptor_rss.c: raptor_rss_item field node_type is now a pointer to the
	raptor_rss_info* for that node type.
	(raptor_rss_insert_identifiers, raptor_rss_emit_item): Update for new
	node_type definition.
	raptor_rss10_serializer_context now has rdf_nspace
	(raptor_rss10_build_items): Declare rdf namespace and store in
	rss_serializer->rdf_nspace - freed when namespace stack is destroyed.
	Declare all raptor_namespace* for the
	raptor_rss_namespaces_info[].nspace
	Declare all raptor_qname* for the raptor_rss_fields_info[].qname
	Declare all raptor_qname* raptor_rss_types_info[].qname
	Insert node_type pointers for all items.
	(raptor_rss10_emit_item): Add xml_writer argument.
	Use more of xml_writer to emit main type element and predicate names.
	Incomplete.
	(raptor_rss10_serialize_end): Declare and use mxl_writer and qname,
	element for rdf:RDF.
	Incomplete.

	* raptor_rss.c: Do not init all NULL fields for
	raptor_rss_namespaces_info

	* raptor_rss.c: Added raptor_rss_namespace_info typedef and
	raptor_rss_namespaces_info merging uri_strings and prefixes for
	namespaces.  Made all rss info static.
	(raptor_rss_common_init, raptor_rss_parser_processNode,
	raptor_rss10_serialize_end): Update for namespace URIs struct
	change.

	* raptor_rss.c: Added rss_namespace_prefix_strings to list
	namespaces to declare.  raptor_rss10_serializer_context gains
	raptor_namespace_stack nstack field.
	(raptor_rss10_serialize_init): Init the namespace stack.
	(raptor_rss10_serialize_terminate): Clean namespace stack and any
	defined qnames.
	(raptor_rss10_emit_item): Padding.
	(raptor_rss10_serialize_end): Write namespace decls using stack.

	* raptor_rss.c: Rename some destructors more normally:
	(raptor_free_rss_item): Renamed from raptor_item_free.
	(raptor_free_rss_items): Renamed from raptor_rss_items_free.
	(raptor_rss10_move_statements, raptor_rss10_store_statement): Record
	field counts per item.
	(raptor_rss10_build_items): Find the rdf:_<n> items and put them
	into a raptor sequence.
	(raptor_rss10_emit_item): Skeleton rss item writer.
	(raptor_rss10_serialize_end): Make the final structures and do the
	serializing in skeleton form.

2004-12-20  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rss.c: Added seq_uri to raptor_rss10_serializer_context
	(raptor_rss10_serialize_terminate): Tidy seq_uri
	(raptor_rss10_move_statements, raptor_rss10_store_statement): Ignore
	checking fields with no URI.
	(raptor_rss10_serialize_statement): For rdf:Seq node, store the URI
	or blank node - as fake URI.
	Make fake object node correctly for general statements.

	* raptor_rss.c (raptor_rss_common_init): Prevent 2x initialising.
	(raptor_item_free): Free type URI
	(raptor_rss10_serialize_terminate): Call raptor_rss_common_terminate.
	(raptor_rss10_move_statements): Use RAPTOR_IDENTIFIER_TYPE_PREDICATE
	set raptor_sequence_set_at destroy overwritten object.
	(raptor_rss10_store_statement): Use RAPTOR_IDENTIFIER_TYPE_PREDICATE
	Make fake URIs from blank node strings and free them.

	* raptor_general.c (raptor_free_statement):
	Handle more statement part types.

	* raptor_rss.c:
	RAPTOR_RSS_FIELDS_SIZE now stops before UNKNOWN for real field names.
	(raptor_rss10_move_statements): Added, to move statements from
	the sequence of triples to below a typed node once a new typed node
	of the given type appears.
	(raptor_rss10_store_statement): Added, to store a given statement
	either below an existing typed node or in a sequence of triples if
	it can't be found one.

	* raptor_rss.c (raptor_rss10_serialize_statement):
	iostream write turned into debug.

2004-12-19  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_uri.c (raptor_uri_print): Cast for gcc

	* raptor_rss.c: Use raptor_uri in raptor_rss_item.
	(raptor_rss_context_init, raptor_rss_context_terminate): Added and
	used in parser and serializer init and terminate.
	(raptor_rss10_serialize_init): Initialise list of triples, items.
	(raptor_rss10_serialize_terminate): Tidy up triples, items.
	(raptor_rss10_serialize_statement): Look for known typed nodes,
	identify ones matching rss 1.0 model and also look for the
	rdf:Seq.  Store other triples for later.
	(raptor_rss10_serialize_end): Added skeleton.

2004-12-18  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_uri.c (raptor_uri_print): Added.

	* raptor.h: Added raptor_uri_print

	* raptor_general.c (raptor_statement_copy):
	Added statement copy constructor
	(raptor_free_statement): Added statement destructor.

	* raptor_internal.h:
	Added raptor_statement_copy and raptor_free_statement

	* raptor_rss.c:
	Moved parser namespace URIs to common code rss_namespace_uris.
	(raptor_rss_common_init, raptor_rss_common_terminate): Added to
	initialise and free up common rss items - namespace URIs, URIs for
	types and uris for properties.
	Added skeleton RSS 1.0 serializer
	(raptor_rss10_serialize_init, raptor_rss10_serialize_terminate,
	raptor_rss10_serialize_statement,
	raptor_rss10_serialize_finish_factory,
	raptor_rss10_serializer_register_factory,
	raptor_init_serializer_rss10): Added skeleton RSS 1.0 serializer
	factory and methods.

	* raptor_general.c (raptor_init):
	Added call to raptor_init_serializer_rss10

	* raptor_internal.h: Added raptor_init_serializer_rss10

	* raptor_rss.c (raptor_rss_parse_recognise_syntax): Add atom checks.

2004-12-17  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/Makefile.am: Added
	RDF_MAYFAIL_XML_TEST_FILES,RDF_MAYFAIL_XML_OUT_FILES and rule
	check-mayfail-xml-rdf to run checks that may fail due to XML
	parser bugs.

	* raptor_sax2.c, raptor_serialize.c, raptor_iostream.c,
	raptor_nfc.c, raptor_rdfxml.c: Initialise possibly used but
	uninitialised vars to remove gcc warning with -O.

	* raptor_namespace.c, raptor_rdfxml.c, raptor_serialize.c,
	raptor_xml_writer.c, rdfdump.c, raptor.h, raptor_internal.h,
	raptor_iostream.c: Casts for c++

	* raptor_rdfxml.c: Fix using wrong element name in warnings.

	* raptor_rdfxml.c (raptor_xml_start_element_handler):
	Use raptor_sax2_element_set_attributes.

	* raptor_xml_writer.c (raptor_xml_writer_empty_element): Added.
	(raptor_xml_writer_start_element, raptor_xml_writer_end_element):
	Updated raptor_iostream_write_sax2_element calls
	(main): Add attributes and test writing empty element.

	* raptor_internal.h: Added raptor_sax2_element_set_attributes
	Added is_empty arg to raptor_iostream_write_sax2_element
	Added raptor_xml_writer_empty_element

	* raptor_sax2.c (raptor_sax2_element_set_attributes): Added.
	(raptor_print_sax2_element): tidy
	(raptor_iostream_write_sax2_element): Added is_empty arg
	and use it for <foo... /> form.

2004-12-14  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* libraptor.3: Actaully updated for 1.4.3 so far

	* libraptor.3: Updated for 1.4.2 so far.

	* tests/turtle/README.txt, tests/turtle/rdfq-results.out,
	tests/turtle/test-00.out, tests/turtle/Makefile.am: Switch to base
	URI http://www.w3.org/2001/sw/DataAccess/df1/tests/

	* tests/turtle/test-13.out, tests/turtle/test-13.ttl,
	tests/turtle/manifest.ttl, tests/turtle/bad-12.ttl,
	tests/turtle/bad-13.ttl, tests/turtle/manifest-bad.ttl,
	tests/turtle/bad-10.ttl, tests/turtle/bad-11.ttl,
	tests/turtle/bad-08.ttl, tests/turtle/bad-09.ttl,
	tests/turtle/bad-04.ttl, tests/turtle/bad-05.ttl,
	tests/turtle/bad-06.ttl, tests/turtle/bad-07.ttl,
	tests/turtle/Makefile.am: Import more bad turtle tests, initial
	manifest files

	* raptor_namespace.c (raptor_iostream_write_namespace): Handle
	ns->uri is NULL and no prefix, i.e. emitting xmlns=""

	* raptor_namespace.c (raptor_namespaces_format):
	Handle ns->uri is NULL and no prefix, i.e. emitting xmlns=""

2004-12-08  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_uri.c (raptor_default_new_uri_relative_to_base): Ask for
	1 more char for new URI to allow inserting of a missing "/" path.

	* raptor_rfc2396.c (raptor_uri_resolve_uri_reference): Add debug
	message.  When adding a missing path "/", set the path_len and the
	uri_len to match.
	(main): Added test when a missing abs / path is added.

	* raptor_sequence.c (raptor_sequence_set_at,
	raptor_sequence_get_at): Check for non-negative idx

	* raptor_sequence.c (raptor_sequence_get_at): Fix index offset check

2004-12-02  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* rdfdump.c: Make a raptor_sequence of namespace declarations
	declared by '-f xmlns:foo="bar"' and then add them to the
	serializer when initialised.
	(rdfdump_free_namespace_decl): Added, to provide a helper to
	cleanup.

	* raptor_serialize.c (raptor_serialize_set_namespace): Call
	factory method declare_namespace.
	(raptor_rdfxml_serialize_declare_namespace): Copy the passed in
	namespace prefix, URI before storing the namespace.
	(raptor_rdfxml_serialize_start): Delete the namespace sequence
	contents as the namespaces are declared on the namespace stack,
	which is the new owner of the namespaces.

	* raptor_namespace.c (raptor_new_namespace_parts_from_string):
	Added, to decode things like "xmlns:foo='bar'" into prefix, uri
	strings.

	* raptor.h: Added prototype for raptor_new_namespace_parts_from_string.
	raptor_sequence_free_handler prototype changed to return void

2004-11-30  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_serialize.c (raptor_rdfxml_serialize_init):
	Add a sequence of user-declared namespaces.
	(raptor_rdfxml_serialize_terminate): Tidy sequence.
	(raptor_rdfxml_serialize_declare_namespace): Use sequence to store
	declared namespaces.
	(raptor_rdfxml_serialize_start): Declare used-defined namespaces
	and start them in the namespace stack.

	* raptor_namespace.c (raptor_new_namespace_from_uri):
	Added with raptor_new_namespace code.
	(raptor_new_namespace): Now a wrapper around
	raptor_new_namespace_from_uri.
	(raptor_namespace_copy): Use raptor_new_namespace_from_uri.

	* raptor_qname.c (raptor_iostream_write_qname):
	Added to write a qname to an iostream.

	* raptor.h: Add prototypes for raptor_iostream_write_qname,
	raptor_new_namespace_from_uri

	* raptor_rdfxml.c (raptor_xml_start_element_handler,
	raptor_xml_end_element_handler, raptor_xml_comment_handler,
	raptor_start_element_grammar, raptor_end_element_grammar,
	raptor_cdata_grammar): Update the use of xml_writer for building
	parseType="Literal" content to use an iostream. Use more sax2
	methods rather than direct access to internals - still some left.
	(raptor_xml_parse_init, raptor_xml_parse_start,
	raptor_xml_parse_terminate, raptor_inscope_xml_language,
	raptor_inscope_base_uri): Move expat/libxml details to
	raptor_new_sax2, raptor_sax2_parse_start, raptor_free_sax2,
	raptor_sax2_inscope_xml_language, raptor_sax2_inscope_base_uri
	respectively.
	(raptor_xml_parse_chunk_): Deleted, moved to raptor_sax2_parse_chunk

	* raptor_xml_writer.c: Change to output to an iostream not build
	up a stringbuffer.
	(raptor_new_xml_writer): Add iostream arg, delete never-used
	canonicalize.
	(raptor_free_xml_writer): Remove stringbuffer.
	(raptor_xml_writer_start_element, raptor_xml_writer_end_element):
	Delete stringbuffer and use raptor_iostream_write_sax2_element.
	(raptor_xml_writer_cdata): Delete stringbuffer and use
	raptor_iostream_write_xml_escaped_string.
	(raptor_xml_writer_raw): Added to write just the bytes.
	(raptor_xml_writer_comment): Fixed to emit <!-- and -->
	(raptor_xml_writer_as_string): Deleted.
	(main): Added with test case.

	* raptor_sax2.c (raptor_new_sax2, raptor_free_sax2,
	raptor_sax2_inscope_xml_language, raptor_sax2_inscope_base_uri,
	raptor_sax2_get_depth, raptor_sax2_inc_depth,
	raptor_sax2_dec_depth, raptor_sax2_parse_start,
	raptor_sax2_parse_chunk, raptor_sax2_element_get_element): Added.
	(raptor_iostream_write_sax2_element): Renamed from
	raptor_format_sax2_element and now writing to a raptor_iostream
	with no allocing/freeing buffers.

	* raptor_xml.c (raptor_iostream_write_xml_escaped_string): Added,
	to write an XML-escaped version of a string to an iostream

2004-11-29  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_namespace.c (raptor_iostream_write_namespace): Added to
	write a namespace to a raptor_iostream

	* raptor.h: Added raptor_iostream_write_namespace

	* Makefile.am: Added raptor_xml_writer_test

	* raptor_expat.c (raptor_expat_init): Take void* user data

	* raptor_internal.h: raptor_exp_init takes void*
	Add user_data to raptor_sax2
	Added prototypes or raptor_new_sax2, raptor_free_sax2,
	raptor_sax2_parse_start, raptor_sax2_parse_chunk,
	raptor_sax2_parse_handle_errors, raptor_sax2_get_depth,
	raptor_sax2_inc_depth, raptor_sax2_dec_depth,
	raptor_sax2_inscope_xml_language, raptor_sax2_inscope_base_uri,
	raptor_sax2_element_get_element, raptor_iostream_write_sax2_element
	Deleted raptor_format_sax2_element, raptor_xml_writer_as_string and
	raptor_xml_writer_write_to_iostream
	Changed raptor_new_xml_writer to write to a raptor_iostream

	* raptor.h: Added raptor_iostream_write_xml_escaped_string and
	raptor_namespace_write

2004-11-26  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_internal.h: Added prototype for
	raptor_xml_writer_write_to_iostream

	* raptor_xml_writer.c (raptor_xml_writer_write_to_iostream): Added

	* raptor.h: Added prototype for raptor_iostream_write_stringbuffer

	* raptor_iostream.c: (raptor_iostream_write_stringbuffer) Added

	* configure.ac: --with-dmalloc default is now no

2004-11-25  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac:
	If expat_source is empty, set it to auto so no path-to-source is
	added to libs, includes

2004-11-23  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/ex-55.out, tests/ex-55.rdf: ex-55

	* tests/Makefile.am: Added ex-55

2004-11-17  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* examples/grapper.c:
	Extensively updated to use GTK 2.4, 2.5 features when available.
	Triples/Errors windows have a scalable pane between them
	Triple columns can be sorted by clicking, width resized.
	All known parser features are available on the preferences menu.
	Added parser guessing button.
	Moved syntax menu to top of display.
	Updated about box fields to include more info when possible to
	display.

2004-11-12  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* rapper.1: Updated -f for serializer features

2004-11-10  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_sequence.c (raptor_sequence_join): Copy pointers correctly

	* raptor_sequence.c (raptor_sequence_join): Added, to move all
	items between two sequences leaving one empty.

	* raptor.h: Added raptor_sequence_join

	* raptor.h: Added raptor_serialize_set_namespace

	* raptor_serialize.c (raptor_serialize_set_namespace):
	Added, not implemented.

	* raptor_rss.c (raptor_rss_parse_recognise_syntax):
	Boost in recognising xml rss

2004-11-08  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* rdfdump.c: allow -f to set serializer features

	* raptor_feature.c (raptor_features_enumerate_common): return -1

2004-11-07  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_uri.c: C style, indenting. const unsigned char.
	(raptor_uri_path_make_relative_path): Remove a small memcpy.
	(raptor_uri_to_relative_counted_uri_string) Docs edit.
	Remove a large if {} block.  Rename 'reference' var since libxml2
	defines it (SEP).  Use buildresult to make empty string result.

	* raptor_serialize.c (raptor_rdfxml_serialize_statement): Use
	feature feature_relative_uris to decide when to emit an absolute
	or relative URI, the latter using raptor_uri_to_relative_uri_string.

	* raptor_uri.c: Added raptor relative URI generating code patch
	from René Puls
	(raptor_uri_path_common_base_length): Added. Helper to return the
	common base length of two paths
	(raptor_uri_path_make_relative_path): Added. Helper to build the
	result relative URI string from already analysed parts.
	(raptor_uri_to_relative_counted_uri_string): Added. Get the
	relative URI string between a base and reference URI.
	(raptor_uri_to_relative_uri_string): Added.  Wrapper about the above.
	(assert_uri_to_relative): Added.  Helper for tests for above.
	(main): Added relative URI string generation tests.

	* raptor.h: Added prototypes for
	raptor_uri_to_relative_counted_uri_string and
	raptor_uri_to_relative_uri_string

	* raptor_rss.c (raptor_rss_parser_processNode): Add cast for name
	when returned from xmlTextReaderConstLocalName.

	* raptor_rss.c (raptor_rss_parser_processNode): Always declare
	name as xmlChar*

2004-11-06  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* rdfdump.c: Tidy help messages about features, other words.

	* raptor_parse.c (raptor_feature_from_uri): Moved to raptor_feature.c

	* raptor.h: Moved raptor_feature_from_uri to separate section, not
	just parsers

	* raptor_internal.h: Deleted raptor_feature_from_uri_common

	* raptor_feature.c (raptor_feature_from_uri): Defined here, no need for
	raptor_feature_from_uri_common

	* rdfdump.c: In feature help code, list parser and serializer features
	separately, using new raptor_features_enumerate.

	* raptor_serialize.c (raptor_serializer_features_enumerate):
	Added, a wrapper around	raptor_features_enumerate_common.
	(raptor_serializer_set_feature): Added.
	(raptor_serializer_get_feature): Added.

	* raptor_parse.c: Moved raptor_features_list to raptor_feature.c
	(raptor_features_enumerate): Changed to be a wrapper around
	raptor_features_enumerate_common now containing the body of the code.
	(raptor_feature_from_uri): Changed to be a wraper around
	raptor_feature_from_uri_common now containing the body of the code.

	* raptor_internal.h: Added feature_relative_uris for raptor_serializer.
	Added prototypes for raptor_features_enumerate_common and
	raptor_feature_from_uri_common

	* raptor.h: Added RAPTOR_FEATURE_RELATIVE_URIS for serializing.
	Added prototypes for raptor_serializer_features_enumerate,
	raptor_serializer_set_feature and raptor_serializer_get_feature

	* Makefile.am: Added raptor_feature.c

	* raptor_feature.c:
	Moved common raptor_feature code from raptor_parse.c

	* raptor_rss.c:
	Added <none> entry to raptor_rss_fields_info so that when indexed
	with RAPTOR_RSS_FIELDS_NONE, does not access invalid data.
	Fixes for xmlReader API for older libxml2s:
	Added node type defines for <2.5.9
	Use xmlTextReaderLocalName, xmlTextReaderNamespaceUri instead of the
	Const versions with additional corresponding xmlFree()s for <2.6.0

2004-11-01  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* Snapshotted raptor_1_4_2 for 1.4.2 release

	* win32_raptor_config.h, configure.ac:
	Bumped version to 1.4.2

	* raptor_xml_writer.c (raptor_xml_writer_cdata):
	Return when raptor_xml_escape_string fails.

	* raptor_xml.c (raptor_xml_escape_string):
	Return -1 on UTF-8 encoding failure

	* raptor_xml.c: docs

2004-10-28  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* Snapshotted raptor_1_4_1 for 1.4.1 release

	* raptor_xml.c (raptor_xml_escape_string): Ensure an empty string
	is copied out; write a NUL.

2004-10-28  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* libraptor.3: 1.4.1 raptor_xml_escape_string return value now
	int, <0 on failure.

	* raptor_xml_writer.c (raptor_xml_writer_cdata): Use int for
	raptor_xml_escape_string return variables and use error return <0

	* raptor_serialize.c: (raptor_rdfxml_serialize_write_xml_attribute,
	raptor_rdfxml_serialize_statement) Use int for
	raptor_xml_escape_string return variables.  Handle empty string
	attribute when len=0.

	* raptor_sax2.c (raptor_format_sax2_element):
	Use int for raptor_xml_escape_string return.

	* raptor.h: raptor_xml_escape_string changed return value to int

	* raptor_xml.c (raptor_xml_escape_string): Return value now int,
	<0 on failure to allow escaping an empty string to return 0 bytes
	required.
	(main): Add empty string escaping test.  Check for failure of
	first raptor_xml_escape_string call.

	* raptor_rss.c (raptor_rss_parser_processNode): Fix url attribute
	failing for non-enclosure.

2004-10-27  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rfc2396.c (raptor_new_uri_detail): Do not add schema_len
	twice to dest pointer; stop buffer overrun

2004-10-26  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_locator.c (raptor_format_locator): Only print line if > 0

	* raptor-config.1: Fix --libtool-libs desc

2004-10-24  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* win32_raptor_config.h, configure.ac, NEWS.html:
	Bumped version to 1.4.1

	* Snapshotted raptor_1_4_0 for 1.4.0 release

	* raptor_rss.c: Added generation of triples for RSS enclosures
	based on a patch from Suzan Foster.  Changes made include
	correcting the enclosures namespace, tidying some memory leaks and
	printing some debug information.

	* raptor_serialize.c (raptor_rdfxml_serialize_statement):
	Make rdf:_<n> 'ordinal' properties serialize correctly.

	* raptor_www_test.c (main): Use raptor_www_fetch_to_string for testing.

	* raptor_iostream.c (raptor_string_iostream_finish): Code tidy.

	* libraptor.3, raptor.h: Added raptor_www_fetch_to_string

	* raptor_www.c (raptor_www_fetch_to_string_write_bytes):
	Added handler for the following function.
	(raptor_www_fetch_to_string): Added, to get content back as a string.

2004-10-23  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* libraptor.3: Updates for 1.4.0

	* raptor.h, raptor_iostream.c: s/fh/handle/ for clarity.

	* raptor.rdf.in: Add Raptor to the desc

	* raptor.rdf.in, raptor.spec.in:
	Update descriptions to include serializers

2004-10-21  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_namespace.c: less namespace debugs

	* raptor_xml_writer.c: less cdata debugs

	* raptor_namespace.c: Make most namespace debug messages appear
	only if #ifdef RAPTOR_DEBUG_VERBOSE

	* raptor_rdfxml.c: Make most rdf/xml parsing debug messages appear
	only if #ifdef RAPTOR_DEBUG_VERBOSE

	* raptor_serialize.c:
	(raptor_serialize_start, raptor_serialize_start_to_filename,
	raptor_serialize_start_to_string,
	raptor_serialize_start_to_file_handle,
	raptor_serialize_statement, raptor_serialize_end):
	Fail if no iostream is made or available.

	* raptor_iostream.c (raptor_new_iostream_to_string):
	Docs, zap string and length before starting.

	* raptor_serialize.c (raptor_rdfxml_serialize_statement):
	Print datatype URIs correctly.

2004-10-20  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac, win32_raptor_config.h: 1.4.0

	* raptor_internal.h:
	Added warning_user_data, warning_handler to serializer
	Added prototypes for raptor_serializer_warning and
	raptor_serializer_warning_varargs

	* raptor_serialize.c (raptor_serializer_warning,
	raptor_serializer_warning_varargs): Added
	(raptor_serializer_set_warning_handler): Added

	* raptor.h: Added raptor_serializer_set_warning_handler

	* configure.ac: autoconf mode

	* rdfdump.c: default serializer simple

	* raptor_serialize.c (raptor_rdfxml_serialize_statement): Handle
	URI subject, object right.

	* raptor_serialize.c (raptor_serialize_start_to_filename,
	raptor_serialize_start_to_string,
	raptor_serialize_start_to_file_handle): Don't enforce base URI is
	required.

2004-10-19  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor.h:
	Updated raptor_new_iostream_to_string with malloc_handler argument

	* raptor_serialize.c (raptor_serialize_start_to_string): Update
	raptor_new_iostream_to_string for malloc_handler argument

	* raptor_iostream.c (raptor_string_iostream_finish):
	Use passed-in malloc_handler to
	make string, raptor_stringbuffer_copy_to_string to copy directly in.
	(raptor_new_iostream_to_string): Add optional malloc_handler argument
	so caller can control allocation.
	(main): Update tests for above.

	* raptor.h: Added raptor_stringbuffer_copy_to_string

	* raptor_stringbuffer.c (raptor_stringbuffer_copy_to_string):
	Added to allow exporting to
	externally alloced buffers - handy for cross-library/heap work.
	(main): Added test for above.

	* raptor_general.c (raptor_init): Don't register 'simple' type.

	* raptor_iostream.c, raptor_namespace.c, raptor_serialize.c,
	raptor_iostream.c: Casts for C++

	* tests/Makefile.am, tests/turtle/Makefile.am:
	Replace direct dependency on $(top_builddir)/rapper with build-rapper
	so re-compile check is forced before testing.

	* raptor.h, raptor_namespace.c, raptor_serialize.c:
	Fix a bunch of constitency typos in namespace URIs

	* raptor_internal.h:
	Add locator, error_user_data and error_handler to raptor_serializer.
	Add raptor_init_serializer_rdfxml, raptor_serializer_error,
	raptor_serializer_simple_error and raptor_serializer_error_varargs.

	* raptor_namespace.c:
	Export raptor_xml_namespace_uri, raptor_rdf_namespace_ms_uri,
	raptor_rdf_namespace_schema_uri,
	raptor_xmlschema_datatypes_namespace_uri, raptor_owl_namespace_uri,
	raptor_rdf_namespace_ms_uri_len

	* raptor_general.c (raptor_init): Call raptor_init_serializer_rdfxml

	* raptor.h:
	Export raptor_xml_namespace_uri, raptor_rdf_namespace_ms_uri,
	raptor_rdf_namespace_schema_uri,
	raptor_xmlschema_datatypes_namespace_uri, raptor_owl_namespace_uri,
	raptor_rdf_namespace_ms_uri_len
	Add raptor_serializer_set_error_handler,
	raptor_serializer_get_locator

	* raptor_serialize.c: Added RDF/XML serializer.
	Added locator to serializer.
	(raptor_serializer_error, raptor_serializer_simple_error,
	raptor_serializer_error_varargs): Added internal support for errors.
	(raptor_serializer_set_error_handler, raptor_serializer_get_locator):
	Added public methods

2004-10-18  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_iostream.c: (main) casts for fprintf

	* rdfdump.c: Remove ad-hoc serializing code and use raptor_serializer.
	Update help and usage messages to use raptor_serializers_enumerate

	* raptor_internal.h:
	Added raptor_serializer_factory and declarations for factories
	raptor_init_serializer_ntriples, raptor_init_serializer_simple and
	raptor_delete_serializer_factories

	* raptor_general.c (raptor_init):
	Call raptor_init_serializer_ntriples and
	raptor_init_serializer_simple

	* raptor.h: Added raptor_serializer class and methods:
	raptor_serializers_enumerate, raptor_serializer_syntax_name_check,
	raptor_new_serializer, raptor_free_serializer,
	raptor_serialize_start, raptor_serialize_start_to_filename,
	raptor_serialize_start_to_string,
	raptor_serialize_start_to_file_handle, raptor_serialize_statement,
	raptor_serialize_end, raptor_serializer_get_iostream.  Added new
	raptor_iostream class constructor raptor_new_iostream_to_sink and
	methods: raptor_iostream_write_end, raptor_iostream_write_string,
	raptor_iostream_write_counted_string,
	raptor_iostream_get_bytes_written_count,
	raptor_iostream_write_decimal, raptor_iostream_format_hexadecimal

	* Makefile.am: Added raptor_serialize.c
	Added $(LIBS) to rfc2396 tests for -ldmalloc when present

	* raptor_serialize.c: Serializers

	* raptor_iostream.c (raptor_iostream_write_counted_string):
	Added as a wrapper.

	* raptor_iostream.c (raptor_iostream_format_hexadecimal):
	Added for writing field-formatted hex.

	* raptor_iostream.c (raptor_iostream_get_bytes_written_count):
	Renamed from raptor_get_bytes_written_count
	(raptor_iostream_write_decimal): Added to print a decimal to the
	iostream.

	* raptor_iostream.c (raptor_new_iostream_to_file_handle):
	Do not fclose at end.
	(raptor_string_iostream_finish): Free malloced context.
	(raptor_iostream_write_string): Helper to write C string.

	* raptor_iostream.c: Added sink iostream
	(raptor_sink_iostream_write_byte, raptor_sink_iostream_write_bytes):
	Added.
	(raptor_new_iostream_to_sink): Added to create a throwaway data
	iostream.
	(raptor_free_iostream): Ensure write_end is always called once only.
	(main): Test sink.

	* raptor_iostream.c:
	Added ended flag, once write_end is done, all further calls fail.
	(raptor_filename_iostream_finish): Removed; write_end does this.
	(raptor_filename_iostream_write_end): Added to fclose() on end
	(raptor_string_iostream_finish): More checks when stringbuffer is
	empty.
	(raptor_new_iostream_to_string): Handle error tidy up better.
	(raptor_iostream_write_end): Added.
	(main): Code tidy.

	* raptor_iostream.c: casts for c++

	* raptor.h: Added raptor_iostream class and methods.

	* Makefile.am: Added raptor_iostream.c and raptor_iostream_test

	* raptor_iostream.c: Raptor I/O stream class

	* turtle_parser.y, turtle_lexer.l, n3_parser.y, n3_lexer.l:
	Rename rather generic define ERROR to ERROR_TOKEN to help win32.

2004-10-16  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* rapper.1: die .UE

2004-10-15  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_xml.c (raptor_xml_escape_string):
	Call error_handler correctly.

2004-09-24  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor-config.1: Restore deleted content

2004-09-20  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* win32_raptor_config.h, configure.ac, NEWS.html:
	Bumped version to 1.3.4

	* Snapshotted raptor_1_3_3 for 1.3.3 release

	* Switched to LGPL / Apache 2.0 license in the sources
	  CVS tags before: raptor_license_lgpl_mpl,
	  and after: raptor_license_lgpl_apache2

2004-09-20  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: Check for libxml 2.5.10+ for RSS tag soup parser
	requirements, not features.

2004-09-10  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_namespace.c (raptor_new_namespace):
	Debug message only when level >1

2004-09-09  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* Makefile.am:
	Just link raptor_uri_test, raptor_uri_win32_test with raptor_rfc2396.lo

	* raptor_uri.c: (main) Don't use raptor_basename

	* raptor_uri.c:
	Revert wrapping so that -DWIN32 raptor_uri_win32_test can be
	compiled.  OSX 'make check' will have to live with the moans.

	* raptor_uri.c: Wrap functions with #ifndef STANDALONE ... #endif to
	prevent multiple link warnings on OSX with tests.

	* raptor_uri.c (main): Use program and raptor_basename in messages

	* raptor_xml.c, raptor_stringbuffer.c, raptor_sequence.c,
	raptor_rfc2396.c, raptor_uri.c: Wrap functions with
	#ifndef STANDALONE ... #endif
	to prevent multiple link warnings on OSX with tests.

	* raptor.spec.in, Makefile.am, NOTICE: Added NOTICE for Apache
	License 2.0

	* raptor.spec.in: Mention atom 0.3

	* raptor.spec.in: Update for LGPL/Apache 2.0

	* raptor_rfc2396.c: Header

2004-09-08  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rfc2396.c (raptor_new_uri_detail):
	Handle NULL string - failure.
	Increase alloced size to compensate for possibly 5 extra \0s
	for each URI component.
	(main): Check "" URI parses and NULL doesn't crash it.

	* raptor_internal.h: Added raptor_uri_detail.
	Added internal raptor_basename.

	* raptor.h: docs

	* Makefile.am: Added raptor_rfc2396.c and raptor_rfc2396_test
	Link all tests with librdf.la $(LIBS)

	* raptor_rfc2396.c: RFC2396 URI detail

	* raptor_uri.c: Remove old URI resolving code.

	* raptor_xml.c, raptor_parse.c, raptor_sequence.c, raptor_set.c,
	raptor_stringbuffer.c, raptor_nfc_test.c: Use raptor_basename in
	test code main()

	* raptor_general.c (raptor_basename): Added

	* raptor_rdfxml.c: correct comment

	* Makefile.am: Run tests raptor_set_test and raptor_xml_test
	only if rdf/xml is enabled.

	* raptor_parse.c (raptor_stats_print):
	Print rdfxml stats only if rdf/xml is enabled.

	* Makefile.am: Change test to be raptor_parse_test
	Use raptor_rdfxml.c only if rdf/xml enabled.

	* raptor.h: Export raptor_xml_literal_datatype_uri_string_len

	* raptor_internal.h: Declare raptor_delete_parser_factories.

	* raptor_parse.c, raptor_general.c:
	Moved the following parser related functions and methods to
	raptor_parse.c:
	raptor_default_generate_id_handler,
	raptor_delete_parser_factories, raptor_feature_from_uri,
	raptor_features_enumerate, raptor_free_parser, raptor_generate_id,
	raptor_get_feature, raptor_get_label, raptor_get_locator,
	raptor_get_mime_type, raptor_get_name, raptor_get_parser_factory ,
	raptor_guess_parser_name, raptor_new_parser,
	raptor_new_parser_for_content, raptor_parse_abort,
	raptor_parse_chunk, raptor_parse_file, raptor_parse_file_stream,
	raptor_parse_uri, raptor_parse_uri_with_connection,
	raptor_parse_uri_write_bytes, raptor_parser_error,
	raptor_parser_error_varargs, raptor_parser_fatal_error,
	raptor_parser_fatal_error_varargs, raptor_parser_register_factory,
	raptor_parser_simple_error, raptor_parser_warning,
	raptor_parser_warning_varargs, raptor_parsers_enumerate,
	raptor_set_default_generate_id_parameters, raptor_set_error_handler,
	raptor_set_fatal_error_handler, raptor_set_feature,
	raptor_set_generate_id_handler, raptor_set_parser_strict,
	raptor_set_statement_handler, raptor_set_warning_handler,
	raptor_start_parse, raptor_stats_print, raptor_syntax_name_check,
	raptor_syntaxes_enumerate

	* raptor_rdfxml.c: Added as copy of raptor_parse.c
	
	* Makefile.am: -MPL.html (MPL 1.1), +LICENSE-2.0.txt (Apache 2.0)

	* README.html, LICENSE.html: -MPL1.1, +Apache2.0

	* LICENSE-2.0.txt: Added.

	* MPL.html: Deleted.

2004-09-07  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/turtle/test-16.ttl, tests/turtle/test-16.out:
	10000 triples exactly now

	* raptor_sequence.c: docs

	* turtle_parser.y (blank): Revert mis-edited triple sequence change.

	* turtle_parser.y (propertyList):
	Switch to left-recursion to prevent stack problems with bison.
	(raptor_turtle_parse_terminate): Call turtle_lexer_lex_destroy
	properly.

	* tests/turtle/test-14.ttl, tests/turtle/test-14.out:
	Use exactly 10000 all different triples.

	* tests/turtle/test-15.ttl, tests/turtle/test-15.out:
	Use different objects and no collections so there are exactly 10000
	triples, all different.

	* tests/turtle/test-16.ttl, tests/turtle/test-16.out:
	Use different objects so all 10000 triples are different

	* turtle_lexer.l (turtle_token_print):
	Add INTEGER_LITERAL for debugging.

	* Makefile.am: Make turtle_parser.c appear as C source name

	* turtle_parser.y (statementList, objectList): Switch to using
	left recursion to prevent stack overflow in bison with 10000
	statements (possible) or objects (rarer).

	* tests/turtle/Makefile.am, tests/turtle/test-16.ttl,
	tests/turtle/test-15.out, tests/turtle/test-15.ttl,
	tests/turtle/test-16.out, tests/turtle/test-14.out,
	tests/turtle/test-14.ttl: Added large turtle tests test-14,15,16

	* turtle_parser.y (raptor_turtle_parse_chunk):
	Use RAPTOR_REALLOC for massive speed
	improvements on some systems.

	* raptor_internal.h: Added RAPTOR_REALLOC

2004-09-06  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_set.c (raptor_free_id_set):
	Free the set after freeing the list.

2004-09-02  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/turtle/test-13.out, tests/turtle/test-13.ttl:
	Make serializable as rdf/xml

2004-09-01  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/turtle/Makefile.am, tests/turtle/README.txt:
	Turtle tests readme

2004-08-27  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rss.c: compare namespace URIs the cheaper way

	* raptor_rss.c: Added atom:copyright
	Rewrite atom fields earlier.
	Compare namespaces too, if they have them.

	* raptor_rss.c: Handle atom 0.3 somewhat.
	- Add atom author type.
	- Add atom 0.3 NS and atom 0.3 properties
	- Add DC Ns and all DC element properties.
	- Always rewrites atom:content into rss:description which is not
	  correct for all situations.
	- Cannot handle multiple <link> with different attributes; just uses
	  rel=alternate ones.
	General changes:
	Use XML_READER type enums.
	Fix copying properties to use RAPTOR_RSS_FIELDS_SIZE.
	Allow item field x to have a URI value in item->uri_fields[x] as well
	as literal in item->fields[x].

2004-08-27  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_rss.c: compare namespace URIs the cheaper way

	* raptor_rss.c: Added atom:copyright
	Rewrite atom fields earlier.
	Compare namespaces too, if they have them.

	* raptor_rss.c: Handle atom 0.3 somewhat.
	- Add atom author type.
	- Add atom 0.3 NS and atom 0.3 properties
	- Add DC Ns and all DC element properties.
	- Always rewrites atom:content into rss:description which is not
	  correct for all situations.
	- Cannot handle multiple <link> with different attributes; just uses
	  rel=alternate ones.
	General changes:
	Use XML_READER type enums.
	Fix copying properties to use RAPTOR_RSS_FIELDS_SIZE.
	Allow item field x to have a URI value in item->uri_fields[x] as well
	as literal in item->fields[x].

2004-08-23  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* turtle_parser.y (blank rule): Do not free a generated id here

2004-08-22  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: Remove old reference to g_utf8_normalize

2004-08-19  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* Makefile.am: Add libraptor_la_SOURCES += for NFC.

2004-08-18  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_set.c: Wrap main code with #ifndef STANDALONE

	* raptor_general.c (raptor_init, raptor_finish):
	Use new static raptor_initialised to
	protect these from being run twice.

2004-08-17  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: nfc_needed default

	* configure.ac, Makefile.am:
	Added conditional makefile support for XML parsers (expat, libxml),
	selecting RDF parsers (RDF/XML, Turtle, N-Triples, RSS tag soup),
	NFC checking.
	Added new configure argument --enable-parsers to control this.

	* raptor_utf8.c (raptor_utf8_is_nfc):
	Protect NFC check with define RAPTOR_NFC_CHECK

	* raptor_locator.c (raptor_update_document_locator):
	Protect RDF/XML bits with define
	RAPTOR_PARSER_RDFXML

	* raptor_general.c (raptor_stats_print):
	Protect RDF/XML bits with define RAPTOR_PARSER_RDFXML

	* raptor.h: Added prototype for raptor_calloc_memory

	* raptor_set.c, raptor_nfc.c: Casts for C++

	* LICENSE.html: More LGPL v2.1 fixes

	* win32_raptor_config.h: 1.3.3

2004-08-13  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* turtle_lexer.l, n3_lexer.l: grammar

	* turtle_lexer.l, n3_lexer.l, fix-flex:
	fix-flex now inserts the raptor and win32 config includes block
	at the top of the lexer C.

	* n3_parser.y, n3_lexer.l: win32

	* Several fixes for building on win32 from Chris Pointon

	* win32/raptor.dsw, win32/raptor.dsp: win32 updates from Chris Pointon

	* win32_raptor_config.h:
	No need for #define YY_NO_UNISTD_H here, it's done in the turtle
	lexer and parser C source.

	* turtle_parser.y, turtle_lexer.l: Use turtle_parser.h

	* raptor_xml_writer.c, raptor_sax2.c, raptor_qname.c,
	raptor_parse.c, raptor_namespace.c, raptor_libxml.c: calloc() fixes.

	* Makefile.am:
	Do not generate *.tab.[ch] for turtle parser but process and rename
	to make .c, .h.
	Apply fix-flex to the generated flex header file, to catch another
	unprotected include of unistd.h.

	* libraptor.3: Document raptor_calloc_memory.

	* raptor_general.c: Added raptor_calloc_memory

	* raptor_www_libwww.c:
	Add #ifdef RAPTOR_WWW_LIBWWW ... #endif block around content

	* raptor_www_libfetch.c:
	Add #ifdef RAPTOR_WWW_LIBFETCH ... #endif block around content
	Use #ifdef HAVE_SYS_PARAM_H for sys/param.h

	* raptor_www_curl.c:
	Add #ifdef RAPTOR_WWW_LIBCURL ... #endif block around content

	* win32_raptor_config.h: win32 updates from Chris Pointon

	* raptor_www.c: Calloc fix.
	(raptor_www_get_connection): Return NULL if no WWW library available.

	* raptor_internal.h: Correct RAPTOR_CALLOC macro param names.

	* raptor.h: Export raptor_xml_literal_datatype_uri_string

	* win32/Makefile.am, win32/README.txt, win32/README:
	README renamed to README.txt

2004-08-12  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_nfc.c: Tidy debug messages.
	Reset prev_class explicitly.

2004-08-11  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_parse.c (raptor_record_ID): c99

	* raptor_nfc.c: Return 0 from raptor_nfc_check on failure

	* raptor_nfc_test.c: Raptor NFC test

	* Makefile.am: Added raptor_nfc_test.c, raptor_nfc_data.c,
	raptor_nfc.c and raptor_nfc.h
	Added raptor_nfc_test

	* raptor_utf8.c (raptor_utf8_is_nfc): Use raptor_nfc_check.

	* raptor_nfc.c, raptor_nfc.h: Unicode NFC

	* raptor_internal.h: Added prototype for raptor_nfc_check

	* configure.ac:
	Check for lengths of u8, u16, u32, char, short, int, long

	* raptor_nfc_data.c: Unicode NFC data tables

	* raptor_parse.c: Updated for raptor_set to raptor_id_set renaming.
	(raptor_record_ID): Pass in the base_uri to the raptor_id_set_add, do
	not malloc / free a larger string.

	* raptor_internal.h:
	Rename the raptor_set* typedef and functions to be raptor_id_set

	* raptor_set.c:
	Change the implementation to a list of (set of IDs)-per base URI.
	Each time a base URI is checked it is swapped with the first in
	the list.  The set of IDs (raptor_base_id_set) takes a lot less
	memory since it isn't storing the string concat(base URI,ID) but just
	ID.  The capacity and size parts are part of the raptor_base_id_set.
	Rename the structures and functions to be raptor_id_set not raptor_set.

	* raptor_parse.c (raptor_end_element_grammar):
	Add check for a non-empty property
	element with both a node element <rdf:Description/> child and
	property attributes.  For bad test bad-23.rdf

	* tests/bad-23.rdf:
	bad-23.rdf - property attributes and node element content check

	* tests/Makefile.am: Added bad-23.rdf

2004-08-10  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* libraptor.3: Document check_rdf_id feature

2004-08-02  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c (raptor_set_parser_strict):
	Set feature_check_rdf_id default true.

	* raptor_parse.c (raptor_record_ID):
	Use feature_check_rdf_id to always return
	no rdf:ID check failure when feature is disabled.

	* raptor_general.c (raptor_set_feature, raptor_get_feature):
	Added RAPTOR_FEATURE_CHECK_RDF_ID
	(raptor_set_parser_strict): Set feature_check_rdf_id default true.

	* raptor.h: Added RAPTOR_FEATURE_CHECK_RDF_ID

	* raptor_internal.h: Added feature_check_rdf_id

	* ntriples_parse.c (raptor_ntriples_parse_chunk):
	Move "junk at end of input" test
	to the end of the function, giving the error only if the current
	offset isn't at the end of the current line.

2004-07-30  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_internal.h:
	Switch to WWW read buffer size of 4096 (from 256 bytes!)

	* raptor_general.c: Switch to read buffer size of 4096

2004-07-28  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* autogen.sh: move 'rm's inside configure.ac loop

	* autogen.sh: Ensure subdirs get config.guess, config.sub

	* win32/raptortest.cpp: Added raptor_init, raptor_finish (untested).

2004-07-27  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_locator.c: cast for c++

2004-07-26  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c: Add #ifndef STANDALONE ... #endif around body.

2004-07-21  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: Bumped version to 1.3.3

	* Snapshotted raptor_1_3_2 for 1.3.2 release

	* configure.ac:
	Removed configuration for gnome glib, pkgconfig and glib-config
	to get g_utf8_normalize for Unicode NFC checking.

	* raptor_utf8.c (raptor_utf8_is_nfc):
	Removed use of g_utf8_normalize for Unicode NFC
	checking, it seems to give false negatives, is also rather slow since
	it does normalization rather than just checking for NFC.

	* libraptor.3: Updates for 1.3.2

2004-07-16  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/Makefile.am, tests/ex-54.out, tests/ex-54.rdf,
	tests/warn-03.out, tests/warn-03.rdf: Renamed warn-03 to ex-54 -
	it is not an error or a warning, the data is good

2004-07-14  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/Makefile.am, tests/bad-22.rdf:
	bad-22.rdf testing rdf:li forbidden as a
	property attribute (Graham Klyne)

2004-07-09  Edd Dumbill <edd@usefulinc.com>

	* raptor_locator.c: add accessors for parts of the raptor_locator
	struct.
	* raptor.h: add prototypes for the accessors

2004-07-09  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* ChangeLog: ChangeLog in CVS now

2004-07-08  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c (raptor_parse_uri_with_connection):
	Pass up WWW errors to the parser error handler.

2004-06-30  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: Added RAPTOR_PARSER_TURTLE, RAPTOR_PARSER_NTRIPLES
	and RAPTOR_PARSER_RDFXML all set to 1

	* raptor_general.c (raptor_init):
	Added RAPTOR_PARSER_TURTLE, RAPTOR_PARSER_NTRIPLES and
	RAPTOR_PARSER_RDFXML

	* win32_raptor_config.h: 1.3.2

	* turtle_parser.y, turtle_lexer.l, strcasecmp.c, rdfdump.c,
	raptor_xml_writer.c, raptor_xml.c, raptor_www_test.c,
	raptor_www_libxml.c, raptor_www_libwww.c, raptor_www_libfetch.c,
	raptor_www_curl.c, raptor_www.c, raptor_win32.c, raptor_utf8.c,
	raptor_uri.c, raptor_stringbuffer.c, raptor_set.c,
	raptor_sequence.c, raptor_sax2.c, raptor_rss.c, raptor_qname.c,
	raptor_parse.c, raptor_namespace.c, raptor_locator.c,
	raptor_libxml.c, raptor_identifier.c, raptor_general.c,
	raptor_expat.c, ntriples_parse.c, Makefile.am,
	win32_raptor_config.h, win32_config.h: Renamed win32_config.h to
	win32_raptor_config.h

2004-06-25  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* ntriples_parse.c (raptor_ntriples_parse_line):
	Make language on a datatyped literal a warning.

2004-06-24  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* libraptor.3: Added raptor_alloc_memory.  Note where and why it and
	raptor_free_memory may need to be used in the descriptiona
	and next to the methods that it applies to.

	* raptor_general.c, raptor.h: Added raptor_alloc_memory. Docs.

2004-06-22  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac:
	Added --with-expat-source option to build against an external
	expat source.
	Handle old and new style expat source areas.
	Report expat source dir in summary.
	Tidy up default messages.
	Only use expat subdir if it exists.

	* tests/Makefile.am:
	AM_LDFLAGS does not need LIBS, libraptor.la includes it all.

2004-06-17  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* Makefile.am: Zap extra $@ on rule line

2004-06-13  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: pkg-config is too noisy on errors

	* configure.ac:
	Only muck about with removing -O2 from flags in maintainer mode.

2004-06-12  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* Makefile.am:
	Added local distclean-compile rule to override the insane
	one automake uses by default: rm -f *.tab.c

	* configure.ac: Bumped version to 1.3.2

	* Snapshotted raptor_1_3_1 for 1.3.1 release
	
	* tests/Makefile.am: add CLEANFILES

	* tests/Makefile.am:
	Added TESTS with raptor_empty_test the only one right now.
	Added C include, linking lines

	* tests/empty.c: Test of empty C file, just using raptor.h work

	* raptor_uri.c (raptor_uri_filename_to_uri_string,
	raptor_uri_uri_string_to_filename_fragment): Casts and
	char/unsigned char fixes for C++

2004-06-08  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_uri.c (raptor_default_new_uri): Avoid free(NULL) for filename.

	* raptor_general.c (raptor_parse_file): Check before fopen that it
	is not a directory attempting to be fopen()ed - unix only, with
	lstat.

	* raptor_www.c (raptor_www_file_fetch): Check before fopen that it
	is not a directory attempting to be fopen()ed - unix only, with
	lstat.

	* rdfdump.c: Add error for failure of raptor_uri_filename_to_uri_string

	* raptor_uri.c (raptor_uri_filename_to_uri_string):
	Unix malloc too large by 2.

	* raptor_uri.c (raptor_default_new_uri): Zero fragment pointer.

	* raptor_uri.c (raptor_default_new_uri): Do not use a NULL filename.

	* raptor_uri.c (raptor_uri_uri_string_to_filename_fragment):
	Fail if the URI has no path or was going to return an empty string.
	(assert_filename_to_uri): Test code allow checks for NULL.
	(main): Test code for silly URIs that should work or fail.

2004-06-06  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_internal.h: Added RAPTOR_FATAL3

	* raptor_uri.c: Fix win32 file/URI encoding to use file:///name
	and escape things better.
	(raptor_uri_filename_to_uri_string): Calculate new length correctly,
	with %-escaping.
	(raptor_uri_uri_string_to_filename_fragment): Calculate new format.
	Also do less strlen, strcpy.
	(main): Change tests to match new win32 file URI, test %-escaping
	and %-unescaping correctly.

2004-06-04  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_uri.c:
	NOTE: Not all below is fully working - 3 tests fail at this point.
	(raptor_uri_filename_to_uri_string): %-escape ' ' and '%' at least
	as a minimum.  Document this.  On Windows, generate file:///c:/ ...
	not c|
	(raptor_uri_uri_string_to_filename_fragment): Add %-unescaping.
	(main): Added test cases for %-escaping, %-expanding

	* Makefile.am: Added raptor_uri_win32_test

2004-06-03  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/turtle/rdfq-results.ttl:
	Updated to
	http://www.w3.org/2003/03/rdfqr-tests/recording-query-results.html
	CVS $Id: recording-query-results.html,v 1.9 2004/06/03 12:41:37 aseaborne Exp $

2004-05-31  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c (raptor_parser_error_varargs,
	raptor_parser_warning_varargs): Chop off trailing \n from messages.

	* raptor_libxml.c (raptor_libxml_error):
	Chop off trailing \n correctly.

2004-05-30  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* turtle_lexer.l: Set the uri union field for ':' qname.

	* turtle_parser.y (raptor_turtle_parse_start):
	Delete any existing buffer content before
	starting.

	* raptor_general.c:
	Added feature warn_other_parseTypes, default true in lax mode.

	* raptor_parse.c:
	Added feature warn_other_parseTypes and used to warn when a parseType
	Literal is assumed.

	* raptor_internal.h: Added feature warn_other_parsetypes

	* raptor.h: Aded feature warn_other_parsetypes

	* tests/warn-07.out, tests/warn-07.rdf: Replaced by warn-07

	* tests/Makefile.am: Remove ex-50, warn-07 covers it

	* tests/ex-50.out, tests/ex-50.rdf: Replaced by warn-07

	* tests/Makefile.am: Add warn-07
	Check for right values for warning tests, not just presence of a
	warning.

2004-05-29  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* autogen.sh: Add --enable-maintainer-mode

	* configure.ac:
	Add check for glib-2.0 presence rather than an error barf.

2004-05-28  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/Makefile.am:
	Add set +e, set -e around multiple tests so they only fail at the end.

	* configure.ac: Only check flex version in maintainer mode

	* Makefile.am: Re-order directives and tidy up.
	Make lex and yacc rules be maintainer only.

	* Makefile.am: Use automakefile conditionals STRCASECMP and GETOPT
	for conditional sources.

	* configure.ac: Use automakefile conditionals STRCASECMP and GETOPT

2004-05-27  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: check for perl

	* Makefile.am: Add fix-flex and use it

	* fix-flex: Fix flex output

	* raptor_internal.h: Added raptor_libxml_free

	* raptor_parse.c (raptor_xml_parse_start, raptor_xml_parse_terminate):
	Use
	raptor_libxml_free to tidy up.

	* raptor_libxml.c (raptor_libxml_free):
	Added to tidy up after a parsing.

	* raptor_parse.c (raptor_xml_parse_terminate):
	Clean up sax2_element stack after
	errors.

2004-05-26  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* turtle_lexer.l: Allow _ after : in qnames.
	Make bare ':' work.

	* tests/turtle/rdf-schema.out, tests/turtle/rdf-schema.ttl:
	RDF namespace document

	* tests/turtle/rdfs-namespace.out, tests/turtle/rdfs-namespace.ttl:
	RDFS namespace

	* tests/turtle/Makefile.am: Added test-13, rdf-schema, rdfs-namespace

	* tests/turtle/test-13.out, tests/turtle/test-13.ttl: test bare :

	* turtle_parser.y: Fix RAPTOR_DEBUG args in old format.

	* tests/turtle/Makefile.am: Added test-12

	* tests/turtle/test-12.out, tests/turtle/test-12.ttl:
	test for _ after : in qnames

	* libraptor.3:
	Describe use of UTF-8 for literals and strings

	* libraptor.3: 1.3.1 changes

2004-05-25  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor.h: Added RAPTOR_STATIC for WIN32 when statically linking
	Fix raptor_print_statement arg s/const//

2004-05-24  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c (raptor_free_memory, raptor_system_free):
	Do not return, no return value.

2004-05-21  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/turtle/rdfq-results.ttl, tests/turtle/rdfq-results.out:
	Replace XML Schema namespace with 2001 versi

2004-05-19  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* rdfdump.c: Includes re-order, doc

	* rdfdump.c: don't do stdarg.h here - it should be in raptor.h

	* raptor.h:
	Add include for stdarg.h to get va_list for raptor_vsnprintf

	* raptor_xml.c (raptor_xml_escape_string):
	q should be an unsigned char*

	* raptor_utf8.c (raptor_unicode_char_to_utf8):
	Cast for unsigned long to unsigned char

	* raptor_parse.c (raptor_xml_start_element_handler): Cast for memcpy.

	* win32_config.h: patch from Jose for VC6

2004-05-18  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* ntriples_parse.c (raptor_ntriples_generate_statement):
	Remove use of ntriples_parser,
	not used.

2004-05-15  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor.spec.in: SNAP

2004-05-12  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* turtle_parser.y, turtle_common.h, ntriples_parse.c:
	Do not allow any language with datatype literals.

	* tests/turtle/Makefile.am: add zip, tests.zip targets

2004-05-11  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: Bumped version to 1.3.1

	* Snapshotted raptor_1_3_0 for 1.3.0 release

	* turtle_lexer.l: Allow - in qnames, prefix qnames.

	* tests/turtle/Makefile.am: Added test-11

	* tests/turtle/test-11.out, tests/turtle/test-11.ttl:
	- and _ in qnames, prefixes

2004-05-07  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_sequence.c, raptor_internal.h: Add assert macros

2004-05-04  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c, raptor.h:
	Export raptor_xml_literal_datatype_uri_string

	* raptor_internal.h:
	raptor_xml_literal_datatype_uri_string now exported.

	* libraptor.3: Added 1.3.0 items

	* raptor_general.c (raptor_parse_uri_with_connection): Document
	the Accept: header malarky.  Only send it if connection is NULL.
	Use Accept: MIME-TYPE,*/*;q=0.1

	* raptor_www_curl.c (raptor_www_curl_fetch): append to slist right

	* raptor_general.c (raptor_parse_uri_with_connection): Send
	"Accept: MIME-TYPE ;*/*" to prefer the specified one rather than
	accept only that.

	* raptor.h: Added raptor_get_mime_type

	* raptor_general.c (raptor_parse_uri_with_connection):
	Set Accept header with mime type of this syntax if there is one

	* raptor_www.c (raptor_www_set_http_accept):
	Make accept value overwrite \0 from Accept:

	* configure.ac: make raptor.rdf

	* turtle_parser.y, raptor_www_libxml.c, raptor_parse.c,
	ntriples_parse.c: Fixes for c++

	* Makefile.am: added raptor.rdf.in

	* raptor.rdf.in: DOAP

2004-05-02  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* turtle_parser.y: Add xml_literal_datatype_uri to parser context.
	(raptor_turtle_parse_init,raptor_turtle_parse_terminate): use above
	(raptor_turtle_generate_statement): Use above to remove language
	from all literals except xml literals.

	* turtle_common.h: Add xml_literal_datatype_uri to parser context.

	* ntriples_parse.c: Add xml_literal_datatype_uri to parser context.
	(raptor_ntriples_parse_init,raptor_ntriples_parse_terminate): use
	above
	(raptor_ntriples_generate_statement): Use above to remove language
	from all literals except xml literals.

	* raptor_identifier.c (raptor_identifier_print):
	Use raptor_xml_literal_datatype_uri_string
	and save a string.

2004-04-29  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* rdfdump.c (main):
	Use raptor_free_memory to free memory allocated in libraptor.

	* raptor_www_libxml.c (raptor_www_libxml_fetch):
	Free content type using libxml's xmlFree
	since it was allocated there.

	* raptor_www_libxml.c, raptor_www_curl.c (raptor_www_libxml_fetch):
	Make headers for User-Agent: and/or
	Accept: if they were set in the raptor_www.

	* raptor_www.c (raptor_www_set_http_accept): Added.

	* raptor_internal.h: Added http_accept to raptor_www

	* raptor.h: Added raptor_www_set_http_accept

2004-04-15  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c (raptor_guess_parser_name):
	use strrchr to find *last* .

2004-04-14  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_sequence.c (raptor_new_sequence): Zap sequence field.

	* raptor_xml_writer.c (raptor_xml_writer_cdata):
	Do not copy more bytes than allowed.

	* Makefile.am: Added raptor_expat.c

	* raptor_parse.c: Export some expat-only handlers:
	raptor_xml_unparsed_entity_decl_handler,
	raptor_xml_external_entity_ref_handler.
	(raptor_xml_parse_init): Do not call expat init code here.
	(raptor_xml_parse_start): Call new raptor_expat_init to initialise
	parser state.

	* raptor_internal.h: Added RAPTOR_XML_EXPAT only exports including
	raptor_expat_init prototype.

	* raptor_expat.c: raptor expat parser

2004-04-13  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor.h: Added xsd and owl namespace URIs

	* raptor_namespace.c (raptor_namespaces_init):
	Define xsd, owl when defaults is 2+

2004-04-11  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_parse.c:
	(raptor_xml_parse_start) Free expat/libxml contexts from an earlier parsing to ensure resetting of state

	* raptor_stringbuffer.c (raptor_stringbuffer_prepend_string_common):
	Added
	(raptor_stringbuffer_prepend_counted_string,
	raptor_stringbuffer_prepend_string): Added, implemented by above
	internal function.
	(main): Added tests for prepending.

	* raptor.h: Add RAPTOR_API for newly exported functions.  Add
	raptor_stringbuffer_prepend_counted_string,
	raptor_stringbuffer_prepend_string

	* raptor_stringbuffer.c: (main) printf arg

	* raptor_internal.h, raptor.h: Moved raptor_stringbuffer to public API

	* raptor_stringbuffer.c (raptor_stringbuffer_append_stringbuffer):
	Added.
	(main): Updated test code for raptor_stringbuffer_append_stringbuffer

2004-04-10  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c, raptor.h (raptor_guess_parser_name):
	Added new public class method.
	(raptor_new_parser_for_content): Now uses above.

	* raptor_internal.h, raptor.h:
	Move raptor_unicode_char_to_utf8, raptor_utf8_to_unicode_char to
	public API.

	* INSTALL.html: consistency with librdf instructions.
	update libxml versions.
	update automake, autoconf minimums.

	* tests/Makefile.am: fix result codes for split off NFC warnings

	* tests/Makefile.am:
	Split off NFC warnings so they can fail noisily when glib isn't
	present to do the check.

	* rapper.1:
	Document -g/--guess flag to guess the parser to use from the
	identifier (URI or file name).

	* rdfdump.c:
	Added -g/--guess flag to use raptor_new_parser_for_content guessing
	the parser to use from the identifier (URI or file name).

	* turtle_parser.y, raptor_rss.c, raptor_parse.c, ntriples_parse.c:
	Added scoring factory method recognise_syntax for rdfxml, ntriples,
	rss, turtle parsers.

	* raptor_internal.h:
	Added parser scoring factory method recognise_syntax.

	* raptor_general.c (raptor_new_parser_for_content):
	Added, guessing which parser to
	instance using scoring factory method recognise_syntax.

	* raptor.h: Added raptor_new_parser_for_content

2004-04-10  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_sequence.c: cast for c++

2004-04-09  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_parse.c: Removed use of raptor_print_statement_detailed

	* raptor_internal.h:
	Removed raptor_print_statement_part_as_ntriples, made static

	* raptor.h: Deprecate raptor_print_statement_detailed

	* raptor_general.c (raptor_print_statement_detailed):
	Restored, was in raptor.h but useless.

	* raptor_general.c: dates, docucomments
	(raptor_print_statement_detailed): Deleted - never publically
	documented or used.

2004-04-08  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* Makefile.am: raptor_sequence_test needs to link with libraptor.la

	* turtle_parser.y:
	rename raptor_free_handler,raptor_print_handler -> as raptor_sequence...

	* raptor.h, raptor_internal.h: Move sequence class to public api.

	* raptor_sequence.c:
	rename raptor_free_handler,raptor_print_handler -> as raptor_sequence...
	(raptor_sequence_print_uri): Added.
	(raptor_sequence_set_print_handler): Added.

	* raptor_internal.h, raptor.h: Export raptor_vsnprintf public.

2004-04-06  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* turtle_parser.y (turtle_parse): Remove un-necessary cast.

	* turtle_parser.y (turtle_parse): Free lexer

2004-04-05  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* rdfdump.c:
	Added HELP_PAD to format long help description over multiple lines.

2004-03-30  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/turtle/test-00.out: Updated base uri

	* tests/turtle/Makefile.am: Added rdfq-results

	* tests/turtle/rdfq-results.out, tests/turtle/rdfq-results.ttl:
	RDF Query result set example from
	http://www.w3.org/2003/03/rdfqr-tests/recording-query-results.html

2004-03-27  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c, turtle_parser.y, rdfdump.c: casts for C++

	* NEWS.html: skeleton 1.3.0 news

	* configure.ac, autogen.sh: Use some AM_INIT_AUTOMAKE options.
	Require automake1.7, which requires autoconf 2.54

	* examples/Makefile.am:
	Drop $(shell .. ) which is not portable between makes

	* raptor-src-config.in, raptor-config.in: emit --help usage to
	stdout, Support --help and exit 0.

2004-03-26  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* libraptor.3: words

	* rapper.1: Document -f

	* TODO.html: bug was libxml2 not me

	* tests/Makefile.am: Add bad-21

	* tests/bad-21.rdf:
	Check non-namespaced attributes on a property are reported

	* raptor_parse.c (raptor_xml_start_element_handler):
	Check element, attributes for
	non-namespaces once we know we are in rdf processing.
	Check all named attributes for lack of namespace, error and zap
	if found.
	(raptor_process_property_attributes): Skip any deleted attributes.

2004-03-25  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/Makefile.am: Added warn-05, warn-06

	* tests/warn-05.out, tests/warn-06.out, tests/warn-05.rdf,
	tests/warn-06.rdf: Check for warning for unknown rdf namespaced
	property element, attributes

	* raptor_parse.c (raptor_process_property_attributes):
	Generate an error for forbidden
	rdf names, warning for unknown rdf names.

	* raptor_parse.c: Merged rdf_attr_info into rdf_syntax_terms_info.
	Now we can check for unknown rdf: names
	(raptor_forbidden_nodeElement_name,
	raptor_forbidden_propertyElement_name,
	raptor_forbidden_propertyAttribute_name): Return -1 on unknown name.
	(raptor_start_element_grammar): Generate an error for forbidden
	rdf names, warning for unknown rdf names.

	* tests/Makefile.am: Added warn-04

	* tests/warn-04.out, tests/warn-04.rdf:
	Check for warning for unknown rdf namespaced node element

	* tests/turtle/Makefile.am, tests/Makefile.am:
	fix grep for Warning output

	* raptor_general.c, raptor.h:
	Added raptor_free_memory to dealloc memory returned by raptor
	functions - some systems need this due to having multiple heaps.

	* raptor_general.c (raptor_default_generate_id_handler): doh

	* raptor_general.c (raptor_default_generate_id_handler):
	Rework not to use tmpid before
	initialising it.

	* raptor_general.c (main): Free returned uri

	* raptor.h: Added raptor_feature_from_uri

	* Makefile.am: Added raptor_general_test

	* raptor_general.c (raptor_feature_from_uri):
	Turn a feature URI into a feature number.
	(main): Added, testing feature enumerations.

	* rdfdump.c: note feature values in -f help

	* rdfdump.c: More help message tidying.

	* rdfdump.c: Alter HELP_TEXT macro so short arg isn't auto-quoted.
	Use this to add short option options arg to help.

2004-03-24  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c (raptor_default_generate_id_handler):
	Don't bump default genid
	counter when a user_bnodeid is present.

	* rdfdump.c:
	Allow setting feature optional values -f NAME=VALUE (integer).

	* raptor_general.c, raptor.h:
	Use raptor_feature type for enumeration calls.

	* raptor_general.c: Tidy feature labels

	* rdfdump.c: Tidy -f help message.

	* rdfdump.c: Re-ordered long_options to be alphabetical by option char.
	Added -f/--feature FEATURE to set a parser feature.
	With the value 'help', lists them all using raptor_features_enumerate.

	* raptor.h: Added raptor_get_feature, raptor_features_enumerate.
	raptor_set_feature gets a return value.

	* raptor_general.c (raptor_set_feature):
	Delete docs, now has an API.  Return a failure value.
	raptor_features_list - static added.
	(raptor_features_enumerate): Added, to allow returning
	of parser feature name, URI and/or label.
	(raptor_get_feature): Added.

2004-03-23  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* TODO.html: Add turtle use of raptor_generate_id

	* turtle_parser.y (blank):
	Use raptor_generate_id when a blank identifier name is
	given, to allow application to change it.

2004-03-21  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/turtle/test-10.out, tests/turtle/test-09.out, turtle_parser.y:
	Make Turtle integers emit xsd:integer

2004-03-19  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_parse.c: Twice.

	* raptor_parse.c: Remove FIXME for other rdf:parseType values -
	just fall through to Literal

	* raptor_parse.c: FIXME not relevant.

	* ntriples_parse.c (raptor_ntriples_generate_statement):
	Kill a FIXME, fail with an
	error on bad rdf:_n property.

	* tests/Makefile.am: Added bad-06.nt

	* tests/bad-06.nt: bad rdf:_n in ntriples

2004-03-18  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* turtle_parser.y: Added INTEGER_LITERAL.
	Turn it into a xsd:nonNegativeInteger

	* turtle_lexer.l: Added INTEGER_LITERAL.

	* tests/turtle/Makefile.am: Added test-09 test-10

	* tests/turtle/test-09.out, tests/turtle/test-09.ttl,
	tests/turtle/test-10.out, tests/turtle/test-10.ttl: Integer
	literal tests

	* tests/Makefile.am, Makefile.am:
	Ensure rapper is up-to-date and built before tests are run.

2004-03-15  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/warn-03.out, tests/warn-03.rdf:
	Added warn-03 warning not dieing on NFC in XML literals

	* tests/Makefile.am: Added warn-03

	* raptor_parse.c (raptor_end_element_grammar):
	For NFC problems in an XML literal,
	take notice of feature_non_nfc_fatal which defaults to warning,
	rather than given an error.

2004-02-26  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* tests/turtle/Makefile.am: Added bad-04.ttl

	* tests/turtle/bad-04.ttl: Check , in collection items fails

	* tests/turtle/test-07.ttl: Remove , between items - forbidden.

	* turtle_parser.y (objectList):
	Remove optional commas for triple objects.
	(itemList): Added with no commas.
	(collection): Use itemList not objectList.

	* tests/turtle/Makefile.am: remove test-09.ttl

	* tests/turtle/test-09.out, tests/turtle/test-09.ttl:
	Comma is required or not in collections, not optional

2004-02-24  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor.spec.in: Export library la files

	* turtle_parser.y (objectList):
	Allow optional commas in lists of objects - such as in
	all triple objects and collections.

	* tests/turtle/test-09.out, tests/turtle/test-09.ttl:
	Added test for optional comms in a collection

	* tests/turtle/Makefile.am: Added test-09.ttl

2004-02-23  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor.h: Add stdio.h

2004-02-19  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* n3_lexer.l, turtle_lexer.l (main):
	Don't re-reset the scanner to its address.

	* n3_lexer.l, turtle_lexer.l: Remove RAPTOR_IN_REDLAND

	* turtle_parser.y (main): Use lineno.

	* turtle_parser.y: comment

2004-01-30  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* Makefile.am: deps

	* rapper.1: fix changelog

	* Makefile.am: Make rapper.html

	* rapper.1: urls

2004-01-25  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c (raptor_delete_parser_factories):
	Free alias if it was set.

2004-01-24  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* rdfdump.c: Don't print (default) when listing valid args for -i

	* rdfdump.c: Use raptor_syntax_name_check to check name; don't
	make/destroy a parser.

	* raptor_general.c (raptor_syntax_name_check): Added, to check names.

	* raptor.h: Added raptor_syntax_name_check

	* rdfdump.c: Make -i try to make a parser, don't hardcode names.

	* rdfdump.c: Use raptor_syntaxes_enumerate in -i error

	* rdfdump.c: Use raptor_syntaxes_enumerate in usage -i help

	* rapper.1: Updated to mention Turtle.

	* configure.ac: Bumped version to 1.3.0

	* README.html: turtle

	* Snapshotted raptor_1_2_0 for 1.2.0 release

	* libraptor.3, README.html, NEWS.html: Updated for 1.2.0

	* TODO.html: N-Triples Plus to Turtle

2004-01-22  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: Use AC_PROG_LEX and handle when there is no lex or
	flex gracefully.  AM_PROG_LEX set LEX to a value that caused odd
	configure output.

2004-01-20  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* configure.ac: Updated output files check from n3/ntriples plus
	to turtle

	* turtle_parser.y, raptor_rss.c, raptor_parse.c, ntriples_parse.c:
	Update to use raptor_parser_register_factory alias argument
	to register any old or alternate names.

	* raptor_internal.h: Add alias field to raptor_parser_factory_s.
	Add alias argument to raptor_parser_register_factory prototype.

	* raptor_general.c (raptor_parser_register_factory,
	raptor_get_parser_factory): Added an alias argument, used to
	register a alternate name which is never used or returned in
	parser enumerations.

	* examples/grapper.c:
	Added a tooltip for the errors/warnings output box.

	* examples/grapper.c: Use G_TYPE_INT for column 1 of errors

	* examples/grapper.c:
	Added errors/warnings box, updated with results of parsing.

	* Makefile.am: Added ChangeLog.1

2004-01-19  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c: Define raptor_system_malloc, raptor_system_free

	* raptor_internal.h: RAPTOR_... not LIBRDF_

	* raptor_utf8.c (raptor_utf8_is_nfc): Use SYSTEM_FREE

	* raptor_internal.h: Define SYSTEM_MALLOC, SYSTEM_FREE

2004-01-18  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* turtle_parser.y: fix double free of first_identifier

	* turtle_parser.y: Collections generating triples.

	* turtle_common.h: Add nil/first/rest_uri fields

	* tests/turtle/test-07.out: Updated as a collection test result.

	* tests/turtle/Makefile.am: Added test-08

	* tests/turtle/test-08.out, tests/turtle/test-08.ttl,
	tests/turtle/test-07.ttl: collection test

	* turtle_lexer.l: Added '(' and ')' for collections.

	* turtle_parser.y:
	Added collection grammar parts, triples not right yet.

	* raptor_identifier.c (raptor_copy_identifier):
	Copy literal languages correctly.

	* tests/turtle/test-00.out, tests/turtle/Makefile.am,
	tests/Makefile.am, turtle_parser.y, turtle_lexer.l,
	turtle_common.h, raptor_internal.h, raptor_general.c,
	configure.ac, Makefile.am:
	N-Triples Plus to Turtle
	n3_ in filenames to turtle_
	.ntp to .ttl

	* rdfdump.c: indenting

	* rdfdump.c: Allow turtle, don't document ntriples-plus

	* n3_parser.y, turtle_parser.y: Register under the name turtle

2004-01-14  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_xml_writer.c, raptor_uri.c, raptor_rss.c, raptor_qname.c,
	raptor_parse.c, raptor_namespace.c, raptor_internal.h,
	raptor_general.c, ntriples_parse.c: RAPTOR_ERROR* and
	RAPTOR_FATAL* lose their function arg, using __func__

	* raptor_general.c (raptor_finish):
	Remove direct call of raptor_terminate_parser_rdfxml

	* raptor_parse.c (raptor_xml_parse_finish_factory): Renamed from
	raptor_terminate_parser_rdfxml and now static.

	* raptor_internal.h: finish_factory returns void

	* raptor_internal.h: Added finish_factory factory cleanup method.
	Removed raptor_terminate_parser_rdfxml.

	* raptor_general.c (raptor_delete_parser_factories):
	Free mime type, URI string.  Call
	new finish_factory factory method.

2004-01-07  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c: year

2004-01-01  Dave Beckett  <Dave.Beckett@bristol.ac.uk>

	* raptor_general.c: casts for string ops

	* raptor_www.c, raptor_internal.h, configure.ac:
	Added WWW access with BSD libfetch.

	* raptor_www_libfetch.c: WWW access with BSD libfetch