[sword-devel] Improvements to osis2mod to handle XML comments and <header> correctly

Manfred Bergmann manfred.bergmann at me.com
Mon Apr 5 05:55:32 MST 2010


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?


Manfred

> 
> On 02/04/2010 05:31 AM, John Zaitseff wrote:
>> Dear SWORD developers,
>> 
>> Firstly, thanks for developing the SWORD library!  I have been using
>> 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 first
>> <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
>> 
>>   
>> 
>> 
>> _______________________________________________
>> 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




More information about the sword-devel mailing list