66 if (!strcmp(tag.
getName(),
"w")) {
83 else lastText =
"stuff";
88 val = strchr(attrib,
':');
89 val = (val) ? (val + 1) : attrib;
93 val = strchr(attrib,
':');
94 val = (val) ? (val + 1) : attrib;
99 int i = (count > 1) ? 0 : -1;
103 val = strchr(attrib,
':');
104 val = (val) ? (val + 1) : attrib;
105 const char *val2 = val;
106 if ((strchr(
"GH", *val)) && (isdigit(val[1])))
108 if ((!strcmp(val2,
"3588")) && (lastText.
length() < 1))
111 if (!strchr(
"G", *val)) {
112 buf.
appendFormatted(
" <small><em><<a href=\"!DIATHEKE_URL!StrongsGreek=on&verse=%s\">%s</a>></em></small> ", val2, val);
115 buf.
appendFormatted(
" <small><em><<a href=\"!DIATHEKE_URL!StrongsHebrew=on&verse=%s\">%s</a>></em></small> ", val2, val);
118 }
while (++i < count);
122 if ((strstr(savelemma.
c_str(),
"3588")) && (lastText.
length() < 1))
126 int i = (count > 1) ? 0 : -1;
130 val = strchr(attrib,
':');
131 val = (val) ? (val + 1) : attrib;
132 const char *val2 = val;
133 if ((*val ==
'T') && (strchr(
"GH", val[1])) && (isdigit(val[2])))
135 if (!strchr(
"G", *val)) {
136 buf.
appendFormatted(
" <small><em>(;<a href=\"!DIATHEKE_URL!StrongsGreek=on&verse=%s\">%s</a>)</em></small> ", val+1, tag.
getAttribute(
"morph"));
138 else if (!strchr(
"H", *val)) {
139 buf.
appendFormatted(
" <small><em>(<a href=\"!DIATHEKE_URL!StrongsHebrew=on&verse=%s\">%s</a>)</em></small> ", val+1, tag.
getAttribute(
"morph"));
142 buf.
appendFormatted(
" <small><em>(<a href=\"!DIATHEKE_URL!Packard=on&verse=%s\">%s</a>)</em></small> ", val, tag.
getAttribute(
"morph"));
144 }
while (++i < count);
148 val = strchr(attrib,
':');
149 val = (val) ? (val + 1) : attrib;
159 else if (!strcmp(tag.
getName(),
"note")) {
164 if (type !=
"x-strongsMarkup" &&
165 type !=
"strongsMarkup") {
175 buf.
appendFormatted(
"<a href=\"noteID=%s.%c.%s\"><small><sup>*%c</sup></small></a> ", vkey->
getText(), ch, footnoteNumber.
c_str(), ch);
187 else if (!strcmp(tag.
getName(),
"p")) {
202 else if (!strcmp(tag.
getName(),
"reference")) {
207 buf +=
"<a href=\"!DIATHEKE_URL!verse=";
209 val = strchr(attrib,
':');
210 val = (val) ? (val + 1) : attrib;
221 else if (!strcmp(tag.
getName(),
"l")) {
240 else if (!strcmp(tag.
getName(),
"title")) {
250 else if (!strcmp(tag.
getName(),
"hi")) {
253 if (type ==
"bold" || type ==
"x-b") {
276 else if (!strcmp(tag.
getName(),
"q")) {
280 int level = (lev) ? atoi(lev) : 1;
287 buf += (level % 2) ?
'\"' :
'\'';
289 if (who ==
"Jesus") {
290 buf +=
"<font color=\"red\"> ";
296 buf += (level % 2) ?
'\"' :
'\'';
302 buf += (level % 2) ?
'\"' :
'\'';
307 else if (!strcmp(tag.
getName(),
"transChange")) {
#define SWORD_NAMESPACE_START
SWBuf & appendFormatted(const char *format,...)
void setTokenEnd(const char *tokenEnd)
unsigned long length() const
virtual const char * getConfigEntry(const char *key) const
const char * getName() const
void setTokenCaseSensitive(bool val)
void setEscapeStart(const char *escStart)
bool substituteToken(SWBuf &buf, const char *token)
virtual const char * getText() const
void addEscapeStringSubstitute(const char *findString, const char *replaceString)
void setTokenStart(const char *tokenStart)
const char * c_str() const
#define SWDYNAMIC_CAST(className, object)
const char * getAttribute(const char *attribName, int partNum=-1, char partSplit= '|') const
bool supressAdjacentWhitespace
virtual bool handleToken(SWBuf &buf, const char *token, BasicFilterUserData *userData)
void setEscapeStringCaseSensitive(bool val)
bool isEndTag(const char *eID=0) const
void addTokenSubstitute(const char *findString, const char *replaceString)
MyUserData(const SWModule *module, const SWKey *key)
void setEscapeEnd(const char *escEnd)
#define SWORD_NAMESPACE_END
int getAttributePartCount(const char *attribName, char partSplit= '|') const