2004-12-31 Dave Beckett * 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 * 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 * raptor_rss.c (raptor_rss_parser_processNode): Turn val into (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 * raptor_www_test.c (main): Cast for size_t 2004-12-23 Dave Beckett * 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 .... 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 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 * 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 * 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:_ 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 * 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 * 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 * 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 * 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 form. 2004-12-14 Dave Beckett * 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 * 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 * 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 * 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 (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 * 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 * 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 * 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 * tests/ex-55.out, tests/ex-55.rdf: ex-55 * tests/Makefile.am: Added ex-55 2004-11-17 Dave Beckett * 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 * rapper.1: Updated -f for serializer features 2004-11-10 Dave Beckett * 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 * rdfdump.c: allow -f to set serializer features * raptor_feature.c (raptor_features_enumerate_common): return -1 2004-11-07 Dave Beckett * 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 * 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 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 * 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 * 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 * 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 * raptor_rfc2396.c (raptor_new_uri_detail): Do not add schema_len twice to dest pointer; stop buffer overrun 2004-10-26 Dave Beckett * raptor_locator.c (raptor_format_locator): Only print line if > 0 * raptor-config.1: Fix --libtool-libs desc 2004-10-24 Dave Beckett * 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:_ '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 * 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 * 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 * 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 * 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 * 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 * rapper.1: die .UE 2004-10-15 Dave Beckett * raptor_xml.c (raptor_xml_escape_string): Call error_handler correctly. 2004-09-24 Dave Beckett * raptor-config.1: Restore deleted content 2004-09-20 Dave Beckett * 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 * configure.ac: Check for libxml 2.5.10+ for RSS tag soup parser requirements, not features. 2004-09-10 Dave Beckett * raptor_namespace.c (raptor_new_namespace): Debug message only when level >1 2004-09-09 Dave Beckett * 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 * 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 * 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 * raptor_set.c (raptor_free_id_set): Free the set after freeing the list. 2004-09-02 Dave Beckett * tests/turtle/test-13.out, tests/turtle/test-13.ttl: Make serializable as rdf/xml 2004-09-01 Dave Beckett * tests/turtle/Makefile.am, tests/turtle/README.txt: Turtle tests readme 2004-08-27 Dave Beckett * 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 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 * 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 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 * turtle_parser.y (blank rule): Do not free a generated id here 2004-08-22 Dave Beckett * configure.ac: Remove old reference to g_utf8_normalize 2004-08-19 Dave Beckett * Makefile.am: Add libraptor_la_SOURCES += for NFC. 2004-08-18 Dave Beckett * 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 * 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 * 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 * raptor_nfc.c: Tidy debug messages. Reset prev_class explicitly. 2004-08-11 Dave Beckett * 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 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 * libraptor.3: Document check_rdf_id feature 2004-08-02 Dave Beckett * 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 * 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 * 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 * raptor_locator.c: cast for c++ 2004-07-26 Dave Beckett * raptor_general.c: Add #ifndef STANDALONE ... #endif around body. 2004-07-21 Dave Beckett * 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 * 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 * 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 * raptor_locator.c: add accessors for parts of the raptor_locator struct. * raptor.h: add prototypes for the accessors 2004-07-09 Dave Beckett * ChangeLog: ChangeLog in CVS now 2004-07-08 Dave Beckett * raptor_general.c (raptor_parse_uri_with_connection): Pass up WWW errors to the parser error handler. 2004-06-30 Dave Beckett * 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 * ntriples_parse.c (raptor_ntriples_parse_line): Make language on a datatyped literal a warning. 2004-06-24 Dave Beckett * 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 * 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 * Makefile.am: Zap extra $@ on rule line 2004-06-13 Dave Beckett * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * raptor.h: Added RAPTOR_STATIC for WIN32 when statically linking Fix raptor_print_statement arg s/const// 2004-05-24 Dave Beckett * raptor_general.c (raptor_free_memory, raptor_system_free): Do not return, no return value. 2004-05-21 Dave Beckett * tests/turtle/rdfq-results.ttl, tests/turtle/rdfq-results.out: Replace XML Schema namespace with 2001 versi 2004-05-19 Dave Beckett * 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 * ntriples_parse.c (raptor_ntriples_generate_statement): Remove use of ntriples_parser, not used. 2004-05-15 Dave Beckett * raptor.spec.in: SNAP 2004-05-12 Dave Beckett * 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 * 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 * raptor_sequence.c, raptor_internal.h: Add assert macros 2004-05-04 Dave Beckett * 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 * 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 * 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 * raptor_general.c (raptor_guess_parser_name): use strrchr to find *last* . 2004-04-14 Dave Beckett * 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 * 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 * 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 * 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 * raptor_sequence.c: cast for c++ 2004-04-09 Dave Beckett * 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 * 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 * turtle_parser.y (turtle_parse): Remove un-necessary cast. * turtle_parser.y (turtle_parse): Free lexer 2004-04-05 Dave Beckett * rdfdump.c: Added HELP_PAD to format long help description over multiple lines. 2004-03-30 Dave Beckett * 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 * 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 * 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 * 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 * 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 * 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 * tests/turtle/test-10.out, tests/turtle/test-09.out, turtle_parser.y: Make Turtle integers emit xsd:integer 2004-03-19 Dave Beckett * 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 * 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 * 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 * 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 * 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 * raptor.h: Add stdio.h 2004-02-19 Dave Beckett * 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 * Makefile.am: deps * rapper.1: fix changelog * Makefile.am: Make rapper.html * rapper.1: urls 2004-01-25 Dave Beckett * raptor_general.c (raptor_delete_parser_factories): Free alias if it was set. 2004-01-24 Dave Beckett * 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 * 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 * 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 * 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 * 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 * 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 * raptor_general.c: year 2004-01-01 Dave Beckett * 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