SWISH-3
view release on metacpan or search on metacpan
libswish3.c view on Meta::CPAN
xmlHashTablePtr parsers;
xmlHashTablePtr mimes;
xmlHashTablePtr index;
xmlHashTablePtr stringlists;
struct swish_ConfigFlags *flags; /* shortcuts for parsing */
};
struct swish_ConfigFlags
{
boolean tokenize;
boolean cascade_meta_context;
boolean ignore_xmlns;
boolean follow_xinclude;
int undef_metas;
int undef_attrs;
int max_meta_id;
int max_prop_id;
xmlHashTablePtr meta_ids;
xmlHashTablePtr prop_ids;
//xmlHashTablePtr contexts;
};
libswish3.c view on Meta::CPAN
swish_xfree(config);
}
swish_ConfigFlags *
swish_config_init_flags(
)
{
swish_ConfigFlags *flags;
flags = swish_xmalloc(sizeof(swish_ConfigFlags));
flags->tokenize = SWISH_TRUE;
flags->cascade_meta_context = SWISH_FALSE; /* add tokens to every metaname in the stack */
flags->ignore_xmlns = SWISH_TRUE;
flags->follow_xinclude = SWISH_TRUE;
flags->undef_metas = SWISH_UNDEF_METAS_INDEX;
flags->undef_attrs = SWISH_UNDEF_ATTRS_DISABLE;
flags->max_meta_id = -1;
flags->max_prop_id = -1;
flags->meta_ids = swish_hash_init(8);
flags->prop_ids = swish_hash_init(8);
//flags->contexts = swish_hash_init(8); // TODO cache these to save malloc/frees
libswish3.c view on Meta::CPAN
}
swish_xfree(flags);
}
void
swish_config_flags_debug(
swish_ConfigFlags *flags
)
{
SWISH_DEBUG_MSG("config->tokenize == %d", flags->tokenize);
SWISH_DEBUG_MSG("config->cascade_meta_context == %d", flags->cascade_meta_context);
SWISH_DEBUG_MSG("config->ignore_xmlns == %d", flags->ignore_xmlns);
SWISH_DEBUG_MSG("config->follow_xinclude == %d", flags->follow_xinclude);
SWISH_DEBUG_MSG("config->undef_metas == %d", flags->undef_metas);
SWISH_DEBUG_MSG("config->undef_attrs == %d", flags->undef_attrs);
SWISH_DEBUG_MSG("config->max_meta_id == %d", flags->max_meta_id);
SWISH_DEBUG_MSG("config->max_prop_id == %d", flags->max_prop_id);
}
/* init config object */
swish_Config *
libswish3.c view on Meta::CPAN
if (SWISH_DEBUG & SWISH_DEBUG_CONFIG) {
SWISH_DEBUG_MSG("merge complete");
}
/* set flags */
if (swish_hash_exists(config2->misc, BAD_CAST SWISH_TOKENIZE)) {
config2->flags->tokenize = swish_string_to_boolean(swish_hash_fetch(config2->misc, BAD_CAST SWISH_TOKENIZE));
}
config1->flags->tokenize = config2->flags->tokenize;
if (swish_hash_exists(config2->misc, BAD_CAST SWISH_CASCADE_META_CONTEXT)) {
config2->flags->cascade_meta_context =
swish_string_to_boolean(swish_hash_fetch(config2->misc, BAD_CAST SWISH_CASCADE_META_CONTEXT));
}
config1->flags->cascade_meta_context = config2->flags->cascade_meta_context;
if (swish_hash_exists(config2->misc, BAD_CAST SWISH_IGNORE_XMLNS)) {
config2->flags->ignore_xmlns =
swish_string_to_boolean(swish_hash_fetch(config2->misc, BAD_CAST SWISH_IGNORE_XMLNS));
}
config1->flags->ignore_xmlns = config2->flags->ignore_xmlns;
if (swish_hash_exists(config2->misc, BAD_CAST SWISH_FOLLOW_XINCLUDE)) {
config2->flags->follow_xinclude =
swish_string_to_boolean(swish_hash_fetch(config2->misc, BAD_CAST SWISH_FOLLOW_XINCLUDE));
}
config1->flags->follow_xinclude = config2->flags->follow_xinclude;
libswish3.c view on Meta::CPAN
if (meta->alias_for != NULL) {
metaname_stored_as = meta->alias_for;
}
else {
metaname_stored_as = metaname;
}
swish_nb_add_buf(parser_data->metanames, metaname_stored_as, parser_data->meta_buf,
(xmlChar *)SWISH_TOKENPOS_BUMPER, 0, 1);
/*
* if cascade_meta_context is true, add tokens (buffer) to every metaname on the stack.
*/
if (parser_data->s3->config->flags->cascade_meta_context) {
for (s->temp = s->head; s->temp != NULL; s->temp = s->temp->next) {
if (xmlStrEqual(s->temp->baked, metaname_stored_as)) /* already added */
continue;
swish_nb_add_buf(parser_data->metanames, s->temp->baked,
parser_data->meta_buf, (xmlChar *)SWISH_TOKENPOS_BUMPER,
0, 1);
}
}
libswish3.c view on Meta::CPAN
if (swish_hash_exists(h->config->misc, BAD_CAST SWISH_TOKENIZE)) {
/*
SWISH_DEBUG_MSG("tokenize in config == %s",
swish_hash_fetch(h->config->misc, BAD_CAST SWISH_TOKENIZE));
*/
h->config->flags->tokenize =
swish_string_to_boolean(swish_hash_fetch(h->config->misc, BAD_CAST SWISH_TOKENIZE));
}
if (swish_hash_exists(h->config->misc, BAD_CAST SWISH_CASCADE_META_CONTEXT)) {
/*
SWISH_DEBUG_MSG("cascade_meta_context in config == %s",
swish_hash_fetch(h->config->misc, BAD_CAST SWISH_CASCADE_META_CONTEXT));
*/
h->config->flags->cascade_meta_context =
swish_string_to_boolean(swish_hash_fetch(h->config->misc, BAD_CAST SWISH_CASCADE_META_CONTEXT));
}
if (swish_hash_exists(h->config->misc, BAD_CAST SWISH_IGNORE_XMLNS)) {
/*
SWISH_DEBUG_MSG("ignore_xmlns in config == %s",
swish_hash_fetch(h->config->misc, BAD_CAST SWISH_IGNORE_XMLNS));
*/
h->config->flags->ignore_xmlns =
swish_string_to_boolean(swish_hash_fetch(h->config->misc, BAD_CAST SWISH_IGNORE_XMLNS));
}
libswish3.h view on Meta::CPAN
xmlHashTablePtr parsers;
xmlHashTablePtr mimes;
xmlHashTablePtr index;
xmlHashTablePtr stringlists;
struct swish_ConfigFlags *flags; /* shortcuts for parsing */
};
struct swish_ConfigFlags
{
boolean tokenize;
boolean cascade_meta_context;
boolean ignore_xmlns;
boolean follow_xinclude;
int undef_metas;
int undef_attrs;
int max_meta_id;
int max_prop_id;
xmlHashTablePtr meta_ids;
xmlHashTablePtr prop_ids;
//xmlHashTablePtr contexts;
};
( run in 0.601 second using v1.01-cache-2.11-cpan-49f99fa48dc )