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