Re: MODTOOLS-17 To osis2mod, added conversion of hex and decimal numeric entities to UTF-8, with special handling of <, >, &, ', and ".

David Haslam <dfhdfh-g/[email protected]> Thu, 07 Aug 2025 04:24:41 +0000
Newsgroups gmane.comp.literature.sword.devel
Message-ID <c4ig_DZsZMezuNDYPT-L0bfOwcZyOpmc-KGsw-AH20X9BTeC1CgfeGh3i_lfQDEAIaC9jwn_hjh7zLRJlpBGt2OwZF_khnay8Ot9Ft8KWAE=@protonmail.com>
--===============5528984418993216406==
Content-Type: multipart/alternative;
 boundary="b1=_vXFQLbhbZgKJHhrIxgd9jDoy4XDAyCp7tZfZqFgIDvI"

--b1=_vXFQLbhbZgKJHhrIxgd9jDoy4XDAyCp7tZfZqFgIDvI
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGkgRE0sCgpJ4oCZbSBwdXp6bGVkLgoKWW91IHNlZW1zIHRvIGhhdmUgdGhvdWdodCB0aGVyZSB3
YXMgYSBidWcgd2hpY2ggYWN0dWFsbHkgd2FzbuKAmXQuCgpQbGVhc2UgcmVmZXIgdG8gW2h0dHBz
Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfWE1MX2FuZF9IVE1MX2NoYXJhY3Rlcl9l
bnRpdHlfcmVmZXJlbmNlc10oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9Y
TUxfYW5kX0hUTUxfY2hhcmFjdGVyX2VudGl0eV9yZWZlcmVuY2VzP3dwcm92PXNmdGkxIykKClRo
ZSAjIHdhcyBub3QgYSBidWcgIQoKUmVnYXJkcwoKRGF2aWQKClNlbnQgZnJvbSBbUHJvdG9uIE1h
aWxdKGh0dHBzOi8vcHJvdG9uLm1lL21haWwvaG9tZSkgZm9yIGlPUwoKT24gV2VkLCBBdWcgNiwg
MjAyNSBhdCAyMjoyMCwgRE0gU21pdGggPCBbZG1zbWl0aEBjcm9zc3dpcmUub3JnXShtYWlsdG86
T24gV2VkLCBBdWcgNiwgMjAyNSBhdCAyMjoyMCwgRE0gU21pdGggPDxhIGhyZWY9KT4gd3JvdGU6
Cgo+IEnigJl2ZSBqdXN0IGNoZWNrZWQgaW4gYSBjaGFuZ2UgZm9yIG9zaXMybW9kLgo+Cj4gTU9E
VE9PTFMtMTcgVG8gb3NpczJtb2QsIGFkZGVkIGNvbnZlcnNpb24gb2YgaGV4IGFuZCBkZWNpbWFs
IG51bWVyaWMgZW50aXRpZXMgdG8gVVRGLTgsIHdpdGggc3BlY2lhbCBoYW5kbGluZyBvZiA8LCA+
LCAmLCAnLCBhbmQgIi4KPgo+IEFsc286Cj4gKiBGaXhlZCBhIGJ1ZyBpbiBoZXggbnVtZXJpYyBl
bnRpdGllcyB3aGljaCBkZWZpbmVkICZ4SEhISDsgcmF0aGVyIHRoYW4gJiN4SEhISDsuCj4gKiBB
ZGRlZCBlbnRpdHkgc2FuaXR5IGNoZWNrIG9mIG1heGltdW0gbGVuZ3RoIG9mIDMyLgo+ICogUmVm
YWN0b3JlZCBlbnRpdHkgaGFuZGxpbmcgaW50byBoYW5kbGVFbnRpdGllcyBhbmQgY29tbWVudCBo
YW5kbGluZyBpbnRvIGhhbmRsZUNvbW1lbnRzLgo+ICogQ2hhbmdlZCB0X2VudGl0eXR5cGUgYW5k
IHRfY29tbWVudHN0YXRlIGludG8gY2xhc3MgZW51bXMgRW50aXR5VHlwZSBhbmQgQ29tbWVudFN0
YXRlLgo+ICogQWRkZWQgLWQgMTAyNCBmb3IgZW50aXR5IGFuZCBjb21tZW50IHBhcnNpbmcuCj4K
PiBOb3RlOiBUaGUgY29kaW5nIGFsbG93cyBmb3IgMCBwYWRkaW5nIG9mIHRoZSBudW1lcmljIGVu
dGl0aWVzLgo+IE5vdGU6IFRoZSA1IG5lZWQgdG8gYmUgdHJlYXRlZCBzcGVjaWFsbHkuCj4gJiMz
ODsgb3IgJiN4MjY7IOKGkiAmYW1wOwo+ICYjNjA7IG9yICYjeDNDOyDihpIgJmx0Owo+ICYjNjI7
IG9yICYjeDNFOyDihpIgJmd0Owo+ICYjMzQ7IG9yICYjeDIyOyDihpIgJnF1b3Q7IG9yICIKPiAm
IzM5OyBvciAmI3gyNzsg4oaSICZhcG9zOyBvciAnCj4gV2hlbiBjb252ZXJ0ZWQgdG8gdGhlc2Ug
Zm9ybXMsICZxdW90OyBzaG91bGQgYmUgdHJhbnNmb3JtZWQgaW50byAiIGV4Y2VwdCBpbiBhdHRy
aWJ1dGVzIHVzaW5nICIgYW5kIGxpa2V3aXNlICZhcG9zOyBpbnRvICcgZXhjZXB0IGluIGF0dHJp
YnV0ZXMgaGF2aW5nIOKAmC4KPgo+IEkgbmVlZCB0byB1cGRhdGUgdGhlIHdpa2kgdG8gbWF0Y2gu
Cj4KPiBJbiBIaW0sCj4gRE0gU21pdGgKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCj4gc3dvcmQtZGV2ZWwgbWFpbGluZyBsaXN0OiBzd29yZC1kZXZl
bEBjcm9zc3dpcmUub3JnCj4gaHR0cDovL2Nyb3Nzd2lyZS5vcmcvbWFpbG1hbi9saXN0aW5mby9z
d29yZC1kZXZlbAo+IEluc3RydWN0aW9ucyB0byB1bnN1YnNjcmliZS9jaGFuZ2UgeW91ciBzZXR0
aW5ncyBhdCBhYm92ZSBwYWdl

--b1=_vXFQLbhbZgKJHhrIxgd9jDoy4XDAyCp7tZfZqFgIDvI
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxkaXYgZGlyPSJhdXRvIj4NCiBIaSBETSwNCjwvZGl2
Pg0KPGRpdiBkaXI9ImF1dG8iPg0KIDxicj4NCjwvZGl2Pg0KPGRpdiBkaXI9ImF1dG8iPg0KIEni
gJltIHB1enpsZWQuJm5ic3A7DQo8L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj4NCiA8YnI+DQo8L2Rp
dj4NCjxkaXYgZGlyPSJhdXRvIj4NCiBZb3Ugc2VlbXMgdG8gaGF2ZSB0aG91Z2h0IHRoZXJlIHdh
cyBhIGJ1ZyB3aGljaCBhY3R1YWxseSB3YXNu4oCZdC4mbmJzcDsNCjwvZGl2Pg0KPGRpdiBkaXI9
ImF1dG8iPg0KIDxicj4NCjwvZGl2Pg0KPGRpdiBkaXI9ImF1dG8iPg0KIFBsZWFzZSByZWZlciB0
byZuYnNwOw0KIDxhIGRpcj0iYXV0byIgaHJlZj0iaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dp
a2kvTGlzdF9vZl9YTUxfYW5kX0hUTUxfY2hhcmFjdGVyX2VudGl0eV9yZWZlcmVuY2VzP3dwcm92
PXNmdGkxIyI+aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9YTUxfYW5kX0hU
TUxfY2hhcmFjdGVyX2VudGl0eV9yZWZlcmVuY2VzPC9hPg0KPC9kaXY+DQo8ZGl2IGRpcj0iYXV0
byI+DQogPGJyPg0KPC9kaXY+DQo8ZGl2IGRpcj0iYXV0byI+DQogVGhlICMgd2FzIG5vdCBhIGJ1
ZyAhDQo8L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj4NCiA8YnI+DQo8L2Rpdj4NCjxkaXYgZGlyPSJh
dXRvIj4NCiBSZWdhcmRzDQo8L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj4NCiA8YnI+DQo8L2Rpdj4N
CjxkaXYgZGlyPSJhdXRvIj4NCiBEYXZpZA0KPC9kaXY+DQo8ZGl2Pg0KIDxicj4NCjwvZGl2PiAN
CjxkaXYgaWQ9InByb3Rvbm1haWxfbW9iaWxlX3NpZ25hdHVyZV9ibG9jayI+DQogPGRpdj4NCiAg
U2VudCBmcm9tIA0KICA8YSBocmVmPSJodHRwczovL3Byb3Rvbi5tZS9tYWlsL2hvbWUiPlByb3Rv
biBNYWlsPC9hPiBmb3IgaU9TDQogPC9kaXY+DQo8L2Rpdj4gDQo8ZGl2Pg0KIDxicj4NCjwvZGl2
Pg0KPGRpdj4NCiA8YnI+DQo8L2Rpdj5PbiBXZWQsIEF1ZyA2LCAyMDI1IGF0IDIyOjIwLCBETSBT
bWl0aCAmbHQ7DQo8YSBocmVmPSJtYWlsdG86T24gV2VkLCBBdWcgNiwgMjAyNSBhdCAyMjoyMCwg
RE0gU21pdGggPDxhIGhyZWY9IiBjbGFzcz0iIj5kbXNtaXRoQGNyb3Nzd2lyZS5vcmc8L2E+Jmd0
OyB3cm90ZToNCjxibG9ja3F1b3RlIGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIiB0eXBlPSJjaXRl
Ij4NCiAgSeKAmXZlIGp1c3QgY2hlY2tlZCBpbiBhIGNoYW5nZSBmb3Igb3NpczJtb2QuIA0KIDxi
cj4gDQogPGJyPk1PRFRPT0xTLTE3IFRvIG9zaXMybW9kLCBhZGRlZCBjb252ZXJzaW9uIG9mIGhl
eCBhbmQgZGVjaW1hbCBudW1lcmljIGVudGl0aWVzIHRvIFVURi04LCB3aXRoIHNwZWNpYWwgaGFu
ZGxpbmcgb2YgJmx0OywgJmd0OywgJmFtcDssICcsIGFuZCAiLiANCiA8YnI+IA0KIDxicj5BbHNv
OiANCiA8YnI+ICogRml4ZWQgYSBidWcgaW4gaGV4IG51bWVyaWMgZW50aXRpZXMgd2hpY2ggZGVm
aW5lZCAmYW1wO3hISEhIOyByYXRoZXIgdGhhbiAmYW1wOyN4SEhISDsuIA0KIDxicj4gKiBBZGRl
ZCBlbnRpdHkgc2FuaXR5IGNoZWNrIG9mIG1heGltdW0gbGVuZ3RoIG9mIDMyLiANCiA8YnI+ICog
UmVmYWN0b3JlZCBlbnRpdHkgaGFuZGxpbmcgaW50byBoYW5kbGVFbnRpdGllcyBhbmQgY29tbWVu
dCBoYW5kbGluZyBpbnRvIGhhbmRsZUNvbW1lbnRzLiANCiA8YnI+ICogQ2hhbmdlZCB0X2VudGl0
eXR5cGUgYW5kIHRfY29tbWVudHN0YXRlIGludG8gY2xhc3MgZW51bXMgRW50aXR5VHlwZSBhbmQg
Q29tbWVudFN0YXRlLiANCiA8YnI+ICogQWRkZWQgLWQgMTAyNCBmb3IgZW50aXR5IGFuZCBjb21t
ZW50IHBhcnNpbmcuIA0KIDxicj4gDQogPGJyPk5vdGU6IFRoZSBjb2RpbmcgYWxsb3dzIGZvciAw
IHBhZGRpbmcgb2YgdGhlIG51bWVyaWMgZW50aXRpZXMuIA0KIDxicj5Ob3RlOiBUaGUgNSBuZWVk
IHRvIGJlIHRyZWF0ZWQgc3BlY2lhbGx5LiANCiA8YnI+ICZhbXA7IzM4OyBvciAmYW1wOyN4MjY7
IOKGkiAmYW1wO2FtcDsgDQogPGJyPiAmYW1wOyM2MDsgb3IgJmFtcDsjeDNDOyDihpIgJmFtcDts
dDsgDQogPGJyPiAmYW1wOyM2Mjsgb3IgJmFtcDsjeDNFOyDihpIgJmFtcDtndDsgDQogPGJyPiAm
YW1wOyMzNDsgb3IgJmFtcDsjeDIyOyDihpIgJmFtcDtxdW90OyBvciAiIA0KIDxicj4gJmFtcDsj
Mzk7IG9yICZhbXA7I3gyNzsg4oaSICZhbXA7YXBvczsgb3IgJyANCiA8YnI+V2hlbiBjb252ZXJ0
ZWQgdG8gdGhlc2UgZm9ybXMsICZhbXA7cXVvdDsgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGludG8g
IiBleGNlcHQgaW4gYXR0cmlidXRlcyB1c2luZyAiIGFuZCBsaWtld2lzZSAmYW1wO2Fwb3M7IGlu
dG8gJyBleGNlcHQgaW4gYXR0cmlidXRlcyBoYXZpbmcg4oCYLiANCiA8YnI+IA0KIDxicj5JIG5l
ZWQgdG8gdXBkYXRlIHRoZSB3aWtpIHRvIG1hdGNoLiANCiA8YnI+IA0KIDxicj5JbiBIaW0sIA0K
IDxicj4gRE0gU21pdGggDQogPGJyPiANCiA8YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18gDQogPGJyPnN3b3JkLWRldmVsIG1haWxpbmcgbGlzdDogc3dv
cmQtZGV2ZWxAY3Jvc3N3aXJlLm9yZyANCiA8YnI+aHR0cDovL2Nyb3Nzd2lyZS5vcmcvbWFpbG1h
bi9saXN0aW5mby9zd29yZC1kZXZlbCANCiA8YnI+SW5zdHJ1Y3Rpb25zIHRvIHVuc3Vic2NyaWJl
L2NoYW5nZSB5b3VyIHNldHRpbmdzIGF0IGFib3ZlIHBhZ2UgDQogPGJyPg0KPC9ibG9ja3F1b3Rl
PjwvYm9keT48L2h0bWw+


--b1=_vXFQLbhbZgKJHhrIxgd9jDoy4XDAyCp7tZfZqFgIDvI--


--===============5528984418993216406==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
sword-devel mailing list: [email protected]
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

--===============5528984418993216406==--