The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Set error and warning handlers</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.71.0">
<link rel="start" href="index.html" title="Raptor RDF Syntax Parsing and Serializing Library Manual">
<link rel="up" href="tutorial-serializing.html" title="Serializing RDF triples to a syntax">
<link rel="prev" href="tutorial-serializer-declare-namespace.html" title="Declare namespaces">
<link rel="next" href="tutorial-serializer-to-destination.html" title="Provide a destination for the serialized syntax">
<meta name="generator" content="GTK-Doc V1.7 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="introduction.html" title="Raptor Overview">
<link rel="part" href="tutorial.html" title="Part&#160;I.&#160;Raptor Tutorial">
<link rel="chapter" href="tutorial-initialising-finishing.html" title="Initialising and Finishing using the Library">
<link rel="chapter" href="tutorial-querying-functionality.html" title="Listing built-in functionality">
<link rel="chapter" href="tutorial-parsing.html" title="Parsing syntaxes to RDF Triples">
<link rel="chapter" href="tutorial-serializing.html" title="Serializing RDF triples to a syntax">
<link rel="part" href="reference-manual.html" title="Part&#160;II.&#160;Raptor Reference Manual">
<link rel="chapter" href="raptor-parsers.html" title="Parsers in Raptor (syntax to triples)">
<link rel="chapter" href="raptor-serializers.html" title="Serializers in Raptor (triples to syntax)">
<link rel="index" href="ix01.html" title="Index">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="tutorial-serializer-declare-namespace.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="tutorial-serializing.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">Raptor RDF Syntax Parsing and Serializing Library Manual</th>
<td><a accesskey="n" href="tutorial-serializer-to-destination.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="tutorial-serializer-set-error-warning-handlers"></a>Set error and warning handlers</h2></div></div></div>
<p>There are several other callback handlers that can be set
on serializers.  These can be set any time before serializing is started.
Errors and warnings from serializing can be returned with functions
that all take a callback of type
<a href="raptor-section-general.html#raptor-message-handler"><span class="type">raptor_message_handler</span></a>
and signature:
</p>
<pre class="programlisting">
void
message_handler(void *user_data, raptor_locator* locator, 
                const char *message)
{
  /* do something with the message */
}
</pre>
<p>
returning the user data given, associated location information
as a <a href="raptor-section-locator.html#raptor-locator"><span class="type">raptor_locator</span></a>
and the error/warning message itself.  The <span class="emphasis"><em>locator</em></span>
structure contains full information on the details of where in the
serialized file or URI the message occurred.
</p>
<p>The fatal error, error and warning handlers are all set with
similar functions that take a handler as follows:
</p>
<pre class="programlisting">
  raptor_serializer_set_error_handler(rdf_serializer, user_data, error_handler);

  raptor_serializer_set_warning_handler(rdf_serializer, user_data, warning_handler);
</pre>
<p>
</p>
</div>
</body>
</html>