Am 29.07.2008 um 08:54 schrieb Greg Hellings: > Manfred, > > On Tue, Jul 29, 2008 at 1:45 AM, Manfred Bergmann > <[EMAIL PROTECTED]> wrote: >> Troy. >> I installed GnomeSword and checked how they do with cross-references. >> Actually it is quite similar to how BibleCS deals with it. >> The main problem I have with this is that as far as I understood >> without >> Sword producing the markup output there is no full access to all >> the meta >> data because on the other hand you are saying that we should not >> use the raw >> access which I can understand because using raw access means one >> has to deal >> with different types of raw sources. >> This in my opinion ties the hands of the frontend-developer in that >> Sword >> interferes too much into the display of the data or differently >> spoken does >> not give the flexibility and data access without having Sword >> produce data >> meant for display. >> HTML is my eyes is a markup meant for display. >> Although I don't understand right now how the Sword module data is >> stored, >> my proposal here is that Sword should have a simple intermediate >> XML format >> that can be used by API users to have full access to the module data. > > My understanding is that JSword operates similar to this. It produces > intermediate XML (OSIS) from the module information and applies an > XSLT to transform the data. In that case, why the modules themselves > could not be in an OSIS format escapes me -- still keeping the index > files for fast access and so on.
Yes, storing directly in a common format also used for API access would be nice, But as I understand, OSIS is not used for dictionaries. Actually I do not really understand why. > OK, so yeah, it would horridly break > backwards compatibility with the modules. You mean storing in OSIS directly would break compatibility? I guess it would. Manfred >> >> Regards, >> Manfred >> >> >> Am 28.07.2008 um 12:35 schrieb Troy A. Griffitts: >> >> Manfred, >> >> In addition to what Ben wrote, GnomeSword uses the stock HTMLHREF >> filters and doesn't add their own. These filters are usually >> updated by >> me or someone on their team. It might be good to pop in to >> irc.freenode.net #sword and ask charcoal about how they do certain >> things with these filters. >> >> -Troy. >> >> >> >> Manfred Bergmann 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 >> >> <[EMAIL PROTECTED]> 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@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@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@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@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@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@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@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page