[sword-devel] HTML filter cross references link
Manfred Bergmann
bergmannmd at web.de
Mon Jul 28 03:46:03 MST 2008
Yes, right, in the end-of-note handler I could still get the cross-
refs per note.
This is for OSIS texts. Needs to be done in all source HTML filters
probably then?
Manfred
Am 28.07.2008 um 12:19 schrieb Ben Morgan:
> The cross-references (which are omitted) are contained in a note
> (which isn't omitted), which will have the type set to cross-
> reference (or something like that)
> The entry attributes has the original osis text, as well as the
> references it found. You can process this in the end-of-note handler.
>
> God Bless,
> Ben
> -------------------------------------------------------------------------------------------
> The Lord is not slow to fulfill his promise as some count slowness,
> but is patient toward you, not wishing that any should perish,
> but that all should reach repentance.
> 2 Peter 3:9 (ESV)
>
>
> On Mon, Jul 28, 2008 at 5:18 PM, Manfred Bergmann
> <bergmannmd at web.de> wrote:
> Hi Ben.
>
> Ok, one can get the cross-references by getting the entry attributes.
> But if the body is not passed in again to the filter you can't figure
> anymore to which word the cross-reference is related to by just
> parsing the attributes.
> The only chance to get the relationship is to show the information in
> the tooltip or while clicking on the cross-ref link.
> Please correct me if I'm wrong.
> If this is correct I have to say that this is quite unflexible.
> If someone chooses to not render anything related to cross-references
> but still wants to have the data (to show it somewhere else) there is
> no way to get the word -> cross-ref relationship.
>
>
>
> Regards,
> Manfred
>
>
> Am 28.07.2008 um 01:35 schrieb Ben Morgan:
>
> > Yes, there was a change.
> > I had to change BPBible as well :)
> >
> > >From r2157:
> > Modified: trunk/src/modules/filters/
> > osisfootnotes.cpp
> > ===================================================================
> > --- trunk/src/modules/filters/osisfootnotes.cpp 2008-05-13 02:58:16
> > UTC (rev 2156)
> > +++ trunk/src/modules/filters/osisfootnotes.cpp 2008-05-13 23:37:56
> > UTC (rev 2157)
> > @@ -108,7 +108,7 @@
> > hide = false;
> > if (option ||
> > (startTag.getAttribute("type") && !
> > strcmp(startTag.getAttribute("type"), "crossReference"))) { // we
> > want the tag in the text; crossReferences are handled by another
> > filter
> >
> text.append(startTag);
> > -
> text.append(tagText);
> > +//
> > text.append(tagText); // we don't put the body back in because it
> > is retrievable from EntryAttributes["Footnotes"][]["body"].
> > }
> > else continue;
> > }
> >
> > As it says, you can just get the text using getEntryAttributes at
> > the end of the note.
> >
> > The way BPBible installs custom filters is by subclassing the
> > MarkupFilterMgr's AddRenderFilters, rather than the SWMgr's
> >
> > It would be nice if you could pass the filters you wanted used in,
> > though. This would be a pretty common use case...
> >
> > God Bless,
> > Ben
> >
> -------------------------------------------------------------------------------------------
> > The Lord is not slow to fulfill his promise as some count slowness,
> > but is patient toward you, not wishing that any should perish,
> > but that all should reach repentance.
> > 2 Peter 3:9 (ESV)
> >
> >
> > On Sun, Jul 27, 2008 at 9:09 PM, Manfred Bergmann
> > <bergmannmd at web.de> wrote:
> > Hi Troy.
> >
> >
> > Am 26.07.2008 um 18:44 schrieb Troy A. Griffitts:
> >
> > > Do you have:
> > >
> > > swordManager.setGlobalOption("Cross-references", "On");
> > >
> > > anywhere in your code?
> >
> > Yes.
> > I just tested a version of MacSword with Sword library 1.5.10 where
> > the cross ref list (<reference> elements) are placed inside the note
> > element and are passed to the HTML filter.
> > Has there been a change for this from 1.5.10 to 1.5.11?
> >
> > > 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.
> >
> > Hmm, we are doing exactly that ATM.
> > We didn't override AddRenderFilters() in SWMgr but set Filter
> subclass
> > instances for every module in a loop via Module::AddRenderFilter().
> > So the prefered way is to do this via SWMgr::AddRenderFilters().
> >
> > > 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.
> >
> > We did that and used RenderFilters from BibleTime project from 2001.
> > But I adapted some changes of the current Sword render filters so
> the
> > new attributes are checked for additionally to the depricated ones.
> >
> >
> >
> > Regards,
> > Manfred
> >
> >
> > _______________________________________________
> > sword-devel mailing list: sword-devel at crosswire.org
> > http://www.crosswire.org/mailman/listinfo/sword-devel
> > Instructions to unsubscribe/change your settings at above page
> >
> > _______________________________________________
> > sword-devel mailing list: sword-devel at crosswire.org
> > http://www.crosswire.org/mailman/listinfo/sword-devel
> > Instructions to unsubscribe/change your settings at above page
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
More information about the sword-devel
mailing list