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="" 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

Reply via email to