[sword-devel] Improvements to osis2mod to handle XML comments and <header> correctly
dmsmith at crosswire.org
Mon Apr 5 09:09:30 MST 2010
This is a great idea. Rather than emailing source to modules at
crosswire dot org, one could upload it via a web service. We could have
stages of validation (xmllint) and construction (osis2mod). Such a
service could evaluate the quality of the submission.
On 04/05/2010 12:01 PM, Weston Ruter wrote:
> Why not turn osis2mod into a web service? Then it wouldn't matter how
> it is implemented since it would be abstracted away by the web service
> interface. It could use the best XML libraries available today and
> written in the programming language of choice, both of which would
> make maintenance and the addition of new features much easier.
> On Mon, Apr 5, 2010 at 5:55 AM, Manfred Bergmann
> <manfred.bergmann at me.com <mailto:manfred.bergmann at me.com>> wrote:
> Hi DM.
> Am 05.04.2010 um 13:21 schrieb DM Smith:
> > Regarding using a "real" parser, it is a good idea. But we don't
> want SWORD to be dependant on an external parser.
> What's the reason for that?
> I could understand if it would mean for the user to install
> certain libraries manually but when the sources can be integrated
> into the project and has the appropriate licence then why not?
> > On 02/04/2010 05:31 AM, John Zaitseff wrote:
> >> Dear SWORD developers,
> >> Firstly, thanks for developing the SWORD library! I have been
> >> this library, in conjunction with the BibleTime front-end, for many
> >> years.
> >> I have recently started to develop some OSIS documents of my own.
> >> In doing so, I found that the XML parser in osis2mod is somewhat
> >> fragile---something that you are, no doubt, aware of.
> >> In particular, osis2mod does not handle XML comments at all, nor
> >> does it correctly parse the <header> element. Being able to handle
> >> XML comments is, I think, quite important---I like to document the
> >> SVN revision ID, for example, in an XML comment.
> >> Furthermore, the osis2mod XML parser looks for the first <div> in
> >> the document, no matter where that occurs. In particular, if the
> >> OSIS document includes a <revisionDesc> tag in the header, it will
> >> have <p> tags as well---which will be translated by transformBSP()
> >> into <div> tags---and get used as the starting point for the
> >> document!
> >> For this reason, I have generated a quick patch that will solve
> >> these particular problems. Could you please apply it to the SVN
> >> head for utilities/osis2mod.cpp. Comments are handled similar to
> >> spaces: they are skipped. And handleToken() now looks for the
> >> <div> after the </revision> end tag.
> >> In general, I think that (perhaps eventually) the proper way to
> >> parse XML is to use a library like libxml---which is designed
> >> specifically for this purpose.
> >> Yours truly,
> >> John Zaitseff
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the sword-devel