[sword-devel] HTML filter cross references link
Troy A. Griffitts
scribe at crosswire.org
Sat Jul 26 09:44:15 MST 2008
Dear Manfred,
Do you have:
swordManager.setGlobalOption("Cross-references", "On");
anywhere in your code?
A few comments:
> Alright, understood.
> getRawEntry() always delivers the raw entry.
> And with getEntryAttributes() there is always access to the entry
> attributes and can be parsed.
> The raw entry and the attributes I guess depends on the raw material
> (OSIS, GBF, ThML, ...).
As a frontend developer, you should never need access to getRawEntry().
>> Changing a line near the top of lookup.cpp swapping the filter use
>> the HTMLREF set:
>>
>> // SWMgr manager(new MarkupFilterMgr(FMT_WEBIF));
>
> What does this filter actually do?
> I have seen in the sources that it does for some tags forward to
> HTMLHREFS filter.
The WEBIF filter-set is used by SWORDWeb. We are trying to unify the
HTML filter sets so that everyone desiring HTML output is happy with the
same filter-set. It will probably be HTMLHREF. We've made some good
progress. Should be there soon now that development is picking up
again. I would like to know what MacSword changes from HTMLHREF so that
we can accommodate you, as well.
>> SWMgr manager(new MarkupFilterMgr(FMT_HTMLHREF));
>
> Is this initialization of SWMgr with this MarkupFilterMgr the same as
> if to all modules AddRenderFilter() would be called?
Yes. You should never have to call AddRenderFilter to a module, though
we do allow you to add your own special filters by overriding the
virtual SWMgr::AddRenderFilters() method if one of the default SWORD
filter sets does not work for you. Not sure how MacSword does it now.
The MarkupFilterMgr is the mechanism to ask SWORD to give you a specific
output markup from RenderText(). This code figures out which filter set
to apply to each module depending on the module SourceType (OSIS, GBF,
ThML, etc...) and will apply the correct filters to meet your requested
output type. But if you can't use any of the default filter sets, then
you'll have to override SWMgr::AddRenderFilters() and apply your custom
filters.
> One thing I have in mind for MacSword2 is that actually all options
> are turned on by default.
> I would like to get all possible meta information for the current
> reference(s) that the user entered or that are displayed.
I know this isn't exactly what you want, but:
SWMgr::getGlobalOptions();
will return all options available in the module set the user has
installed. I realize it is not limited to the current view-- only
limited to the available modules install-- but it is a limited subset
and not the entire set. Maybe we could add an 'on/off' concept in
SWModule, and would allow you to turn modules on and off based on what
the user is currently using and then we could make getGlobalOptions()
return a narrower set of options for only the SWModule objects which are
turned 'on'. Dunno. Let me know how we can help you.
-Troy.
More information about the sword-devel
mailing list