Hi Manfred, I'm curious as to what module you are using to look up these keys? I'm under the understanding that looking up values like "TH8804" won't return a valid result, as we don't have a lexicon containing these keys?
I'm using this forum thread to justify my answer: http://www.crosswire.org/forums/mvnforum/viewthread_thread,772 On this note, I'm going to show an error message in PocketSword when someone tries to look up one of these Morphology codes, and the error message will be: "Unfortunately, Morphological Analysis Codes are only currently available for Greek words. If you have the language ability and are willing to help bring this feature to PocketSword, please take a look at <br /> openscriptures.org<br />and join the discussion group there." Is anyone who is active with openscriptures.org able to comment on this? :) I don't want to use this text if it's not correct, but if I'm able to refer some possible volunteers to help with the work there, I'm hoping that would be constructive? :) Thanks all, ybic nic... :) ps: Manfred, I'll check in my code to SVN later today & you can check out how I'm going to do Morph stuff. :) pps: Thanks for your reply, Troy, it helps with what I'm doing :) ---- Nic Carter PocketSword Developer - an iPhone Bible Study app http://crosswire.org/pocketsword http://itunes.apple.com/app/Pocketsword/id341046078 On 18/02/2010, at 11:05 PM, Manfred Bergmann wrote: > 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 _______________________________________________ sword-devel mailing list: [email protected] http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page
