🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.xml
Article #9845

problem z sortowaniem

#9845
From: robert
Date: Sun, 27 Apr 2008 20:13
81 lines
3985 bytes
 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
Technical Details
Message-ID: <732b.0000008d.4814de4f@newsgate.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.pl

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.pl
From: "robert" <roblegWYTNIJTO@poczta.onet.pl>
Newsgroups: pl.comp.xml
Subject: problem z sortowaniem
Date: 27 Apr 2008 22:13:04 +0200
Organization: Onet.pl SA
Lines: 81
Message-ID: <732b.0000008d.4814de4f@newsgate.onet.pl>
NNTP-Posting-Host: newsgate.onet.pl
Mime-Version: 1.0
X-Trace: newsgate.test.onet.pl 1209327184 29615 213.180.130.18 (27 Apr 2008 20:13:04 GMT)
X-Complaints-To: abuse@onet.pl
NNTP-Posting-Date: 27 Apr 2008 20:13:04 GMT
X-Mailer: http://niusy.onet.pl
X-Forwarded-For: 88.156.219.11, 10.14.14.144, 192.168.243.199
X-User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.14)    Gecko/20080404 Firefox/2.0.0.14
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit