Witam!
Przekonwertowalem sobie ksiazke (religijn±) napisan± w Wordzie do formatu xml.
W tekscie jest wiele fragmentoów z siglami, np.:
"Bóg podejmuje ca³± historiê Abrahama (<sigle>Rdz 12,1-3</sigle>)."
Probuje korzystajac z xslt utworzyc indeks odno¶ników biblijnych i oczywiscie
chcialbym, aby zostal posortowany.
Odno¶niki biblijne nazwa siê "sigle", a maj± postaæ np.:
- Mt 6,12 (Ewangelia Mateusz, ksiêga 6, werset 12)
- Mt 4,1-12 (Ewangelia Mateusz, ksiêga 4, wersety od 1 do 12)
- Mt 3,1.3 (Ewangelia Mateusz, ksiêga 3, wersety 1 i 3)
Napisa³em szablon (fragment):
<!-- policz sigle: -->
<xsl:variable name="nsig"><xsl:value-of
select="count(//sigle)"/></xsl:variable>
<!-- jesli sa sigle: -->
<xsl:if test="$nsig > 0">
<xsl:for-each select="//sigle">
<xsl:sort/>
<p class="p1"><a href="#{generate-id(.)}"><xsl:value-of
select="."/></a></p> <!-- link do sigli-->
</xsl:for-each>
</xsl:if>
Uzyskujê co¶ takiego (fragment):
<p class="p1"><a href="#IDASTOY">Pp 28,68</a></p>
<p class="p1"><a href="#IDAJAPY">Ps 10,7</a></p>
<p class="p1"><a href="#IDA05OY">Ps 14,13</a></p>
<p class="p1"><a href="#IDAJ5OY">Ps 14,1-3</a></p>
<p class="p1"><a href="#IDAFAPY">Ps 140,4</a></p>
<p class="p1"><a href="#IDATAPY">Ps 143,2</a></p>
<p class="p1"><a href="#IDALXOY">Ps 15,11</a></p>
<p class="p1"><a href="#IDAZWOY">Ps 16,8</a></p>
<p class="p1"><a href="#IDACXOY">Ps 25,9-10</a></p>
<p class="p1"><a href="#IDARAPY">Ps 36,2</a></p>
<p class="p1"><a href="#IDA45OY">Ps 5,10</a></p>
<p class="p1"><a href="#IDA5DOY">Rdz 1,27</a></p>
<p class="p1"><a href="#IDAHYOY">Rdz 1,4</a></p>
<p class="p1"><a href="#IDA4SOY">Rdz 11,6</a></p>
<p class="p1"><a href="#IDAVMPY">Rdz 12,1</a></p>
<p class="p1"><a href="#IDACTOY">Rdz 12,1-3</a></p>
<p class="p1"><a href="#IDAJFOY">Rdz 3,1a</a></p>
<p class="p1"><a href="#IDAUFOY">Rdz 3,2-3</a></p>
<p class="p1"><a href="#IDA0FOY">Rdz 3,4</a></p>
<p class="p1"><a href="#IDAFGOY">Rdz 3,5</a></p>
<p class="p1"><a href="#IDA5GOY">Rdz 3,56</a></p>
<p class="p1"><a href="#IDAQGOY">Rdz 3,6</a></p>
<p class="p1"><a href="#IDAYGOY">Rdz 3,7</a></p>
<p class="p1"><a href="#IDAHROY">Rdz 4,9</a></p>
<p class="p1"><a href="#IDAF3OY">Rdz 6,5</a></p>
<p class="p1"><a href="#IDAUGOY">Rdz 7,7</a></p>
Niestety, jak widaæ sortowane s± ksiêgi biblijne, natomiast rozdzialy i wersety
juz nie sa poprawnie posortowane.
Czy kto¶ ma jak±¶ ideê, jak to mo¿na by zrobiæ?
Mnie ¶wita taki algorytm:
-szukaæ pierwszego przecinka
-liczba PRZED przecinkiem (nr rozdzialu) uzupelnic wiodacymi zerami do liczby
trzycyfrowej (np. 1 -> 001)
-liczba PO przecinku (nr wersetu) uzupelnic wiodacymi zerami do liczby
trzycyfrowej (np. 1 -> 001)
-wynik posrotowac alfanumerycznie
-usun±c wiod±ce zera
- technicznie, mnie to przerasta
Pozdrowienia
Robert
--
Wys³ano z serwisu OnetNiusy: http://niusy.onet.pl