<html><head></head><body>Thanks, David! To have this broken note shown in the middle of the Bible text without being asked for is rather distracting in my opinion. I&#39;d rather choose the &quot;validate and fall back to plain text&quot; option recommended by Peter.<br>
<br>
Best regards,<br>
Tobias<br><br><div class="gmail_quote">Am 17. Juli 2019 22:19:13 MESZ schrieb David Haslam &lt;dfhdfh@protonmail.com&gt;:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div>I installed the aforementioned&nbsp;module in PocketSword and sent a screenshot of the invalid XML verse to Tobias via Facebook Messenger.&nbsp;</div><div><br></div><div>It does seem to display the errant markup text&nbsp;<caret></caret>as best it can, with footnote references shown as links, etc.&nbsp;</div><div><br></div><div>David</div><div><br></div><div id="protonmail_mobile_signature_block"><div>Sent from ProtonMail Mobile</div></div> <div><br></div><div><br></div>On Wed, Jul 17, 2019 at 21:12, Tobias Klein &lt;<a href="mailto:contact@tklein.info" class="">contact@tklein.info</a>&gt; wrote:<blockquote class="protonmail_quote" type="cite">




    <p>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).</p>
    <p>Best regards,<br>
      Tobias<br>
    </p>
    <div class="moz-cite-prefix">On 17.07.19 13:59, Peter Von Kaehne
      wrote:<br>
    </div>
    <blockquote type="cite">

      <div style="font-family: Verdana;font-size: 12.0px;">
        <div>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.
          <div>&nbsp;</div>
          <div>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.</div>
          <div>&nbsp;</div>
          <div>Peter</div>
          <div>&nbsp;</div>
          <div>&nbsp;</div>
          <div>&nbsp;
            <div name="quote" style="margin:10px 5px 5px 10px; padding:
              10px 0 10px 10px; border-left:2px solid #C3D9E5;
              word-wrap: break-word; -webkit-nbsp-mode: space;
              -webkit-line-break: after-white-space;">
              <div style="margin:0 0 10px 0;"><b>Gesendet:</b>&nbsp;Mittwoch,
                17. Juli 2019 um 07:13 Uhr<br>
                <b>Von:</b>&nbsp;"Tobias Klein" <a class="moz-txt-link-rfc2396E" href="mailto:contact@tklein.info">&lt;contact@tklein.info&gt;</a><br>
                <b>An:</b>&nbsp;"SWORD Developers' Collaboration Forum"
                <a class="moz-txt-link-rfc2396E" href="mailto:sword-devel@crosswire.org">&lt;sword-devel@crosswire.org&gt;</a><br>
                <b>Betreff:</b>&nbsp;[sword-devel] How to deal with invalid
                markup?</div>
              <div name="quoted-content">
                <div style="background-color: rgb(255,255,255);">
                  <p>Hi everyone,</p>
                  <p>Is there a recommended way on how to deal with
                    invalid markup (in a frontend) when using the text
                    from a Sword module?</p>
                  <p>To me invalid markup is basically invalid XML.<br>
                    You find an example below (Exodus 3:22 /
                    engNET2016eb).<br>
                    <br>
                    Are Sword modules validated with standard XML
                    validation tools before being published?</p>
                  <p>Best regards,<br>
                    Tobias<br>
                    &nbsp;</p>
                  <p>Module: engNET2016eb</p>
                  <p>Mark-up text of Exodus 3:22
                    (module-&gt;getRawEntry()):</p>
                  <p><font size="-1">&lt;w
                      lemma="strong:H802"&gt;Every&lt;/w&gt; &lt;w
                      lemma="strong:H802"&gt;woman&lt;/w&gt; &lt;w
                      lemma="strong:H7592"&gt;will ask&lt;/w&gt; &lt;w
                      lemma="strong:H7934"&gt;her neighbor&lt;/w&gt;
                      &lt;w lemma="strong:H1481"&gt;and the one who
                      happens to be&nbsp; staying&lt;/w&gt; &lt;w
                      lemma="strong:H1004"&gt;in her house&lt;/w&gt;
                      &lt;w lemma="strong:H3627"&gt;for items&lt;/w&gt;
                      &lt;w lemma="strong:H3701"&gt;of silver&lt;/w&gt;
                      &lt;w lemma="strong:H2091"&gt;and gold&lt;/w&gt;
                      &lt;w lemma="strong:H8071"&gt;and for
                      clothing&lt;/w&gt;. &lt;w
                      lemma="strong:H7760"&gt;You will put&lt;/w&gt;
                      &lt;w lemma="strong:H3627"&gt;these
                      articles&lt;/w&gt; &lt;w
                      lemma="strong:H5921"&gt;on&lt;/w&gt; &lt;w
                      lemma="strong:H1121"&gt;your sons&lt;/w&gt; &lt;w
                      lemma="strong:H1323"&gt;and daughters&lt;/w&gt;
                      &lt;w lemma="strong:H5337"&gt;– thus you&lt;/w&gt;<br>
                      <br>
                      INVALID section starts here:</font></p>
                  <p><font size="-1">&lt;w lemma="strong:H4713"&gt;will
                      plunder Egypt&lt;/w&gt;<b><font color="#ff0000">!”
                          ‘</font></b>span class=”footnote”
                      id=”footnote-65”<b><font color="#ff0000">’‘</font></b>span
                      class=”key”’65‘<br>
                      &lt;w lemma="strong:H7760"&gt;a&lt;/w&gt;<b><font color="#ff0000"> </font></b>href=”#note-65”
                      class=”backref”’<font color="#ff0000"><b>3:19‘/a’‘</b></font>span
                      class=”text”’ &lt;hi
                      type="italic"&gt;tn&lt;/hi&gt;: &lt;hi
                      type="italic"&gt;Heb&lt;/hi&gt; “<br>
                      <br>
                      &lt;w lemma="strong:H1121"&gt;and&lt;/w&gt; &lt;w
                      lemma="strong:H1121"&gt;not&lt;/w&gt; &lt;w
                      lemma="strong:H1004"&gt;with&lt;/w&gt; &lt;w
                      lemma="strong:H7760"&gt;a&lt;/w&gt; mighty hand.”<br>
                      ...</font></p>
                  _______________________________________________
                  sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a> <a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
                  Instructions to unsubscribe/change your settings at
                  above page</div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
    </blockquote>


</blockquote><div><br></div><div><br></div></blockquote></div><br>
-- <br>
Message sent from my phone. Please excuse brevity.</body></html>