mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-02 16:49:41 +02:00
2157 lines
76 KiB
HTML
2157 lines
76 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
|
<head>
|
|
<title>Raptor RDF Parser Library - Release Notes</title>
|
|
</head>
|
|
<body>
|
|
|
|
<h1 style="text-align:center">Raptor RDF Parser Library - Release Notes</h1>
|
|
|
|
|
|
<h2 id="rel1_4_17"><a name="rel1_4_17">Raptor 1.4.17 Changes</a></h2>
|
|
|
|
<p>The main changes to this release are:</p>
|
|
|
|
<p>Added two new JSON serializers: resource-centric 'json'
|
|
(Talis <a href="http://n2.talis.com/wiki/RDF_JSON_Specification">RDF/JSON</a>)
|
|
and triple-centric 'json-triples'.
|
|
</p>
|
|
|
|
<p>Made I/O Stream class <code>raptor_iostream</code> support
|
|
reading as well as writing with new constructors and
|
|
new methods.</p>
|
|
|
|
<p>Added a new public SAX2 API class <code>raptor_sax2</code>
|
|
exposing the existing internal API which has been around since the
|
|
first release of Raptor 8 years ago and runs on top of either expat
|
|
or libxml2.</p>
|
|
|
|
<p>Added new public error handlers structure
|
|
<code>raptor_error_handlers</code> containing a set of
|
|
(function, data pointers) pairs called <code>raptor_handler_closure</code>
|
|
for each error log level.
|
|
Added <code>raptor_log_level</code> enum for the error log level.
|
|
Added an initialization function for the structure,
|
|
<code>raptor_error_handlers_init()</code>.
|
|
</p>
|
|
|
|
<p>Several other API changes, fixes and improvements were made.</p>
|
|
|
|
<p>Fixed Issues:</p>
|
|
<ul>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=252">0000252</a>: Allow controlling of cache headers in Raptor</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=245">0000245</a>: Extra classes added to an OWL object</li>
|
|
</ul>
|
|
|
|
|
|
<h3>I/O Stream class changes</h3>
|
|
|
|
<p>Made I/O Stream class <code>raptor_iostream</code> support
|
|
reading data in addition to writing. (Dave B):</p>
|
|
<ul>
|
|
<li>Deprecated <code>raptor_iostream_handler</code> structure for new
|
|
<code>raptor_iostream_handler2</code> structure which contains the
|
|
new factory functions for reading.</li>
|
|
<li>Added new read I/O stream factory handler typedefs
|
|
<code>raptor_iostream_read_bytes_func</code> and
|
|
<code>raptor_iostream_read_eof_func</code>.
|
|
</li>
|
|
<li>Added new <code>raptor_new_iostream_from_handler2()</code> I/O
|
|
stream constructor to allow building of read and write iostreams
|
|
deprecating <code>raptor_new_iostream_from_handler()</code>.
|
|
</li>
|
|
<li>Added new <code>raptor_iostream_tell()</code> deprecating
|
|
<code>raptor_iostream_get_bytes_written_count</code>.
|
|
</li>
|
|
<li>Added new read I/O Stream constructors:
|
|
<code>raptor_new_iostream_from_sink</code>(),
|
|
<code>raptor_new_iostream_from_filename()</code>
|
|
<code>raptor_new_iostream_from_file_handle()</code> and
|
|
<code>raptor_new_iostream_from_string()</code>
|
|
</li>
|
|
<li>Added new read I/O Stream methods
|
|
<code>raptor_iostream_read_bytes()</code> and
|
|
and <code>raptor_iostream_read_eof()</code>.
|
|
</li>
|
|
</ul>
|
|
|
|
<p>Added new write I/O Stream method
|
|
<code>raptor_iostream_write_string_python()</code> to write an
|
|
encoded string to an I/O stream using python / JSON / Turtle /
|
|
N-Triples / SPARQL escaping rules. (Dave B)
|
|
</p>
|
|
|
|
|
|
<h3>Serializer Class Changes</h3>
|
|
<p>Added two new JSON serializers (Dave B):</p>
|
|
<ol>
|
|
<li>Resource-centric serializer named <code>json</code> based on
|
|
<a href="http://n2.talis.com/wiki/RDF_JSON_Specification">Talis RDF/JSON Specification</a></li>
|
|
<li>Triple-centric serializer named <code>json-triples</code> based on the SPARQL results in JSON format.</li>
|
|
</ol>
|
|
|
|
<p>Added new serializer features for the JSON serializers (DaveB):</p>
|
|
<ul>
|
|
<li><code>RAPTOR_FEATURE_JSON_CALLBACK</code> (name 'jsonCallback') to
|
|
set the top-level callback function name wrapper above the outer object.</li>
|
|
<li><code>RAPTOR_FEATURE_JSON_EXTRA_DATA</code> (name 'jsonExtraData') to
|
|
add extra top-level JSON object data.</li>
|
|
</ul>
|
|
|
|
<p>Example of using the resource-centric serializer while defining a
|
|
callback:</p>
|
|
<pre>
|
|
$ rapper -q -o json -f jsonCallback=foo http://librdf.org/raptor/raptor.rdf
|
|
foo(
|
|
{
|
|
"http://librdf.org/raptor/#raptor" : {
|
|
"http://usefulinc.com/ns/doap#description" : [ {
|
|
...
|
|
</pre>
|
|
|
|
|
|
<h3>Statement Class Changes</h3>
|
|
|
|
<p>Added <code>raptor_statement_compare()</code> to provide an
|
|
ordering between <code>raptor_statement</code> objects. (Dave B)
|
|
</p>
|
|
|
|
|
|
<h3>Parser Class Changes</h3>
|
|
|
|
<p>Added new parser features to control HTTP headers in
|
|
web requests (Dave B, based on a patch in the bug):<br />
|
|
Also never <code>Pragma:</code> header with libcurl ever.<br />
|
|
Fixes <a href="http://bugs.librdf.org/mantis/view.php?id=252">Issue#0000252</a>
|
|
</p>
|
|
<ul>
|
|
<li><code>RAPTOR_FEATURE_WWW_HTTP_CACHE_CONTROL</code> to control
|
|
sending <code>Cache-Control</code> (default: none)</li>
|
|
<li><code>RAPTOR_FEATURE_WWW_HTTP_USER_AGENT</code> to control
|
|
sending <code>User-Agent</code> (default: none)</li>
|
|
</ul>
|
|
|
|
<p>Turtle parser:</p>
|
|
<ul>
|
|
<li>Added tests to forbid <code>'</code> and
|
|
<code>'''</code>-quoted strings and to forbid <code>()</code> in
|
|
triple predicate position following the updated Turtle spec. (Dave B)</li>
|
|
<li>Write ';' statement terminators with a leading
|
|
space for consistency with '.' terminator. (Dave R)</li>
|
|
<li>Remove canonicalisation of integer and double
|
|
to match Turtle latest spec. (Dave B)</li>
|
|
</ul>
|
|
|
|
|
|
<h3>QName Class Changes</h3>
|
|
|
|
<p>Added new methods <code>raptor_qname_get_local_name()</code>,
|
|
<code>raptor_qname_get_value()</code> and
|
|
<code>raptor_qname_get_counted_value()</code>. (Dave B)
|
|
</p>
|
|
|
|
|
|
<h3>SAX2 Class Changes</h3>
|
|
|
|
<p>Added new public SAX2 API class <code>raptor_sax2</code> exposind
|
|
th existing internal one which has been around since the first
|
|
release of Raptor 8 years ago and runs on top of either expat or
|
|
libxml2. (Dave B)</p>
|
|
|
|
<ul>
|
|
<li>Constructor: <code>raptor_new_sax2()</code></li>
|
|
<li>Destructor: <code>raptor_free_sax2()</code></li>
|
|
<li>XML handler methods:
|
|
<code>raptor_sax2_set_start_element_handler()</code>,
|
|
<code>raptor_sax2_set_end_element_handler()</code>,
|
|
<code>raptor_sax2_set_characters_handler()</code>,
|
|
<code>raptor_sax2_set_cdata_handler()</code>,
|
|
<code>raptor_sax2_set_comment_handler()</code>,
|
|
<code>raptor_sax2_set_unparsed_entity_decl_handler()</code> and
|
|
<code>raptor_sax2_set_external_entity_ref_handler()</code>.
|
|
</li>
|
|
<li>XML handler factory typedefs:
|
|
<code>raptor_sax2_start_element_handler</code>,
|
|
<code>raptor_sax2_end_element_handler</code>,
|
|
<code>raptor_sax2_characters_handler</code>,
|
|
<code>raptor_sax2_cdata_handler</code>,
|
|
<code>raptor_sax2_comment_handler</code>,
|
|
<code>raptor_sax2_unparsed_entity_decl_handler</code> and
|
|
<code>raptor_sax2_external_entity_ref_handler</code>.
|
|
</li>
|
|
<li>Set XML Namespace handler method:
|
|
<code>raptor_sax2_set_namespace_handler()</code>
|
|
</li>
|
|
<li>Parsing methods:
|
|
<code>raptor_sax2_parse_start()</code> and
|
|
<code>raptor_sax2_parse_chunk()</code>
|
|
</li>
|
|
<li>Other methods:
|
|
<code>raptor_sax2_inscope_xml_language()</code> and
|
|
<code>raptor_sax2_inscope_base_uri()</code>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
<h3>Serializer Class Changes</h3>
|
|
|
|
<p>Abbreviated serializers (RDF/XML-Abbrev and Turtle):</p>
|
|
<ul>
|
|
<li>Switched from using a sequence to using an AVL Tree with a cursor
|
|
to more efficiently (faster) group/sort triples by subject. This
|
|
changes the previous syntax output order but has no semantic
|
|
difference. (Dave B)
|
|
</li>
|
|
<li>Use the AVL Tree to remove duplicate triples. (Dave B)<br />
|
|
Fixes <a href="http://bugs.librdf.org/mantis/view.php?id=245">Issue#0000245</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>Turtle serializer:</p>
|
|
<ul>
|
|
<li>Feature <code>RAPTOR_FEATURE_WRITE_BASE_URI</code>
|
|
added to control writing <code>@base</code> directive to Turtle. (Dave R)</li>
|
|
<li>Remove canonicalisation of integer and double
|
|
to match Turtle latest spec. (Dave B)</li>
|
|
</ul>
|
|
|
|
|
|
<h3>URI Class Changes</h3>
|
|
|
|
<p>Update URI resolving for RFC3986 changes (Dave B)
|
|
</p>
|
|
|
|
|
|
<h3>WWW Class Changes</h3>
|
|
|
|
<p>Added new method <code>raptor_www_set_http_cache_control()</code>
|
|
to set the HTTP <code>Cache-Control:</code> header in requests.
|
|
(Dave B, based on a patch in the bug) <br />
|
|
Fixes <a href="http://bugs.librdf.org/mantis/view.php?id=252">Issue#0000252</a>
|
|
</p>
|
|
|
|
|
|
<h3>XML Class Changes</h3>
|
|
|
|
<p>Added new method <code>raptor_xml_element_get_language()</code>
|
|
to get the language associated with an element. (Dave B)
|
|
</p>
|
|
|
|
|
|
<h3>Portability and Resilience Changes</h3>
|
|
|
|
<p>Pass on error failures in parser and serializer factory
|
|
construction. (Lauri)
|
|
</p>
|
|
|
|
<p>Abbreviated serializers (RDF/XML-abbrev and Turtle): low memory
|
|
and allocation failure fixes. (Lauri)
|
|
</p>
|
|
|
|
<p>Altered API function signatures of
|
|
<code>raptor_uri_set_handler()</code>,
|
|
<code>raptor_uri_get_handler()</code>,
|
|
<code>raptor_new_namespaces(),</code>
|
|
<code>raptor_namespaces_init()</code> and
|
|
<code>raptor_new_xml_writer()</code> to add appropriate
|
|
<code>const</code>s. (Lauri)
|
|
</p>
|
|
|
|
<p>Portability fixes for RAPTOR_API and other macros. (Lauri)
|
|
</p>
|
|
|
|
<p>Removal of many sets of writable static data in N-Triples parser, URI
|
|
class, Unicode NFC code, libxml support, Turtle writer and XML
|
|
writer. (Lauri)
|
|
</p>
|
|
|
|
<p>Portability fixes for <code>round()</code> and
|
|
<code>trunc()</code> that are not always available in libc but might
|
|
be in libm. (Dave B)
|
|
</p>
|
|
|
|
<p>Turtle/N3 parsers and serializers, RDF/XML_Abbrev serializer: many
|
|
low memory fixes and better out of memory errors. (Lauri)
|
|
</p>
|
|
|
|
|
|
<h3>Other Changes</h3>
|
|
|
|
<p>Rewrote internal error log functions to use new error handlers
|
|
structures and simplify the calls. (Dave B)
|
|
</p>
|
|
|
|
<p>Expanded internal <code>raptor_avltree</code> datatype support to
|
|
add a cursor, allowing it to be used for creating large ordered
|
|
sequences that need to be walked. (Dave B)
|
|
</p>
|
|
|
|
<p>Updated <code>rdfdiff</code> utility to handle duplicate triples
|
|
in inputs. (Dave B)
|
|
</p>
|
|
|
|
<p><code>raptor_sequence_shift()</code> and
|
|
<code>raptor_sequence_unshift()</code> are now as efficient as the
|
|
sequence push and pop operations: O(1). (Lauri)
|
|
</p>
|
|
|
|
<p><code>autogen.sh</code> was updated.
|
|
</p>
|
|
|
|
<p><code>rapper</code> utility can now accept multiple
|
|
<code>-f</code> / <code>--feature</code> options; previously
|
|
only one parser and one serializer feature was possible.
|
|
</p>
|
|
|
|
|
|
<h2 id="rel1_4_16"><a name="rel1_4_16">Raptor 1.4.16 Changes</a></h2>
|
|
|
|
<p>The main changes to this release are:</p>
|
|
|
|
<p>Provide 100% support for the
|
|
<a href="http://www.w3.org/TR/2007/REC-grddl-20070911/">GRDDL W3C Recommendation of 2007-09-11</a>.
|
|
</p>
|
|
|
|
<p>The
|
|
<a href="http://www.dajobe.org/2004/01/turtle/">Turtle</a>
|
|
parser and serializer were updated to support
|
|
<code>@base</code> for specifying a base URI, following
|
|
Turtle of 2007-09-11.
|
|
</p>
|
|
|
|
<p>The Turtle and RDF/XML serializers had performance improvements
|
|
for large graphs.
|
|
</p>
|
|
|
|
<p>Added a TRiG Parser based on Turtle with named graph support.</p>
|
|
|
|
<p>Several other API changes, fixes and improvements were made.</p>
|
|
|
|
<p>Fixed Issues:</p>
|
|
<ul>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000188">0000188</a>: Wrong RAPTOR_API definition for mingw</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000192">0000192</a>: raptor_uri_filename_to_uri_string() - getcwd() loop error</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000194">0000194</a>: parser and serializer don't recognize the same mime types</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000195">0000195</a>: Compile error in raptor_serialize.c debug code</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000207">0000207</a>: RDF file can be parsed, but not then serialised.</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000210">0000210</a>: RAPTOR_FEATURE_WRITER_XML_DECLARATION broken in Ruby</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000214">0000214</a>: Empty rdf:about, plus base-uri, produces incorrect turtle output</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000216">0000216</a>: flickrdf segfaults at raptor_serialize_end!</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000217">0000217</a>: flickrdf segfaults at raptor_serialize_end!</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000232">0000232</a>: libraptor does not correctly free up libxml error handler, causing crashes in subsequent calls to libxml error handlers</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000237">0000237</a>: raptor_sequence robustness: item ownership on insert error</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000238">0000238</a>: GRDDL parser in SVN overwrites blank nodes when merging graphs</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000239">0000239</a>: GRDDL parser in SVN returns 60 less triples with http://www.w3.org/</li>
|
|
</ul>
|
|
|
|
|
|
<h3>Namespaces Class Changes</h3>
|
|
|
|
<p><code>raptor_namespaces_init()</code> now returns an integer
|
|
status.
|
|
</p>
|
|
|
|
<h3>Parser Class Changes</h3>
|
|
|
|
<p>
|
|
Added <code>raptor_graph_handler</code> typedef and
|
|
<code>raptor_set_graph_handler()</code> to return named graph
|
|
identifiers during parsing, initially for the TRiG parser.
|
|
</p>
|
|
|
|
<p>These were added the GRDDL parser:</p>
|
|
<ul>
|
|
<li><code>RAPTOR_FEATURE_MICROFORMATS</code> (microformats) to enable
|
|
hCard and hCal microformats</li>
|
|
<li><code>RAPTOR_FEATURE_HTML_TAG_SOUP</code> (htmlTagSoup) to use
|
|
the HTML tag soup parser if the XML parsing fails</li>
|
|
<li><code>RAPTOR_FEATURE_HTML_LINK</code> (htmlLink) to enable html
|
|
<link></li>
|
|
<li><code>RAPTOR_FEATURE_WWW_TIMEOUT</code> (wwwTimeout) for setting
|
|
URI retrieval timeouts during processing</li>
|
|
</ul>
|
|
|
|
|
|
<h3>XML Element Class Changes</h3>
|
|
|
|
<p>Added
|
|
<code>raptor_new_xml_element_from_namespace_local_name()</code>
|
|
constructor to make an XML element from a local name relative
|
|
to a <code>raptor_namespace</code>.
|
|
</p>
|
|
|
|
<h3>Unicode Class Changes</h3>
|
|
|
|
<p>Defined a new <code>raptor_unichar</code> typedef for a Unicode
|
|
codepoint defined as <code>unsigned long</code> which was the
|
|
previous type used. Altered the Unicode function to take it as a
|
|
parameter. <code>raptor_unicode_char_to_utf8()</code>,
|
|
<code>raptor_utf8_to_unicode_char()</code>,
|
|
<code>raptor_unicode_is_xml11_namestartchar()</code>,
|
|
<code>raptor_unicode_is_xml10_namestartchar()</code>,
|
|
<code>raptor_unicode_is_xml11_namechar()</code> and
|
|
<code>raptor_unicode_is_xml10_namechar()</code>.
|
|
</p>
|
|
|
|
<h3>URI Class Changes</h3>
|
|
|
|
<p>Added <code>raptor_uri_compare()</code> and
|
|
<code>raptor_uri_compare_func</code> function pointer for
|
|
implementing it in the <code>raptor_uri_handler</code>. The handler
|
|
now has a version field <code>initialised</code> to trigger the new
|
|
factory method for uri compare when the version is 2 or more.
|
|
</p>
|
|
|
|
<h3>WWW Class Changes</h3>
|
|
<p>
|
|
Added <code>raptor_www_set_connection_timeout()</code>
|
|
to set the WWW retrieval connection timeout in seconds.
|
|
</p>
|
|
|
|
<p>
|
|
Added <code>raptor_www_final_uri_handler</code> typedef and
|
|
<code>raptor_www_set_final_uri_handler()</code> to return
|
|
the final URI seen <em>during</em> WWW retrieval such as after
|
|
redirects.
|
|
</p>
|
|
|
|
<p>
|
|
Added <code>raptor_www_get_final_uri()</code> to return the final URI
|
|
<em>after</em> a WWW retrieval which might include redirects.
|
|
</p>
|
|
|
|
|
|
<h3>Parser Changes</h3>
|
|
|
|
<p>The GRDDL parser/processor was substantially updated and now
|
|
supports 100% of the
|
|
<a href="http://www.w3.org/TR/2007/REC-grddl-20070911/">Gleaning Resource Descriptions from Dialects of Languages (GRDDL)</a>
|
|
syntax, W3C Recommendation of 2007-09-11:
|
|
</p>
|
|
<ul>
|
|
<li>Transforming XML with XSLT 1.0</li>
|
|
<li>Processing XML namespaces.</li>
|
|
<li>Transforming XHTML with XSLT 1.0</li>
|
|
<li>Processing HTML profiles.</li>
|
|
<li>Handling of base URIs and URI redirects.</li>
|
|
<li>XInclude processing.</li>
|
|
<li>Parsing as RDF/XML when it is recognised after a transform.</li>
|
|
</ul>
|
|
|
|
<p>it also:</p>
|
|
<ul>
|
|
<li>Handles hCard and hCal microformats when feature
|
|
<code>RAPTOR_FEATURE_MICROFORMATS</code> is enabled (default
|
|
enabled).</li>
|
|
<li>Handles <link type="application/rdf+xml" href="URI" /> to
|
|
RDF/XML content when feature <code>RAPTOR_FEATURE_HTML_LINK</code> is
|
|
enabled (default enabled).</li>
|
|
<li>Attempts parsing with libxml's HTML parser if XML parsing fails,
|
|
when feature <code>RAPTOR_FEATURE_HTML_TAG_SOUP</code> is enabled
|
|
(default enabled).</li>
|
|
<li>Discards errors during recursive processing such as 404s,
|
|
failure to parse, failure of XSLT processing.</li>
|
|
<li>Uses XSLT security - denies reading, writing to files,
|
|
directories or writing to network.</li>
|
|
<li>Accepts the <code>RAPTOR_FEATURE_NO_NET</code> feature to prevent
|
|
all networking.</li>
|
|
<li>Allows fine-grained URI filtering with
|
|
<code>raptor_parser_set_uri_filter()</code>.</li>
|
|
</ul>
|
|
|
|
<p>RDF/XML parser recognising was updated to just the start of the
|
|
document for guessing if it should handle content and to try
|
|
to avoid html URLs.
|
|
</p>
|
|
|
|
<p>RSS Tag soup parser recognising was updated to accept with the
|
|
string 'feed' in the identifier.
|
|
</p>
|
|
|
|
<p>TRiG Parser was added based on the Turtle parser, adding named
|
|
graphs. It returns name graph URis via a callback set with new API
|
|
call <code>raptor_set_graph_handler()</code>
|
|
</p>
|
|
|
|
<p>Turtle parser added <code>@base</code> support, fixed turtle
|
|
escapes to URIs. Recognising was updated to look for
|
|
<code>@prefix</code> early in the document.
|
|
</p>
|
|
|
|
<h3>Serializer Changes</h3>
|
|
|
|
<p>Turtle serialiser changes:</p>
|
|
<ul>
|
|
<li>Generate <code>@base</code> when an output base URI is given.</li>
|
|
<li>Properly format Turtle XSD doubles using new snprintf code.</li>
|
|
<li>Fix unwanted blank line at end of Turtle list abbreviation.</li>
|
|
<li>Use AVL Tree rather than sequence for significant performance
|
|
improvement for large serialisations.</li>
|
|
</ul>
|
|
|
|
<p>RDF/XML serialiser was changed to emit a legal empty RDF/XML
|
|
document when no triples are serialised and to skip emitting
|
|
statements with bad predicate uris rather than returning an error.
|
|
</p>
|
|
|
|
<p>RDF/XML Abbrev serialiser was changed to use an AVL tree rather
|
|
than sequence for significant performance improvement for large
|
|
serialisations.
|
|
</p>
|
|
|
|
<h3><code>rapper</code> Utility Changes</h3>
|
|
|
|
<p>Added an <code>--show-graphs</code> option to print named graph
|
|
URIs as seen (such as with TRiG).
|
|
</p>
|
|
|
|
<p>Added <code>-I</code> / <code>--input-uri</code> and
|
|
<code>-O</code> / <code>--output-uri</code> options to set the
|
|
input / parsing and output / serializing base URIs
|
|
separately. Defaults remain the same - the serializer base URI
|
|
defaults to the input base URI, however it was set.
|
|
</p>
|
|
|
|
|
|
<h3>Portability Changes</h3>
|
|
|
|
<p>Fixes for when building from Subversion on cygwin (EOL issues,
|
|
Makefiles).</p>
|
|
|
|
<p>Remove unused semicolons for prevention of compiler warnings.</p>
|
|
|
|
<p>Fix some uninitialized variables that some compilers complain about.</p>
|
|
|
|
<p>Allow <code>RAPTOR_ASSERT_DIE</code> to be externally defined.</p>
|
|
|
|
<p>Allow <code>RAPTOR_WWW_BUFFER_SIZE</code> to be externally defined.</p>
|
|
|
|
|
|
<h3>Other Changes</h3>
|
|
|
|
<p><code>autogen.sh</code> was updated to handle program versions
|
|
better using an inline perl helper.
|
|
</p>
|
|
|
|
<p>Start to add resiliance to memory allocation failures
|
|
and errors inside the library.
|
|
</p>
|
|
|
|
<p>Added AVL Tree code to make much faster key:value lookups. This
|
|
is used for RDF/XML parser XML ID checks and in the 'abbrev'
|
|
serializers - Turtle and RDF/XML-Abbrev for looking up nodes.
|
|
</p>
|
|
|
|
<p>Better libxml error messages are now returned, mentioning
|
|
some of the names and values that caused the error.
|
|
</p>
|
|
|
|
|
|
|
|
<h2 id="rel1_4_15"><a name="rel1_4_15">Raptor 1.4.15 Changes</a></h2>
|
|
|
|
<h3>General Changes</h3>
|
|
|
|
<p>GRDDL parser now passes the (unapproved) test suite for the
|
|
<a href="http://www.w3.org/TR/2007/WD-grddl-20070302/">GRDDL W3C Working Draft 2 March 2007</a>
|
|
except for two tests that have been reported as having errors.
|
|
</p>
|
|
|
|
<p>When using libcurl as the WWW retrieval library, errors in
|
|
resolving a URI such as not found (404) are now reported as proper
|
|
errors and cause parsing to fail rather than just return no triples.
|
|
</p>
|
|
|
|
<p>Some improvments where made to guessing for a parser to match some
|
|
content. Firstly, any mime type with Q <10 is added to the score,
|
|
don't lose the influence of the mime type entirely. The consequence of
|
|
this is that Turtle can pretend to be a partial N3 parser. Secondly,
|
|
the XHTML mime type is now correctly recognised by the GRDDL parser
|
|
rather than the RSS Tag Soup parser.</p>
|
|
|
|
|
|
<p>Fixed Issues:</p>
|
|
<ul>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000174">#0000174</a>: Serializing to rdfxml* with a base_uri doesn't set the <code>xml:base</code> attribute, but does truncate <code>rdf:about</code> and <code>rdf:resource</code> values</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000177">#0000177</a>: Some URI references mis-resolved</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000178">#0000178</a>: No errors from accessing 404 URIs</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000180">#0000180</a>: messages garble output to stdout</li>
|
|
</ul>
|
|
|
|
|
|
<h3>Parser and Serializer Changes</h3>
|
|
|
|
<p>Added better error reporting for XML errors using the
|
|
libxml structured error reporing api. From
|
|
</p>
|
|
<pre>
|
|
$ rapper -i grddl http://librdf.org/LICENSE.txt
|
|
rapper: Parsing URI http://librdf.org/LICENSE.txt
|
|
rapper: Error - URI http://librdf.org/LICENSE.txt - XML error - http://librdf.org/LICENSE.txt:2:
|
|
rapper: Error - URI http://librdf.org/LICENSE.txt - XML error - parser
|
|
rapper: Error - URI http://librdf.org/LICENSE.txt - XML error - error :
|
|
rapper: Error - URI http://librdf.org/LICENSE.txt - XML error - Document is empty
|
|
rapper: Error - URI http://librdf.org/LICENSE.txt - XML error - Redland RDF Application Framework - License
|
|
rapper: Error - URI http://librdf.org/LICENSE.txt - XML error - ^
|
|
rapper: Failed to parse URI http://librdf.org/LICENSE.txt grddl content
|
|
rapper: Parsing returned 0 triples
|
|
</pre>
|
|
<p>To this:</p>
|
|
<pre>
|
|
$ rapper -i grddl http://librdf.org/LICENSE.txt
|
|
rapper: Parsing URI http://librdf.org/LICENSE.txt
|
|
rapper: Error - URI http://librdf.org/LICENSE.txt:1 - XML parser error: Document is empty
|
|
rapper: Error - URI http://librdf.org/LICENSE.txt:1 - XInclude processing failed for GRDDL document
|
|
rapper: Failed to parse URI http://librdf.org/LICENSE.txt grddl content
|
|
rapper: Parsing returned 0 triples
|
|
</pre>
|
|
|
|
|
|
<p>GRDDL parser updated to support the
|
|
<a href="http://www.w3.org/TR/2007/WD-grddl-20070302/">GRDDL W3C Working Draft 2 March 2007</a>:
|
|
</p>
|
|
<ul>
|
|
<li>Namespace and profile URI handling now works.</li>
|
|
<li>Run XML Include processing</li>
|
|
<li>Throw away XML validation errors</li>
|
|
<li>When a namespace URI is seen that was RDF/XML Mime type, run
|
|
the RDF/XML parser on the content.</li>
|
|
<li>Look for substrings inside rel attributes when looking for profiles.</li>
|
|
<li>Return a warning and do not fail if XSLT sheet is not found</li>
|
|
<li>Use libxml structured errors for better reporting</li>
|
|
<li>Removed old hard-coded xslt scripts</li>
|
|
</ul>
|
|
|
|
<p>Turtle parser was changed to accept the N3 mime
|
|
type <code>text/rdf+n3</code> at low Q(quality)
|
|
so it might work for N3 that is the RDF subset - quite common.
|
|
</p>
|
|
|
|
<p>Changed the RSS Tag Soup parser and RSS 1.0 serializer to stop
|
|
sharing use of the declared namespaces so that when using both at the
|
|
same time, there is no double-free of the same objects.
|
|
</p>
|
|
|
|
<p>Correct the content: namespace URI in the RSS parser and
|
|
serializers.
|
|
</p>
|
|
|
|
|
|
<h3>Other Changes</h3>
|
|
|
|
<p><code>rapper</code> gains a <code>-t/--trace</code> option to show
|
|
URIs traversed. Handy for GRDDL.
|
|
</p>
|
|
|
|
<p><code>raptor_uri_resolve_uri_reference()</code> no longer goes
|
|
past the end of buffer when the relative URI is <code>,/</code>
|
|
</p>
|
|
|
|
|
|
<p>Added an internal API for capturing parsed data as it is seen.
|
|
Use by GRDDL parser but with no public API.
|
|
</p>
|
|
|
|
<p>Added an internal API for structured error reporting. Updates
|
|
made throughout the library but with no public API.
|
|
</p>
|
|
|
|
<p>Internal API <code>raptor_new_sax2()</code> signature changed to
|
|
just have an <code>error_handlers</code> pointer argument rather than
|
|
multiple function / user_data pairs.
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h2 id="rel1_4_14"><a name="rel1_4_14">Raptor 1.4.14 Changes</a></h2>
|
|
|
|
<h3>General Changes</h3>
|
|
|
|
<p>Added a
|
|
<a href="http://www.dajobe.org/2004/01/turtle/">Turtle Terse RDF Triple Language</a> serialiser by <a href="http://codeson.net/">Dave Robillard</a> based on the existing RDF/XML-Abbrev
|
|
serialiser.
|
|
</p>
|
|
|
|
<p>Added a GraphViz
|
|
<a href="http://www.graphviz.org/doc/info/lang.html">DOT format</a> serialiser
|
|
by Evan Nemerson.
|
|
</p>
|
|
|
|
<p>The GRDDL parser now does namespace and profile URI recursion and
|
|
has other improvements and fixes.
|
|
</p>
|
|
|
|
<p>Fixed Issues:</p>
|
|
<ul>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=32">#0000032</a>: GRDDL indirection feature request</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=141">#0000141</a>: Crash when GRDDL parser is used with a used-generated blank node ID prefix.</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=143">#0000143</a>: Crash when GRDDL parser fails to retrieve URI.</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=148">#0000148</a>: A public function to generate a blank ID would be nice though.</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=155">#0000155</a>: entity processing in literal property elements (with libxml)</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=157">#0000157</a>: Crash when RDF/XML Abbrev serializer sees a <code>rdf:type</code> predicate with a literal object.</li>
|
|
</ul>
|
|
|
|
<h3>Configuration Changes</h3>
|
|
|
|
<p><code>raptor-config</code> gains a <code>--private-libs</code>
|
|
for the internal libraries used in building raptor, with the public
|
|
ones only emitted with <code>--libs</code>.
|
|
</p>
|
|
|
|
<p><code>raptor.pc</code> now uses <code>Libs.private</code> for
|
|
internal dynamically linked libraries.
|
|
</p>
|
|
|
|
<p>The libxml minimum version is now 2.6.8 since 2.6.7 crashes on
|
|
PPC64 Linux. 2.6.8 was released March 2004 so this should be no
|
|
burden.</p>
|
|
|
|
<p>Do not use <code>PATH_MAX</code> so raptor can build on Hurd.
|
|
</p>
|
|
|
|
<h3>Parser Changes</h3>
|
|
|
|
<p>RDF/XML parser now looks for the RDF/XML root element and
|
|
namespace declaration in the initial bytes of content when guessing.
|
|
This allows content that is in other mime types such as
|
|
<code>application/xml</code> to be more likely guessed as RDF/XML.
|
|
</p>
|
|
|
|
<p>When guessing a parser to use, if an an exact match is found for
|
|
the mime type (q=10), then that parser is used.
|
|
</p>
|
|
|
|
<p>The GRDDL parser has several changes:</p>
|
|
<ul>
|
|
<li>Recurses through the root element's namespace URI and the profile
|
|
URIs. It excludes several common namespace URIs from processing
|
|
(XHTML, RDF/XML, XML Schema) and does not traverse the GRDDL profile
|
|
URI itself.
|
|
</li>
|
|
<li>Tries to guess which of the RDF/XML or Turtle parser is wanted
|
|
from an XSLT result. Guessing is performed because not all the XSLT
|
|
sheets used in the demonstrations set the mime type to match Turtle's
|
|
unregistered type, or because the return no mime type, or return an
|
|
XML one, when it was expected RDF/XML would be received.
|
|
</li>
|
|
<li>Watches the processed URIs and never visits the same URI more
|
|
than once in a session.
|
|
</li>
|
|
<li>Passes on general XSLT errors to raptor rather than letting the
|
|
default (printing to stderr) work.
|
|
</li>
|
|
<li>Declares XSLT 'base' and 'Base' parameters to allow some XSLT
|
|
sheets to work - pragmatism.
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Serializer Changes</h3>
|
|
|
|
<p>Added a new
|
|
<a href="http://www.dajobe.org/2004/01/turtle/">Turtle Terse RDF Triple Language</a>
|
|
serializer and two new internal APIs based on the existing RDF/XML-Abbrev
|
|
serialiser, written by <a href="http://codeson.net/">Dave Robillard</a>:
|
|
</p>
|
|
<ul>
|
|
<li><code>turtle_writer</code> for serializing triples to Turtle This
|
|
may be moved to the public API in a future release.</li>
|
|
<li><code>raptor_abbrev</code> for the common 'abbreviated
|
|
serializer' core that is shared between the RDF/XML-Abbrev and Turtle
|
|
serializer.</li>
|
|
</ul>
|
|
|
|
<p>Added a new GraphViz
|
|
<a href="http://www.graphviz.org/doc/info/lang.html">DOT format</a> serialiser
|
|
writen by Evan Nemerson.
|
|
</p>
|
|
|
|
<p>Note that testing the turtle serializing (<code>make test</code>)
|
|
requires the <code>rdfdiff -u</code> and a few of the tests take some
|
|
time to run.</p>
|
|
|
|
|
|
<h3>Other Changes</h3>
|
|
|
|
<p>Added <code>raptor_home_url_string</code>
|
|
and <code>raptor_license_string</code> exported strings.
|
|
</p>
|
|
|
|
<p>Added <code>raptor_parser_generate_id()</code> as a public function
|
|
to generate an identifier for a parser.
|
|
</p>
|
|
|
|
<p><code>rdfdiff</code> gains the -u/--base-uri option to specify the
|
|
from file base URI so that if the from file is a local file or
|
|
relative URI, it can be given an absolute base.</p>
|
|
|
|
<p>Failures to retrieve content from a URI using
|
|
the <code>raptor_www</code> class implementations now return a
|
|
failure as well as setting the HTTP status code to 403 or 404 as
|
|
appropriate. Previously success may have been returned with no
|
|
bytes.</p>
|
|
|
|
|
|
<h2 id="rel1_4_13"><a name="rel1_4_13">Raptor 1.4.13 Changes</a></h2>
|
|
|
|
<h3>General Changes</h3>
|
|
|
|
<p>Prevent losing memory for a <code>raptor_xml_writer</code> when a
|
|
serializer is reused several times.</p>
|
|
|
|
<p>Fixed issues reported on the <a href="http://bugs.librdf.org/">Redland Issue Tracker</a>:</p>
|
|
<ul>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=134">Issue#0000134</a>: Check for equal scheme and authority during construction of relative URIs from two absolute URIs.</li>
|
|
</ul>
|
|
|
|
|
|
<h3>Configuration Changes</h3>
|
|
|
|
<p>In maintainer mode, add all the supported compiler <code>-W</code>
|
|
warning flags to the CFLAGS.
|
|
</p>
|
|
|
|
<p>Allow <code>LEX</code> to be set to things that aren't exactly
|
|
'flex'.</p>
|
|
|
|
<h3>Documentation Changes</h3>
|
|
|
|
<p>Added single triple serializing example to the tutorial to
|
|
demonstrate serializing without parsing and building
|
|
a <code>raptor_statement</code>.</p>
|
|
|
|
<h3>Other Changes</h3>
|
|
|
|
|
|
<p>Declare several raptor functions with GCC printf-formatting
|
|
attributes when using a new enough GCC.</p>
|
|
|
|
<p>RDF/XML parser now creates literals with
|
|
<code>raptor_stringbuffer</code> so that it does a lot less copying
|
|
when constructing longer literals.
|
|
</p>
|
|
|
|
<p>Added single <code>raptor_statement</code> serializing example
|
|
to demonstrate serializing alone without parsing.</p>
|
|
|
|
|
|
|
|
<h2 id="rel1_4_12"><a name="rel1_4_12">Raptor 1.4.12 Changes</a></h2>
|
|
|
|
<p>Restored the order of serialized syntaxes back to the same as in
|
|
Raptor 1.4.10 which Redland was relying on - asking to serialize to
|
|
mime type 'application/rdf+xml' without specifying a parser name in
|
|
Redland with Raptor 1.4.11 wrote it in XMP instead of RDF/XML as
|
|
it used to. This happened more often with language bindings.
|
|
That problem will be fixed in a future release of Redland but for now,
|
|
this stops wierd things like that happening.
|
|
</p>
|
|
|
|
|
|
<h2 id="rel1_4_11"><a name="rel1_4_11">Raptor 1.4.11 Changes</a></h2>
|
|
|
|
<h3>General Changes</h3>
|
|
|
|
<p>Added <code>raptor_get_feature_count()</code> to return
|
|
the count of features, in preference to using the
|
|
macro value <code>RAPTOR_FEATURE_LAST</code>.
|
|
</p>
|
|
|
|
<p>Added <code>raptor_www_set_uri_filter()</code> method of the
|
|
WWW class (<code>raptor_www</code>) objects to have an
|
|
optional URI filter function that checks if the URL given is
|
|
allowed to be retrieved, or denied entirely.
|
|
</p>
|
|
|
|
<p>Fixed issues reported on the <a href="http://bugs.librdf.org/">Redland Issue Tracker</a>:</p>
|
|
<ul>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000112">#0000112</a>: raptor_namespaces_qname_from_uri not public API?</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000110">#0000110</a>: strcasecmp problem under windows (raptor_rss.c does not compile)</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000091">#0000091</a>: guess parser should guess the syntax each time it is run, not be fixed</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000089">#0000089</a>: Add a NONET feature to prevent network fetches</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000041">#0000041</a>: Allow multiple transformation URLs in data-view:transformation property</li>
|
|
<li><a href="http://bugs.librdf.org/mantis/view.php?id=0000014">#0000014</a>: bNode content written twice in rdfxml-abbrev output mode</li>
|
|
</ul>
|
|
|
|
|
|
<h3>Documentation Changes</h3>
|
|
|
|
<p>The
|
|
<a href="http://librdf.org/raptor/api/">Raptor Reference Manual</a>
|
|
now includes descriptions of all the parsers and serializers and the
|
|
tutorial has a new section describing how to filter URIs and deny
|
|
network requests.</p>
|
|
|
|
|
|
<h3>Parser Changes</h3>
|
|
|
|
<p>Added functionality to prevent network requests either via setting
|
|
a new feature <code>RAPTOR_FEATURE_NO_NET</code> that denies network
|
|
requests during a parser operation or with a URI filter function
|
|
<code>raptor_parser_set_uri_filter()</code>. This function uses
|
|
<code>raptor_www_set_uri_filter()</code> internally.
|
|
</p>
|
|
|
|
<p>Added <code>raptor_get_need_base_uri()</code> to tell if a parser
|
|
requires a base URI argument. Presently the <em>N-Triples</em> parser
|
|
is the only parser that does not require a base URI.
|
|
<code>raptor_start_parse()</code> will now throw an error if no base
|
|
URI is given and it is needed.
|
|
</p>
|
|
|
|
<p>The <em>GRDDL parser</em> was changed to
|
|
handle a list of URIs in the profile so it now
|
|
can support <code>dataview:transformation</code> in XML taking a list
|
|
of transformations as defined in
|
|
<a href="http://www.w3.org/2004/01/rdxh/spec#grddl-xhtml">The GRDDL profile for XHTML</a> part of the GRDDL specification.
|
|
It now also recognises
|
|
<a href="http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml">Embedded RDF</a> and
|
|
<a href="http://microformats.org/wiki/hcalendar">HCalendar</a>
|
|
using well known XPaths and transforms them to RDF triples using well
|
|
known XSLT sheet URIs.
|
|
</p>
|
|
|
|
<p>The <em>Guess parser</em> now resets after each parse and does a
|
|
fresh guess on the syntax based on the incoming information.
|
|
Fixes <a href="http://bugs.librdf.org/mantis/view.php?id=91">Issue#0000091</a>
|
|
</p>
|
|
|
|
|
|
<p>The <em>Turtle parser </em> (and experimental N3 parser) were
|
|
changed to now require base URIs as they always should have. The
|
|
error messages when reporting problems with grammar tokens now return
|
|
better responses. Added better memory cleanup during parser error
|
|
recovery.
|
|
</p>
|
|
|
|
|
|
<h3>Serializer Changes</h3>
|
|
|
|
<p>The <em>RSS 1.0 Serializer</em> now works again.</p>
|
|
|
|
<p>Updated the <em>RDF/XML Abbreviated</em> serializer to do proper
|
|
reference counting on the blank/resource nodes used as subjects and
|
|
objects to prevent dual-triple generation. Fixes the reported
|
|
<a href="http://bugs.librdf.org/mantis/view.php?id=14">Issue#0000014</a>
|
|
</p>
|
|
|
|
|
|
<h3>Other Changes</h3>
|
|
|
|
<p>The internal SAX2 API can also prevent network fetches with the
|
|
feature <code>RAPTOR_FEATURE_NO_NET</code>.</p>
|
|
|
|
<p>Fixed a SAX2 problem that caused parsers that use it to leak
|
|
memory for 1 URI, affected RDF/XML and RSS Tag Soup.
|
|
</p>
|
|
|
|
<p><code>rapper</code> help and verbose message formats were tidied.</p>
|
|
|
|
|
|
|
|
<h2 id="rel1_4_10"><a name="rel1_4_10">Raptor 1.4.10 Changes</a></h2>
|
|
|
|
<h3>General Changes</h3>
|
|
|
|
<p>No parser will now generate a triple with an identifier type
|
|
<code>RAPTOR_IDENTIFIER_TYPE_ORDINAL</code>. Only identifier type
|
|
resource, anonymous (blank node) and literal will be generated.
|
|
All serializers will convert any
|
|
<code>RAPTOR_IDENTIFIER_TYPE_ORDINAL</code> type on input to type
|
|
resource.
|
|
</p>
|
|
|
|
|
|
<h3>Configuration Changes</h3>
|
|
|
|
<p>No longer adds LDFLAGS to pkgconfig file <code>raptor.pc</code>
|
|
and <code>raptor-config</code> fixing
|
|
<a href="http://bugs.librdf.org/mantis/view.php?id=97">Issue#0000097</a>.
|
|
</p>
|
|
|
|
|
|
<h3>Parser Changes</h3>
|
|
|
|
<p>All parsers no longer generate a triple with an identifier type
|
|
<code>RAPTOR_IDENTIFIER_TYPE_ORDINAL</code>, as deprecated in 1.4.8.
|
|
The replacement type generated is <code>RAPTOR_IDENTIFIER_TYPE_RESOURCE</code>.
|
|
</p>
|
|
|
|
|
|
<p>The RSS Tag Soup (<code>rss-tag-soup</code>) parser now makes the
|
|
triples appear before parser destruction. This caused odd symptoms
|
|
like parsing in python returning no triples and the parser then
|
|
crashing during object destruction.
|
|
</p>
|
|
|
|
<p>The RDF/XML (<code>rdfxml</code>) parser no longer crashes if a
|
|
comment is seen outside an element, such as before or after the root
|
|
element.</p>
|
|
|
|
|
|
<h3>Serializer Changes</h3>
|
|
|
|
<p>The RDF/XML (<code>rdfxml</code>) serializer no longer crashes if
|
|
the serializer is used more than once.
|
|
</p>
|
|
|
|
|
|
|
|
<h2 id="rel1_4_9"><a name="rel1_4_9">Raptor 1.4.9 Changes</a></h2>
|
|
|
|
<h3>Configuration and Build Changes</h3>
|
|
|
|
<p>Now using <a href="http://subversion.tigris.org/">Subversion</a>
|
|
for version control and the <a href="INSTALL.html">Raptor installation instructions</a> explain how to get Raptor from Subversion.</p>
|
|
|
|
<p>configure now allows <code>--enable-parsers=node</code> and
|
|
<code>--enable-serializers=none</code>. Using both is possible!</p>
|
|
|
|
<p>No longer require libxml2 for the RSS Tag Soup parser</p>
|
|
|
|
<p>Various Win32 fixes and VC build files updates from John Barstow.
|
|
</p>
|
|
|
|
|
|
<h3>Documentation Changes</h3>
|
|
|
|
<p>A new
|
|
<a href="http://librdf.org/raptor/api/tutorial.html">Raptor Tutorial</a>
|
|
was written covering using all parsing and serializing functions along with
|
|
example code.
|
|
</p>
|
|
|
|
<p>The
|
|
<a href="http://librdf.org/raptor/api/reference-manual.html">Raptor Reference Manual</a>
|
|
now covers 100% of all functions, structs and defines with gtkdoc generated
|
|
documentation.</p>
|
|
|
|
|
|
<h3><code>rapper</code> utility Changes</h3>
|
|
|
|
<p><code>rapper</code> now uses namespaces found in parsing to give
|
|
hints to the serializer as to how to format the output. The result
|
|
of this is that <code>rapper</code> can be used as an RDF
|
|
pretty-printer and is especially good at such things as turning flat
|
|
N-Triples to RDF/XML or RDF/XML-Abbrev. such as:
|
|
</p>
|
|
<pre>
|
|
rapper -q -i ntriples -o rdfxml-abbrev example.nt
|
|
</pre>
|
|
|
|
|
|
<h3>Parser Changes</h3>
|
|
|
|
<p>All parsers no longer generate
|
|
<code>RAPTOR_IDENTIFIER_TYPE_PREDICATE</code> as the statement
|
|
predicate type, as deprecated in 1.4.8. The replacement
|
|
type generated is <code>RAPTOR_IDENTIFIER_TYPE_RESOURCE</code>.</p>
|
|
|
|
<p>The Turtle parser now has <code>true</code> and <code>false</code>
|
|
boolean literals, which were accidently omiited from the parser in
|
|
the 1.4.8 update.
|
|
</p>
|
|
|
|
<p>Parsers can register capabilities for handling multiple mime types
|
|
with Q values. These are then used in WWW requests for content
|
|
in the <code>Accept:</code> header for HTTP. Added
|
|
<code>raptor_parser_factory_add_mime_type</code> for registering,
|
|
<code>raptor_parser_get_accept_header</code> to get the accept header
|
|
values for the types supported by one parser.
|
|
</p>
|
|
|
|
<p>From the previous change, the RSS parser now accepts several
|
|
unregistered RSS mime types as well as the registered Atom one; the
|
|
RDF/XML parser accepts unregistered mime type <code>text/rdf</code>
|
|
seen occasionally; the Turtle parser accepts several experimental
|
|
mime types. All unregistered or experimental types are accepted with
|
|
lower Q than any registered type.
|
|
</p>
|
|
|
|
<p>The RSS Tag Soup parser for RSS* and Atom no longer requires
|
|
libxml2 (for it's XML Reader API). Internal changes mean that it
|
|
will fully work on top of expat.</p>
|
|
|
|
|
|
|
|
<h3>Serializer Changes</h3>
|
|
|
|
<p>The RSS/Atom serializer now uses input namespace declarations to
|
|
choose namespaces on output.</p>
|
|
|
|
<p>Added <code>raptor_serialize_set_namespace_from_namespace</code>
|
|
to set a namespace for serializing from an existing
|
|
<code>raptor_namespace</code>.
|
|
</p>
|
|
|
|
<p>Serializing to RDF/XML (or RDF/XML Abbrev) now does not
|
|
double-free URI strings.
|
|
Fixes <a href="http://bugs.librdf.org/mantis/view.php?id=65">Issue#0000065</a>
|
|
</p>
|
|
|
|
<p>RSS serializer no longer writes the XML header twice.</p>
|
|
|
|
|
|
<h3>IOStream Class Changes</h3>
|
|
|
|
<p>Added <code>raptor_iostream_write_uri</code> to directly write a URI
|
|
to an iostream without the need to go via a string.</p>
|
|
|
|
<p>Fixed bug in <code>raptor_iostream_write_xml_any_escaped_string</code>
|
|
failing to write ';' after escaping U+0009 and U+000A</p>
|
|
|
|
|
|
<h3>Namespaces Class Changes</h3>
|
|
|
|
<p>Added <code>raptor_namespaces_qname_from_uri</code> to do URI
|
|
splitting into qname prefering to use the current in-scope namespaces
|
|
before having to search.</p>
|
|
|
|
<p><code>raptor_namespaces_format</code> now NULL-terminates the namespace string.
|
|
Fixes <a href="http://bugs.librdf.org/mantis/view.php?id=62">Issue#0000062</a>
|
|
</p>
|
|
|
|
<p>Added <code>raptor_namespace_get_counted_prefix</code> to return a
|
|
namespace prefix and it's length.</p>
|
|
|
|
|
|
<h3>QName Class Changes</h3>
|
|
|
|
<p>Added <code>raptor_qname_get_namespace</code> to get the namespace
|
|
associated with a QName.</p>
|
|
|
|
|
|
<h3>StringBuffer Class Changes</h3>
|
|
|
|
<p><code>raptor_stringbuffer_append_counted_string</code> and
|
|
<code>raptor_stringbuffer_append_string</code> now Do nothing on
|
|
appending a NULL string or a string of length 0.
|
|
Fixes <a href="http://bugs.librdf.org/mantis/view.php?id=73">Issue#0000073</a>
|
|
</p>
|
|
|
|
|
|
<h3>Unicode Class Changes</h3>
|
|
|
|
<p><code>raptor_utf8_to_unicode_char</code> now also checks for
|
|
overlong UTF-8 sequences, illegal code positions or out of range
|
|
codes.
|
|
</p>
|
|
|
|
|
|
<h3>URI Class Changes</h3>
|
|
|
|
<p>Deprecated <code>raptor_uri_is_file_uri</code> which takes a
|
|
URI string argument for new function <code>raptor_uri_string_is_file_uri</code>
|
|
which more clearly says that.
|
|
</p>
|
|
|
|
<p>Changed all URI string calloc/mallocs to add enough room for a
|
|
full pointer at the string end to stop valgrind moaning on 64bit
|
|
systems when looking for the end of string NUL.
|
|
</p>
|
|
|
|
<p><code>raptor_uri_set_handler</code> and
|
|
<code>raptor_new_iostream_from_handler</code> now take const
|
|
<em>handler</em> arguments.
|
|
</p>
|
|
|
|
|
|
<h3>WWW Class Changes</h3>
|
|
|
|
<p>Get the curl success status into a long, not an int which causes
|
|
failure on 64 bit.
|
|
Fixes <a href="http://bugs.librdf.org/mantis/view.php?id=75">Issue#0000075</a>
|
|
</p>
|
|
|
|
<p>WWW requests for content to parse now always send an appropriate
|
|
<code>Accept:</code> header with Q values for the parser, or for the
|
|
<code>guess</code> parser, all supported mime types.
|
|
</p>
|
|
|
|
|
|
<h3>Internal Changes</h3>
|
|
|
|
<p>Added XML element methods
|
|
<code>raptor_xml_element_get_attributes</code> and
|
|
<code>raptor_xml_element_get_attributes_count</code>,
|
|
<code>raptor_xml_element_is_empty</code>
|
|
to the SAX2 API.
|
|
</p>
|
|
|
|
<p>Many internal changes were made to the SAX2 API to finally
|
|
separate XML and RDF/XML parts. The SAX2 API is now fully usable on
|
|
either libxml2 or expat. That last sentence implies a lot of work,
|
|
by the way.</p>
|
|
|
|
|
|
|
|
<h2 id="rel1_4_8"><a name="rel1_4_8">Raptor 1.4.8 Changes</a></h2>
|
|
|
|
<h3>General Changes</h3>
|
|
|
|
<p>A large source re-arrangement was performed. All C sources and
|
|
headers that build the library are now in the src dir, general
|
|
documentation in the doc dir and utilities in the utils dir. This
|
|
both tidied up the mixture of files at the top level and also enabled
|
|
better use with gtk-doc.
|
|
</p>
|
|
|
|
<p>Future API change: From the next release of
|
|
Raptor, <code>raptor_statement</code> predicates will return
|
|
identifiers of type <code>RAPTOR_IDENTIFIER_TYPE_RESOURCE</code>
|
|
instead of <code>RAPTOR_IDENTIFIER_TYPE_PREDICATE</code>.
|
|
Identifiers of type <code>RAPTOR_IDENTIFIER_TYPE_ORDINAL</code> may
|
|
no longer be returned in any statement position (to be confirmed).
|
|
</p>
|
|
|
|
<p>Version Control change: Raptor will be switching to use
|
|
<a href="http://subversion.tigris.org/">Subversion</a>
|
|
for version control after the 1.4.8 release. Please check the
|
|
<a href="http://svn.librdf.org/">Redland Subversion site</a>
|
|
for the latest status or the online
|
|
<a href="http://librdf.org/raptor/INSTALL.html">Raptor installation notes</a>
|
|
for the raptor specific subversion installation information.
|
|
</p>
|
|
|
|
|
|
|
|
<h3>Configuration Changes</h3>
|
|
|
|
<p>The autogen.sh script for building from CVS was revamped to be
|
|
more modular.</p>
|
|
|
|
<p><code>configure</code> now takes an <code>--enable-gtk-doc</code>
|
|
option to enable building of the documentation using the
|
|
<code>gtk-doc</code> utility. It is by default enabled only if the
|
|
utility is available.
|
|
</p>
|
|
|
|
<p>Added a new configure option <code>--enable-serializers</code> (in
|
|
1.4.7) to allow the selection of the required RDF serializers from
|
|
any of those supported.</p>
|
|
|
|
<p><code>raptor-config</code> now has a <code>--options</code>
|
|
argument to list the configured or discovered options of the library
|
|
such as parsers, serializers and other choices.
|
|
</p>
|
|
|
|
|
|
<h3>Documentation Changes</h3>
|
|
|
|
<p>The GNOME <code>gtk-doc</code> program is now used to
|
|
automatically extract documentation from source comments into
|
|
reference documentation. This is then merged with templates and
|
|
additional documentation to provide a reference manual for raptor
|
|
as XML document which is turned into HTML along with GNOME devhelp
|
|
support.</p>
|
|
|
|
<p>This new documentation intended to replace the libraptor manual
|
|
page/web page as easier to read document with scope for better
|
|
expanding with more detail of raptor including examples and tutorial
|
|
information. The manual page will continue to contain the summary
|
|
information for the present.
|
|
</p>
|
|
|
|
|
|
<h3>Portability Changes</h3>
|
|
|
|
<p>Fixed a long-standing URI resolution bug on win32 - only remove
|
|
leading / if there is one present (patch from John C. Barstow)</p>
|
|
|
|
|
|
<h3><code>rapper</code> utility Changes</h3>
|
|
|
|
<p>Altered the <code>-g</code> argument to invoke the guessing parser
|
|
rather than guess on file/URI name alone. This is now equivalent to
|
|
choosing an input syntax of <em>guess</em> with <code>-i guess</code>.</p>
|
|
|
|
<p>Added a <code>--show-namespaces</code> long option (no short version)
|
|
to show namespaces that are declared in the parsed content.
|
|
</p>
|
|
|
|
|
|
<h3>Parser Changes</h3>
|
|
|
|
<p>A new guessing parser was added, picking the actual parser to use
|
|
at run-time based on protocol or other information.</p>
|
|
|
|
<p>Allow a content type returned by a protocol (such as HTTP) to
|
|
enable choosing of parser at run-time. Added a new optional
|
|
parser factory method <code>content_type_handler</code> to return this.
|
|
</p>
|
|
|
|
<p>Allow parsers to handle several syntaxes rather than only 1 or 2.
|
|
</p>
|
|
|
|
<p>Parsers can now return namespace prefix/URI declarations as
|
|
they are given in the content by the means of a new handler type
|
|
<code>raptor_namespace_handler</code> and parser method
|
|
<code>raptor_set_namespace_handler</code>. Duplicate namespace
|
|
prefix/URIs can be returned.
|
|
</p>
|
|
|
|
<h4>GRDDL Parser Changes</h4>
|
|
|
|
<p>Bug fix when the entire content is in one chunk (René Puls).</p>
|
|
|
|
<h4>Guessing Parser Changes</h4>
|
|
|
|
<p>A new parser that guesses the actual parser to use at run-time
|
|
based on a combination of MIME Content-Type, file or URI name and in
|
|
future, iniital bytes of the content. If the Content-Type is an
|
|
exact match to a known parser, it is always chosen before trying
|
|
heuristics.
|
|
</p>
|
|
|
|
<h4>RDF/XML Parser Changes</h4>
|
|
|
|
<p>When emitting literals, handle a datatyped empty literal. This
|
|
is a post-REC errata for the revised RDF/XML recommendation.
|
|
See
|
|
<a href="http://lists.w3.org/Archives/Public/www-archive/2005Jul/0017.html">archived example</a>
|
|
for further information.
|
|
</p>
|
|
|
|
<h4>RSS Tag Soup Parser Changes</h4>
|
|
|
|
<p>Added atom 1.0 support including use of the new namespace. Atom
|
|
0.3 namespace terms are turned into new properties. Replace atom
|
|
copies of Dublin Core or RSS properties with the original terms:
|
|
</p>
|
|
<div style="text-align:center">
|
|
<table>
|
|
<tr><th>Atom 1.0 term</th> <th>Original term</th></tr>
|
|
<tr><td><code>atom:content</code></td> <td><code>rss:description</code></td></tr>
|
|
<tr><td><code>atom:id</code></td> <td><code>rss:link</code></td></tr>
|
|
<tr><td><code>atom:published</code></td> <td><code>dc:date</code></td></tr>
|
|
<tr><td><code>atom:rights</code></td> <td><code>dc:rights</code></td></tr>
|
|
<tr><td><code>atom:title</code></td> <td><code>rss:title</code></td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<p>Apply the in-scope base URI (such as from <code>xml:base</code>)
|
|
to atom 1.0 fields that take URI values:
|
|
<code>atom:id</code>, <code>atom:icon</code> and <code>atom:logo</code>.
|
|
</p>
|
|
|
|
<p>Added optional date parsing code to turn XML RSS date fields into
|
|
ISO format ones, suitable for Atom and XML schema datatypes format.
|
|
Will use library parsedate code from curl or INN if available.
|
|
</p>
|
|
|
|
<p>XML RSS field <code>pubDate</code> is now turned into Dublin Core
|
|
<code>dc:date</code> field in the ISO format.
|
|
</p>
|
|
|
|
<p>XML RSS field <code>content</code> is turned into
|
|
<code>content:encoded</code> in RDF triples on output with
|
|
escaping.</p>
|
|
|
|
<h4>Turtle Parser Changes</h4>
|
|
|
|
<p>Updated to support Turtle version 2006-01-02
|
|
(<a href="http://www.dajobe.org/2004/01/turtle/">announcement</a>).
|
|
</p>
|
|
|
|
<p>Switch qname, blank node and prefix definitions to SPARQL ones.</p>
|
|
|
|
<p>Check for illegal not-hexadecimal \u and \U escape values.</p>
|
|
|
|
<p>Fix greedy matching of long literals ("""....""") that ended on
|
|
the last """ found rather than the first.</p> <!-- """ -->
|
|
|
|
<p>Added double and decimal constants.</p>
|
|
|
|
<p>Added optional +- sign to all numeric constants.</p>
|
|
|
|
<p>Allow \" escape inside long strings.</p>
|
|
|
|
<p>Take care to reset the generated <code>raptor_statement</code>
|
|
language and datatype fields when not used.
|
|
</p>
|
|
|
|
|
|
<h3>Serializer Changes</h3>
|
|
|
|
<p>Added a new Atom 1.0 serializer (name <em>atom</em>)
|
|
by parameterising the RSS 1.0 serializer.
|
|
</p>
|
|
|
|
<p>Added a new Adobe XMP compatible serializer (name <em>rdfxml-xmp</em>)
|
|
by parameterising the RDF/XML Abbreviated serializer. Patch provided by
|
|
Sid Steward.
|
|
</p>
|
|
|
|
<p>All serializers can be chosen at <code>configure</code> time from
|
|
those available using configure option <code>--enable-serializers</code>.
|
|
</p>
|
|
|
|
<p>The RSS parser and serializer can now be independently enabled or
|
|
disabled. The RSS serializer no longer requires an XML parser.</p>
|
|
|
|
|
|
<h3>RDF/XML Serializer / XML Writer Changes</h3>
|
|
|
|
<p>A new XML Writer feature
|
|
<code>RAPTOR_FEATURE_WRITER_XML_VERSION</code> was added to allow
|
|
chosing XML 1.0 (value 10) or XML 1.1 output (value 11). This
|
|
feature is also accepted by serializers as an option and used by the
|
|
RDF/XML and RDF/XML-Abbrev serializers.
|
|
</p>
|
|
|
|
<p>A new XML Writer feature
|
|
<code>RAPTOR_FEATURE_WRITER_XML_DECLARATION</code> was added to allow
|
|
omitting the XML declaration (default true).
|
|
</p>
|
|
|
|
<p>Added functions <code>raptor_xml_any_escape_string()</code>
|
|
and <code>raptor_iostream_write_xml_any_escaped_string()</code>
|
|
which take an XML version. The XML 1.0 functions give errors
|
|
when attempting to write #x1-#x1f (excluding #x9, #xA, #xD) or #x7F.
|
|
</p>
|
|
|
|
|
|
<h3>Atom 1.0 Serializer Changes</h3>
|
|
|
|
<p>Added a new serializer using the Atom 1.0 format and namespace.
|
|
This reads RDF triples in the RSS 1.0 model, along with any
|
|
additional atom 1.0 properties and serializes an Atom 1.0 feed
|
|
file.</p>
|
|
|
|
|
|
<h3>Adobe XMP Serializer Changes</h3>
|
|
|
|
<p>Added a new serializer writing RDF/XML in the profile used by
|
|
Adobe XMP. Note that this does require RDF triples to be used in a
|
|
certain style; for example all triple subjects are the "current
|
|
documment" giving <code>rdf:about=""</code>.</p>
|
|
|
|
|
|
<h3>URI Class Changes</h3>
|
|
|
|
<p>Fix a bug when adding a default path of / to a URI
|
|
in functions <code>raptor_new_uri_for_xmlbase()</code>
|
|
and <code>raptor_new_uri_for_retrieval()</code>.
|
|
(Bug #<a href="http://bugs.librdf.org/mantis/view.php?id=45">0000045</a>)
|
|
</p>
|
|
|
|
|
|
<p><em>raptor_uri_equals</em> was altered to accept NULL pointers,
|
|
which do not compare equal to a non-NULL URI. NULL does equal NULL.
|
|
</p>
|
|
|
|
|
|
<h3>Internal Changes</h3>
|
|
|
|
<p>The internal SAX2 class was extensively changed so that remaining
|
|
interdependencies with the RDF/XML parser were removed and it can now
|
|
be re-used for other syntaxes cleanly. Several functions
|
|
were modified or added.</p>
|
|
|
|
<p>Removed old and hardly-tested internal support for XML entity
|
|
resolution (libxml only).</p>
|
|
|
|
<p>Various fixes for GCC 4 warnings.
|
|
</p>
|
|
|
|
|
|
<h2 id="rel1_4_7"><a name="rel1_4_7">Raptor 1.4.7 Changes</a></h2>
|
|
|
|
<p>Fix a couple of crashes in the RSS tag soup parser / serializer
|
|
(Dave Beckett, Suzan Foster).</p>
|
|
|
|
<p><code>configure</code> now looks for the
|
|
<code>libxslt/xslt.h</code> header as well as the
|
|
<code>libxslt</code> library and disables XSLT and GRDDL support it
|
|
if is missing. This catches systems with the libraries without
|
|
headers as has happened on some OSX versions.
|
|
</p>
|
|
|
|
<p>In serializers rdfxml and rdfxml-abbrev, report failure to
|
|
serialize to RDF/XML if the predicate URI is not absolute.
|
|
</p>
|
|
|
|
|
|
<h2 id="rel1_4_6"><a name="rel1_4_6">Raptor 1.4.6 Changes</a></h2>
|
|
|
|
<p>Added <code>--with-xslt-config</code> configure option</p>
|
|
|
|
<p>Added a new parser for
|
|
<a href="http://www.w3.org/2004/01/rdxh/spec">Gleaning Resource Descriptions from Dialects of Languages (GRDDL)</a>
|
|
which allows reading XHTML and XML as RDF triples by using profiles
|
|
in the document that declare XSLT transforms from the XHTML/XML
|
|
content into RDF/XML which is the RDF content. It does not
|
|
support all the GRDDL styles, for example
|
|
<code>dataview:namespaceTransformation</code>,
|
|
or perform recursive transformations.
|
|
</p>
|
|
|
|
<p>The turtle parser now accepts """long literals"""</p>
|
|
|
|
<p>XML writer feature support were added in 1.4.5 and not documented.
|
|
The new functions are:
|
|
<code>raptor_xml_writer_features_enumerate</code>,
|
|
<code>raptor_xml_writer_set_feature</code>,
|
|
<code>raptor_xml_writer_set_feature_string</code>,
|
|
<code>raptor_xml_writer_get_feature</code> and
|
|
<code>raptor_xml_writer_get_feature_string</code>.
|
|
The three XML writer features added are
|
|
\fBRAPTOR_FEATURE_WRITER_AUTO_INDENT\fR with boolean value (default true)
|
|
to auto-indent the XML,
|
|
\fBRAPTOR_FEATURE_WRITER_AUTO_EMPTY\fR with boolean value (default true)
|
|
to automatically generate empty elements if a start/end element sequence
|
|
has no content and
|
|
\fBRAPTOR_FEATURE_WRITER_INDENT_WIDTH\fR with an integer value (default 2)
|
|
to set the indenting level for the XML.
|
|
</p>
|
|
|
|
<p>New build configuration and portability fixes for win32 (John Barstow)</p>
|
|
|
|
<p>Portability fixes for win32 - added
|
|
<code>SIZEOF_UNSIGNED_SHORT</code> (Dave Viner, others)</p>
|
|
|
|
<p>Added a signing memory debugging system to aid checking when
|
|
raptor-allocated memory is freed in another library or vice-versa
|
|
enabled by <code>--with-memory-signing</code> configure option
|
|
(defaults to on in maintainer mode).</p>
|
|
|
|
<p>Fixed a few internal malloc/frees to use RAPTOR_MALLOC / RAPTOR_FREE
|
|
so that the above signed memory system worked.</p>
|
|
|
|
<p>RDF/XML serializer:
|
|
Use the maximal name when splitting a predicate.<br />
|
|
Turn datatyped literals that are rdf:XMLLiteral into inline XML with
|
|
<code>rdf:parseType="Literal"</code> rather than XML-escaped.
|
|
</p>
|
|
|
|
<p>RDF/XML abbreviated serializer:
|
|
Fix a crash when there is a NULL base URI.
|
|
Use the maximal name when splitting a predicate.<br />
|
|
Turn datatyped literals that are rdf:XMLLiteral into inline XML with
|
|
<code>rdf:parseType="Literal"</code> rather than XML-escaped.
|
|
</p>
|
|
|
|
<p>RSS tag soup parser:
|
|
Fix crash with unexpected use of <code>alternate</code> attribute.<br />
|
|
Update from Suzan Foster to reflect the latest status of the
|
|
enclosure vocabulary and allow multiple common items and fields.
|
|
</p>
|
|
|
|
<p>RSS 1.0 serializer:
|
|
Added RSS enclosures serializing.
|
|
</p>
|
|
|
|
<p><code>grapper</code> example GTK program now stores the window
|
|
width and height using gconf2.</p>
|
|
|
|
|
|
<h2 id="rel1_4_5"><a name="rel1_4_5">Raptor 1.4.5 Changes</a></h2>
|
|
|
|
<p>Added a new <em>RDF/XML with abbreviations</em> serializer
|
|
<code>rdfxml-abbrev</code> written by Steve Shepard which handles
|
|
several of the abbreviations specified by the
|
|
<a href="http://www.w3.org/TR/rdf-syntax-grammar/">RDF/XML Syntax Specification (Revised)</a>
|
|
W3C Recommendation. It is suitable for writing small documents as
|
|
there are known scaling issues.
|
|
</p>
|
|
|
|
<p>The RSS tag soup parser was updated to work better when there is
|
|
no base URI given. It also now supports reading the
|
|
<a href="http://inamidst.com/rss1.1/">RSS 1.1</a> format and
|
|
turning it into RSS 1.0 model triples.</p>
|
|
|
|
<p>Deprecated <code>raptor_ntriples_string_as_utf8_string</code> as
|
|
rather too internal to be useful, since it only works with a parser.
|
|
</p>
|
|
|
|
<p>More fixes to work around the broken libxml2 on Apple OSX 10.3.x
|
|
with inconsistent shared libraries / headers.</p>
|
|
|
|
<p>Experimental and incomplete Notation 3 parser - updated to match
|
|
changes to Turtle. CVS changes only, not enabled in standard builds.
|
|
</p>
|
|
|
|
|
|
|
|
<h2 id="rel1_4_4"><a name="rel1_4_4">Raptor 1.4.4 Changes</a></h2>
|
|
|
|
<p>Make the RSS tag soup parser handle RSS 0.9 namespace elements by
|
|
turning them into RSS 1.0.</p>
|
|
|
|
<p>Fix a couple of crashes in the RSS 1.0 serialiser when
|
|
no base URI is used.</p>
|
|
|
|
<p>Make <code>raptor_uri_to_relative_counted_uri_string</code>
|
|
work when the base or reference URI have no paths such as like
|
|
<em>http://example.org</em>
|
|
</p>
|
|
|
|
<p>Added portability fixes for Win32 to get Raptor 1.4.3 building
|
|
with MS Visual Studio using expat and libcurl. The RAPTOR_INTERNAL
|
|
define was moved to the build configuration and defines added for
|
|
integral type sizes. Patch from Dave Viner (dviner at apache dot
|
|
org).</p>
|
|
|
|
|
|
|
|
<h2 id="rel1_4_3"><a name="rel1_4_3">Raptor 1.4.3 Changes</a></h2>
|
|
|
|
<p>A release with the major new feature of an XML writer API.
|
|
This is now used along with a new supporting XML element class to
|
|
improve the existing RDF/XML serializer and to provide a new
|
|
<a href="http://purl.org/rss/1.0/spec">RSS 1.0</a> serializer.
|
|
</p>
|
|
|
|
<p>This API it is also used by the next release of
|
|
<a href="http://librdf.org/rasqal/">Rasqal</a> to provide serializing
|
|
of query results to XML.
|
|
</p>
|
|
|
|
<p>The new <code>raptor_xml_writer</code> class functions added are:
|
|
<code>raptor_new_xml_writer</code> (constructor),
|
|
<code>raptor_free_xml_writer</code> (destructor),
|
|
<code>raptor_xml_writer_empty_element</code>,
|
|
<code>raptor_xml_writer_start_element</code>,
|
|
<code>raptor_xml_writer_end_element</code>,
|
|
<code>raptor_xml_writer_cdata</code>,
|
|
<code>raptor_xml_writer_cdata_counted</code>,
|
|
<code>raptor_xml_writer_raw</code>,
|
|
<code>raptor_xml_writer_raw_counted</code>,
|
|
<code>raptor_xml_writer_comment</code> and
|
|
<code>raptor_xml_writer_comment_counted</code>.
|
|
</p>
|
|
|
|
<p>The new <code>raptor_xml_element</code> class functions added are:
|
|
<code>raptor_new_xml_element</code> (constructor),
|
|
<code>raptor_free_xml_element</code> (destructor),
|
|
<code>raptor_xml_element_get_name</code>,
|
|
<code>raptor_xml_element_set_attributes</code>,
|
|
<code>raptor_xml_element_declare_namespace</code> and
|
|
<code>raptor_iostream_write_xml_element</code>.
|
|
</p>
|
|
|
|
|
|
<h3>Parser Changes</h3>
|
|
|
|
<p>RSS tag soup parser now works with older libxml2s (2.5.10+),
|
|
including the one shipped with some Apple OSX versions that has an
|
|
inconsistent header file and library.</p>
|
|
|
|
<p>RSS tag soup parser recognises/scores more common XML RSS file names.</p>
|
|
|
|
<p>RSS tag soup parser turns XML RSS
|
|
<code><guid isPermaLink="true">val</guid></code>
|
|
into RDF/XML form <code><guid rdf:resource="val"/></code>, leaving
|
|
the non isPermaLink form to be a literal value.</p>
|
|
|
|
<p>A bug was found in libxml2 that causes double expanding of XML
|
|
entities in RDF/XML. This has been reported but cannot be worked
|
|
around from raptor. The expat XML parser can be used as an
|
|
alternative, as it does not have this problem. A test was added for
|
|
this bug but it will not cause the test suite ('make check') to
|
|
fail.</p>
|
|
|
|
<p>Added additional
|
|
<a href="http://www.dajobe.org/2004/01/turtle/">Turtle</a>
|
|
parser tests that cover Notation 3 syntax that is not part of the
|
|
Turtle language.</p>
|
|
|
|
<p>Added
|
|
<code>raptor_parser_set_feature_string</code> and
|
|
<code>raptor_parser_get_feature_string</code>
|
|
methods to set/get string feature values.</p>
|
|
|
|
|
|
<h3>Serializer Changes</h3>
|
|
|
|
<p>Added feature <code>relative_uris</code> for serializers. This
|
|
is used by the RDF/XML serializer and enabled by default.</p>
|
|
|
|
<p>Added feature <code>start_uri</code> for serializers with a string
|
|
value to set the start URI for serializing. Not used at present.</p>
|
|
|
|
<p>Added new methods <code>raptor_serializer_features_enumerate</code>
|
|
to list serializer features and functions to set/get serializer
|
|
feature integer or strings values:
|
|
<code>raptor_serializer_set_feature</code>,
|
|
<code>raptor_serializer_get_feature</code>,
|
|
<code>raptor_serializer_set_feature_string</code> and
|
|
<code>raptor_serializer_get_feature_string</code>.
|
|
</p>
|
|
|
|
<p>Added <code>raptor_serialize_set_namespace</code> to allow user
|
|
declaration of prefix/URI namespaces pairs as serializing hints.</p>
|
|
|
|
<p>the RDF/XML serializer was improved using the new XML Writer class
|
|
so it now uses any user-declared namespace hints in it's output and
|
|
emits relative URIs whenever possible. The latter was provided
|
|
by a patch from René Puls.</p>
|
|
|
|
<p>A new
|
|
<a href="http://purl.org/rss/1.0/spec">RSS 1.0</a>
|
|
serializer was added, using the new XML Writer class
|
|
and using the same structures, classes and properties as the RSS tag
|
|
soup parser.</p>
|
|
|
|
|
|
<h3>URI class changes</h3>
|
|
|
|
<p>Added relative URI generating code from a patch written by René Puls
|
|
and provide this with two new methods
|
|
<code>raptor_uri_to_relative_uri_string</code> and
|
|
<code>raptor_uri_to_relative_counted_uri_string</code>.
|
|
</p>
|
|
|
|
<p>Added <code>raptor_uri_print</code> to print a URI to a file handle.</p>
|
|
|
|
<p>Added methods <code>raptor_uri_to_string</code> and
|
|
<code>raptor_uri_to_counted_string</code> to return a URI as newly
|
|
allocated strings.</p>
|
|
|
|
|
|
<h3>I/O Stream Changes</h3>
|
|
|
|
<p>Many classes gained methods to write to iostreams, supporting the
|
|
new XML Writer class functionality. The added methods are:
|
|
<code>raptor_iostream_write_namespace</code>,
|
|
<code>raptor_iostream_write_ntriples_string</code>,
|
|
<code>raptor_iostream_write_qname</code>,
|
|
<code>raptor_iostream_write_statement_ntriples</code>,
|
|
<code>raptor_iostream_write_stringbuffer</code>,
|
|
<code>raptor_iostream_write_xml_element</code> and
|
|
<code>raptor_iostream_write_xml_escaped_string</code>.
|
|
</p>
|
|
|
|
|
|
<h3>Namespace Class Changes</h3>
|
|
|
|
<p>Added <code>raptor_namespace_copy</code> copy
|
|
constructor and <code>raptor_new_namespace_from_uri</code>
|
|
constructor to build a namespace from a raptor_uri object.</p>
|
|
|
|
<p>Added utility function <code>raptor_new_namespace_parts_from_string</code>
|
|
to decode syntax of the form
|
|
<code>xmlns:</code><em>prefix</em><code>="</code><em>uri</em><code>"</code>
|
|
into <em>prefix</em> and <em>uri</em> string pairs.
|
|
</p>
|
|
|
|
<p>Added <code>raptor_namespaces_find_namespace_by_uri</code> method
|
|
for namespace stack to find a declared namespace by URI. This
|
|
complements <code>raptor_namespaces_find_namespace</code> which
|
|
already provides searching by prefix.</p>
|
|
|
|
|
|
<h3>Unicode and UTF-8 Changes</h3>
|
|
|
|
<p>Added several methods for checking characters forming
|
|
parts of XML 1.0 or XML 1.1 names:
|
|
<code>raptor_unicode_is_xml10_namestartchar</code>,
|
|
<code>raptor_unicode_is_xml11_namestartchar</code>,
|
|
<code>raptor_unicode_is_xml10_namechar</code> and
|
|
<code>raptor_unicode_is_xml11_namechar</code>.
|
|
</p>
|
|
|
|
<p>Added a function <code>raptor_utf8_check</code> to check that a
|
|
string is legal UTF-8 and all the encoded Unicode characters are in
|
|
the range U+0 <= character <= U+10FFFF</p>
|
|
|
|
<p>Added a function <code>raptor_xml_name_check</code> to check that
|
|
a string is a legal XML name (1.0 or 1.1) as well as legal UTF-8.</p>
|
|
|
|
|
|
<h3>Other Changes</h3>
|
|
|
|
<p>Feature support: Added <code>raptor_feature_value_type</code> to
|
|
determine value of a feature - either integer (most) or string.</p>
|
|
|
|
<p>XML QName class: Added <code>raptor_qname_copy</code> copy
|
|
constructor.</p>
|
|
|
|
<p>Sequence class: Added <code>raptor_sequence_join</code>
|
|
to join two sequences of items, leaving one empty.</p>
|
|
|
|
<p>Statement class: Added <code>raptor_statement_copy</code> copy
|
|
constructor and <code>raptor_free_statement</code> destructor.
|
|
Previously these were internal to raptor.</p>
|
|
|
|
<p>The <code>rapper</code> utility was modified to add a feature form:
|
|
<code>-f xmlns:</code><em>PREFIX</em><code>="</code><em>URI</em><code>"</code>
|
|
allowing the setting of output serializer namespaces.</p>
|
|
|
|
<p>The namespace URI string constants exported by raptor are now of
|
|
type unsigned char*.</p>
|
|
|
|
|
|
<h2 id="rel1_4_2"><a name="rel1_4_2">Raptor 1.4.2 Changes</a></h2>
|
|
|
|
<p>Make <code>raptor_xml_escape_string</code> fail correctly when
|
|
given bad UTF-8 to escape.</p>
|
|
|
|
|
|
<h2 id="rel1_4_1"><a name="rel1_4_1">Raptor 1.4.1 Changes</a></h2>
|
|
|
|
<p>Fixed a buffer overrun in decoding a URI scheme in
|
|
<code>raptor_uri</code> constructors such as
|
|
<code>raptor_new_uri</code>.</p>
|
|
|
|
<p>Fixed a crash in RSS enclosures crash when the <code>url</code>
|
|
attribute seen on a non-<code><enclosure></code> element</p>
|
|
|
|
<p><code>raptor_xml_escape_string</code> return value has changed to
|
|
be an int, returning <0 on failure. This allows the empty string
|
|
encoding an empty string case to work and be distinguished from an
|
|
error.
|
|
</p>
|
|
|
|
|
|
<h2 id="rel1_4_0"><a name="rel1_4_0">Raptor 1.4.0 Changes</a></h2>
|
|
|
|
<p>A release with the major new feature of providing serializing of
|
|
RDF triples to syntaxes. It also added a new support class for I/O
|
|
streams and had other minor fixes.</p>
|
|
|
|
<p>Added a Raptor Serializer class (<code>raptor_serializer</code>)
|
|
with similar style to Parser (<code>raptor_parser</code>). Two
|
|
serializers are provided, for RDF/XML and N-Triples. The serializing
|
|
can be done to files, C <code>FILE*</code> or to strings. The
|
|
raptor_iostream class that provides this also allows writing
|
|
to any other form by creating a custom iostream.
|
|
</p>
|
|
|
|
<p>The new raptor_serializer class functions added are:
|
|
<code>raptor_serializers_enumerate</code>,
|
|
<code>raptor_serializer_syntax_name_check</code>,
|
|
<code>raptor_new_serializer</code>,
|
|
<code>raptor_free_serializer</code>,
|
|
<code>raptor_serialize_start</code>,
|
|
<code>raptor_serialize_start_to_filename</code>,
|
|
<code>raptor_serialize_start_to_string</code>,
|
|
<code>raptor_serialize_start_to_file_handle</code>,
|
|
<code>raptor_serialize_statement</code>,
|
|
<code>raptor_serialize_end</code>,
|
|
<code>raptor_serializer_get_iostream</code>,
|
|
<code>raptor_serializer_set_error_handler</code>,
|
|
<code>raptor_serializer_set_warning_handler</code> and
|
|
<code>raptor_serializer_get_locator</code>
|
|
</p>
|
|
|
|
<p>Added a Raptor I/O stream abstraction in
|
|
<code>raptor_iostream</code> class to support serializing of RDF to
|
|
multiple output streams such as to filenames, to C standard I/O
|
|
<code>FILE*</code> handles and to strings especially for
|
|
cross-language use. A <code>raptor_iostream_handler</code> can
|
|
be used to construct a user-defined iostream.
|
|
</p>
|
|
|
|
<p>The new raptor_iostream class functions added are:
|
|
<code>raptor_new_iostream_from_handler</code>,
|
|
<code>raptor_new_iostream_to_sink</code>,
|
|
<code>raptor_new_iostream_to_filename</code>,
|
|
<code>raptor_new_iostream_to_file_handle</code>,
|
|
<code>raptor_new_iostream_to_string</code>,
|
|
<code>raptor_free_iostream</code>,
|
|
<code>raptor_iostream_write_bytes</code>,
|
|
<code>raptor_iostream_write_byte</code>,
|
|
<code>raptor_iostream_write_end</code>,
|
|
<code>raptor_iostream_write_string</code>,
|
|
<code>raptor_iostream_write_counted_string</code>,
|
|
<code>raptor_iostream_get_bytes_written_count</code>,
|
|
<code>raptor_iostream_write_decimal</code> and
|
|
<code>raptor_iostream_format_hexadecimal</code>.
|
|
</p>
|
|
|
|
|
|
<p>The <code>rapper</code> utility was modified to use serializer
|
|
class so that the output formats supported are now N-Triples
|
|
(<code>-o ntriples</code>) - the default, and RDF/XML (<code>-o
|
|
rdfxml</code>).</p>
|
|
|
|
|
|
<p>Raptor now exports more static namespace URI strings for
|
|
general application use:
|
|
<code>raptor_xml_namespace_uri</code>,
|
|
<code>raptor_rdf_namespace_uri</code>,
|
|
<code>raptor_rdf_schema_namespace_uri</code>,
|
|
<code>raptor_xmlschema_datatypes_namespace_uri</code>,
|
|
<code>raptor_owl_namespace_uri</code>,
|
|
and the length
|
|
<code>raptor_rdf_namespace_uri_len</code>.
|
|
</p>
|
|
|
|
<p>The raptor_stringbuffer class gained a new method
|
|
<code>raptor_stringbuffer_copy_to_string</code>
|
|
which allows efficient copy-out of a constructed string.
|
|
</p>
|
|
|
|
<p>The raptor_www class gained a new method
|
|
<code>raptor_www_fetch_to_string</code> to allow retrieving of
|
|
web content as a single string.
|
|
</p>
|
|
|
|
<p>RSS tag soup parser gained support for generating triples for
|
|
enclosures, after a patch from Suzan Foster. Changes made include
|
|
correcting the enclosures namespace and tidying some memory leaks.
|
|
</p>
|
|
|
|
|
|
<h2 id="rel1_3_3"><a name="rel1_3_3">Raptor 1.3.3 Changes</a></h2>
|
|
|
|
<p>A release with major improvements along with several minor fixes.</p>
|
|
|
|
<p>Raptor's License was changed from LGPL 2.1/MPL 1.1 to
|
|
LGPL 2.1/Apache 2</p>
|
|
|
|
<p>Thanks to Chris Pointon for several patches to make Raptor
|
|
easier to build under Win32 which were applied, with some slight
|
|
modifications.</p>
|
|
|
|
<p>Increased WWW content retrieval buffer size from 256 bytes to 4K
|
|
since this was causing problems for even moderate size documents.</p>
|
|
|
|
<p>After testing raptor on a very large RDF/XML file with many
|
|
<code>rdf:ID</code> values, the check for duplicate values was found
|
|
to be inefficient in memory and slow. The implementation was
|
|
improved to be more memory efficient and a new parser feature
|
|
<code>check_rdf_id</code> was added to disable checking (default is
|
|
enabled).</p>
|
|
|
|
<p>Added a new Unicode NFC checker to replace the functionality
|
|
formally available by calling the GNOME glib function
|
|
g_utf8_normalize. This new checker is done via several tables and
|
|
adds approximately 50K to the object size of the library when
|
|
compiled on x86. This code and tables can be disabled with configure
|
|
option <code>--disable-nfc-check</code> causing all checks to
|
|
succeed.</p>
|
|
|
|
<p>Fix the exporting of
|
|
<code>raptor_xml_literal_datatype_uri_string</code> and
|
|
<code>raptor_xml_literal_datatype_uri_string_len</code> as constants
|
|
for use by applications. Previously raptor.h wasn't doing this
|
|
correctly.</p>
|
|
|
|
<p>Added <code>raptor_calloc_memory</code> for allocating zeroed
|
|
memory inside raptor, for use by applications passing memory in/out
|
|
of raptor.</p>
|
|
|
|
<p>Added a new configure option <code>--enable-parsers</code> to
|
|
allow the selection of the required RDF parsers from any of those
|
|
supported (RDF/XML, Turtle, N-Triples, RSS tag soup).
|
|
</p>
|
|
|
|
<p>Reorganised the sources to split parsing support from RDF/XML
|
|
to support compiling without this parser.</p>
|
|
|
|
<p>Updated the RSS Tag Soup parser to start to handle the Atom 0.3
|
|
currently being standardised by the
|
|
<a href="http://www.ietf.org/html.charters/atompub-charter.html">IETF Atom Publishing Format and Protocol</a>
|
|
working group.
|
|
</p>
|
|
|
|
<p>Altered the Turtle parser to work with large source documents that
|
|
exceeded bison limits. Thanks to Geoff Chappell for providing a fix for
|
|
this.</p>
|
|
|
|
<p>Rewrote the URI parsing to create an internal structure and
|
|
improved the relative URI resolving in preparation for future work
|
|
such as potentially supporting URI canonicalisation such as proposed
|
|
to be used by Atom.</p>
|
|
|
|
|
|
<h2 id="rel1_3_2"><a name="rel1_3_2">Raptor 1.3.2 Changes</a></h2>
|
|
|
|
<p>A release with some minor fixes.</p>
|
|
|
|
<p>Added a new configure option
|
|
<code>--with-expat-source=</code><em>DIR</em>
|
|
to allow the use of external expat source trees in either the old or
|
|
newer directory structure style. (Patch from Mark Smith).</p>
|
|
|
|
<p>Added <code>raptor_alloc_memory</code> for handlers that need to
|
|
allocate memory in the same heap as raptor uses for
|
|
<code>raptor_free_memory</code>. This is mostly useful for allocating
|
|
memory that is freed by raptor in error, ID and statement handlers
|
|
on win32 which has separate heaps for different DLLs.</p>
|
|
|
|
<p>A bug was fixed where errors which happened when fetching WWW
|
|
content were always printed to stderr. They are now passed to the
|
|
main error routines which allows applications to retrieve them.</p>
|
|
|
|
<p>Accessor functions were added for parts of the public
|
|
<code>raptor_locator</code> structure which makes it possible to get
|
|
structured error information from language bindings via Redland
|
|
(Patch from Edd Dumbill). The new functions are:</p>
|
|
|
|
<ul>
|
|
<li><code>int raptor_locator_line(raptor_locator *locator);</code></li>
|
|
<li><code>int raptor_locator_column(raptor_locator *locator);</code></li>
|
|
<li><code>int raptor_locator_byte(raptor_locator *locator);</code></li>
|
|
<li><code>const char * raptor_locator_file(raptor_locator *locator);</code></li>
|
|
<li><code>const char * raptor_locator_uri(raptor_locator *locator);</code></li>
|
|
</ul>
|
|
|
|
<p>The Unicode Normal Form C (NFC) checking via the GNOME glib
|
|
library function <code>g_utf8_normalize</code> is broken, comparing
|
|
the data it says is failed against other NFC checkers. It is also
|
|
slower than need be since it is doing full normalizing rather than
|
|
just checking for NFC, and adds a rather large dependency for just
|
|
one function. A new portable checker will be added in a later
|
|
release.</p>
|
|
|
|
|
|
|
|
|
|
<h2 id="rel1_3_1"><a name="rel1_3_1">Raptor 1.3.1 Changes</a></h2>
|
|
|
|
<p>A release primarily to fix some win32 and portability issues.</p>
|
|
|
|
<p>raptor.h now includes stdarg.h</p>
|
|
|
|
<p>Corrected the <code>raptor_print_statement</code> declaration in
|
|
raptor.h for the argument statement to have one less 'const' which
|
|
matches the actual code.</p>
|
|
|
|
<p>Made several portability fixes for compiling natively on win32
|
|
which doesn't quite do POSIX or C99.</p>
|
|
|
|
<p>Changed the support for file: URIs and converting to and from
|
|
filenames. It now %-escapes spaces and % characters on conversion
|
|
to and from filenames with
|
|
<code>raptor_uri_uri_string_to_filename</code>,
|
|
<code>raptor_uri_uri_string_to_filename_fragment</code>
|
|
and
|
|
<code>raptor_uri_filename_to_uri_string</code>.
|
|
For Win32, more tests were added and the
|
|
format of URIs supported corrected to use the <code>file:///c:</code>
|
|
form rather than <code>file://c|/</code></p>
|
|
|
|
<p>URIs that resolve to directories now return an error when lstat is
|
|
available to check.</p>
|
|
|
|
|
|
|
|
<h3>Parser Changes</h3>
|
|
|
|
<p>The
|
|
<a href="http://www.dajobe.org/2004/01/turtle/">Turtle</a>
|
|
parser was updated to only allow language with non-datatyped literals,
|
|
allow a '_' immediately after a ':' in qnames and to make a bare ':'
|
|
qname work correctly.
|
|
</p>
|
|
|
|
<p>The Turtle parser was fixed to re-initialise correctly when
|
|
performing multiple parsings. The other parsers already did this
|
|
correctly.</p>
|
|
|
|
<p>Added a warning to the RDF/XML parser for unknown
|
|
<code>rdf:parseType</code> values, when parsing in lax mode - which
|
|
is the default. It now tells the user when the parsing is working as
|
|
'Literal' mode by finding an unknown value. This is controlled by a
|
|
new parser feature warn_other_parsetypes which is default set true
|
|
in lax mode. Parser modes are controlled by the
|
|
<code>raptor_set_parser_strict</code> method.</p>
|
|
|
|
|
|
|
|
<h2 id="rel1_3_0"><a name="rel1_3_0">Raptor 1.3.0 Changes</a></h2>
|
|
|
|
<p>A release primarily to provide support for
|
|
the new <a href="http://librdf.org/rasqal/">Rasqal</a>
|
|
RDF query library but with some new features and fixes.</p>
|
|
|
|
|
|
<h3>Parser Changes</h3>
|
|
|
|
<p>Added a new constructor
|
|
<code>raptor_new_parser_for_content</code> to guess the parser to use
|
|
from hints in URIs or content, using a new utility function
|
|
<code>raptor_guess_parser_name</code>.</p>
|
|
|
|
<p>Additional checks were added to the RDF/XML parser for
|
|
RDF-namespaced names in element and attributes and if they are
|
|
forbidden giving an error otherwise if unknown, giving a warning.</p>
|
|
|
|
<p>The
|
|
<a href="http://www.dajobe.org/2004/01/turtle/">Turtle</a>
|
|
parser was updated to correct the collections syntax, allow '-' in
|
|
names and QNames and to add integer literals. This parser now correctly
|
|
uses <code>raptor_generate_id</code> when a blank identifier name is
|
|
needed.</p>
|
|
|
|
<p>Completed parser feature support by adding <code>raptor_get_feature</code>,
|
|
<code>raptor_feature_from_uri</code>, and
|
|
<code>raptor_features_enumerate</code> to get values and enable
|
|
discovery of supported features at run time.
|
|
<code>raptor_set_feature</code> was changed to give return a success
|
|
value</p>
|
|
|
|
<p>Added a new method <code>raptor_get_mime_type</code> to get the
|
|
MIME type of the syntax for a parser</p>
|
|
|
|
<p><code>raptor_parse_uri_with_connection</code> (which is called by
|
|
<code>raptor_parse_uri</code>) now sets the HTTP <code>Accept:</code>
|
|
header to the MIME type of the parser in WWW requests using the new
|
|
<code>raptor_www_set_http_accept()</code>.
|
|
</p>
|
|
|
|
|
|
<h3><code>rapper</code> changes</h3>
|
|
|
|
<p>Added options <code>-f</code>/<code>--feature</code> for setting
|
|
features and <code>-g</code>/<code>--guess</code> for guessing syntax
|
|
from some content or identifiers. See <a href="rapper.html">rapper(1)</a>
|
|
for all rapper options.</p>
|
|
|
|
|
|
<h3>Utility function changes</h3>
|
|
|
|
<p>Added <code>raptor_syntax_name_check</code> to check for valid
|
|
syntax language names.<br />
|
|
</p>
|
|
|
|
<p>Added <code>raptor_free_memory</code> to free memory returned by
|
|
raptor functions.</p>
|
|
|
|
<p>Added Unicode utility functions <code>raptor_unicode_char_to_utf8</code> and
|
|
<code>raptor_utf8_to_unicode_char</code>.</p>
|
|
|
|
<p>Exported URI string <code>raptor_xml_literal_datatype_uri_string</code>.</p>
|
|
|
|
<p>Deprecated <code>raptor_print_statement_detailed</code> always
|
|
intended to be internal.</p>
|
|
|
|
|
|
<h3>WWW Class changes</h3>
|
|
|
|
<p>Added support to set the HTTP <code>Accept:</code> header for curl
|
|
and libxml2 when retrieving HTTP content by the new
|
|
<code>raptor_www_set_http_accept</code> method.
|
|
</p>
|
|
|
|
|
|
<h3>New classes - Sequence and Stringbuffer</h3>
|
|
|
|
<p>Added a utility class <code>raptor_sequence</code> providing
|
|
simple sequences that can handle stacks and queues</p>
|
|
|
|
<p>Added a utility class <code>raptor_stringbuffer</code>
|
|
for constructing strings from substrings appended or prepended.</p>
|
|
|
|
|
|
|
|
<h2 id="rel_older"><a name="rel_older">Raptor 0.9.0 - Raptor 1.2.0 Changes</a></h2>
|
|
|
|
<p>Release notes for 1.2.0 and earlier are in the
|
|
<a href="NEWS.html">NEWS page</a> or
|
|
<a href="ChangeLog">ChangeLog</a>
|
|
</p>
|
|
|
|
|
|
|
|
<hr />
|
|
|
|
<p>Copyright (C) 2003-2008 <a href="http://www.dajobe.org/">Dave Beckett</a><br />Copyright (C) 2003-2005 <a href="http://www.bristol.ac.uk/">University of Bristol</a></p>
|
|
|
|
</body>
|
|
</html>
|