[sword-devel] How to deal with invalid markup?

Tobias Klein contact at tklein.info
Wed Jul 17 13:12:35 MST 2019


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" <contact at tklein.info>
> *An:* "SWORD Developers' Collaboration Forum" <sword-devel at 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 at 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 at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20190717/d86e3e1a/attachment.html>


More information about the sword-devel mailing list