[sword-devel] Multi-xref sets

Karl Kleinpaste karl at kleinpaste.org
Wed May 19 20:21:15 MST 2010

Yet another ThML -vs- OSIS question.

I've been a bit annoyed by the fact that modules like TSK have long
multi-xref lists where each individual reference has to be clicked alone,
rather than being a single block of references that can be picked off as a
unit, which in Xiphos would give me one verse list to peruse.  I was
wondering about improving this so as to get that one longer clickable list
rather than the individual items.

In ThML, I routinely script module creations in a manner which collapses
adjacent xrefs into a single <scripRef>.  So I have lists like this:

<scripRef passage="Gen 41:38; Exod 31:3; 35:31; Num 24:2; 1Sam 10:10; 11:6; 19:20, 23; Ezek 11:24; 2Chr 15:1; 24:20">Gen 41:38; Exod 31:3; 35:31; Num 24:2; 1Sam 10:10; 11:6; 19:20, 23; Ezek 11:24; 2Chr 15:1; 24:20</scripRef>

It reacts as a single clickable set that produces this verse list:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: verselist.png
Type: image/png
Size: 12247 bytes
Desc: not available
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20100519/5161deed/attachment.png>
-------------- next part --------------

When I pass that list...
     Gen 41:38; Exod 31:3; 35:31; Num 24:2; 1Sam 10:10; 11:6; 19:20, 23; Ezek 11:24; 2Chr 15:1; 24:20
...through vs2osisref, what comes out is this nightmare:

<reference osisRef="Exod.15.2">Exod 15:2</reference>; <reference osisRef="Exod.17.16">17:16</reference>; <reference osisRef="Ps.68.5">Pss 68:5</reference>, <reference osisRef="Ps.68.19">19</reference>; <reference osisRef="Ps.77.12">77:12</reference>; <reference osisRef="Ps.89.9">89:9</reference>; <reference osisRef="Ps.94.7">94:7</reference>, <reference osisRef="Ps.94.12">12</reference>; <reference osisRef="Ps.102.19">102:19</reference>; <reference osisRef="Ps.104.35">104:35</reference>; <reference osisRef="Ps.105.45">105:45</reference>; <reference osisRef="Ps.106.1">106:1</reference>, <reference osisRef="Ps.106.48">48</reference>; <reference osisRef="Ps.111.1">111:1</reference>; <reference osisRef="Ps.112.1">112:1</reference>; <reference osisRef="Ps.113.1">113:1</reference>, <reference osisRef="Ps.113.9">9</reference>; <reference osisRef="Ps.115.17">115:17</reference>, <reference osisRef="Ps.115.18">18</reference>; <reference osisRef="Ps.116.19">116:19</reference>; <reference osisRef="Ps.117.2">117:2</reference>; <reference osisRef="Ps.118.5">118:5</reference>, <reference osisRef="Ps.118.14">14</reference>, <reference osisRef="Ps.118.17-Ps.118.19">17-19</reference>; <reference osisRef="Ps.122.4">122:4</reference>; <reference osisRef="Ps.130.3">130:3</reference>; <reference osisRef="Ps.135.1">135:1</reference>, <reference osisRef="Ps.135.3">3</reference>, <reference osisRef="Ps.135.4">4</reference>, <reference osisRef="Ps.135.21">21</reference>; <reference osisRef="Ps.146.1">146:1</reference>, <reference osisRef="Ps.146.10">10</reference>; <reference osisRef="Ps.147.1">147:1</reference>, <reference osisRef="Ps.147.20">20</reference>; <reference osisRef="Ps.148.1">148:1</reference>, <reference osisRef="Ps.148.14">14</reference>; <reference osisRef="Ps.149.1">149:1</reference>, <reference osisRef="Ps.149.9">9</reference>; <reference osisRef="Ps.150.1">150:1</reference>, <reference osisRef="Ps.150.6">6</reference>; <reference osisRef="Isa.12.2">Isa 12:2</reference>; <reference osisRef="Isa.26.4">26:4</reference>; <reference osisRef="Isa.38.11">38:11</reference>

But again, that makes for individual references, not a monolithic list.

Is there an OSIS encoding of a long list of xrefs that leaves them all as
a single block of xrefs, as seen on the far side of the filters?

More information about the sword-devel mailing list