Thanks, good advice! Especially the idea about dynamically validating
markup text and then going for the plain text version as a fallback.
I'll think about using that option in node-sword-interface (Ezra
Project's SWORD integration library).
Best regards,
Tobias
On 17.07.19 13:59, Peter Von Kaehne wrote:
1) The best way is to recognise it and either fall back to something
sane or refuse to deal with the module without crashing. You could
presumably if an xml chunk is delivered by the engine to you and is
not internally valid ask the engine to re-render it plainly and spit
out some message to that effect on the terminal. Then a use may be in
the position to see this and send a bug report to whoever is
responsible for the dodgy module.
2) CrossWire modules are for teh last 10 years or so always tested and
validated before they are published but other repositories are subject
to their own rules. The module you reference is from eBible and not
CrossWire. But - admittedly - we have in CrossWire still a lot of old
modules which may well have bugs which only show up slowly.
Peter
*Gesendet:* Mittwoch, 17. Juli 2019 um 07:13 Uhr
*Von:* "Tobias Klein" <cont...@tklein.info>
*An:* "SWORD Developers' Collaboration Forum" <sword-devel@crosswire.org>
*Betreff:* [sword-devel] How to deal with invalid markup?
Hi everyone,
Is there a recommended way on how to deal with invalid markup (in a
frontend) when using the text from a Sword module?
To me invalid markup is basically invalid XML.
You find an example below (Exodus 3:22 / engNET2016eb).
Are Sword modules validated with standard XML validation tools before
being published?
Best regards,
Tobias
Module: engNET2016eb
Mark-up text of Exodus 3:22 (module->getRawEntry()):
<w lemma="strong:H802">Every</w> <w lemma="strong:H802">woman</w> <w
lemma="strong:H7592">will ask</w> <w lemma="strong:H7934">her
neighbor</w> <w lemma="strong:H1481">and the one who happens to be
staying</w> <w lemma="strong:H1004">in her house</w> <w
lemma="strong:H3627">for items</w> <w lemma="strong:H3701">of
silver</w> <w lemma="strong:H2091">and gold</w> <w
lemma="strong:H8071">and for clothing</w>. <w lemma="strong:H7760">You
will put</w> <w lemma="strong:H3627">these articles</w> <w
lemma="strong:H5921">on</w> <w lemma="strong:H1121">your sons</w> <w
lemma="strong:H1323">and daughters</w> <w lemma="strong:H5337">– thus
you</w>
INVALID section starts here:
<w lemma="strong:H4713">will plunder Egypt</w>*!” ‘*span
class=”footnote” id=”footnote-65”*’‘*span class=”key”’65‘
<w lemma="strong:H7760">a</w>**href=”#note-65”
class=”backref”’*3:19‘/a’‘*span class=”text”’ <hi
type="italic">tn</hi>: <hi type="italic">Heb</hi> “
<w lemma="strong:H1121">and</w> <w lemma="strong:H1121">not</w> <w
lemma="strong:H1004">with</w> <w lemma="strong:H7760">a</w> mighty hand.”
...
_______________________________________________ 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