[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Hi ... brand new to list ... and of course .. I need h

Subject: Hi ... brand new to list ... and of course .. I need help ... RExsl:sort
From: David TROGDON <David.TROGDON@xxxxxxxxxxxxxxxxx>
Date: Tue, 22 Jul 2003 13:48:42 -0400
david trogdon
My XML file looks like this ... except with a few hundred more entry's



<?xml version="1.0" encoding="UTF-8"?>
<tagdiff startTag="DEV-030703-00E" endTag="DEV-030707-00E">
<entry>
            <file>

<name>na/biomerieux/brns/notification/EmailNotification.java</name>
                  <revision>1.28</revision>
                  <prevrevision>1.27</prevrevision>
            </file>
      </entry>
<entry>
            <file>

<name>na/biomerieux/brns/notification/Finisher.java</name>
                  <revision>1.26</revision>
                  <prevrevision>1.25</prevrevision>
            </file>
      </entry>
<entry>
            <file>
                  <name>na/biomerieux/brns/notification/Sender.java</name>
                  <revision>1.25</revision>
                  <prevrevision>1.24</prevrevision>
            </file>
      </entry>
<entry>
            <file>

<name>na/biomerieux/brns/notification/TC_EmailErrorNotification.java</name>
                  <revision>1.5</revision>
                  <prevrevision>1.4</prevrevision>
            </file>
      </entry>
<entry>
            <file>

<name>na/biomerieux/brns/notification/TC_EmailSender.java</name>
                  <revision>1.4</revision>
                  <prevrevision>1.3</prevrevision>
            </file>
      </entry>
<entry>
            <file>

<name>na/biomerieux/brns/notification/TC_FaxErrorNotification.java</name>
                  <revision>1.6</revision>
                  <prevrevision>1.5</prevrevision>
            </file>
      </entry>
<entry>
            <file>

<name>na/biomerieux/brns/notification/TC_Finisher.java</name>
                  <revision>1.29</revision>
                  <prevrevision>1.28</prevrevision>
            </file>
      </entry>
<entry>
            <file>

<name>na/biomerieux/brns/notification/TC_NotificationEventLogger.java</name>
                  <revision>1.4</revision>
                  <prevrevision>1.3</prevrevision>
            </file>
      </entry>
<entry>
            <file>
                  <name>inetsoft/report/Common.java</name>
                  <revision>1.2</revision>
                  <prevrevision>1.1</prevrevision>
            </file>
      </entry>
<entry>
            <file>
                  <name>inetsoft/report/CompositeLens.java</name>
                  <revision>1.2</revision>
                  <prevrevision>1.1</prevrevision>
            </file>
      </entry>
<entry>
            <file>
                  <name>inetsoft/report/CompositeSheet.java</name>
                  <revision>1.2</revision>
                  <prevrevision>1.1</prevrevision>
            </file>
      </entry>
<entry>
            <file>
                  <name>inetsoft/report/Context.java</name>
                  <revision>1.2</revision>
                  <prevrevision>1.1</prevrevision>
            </file>
      </entry>
<entry>
            <file>
                  <name>inetsoft/report/EmptyPaintable.java</name>
                  <revision>1.2</revision>
                  <prevrevision>1.1</prevrevision>
            </file>
      </entry>
<entry>
            <file>
                  <name>inetsoft/report/FixedContainer.java</name>
                  <revision>1.2</revision>
                  <prevrevision>1.1</prevrevision>
            </file>
      </entry>
<entry>
            <file>
                  <name>inetsoft/report/HttpPrinter.java</name>
                  <revision>1.2</revision>
                  <prevrevision>1.1</prevrevision>
            </file>
      </entry>

</tagdiff>



My XSLT style sheet is as follows ..........



<!-- a stylesheet to display changelogs ala netbeans -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version
="1.0">
      <xsl:param name="title"/>
      <xsl:output method="text"/>
      <xsl:template match="*">
            <xsl:copy>
                  <xsl:copy-of select="attribute::*[. != '']"/>
                  <xsl:apply-templates/>
            </xsl:copy>
      </xsl:template>
      <xsl:variable name="newline">
            <xsl:text>
</xsl:text>
      </xsl:variable>


      <xsl:template match="tagdiff">
            <xsl:value-of select="$title"/>
            Differences between <xsl:value-of select="@startTag"/>
            <xsl:value-of select="@startDate"/> and <xsl:value-of select="
@endTag"/>
            <xsl:value-of select="@endDate"/>
            <xsl:value-of select="$newline"/>

            <xsl:call-template name="show-entries">
                  <xsl:with-param name="title">New Files</xsl:with-param>
                  <xsl:with-param name="entries" select
=".//entry[file/revision][not(file/prevrevision)]"/>
            </xsl:call-template>

            <xsl:call-template name="show-entries">
                  <xsl:with-param name="title">Modified
Files</xsl:with-param>
                  <xsl:with-param name="entries" select
=".//entry[file/revision][file/prevrevision]"/>
            </xsl:call-template>

            <xsl:call-template name="show-entries">
                  <xsl:with-param name="title">Removed
Files</xsl:with-param>
                  <xsl:with-param name="entries" select
=".//entry[not(file/revision)][not(file/prevrevision)]"/>
            </xsl:call-template>
      </xsl:template>

      <xsl:template name="show-entries">
            <xsl:param name="title"/>
            <xsl:param name="entries"/>
            <xsl:value-of select="$newline"/>
            <xsl:value-of select="$title"/>  -  <xsl:value-of select="count
($entries)"/> Entries
                  <xsl:value-of select="$newline"/>

                  <xsl:apply-templates select="$entries"/>
                  <xsl:value-of select="$newline"/>

      </xsl:template>

      <xsl:template match="entry">
            <xsl:apply-templates select="file"/>
      </xsl:template>

      <xsl:template match="file">
            <xsl:value-of select="name"/>
            <xsl:if test="string-length(prevrevision) > 0 or
string-length(revision) > 0">
                  <xsl:text/>
            </xsl:if>
            <xsl:if test="string-length(prevrevision) = 0 and
string-length(revision) = 0"/>
            <xsl:value-of select="$newline"/>
      </xsl:template>



</xsl:stylesheet>



and produces a reasonable output similar to:


            Differences between DEV-030703-00E and DEV-030707-00E

New Files  -  2 Entries

.cvsignore
genericWindows.txt


Modified Files  -  435 Entries

na/biomerieux/brns/notification/EmailNotification.java
na/biomerieux/brns/notification/Finisher.java
na/biomerieux/brns/notification/Sender.java
na/biomerieux/brns/notification/TC_EmailErrorNotification.java
na/biomerieux/brns/notification/TC_EmailSender.java
na/biomerieux/brns/notification/TC_FaxErrorNotification.java
na/biomerieux/brns/notification/TC_Finisher.java
na/biomerieux/brns/notification/TC_NotificationEventLogger.java
inetsoft/report/Common.java
inetsoft/report/CompositeLens.java
inetsoft/report/CompositeSheet.java
inetsoft/report/Context.java
inetsoft/report/EmptyPaintable.java
inetsoft/report/FixedContainer.java
inetsoft/report/HttpPrinter.java
inetsoft/report/PDFPrinter.java
inetsoft/report/PSPrinter.java
inetsoft/report/PageArea.java
inetsoft/report/Painter.java
inetsoft/report/Presenter.java
inetsoft/report/PreviewGraphics.java
inetsoft/report/PreviewPage.java
inetsoft/report/PreviewPane.java
inetsoft/report/PreviewView.java


Removed Files  -  4 Entries

GenericPropertiesInsideVA.txt
GenericPropertiesOutsideVA.txt
README.txt
generic.txt



The problem I have is trying to implement the xsl:sort command so that each
section, New Files, Modified Files and Removed Files are sorted by Alpha
.....

I tried almost every concievable structure I can think of ... I eaither
baffle the parser, fail to sort, or suceed at sorting but destroy the
format.


If someone has a solution ... I would apprecaite it very much.

Thanks

David T.









 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.