Raptor can be configured and compiled with support for different
lists of parsers and serializers. The list built into the
library can be found by means of
description functions. These take as input an
int
counter and return descriptions of the object
at that offset in the list. The return value is a pointer to a
shared, read-only description of the object, or NULL if the counter
has gone too far into the list.
Listing Functionality with Descriptions
Get descriptions of the parser syntaxes |
const raptor_syntax_description* raptor_world_get_parser_description(raptor_world* world, unsigned int counter); |
Get descriptions of the serializer syntaxes |
const raptor_syntax_description* raptor_world_get_serializer_description(raptor_world* world, unsigned int counter); |
Get descriptions of options |
raptor_option_description* raptor_world_get_option_description(raptor_world* world, const raptor_domain domain, const raptor_option option);
Call with the appropriate domains for the class such as
|
These functions can be called directly after creating a
raptor world object with
raptor_new_world()
.
This is one way to find a parser (name) by it's MIME Type, the other
is to use the mime_type parameter of the
raptor_new_parser_for_content()
.
Example 1. List all parser options using option description
unsigned int i; for(i = 0; i < raptor_option_get_count(); i++) { raptor_option_description* od; od = raptor_world_get_option_description(world, RAPTOR_DOMAIN_PARSER, i); if(od) { /* do something with od fields such as od->name, od->label */ } }
There are more examples of this usage in the source for the
rapper
utility in util/rapper.c
.