Hi guys.

Now, I stumbled over an issue regarding morphs while working on MacSword:

The morph value code in the link URL data is something like this:
value=TH8804
When I set this as a key in SWModule with setKey() the correlating text is:
"Part of speech: pronoun, relative Case: nominative Number: singular Gender: 
masculine"

In the Packard module when I do an index search for this I get:
Ra Nsm: 
Part of speech: pronoun, relative Case: nominative Number: singular Gender: 
masculine 
Rd Nsm: 
Part of speech: pronoun, relative Case: nominative Number: singular Gender: 
masculine 
Ri Nsm: 
Part of speech: pronoun, relative Case: nominative Number: singular Gender: 
masculine 
Rp Nsm: 
Part of speech: pronoun, relative Case: nominative Number: singular Gender: 
masculine 
Rr Nsm: 
Part of speech: pronoun, relative Case: nominative Number: singular Gender: 
masculine 
Rx Nsm: 
Part of speech: pronoun, relative Case: nominative Number: singular Gender: 
masculine 

Those "Rs Nsm" etc. kind of codes are in fact the keys that we collect in order 
to display them as a table of content for the user to choose from or click on 
in the a dictionary view.
Now the problem is that I can't actually find a relation other than the text 
itself of the key ("Ra Nsm") for the morph code of TH8804.
How do I get to "Ra Nsm" etc. for a code of TH8804 via SWORD API?



Cheers,
Manfred


Am 17.02.2010 um 18:13 schrieb Troy A. Griffitts:

> Nic,
> 
> There are currently 2 primary ways frontends have implemented strongs/morph 
> functionality:
> 
> 1) show the numbers in the text as clickable links;
> 2) have the word itself be a clickable link which has both 
> strongs/morph/other data attached.
> 
> These 2 methods usually dictate, at a lower level, 2 different methods:
> 
> 1) have the lookup information embedded directly in the link, e.g., 
> action=showMorph&type=Greek&value=5589
> 
> 2) have the word id embedded in the link, and then do an entry attributes 
> lookup to obtain the relevant information, e.g.,
> 
> <span onclick="showWordData(1)">In</span>
> 
> To see the data you can obtain from entry attributes once you have the word 
> id, have a look at sword/examples/cmdline/lookup, e.g.,
> 
> ./lookup KJV jn.1.1
> 
> 
> Basically, what it comes down to is WHERE you want the work to happen. All of 
> this information comes out of entry attributes at some point: either the 
> filter obtains it and puts it in the link, or your app obtains it and does 
> what it sees fit with it.
> 
> You can see code which implement the lemma/morph/interlinear lookups in a 
> filter, located under sword/bindings/corba/orbitcpp/webmgr.hpp.  This Word 
> Javascript filter set does the lookup from entry attributes and adds a tag 
> around words with linguistic markup.  Here is the pertinent line of code from 
> the filter:
> 
> text.appendFormatted("<span class=\"clk\" 
> onclick=\"p('%s','%s','%s','%s','%s','%s');\" >", lexName.c_str(), 
> lemma.c_str(), wordID.c_str(), morph.c_str(), page.c_str(), modName.c_str());
> 
> This is how swordweb does word-click lookups and shows strongs, morph, 
> interlinear data, etc. (page, is the image page number for the Tregelles GNT 
> scans).
> 
> I know this doesn't answer all of your questions, but hope it gets you 
> started.
> 
> Troy.
> 
> 
> Nic Carter wrote:
>> Hi team  :)
>> I'm currently implementing morphology tags at the same time as Strong's in 
>> PocketSword & I have a question about the HTML filters.
>> for THML (thmlhtmlhref.cpp)
>>      we have "passagestudy.jsp?action=showMorph&type=Greek&value=%s" (line 
>> 178)
>>      so, the "type" is hardcoded to "Greek".
>> for GBF (gbfhtmlhref.cpp)
>>      we have "passagestudy.jsp?action=showMorph&type=Greek&value=" (line 207)
>>      so, the "type" is hardcoded to "Greek".
>> for OSIS (the one we're mostly interested in now-a-days: osishtmlhref.cpp)
>>      we have "passagestudy.jsp?action=showMorph&type=%s&value=%s" (line 150)
>>      so, the "type" is variable, with an example from the KJV being: 
>> "passagestudy.jsp?action=showMorph&type=robinson%3AN-ASN&value=N-ASN"
>>      [note: %3A is the URL encoding of the ":" character, as this is coming 
>> from the OSIS w tag, where morph="robinson:N-ASN" is found, so we are simply 
>> passing through the "morph" attribute to the "type" attribute in this html 
>> link, after running it through URL::encode().]
>> http://www.crosswire.org/wiki/OSIS_Bibles#Marking_with_Morphology is also a 
>> good place to read up on this, from an OSIS point of view.
>> http://n4.nabble.com/new-morphology-td354696.html#a354696 has a previous 
>> thread about Morphology tags
>> http://n4.nabble.com/KJV-OT-morphology-td351093.html#a351093 mentions OT 
>> Morph tags & how they were broken back then (are they still?  if the 
>> situation is still the same today, then that may help answer question #1 & 
>> some of #2!)
>> http://n4.nabble.com/Fwd-GnomeSword-developers-Hebrew-WLC-Text-with-Strongs-numbers-and-Morphology-td358831.html#a358831
>>  mentions that there was no Hebrew Morphological Analysis Codes module as of 
>> March 2009, is that still the case?  (that may also help answer question #1?)
>> Given all of the above:
>> 1) do we only support Morphology of Greek words?  Looking in the KJV (OSIS), 
>> it seems they appear in the OT (hence, also for Hebrew words), and the 
>> "type" attribute is "strongMorph".  For example, 
>> "passagestudy.jsp?action=showMorph&type=strongMorph%3ATH8804&value=TH8804" 
>> from Micah 1:16 (from the word "captivity", with the Strong's Hebrew Number 
>> of 01540).
>> 2) should the OSIS version, above, have the "type" attribute actually being 
>> "robinson" (in the KJV example above) rather than "robinson%3AN-ASN"?  or 
>> should it instead be hard-coded to be "Greek" like with the THML & GBF 
>> versions?  I'm assuming it should be "robinson", given that's what the OSIS 
>> module says...  so I'm guessing that the "strongMorph", found in question #1 
>> is actually referring to a non-public (or non-existing?) module that has the 
>> Hebrew Morphology.
>> 3) do other front-ends simply assume that we only call the "showMorph" 
>> action on Greek words & hence ignore the "type" attribute?  Or do they (as I 
>> am currently thinking of doing) treat "Greek" to use a module with 
>> "Feature=GreekParse" & showMorph actions that start with "robinson" or 
>> "packard" to also be Greek & anything else to be Hebrew?  Or do they treat 
>> "Greek" as Greek & anything else they parse the "type" attribute until they 
>> get to the ":" & then try to use that module, falling back to an error 
>> dialogue if that module isn't installed?
>> 4) I am assuming that any module with "Feature=GreekParse" in it is able to 
>> handle Greek Morphology codes, so when we encounter a "showMorph" with a 
>> "type" containing "robinson", do we NEED to use the "robinson" module (which 
>> is the technically correct thing to do) or can I allow the user to select 
>> any module they have installed which has the "GreekParse" feature in it (the 
>> same as we do with Strong's Numbers)?  But, then, linking with question #1, 
>> there is no equivalent for "Feature=HebrewParse"?  at least, I can't find 
>> any modules from the CrossWire or CrossWire Beta repos with that in it?
>> ok, I think that's about it!  I enjoy trying to figure out fun SWORD things 
>> (well, now I do -- at first it was overwhelming, but I was learning the 
>> SWORD APIs & the CocoaTouch APIs & Obj-C all at the same time!), but I'd 
>> love clarification on this before I code it :)
>> Thanks heaps for even reading this far.  If you have read this far and can 
>> actually understand it all, you deserve a medal & you're probably also 
>> equipped enough to answer all my questions!  ;)  :)
>> ybic
>>      nic...  :)
>> ----
>> Nic Carter
>> PocketSword Developer - an iPhone Bible Study app
>> http://crosswire.org/pocketsword
>> _______________________________________________
>> sword-devel mailing list: [email protected]
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
> 
> 
> _______________________________________________
> sword-devel mailing list: [email protected]
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page


_______________________________________________
sword-devel mailing list: [email protected]
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to