Subject: RE: [xsl] FMPro, XSL eliminate dup display help needed From: "Kielen, Agnes" <Agnes.Kielen@xxxxxxxxxxxxxx> Date: Wed, 4 Aug 2004 08:34:14 +0200 |
Hi, First of all your sample data is not wellformed, but you seems to have a grouping problem. For any help about that see http://www.jenitennison.com/xslt/grouping/index.html for any help. Long ago I used to work with FileMaker. If I remember well it is also possbile to generate XML in which the <COL> elementens are replaces by more reasonable names as <TITLE> or <PUBLISHER> etc. Such XML will make your life a lot easier. Cheers, Agnes -----Original Message----- From: scottz@xxxxxxx [mailto:scottz@xxxxxxx] Sent: dinsdag 3 augustus 2004 20:33 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] FMPro, XSL eliminate dup display help needed Howdy all, I've just started my first XSL project and I've been stuck on this problem for a number of hours. Below is a sample of some data from a database I'm exporting <?xml version="1.0" encoding="UTF-8" ?> <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult";> <ERRORCODE>0</ERRORCODE> <PRODUCTBUILD="06/13/2002" NAME="FileMaker Pro" VERSION="6.0v1"/> <DATABASE DATEFORMAT="d/M/yyyy" LAYOUT="" NAME="RespiteOptionsDatabase.fp5" RECORDS="195" TIMEFORMAT="h:mm:ss a"/> <METADATA> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="title" TYPE="NUMBER"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="publisher" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="printing" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="cover" TYPE="TEXT"/> </METADATA> <RESULTSET FOUND="2"> <ROW MODID="1" RECORDID="35020"> <COL><DATA>a title1</DATA></col> <COL><DATA>Baen</DATA></col> <COL><DATA>1</DATA></col> <COL><DATA>Hardcover</DATA></col> </ROW> <ROW MODID="1" RECORDID="35020"> <COL><DATA>a title1</DATA></col> <COL><DATA>Ace</DATA></col> <COL><DATA>2</DATA></col> <COL><DATA>Hardcover</DATA></col> </ROW> <ROW MODID="2" RECORDID="35020"> <COL><DATA>a title2</DATA></col> <COL><DATA>Baen</DATA></col> <COL><DATA>3</DATA></col> <COL><DATA>Hardcover</DATA></col> </ROW> <ROW MODID="2" RECORDID="35020"> <COL><DATA>b title2</DATA></col> <COL><DATA>Ace</DATA></col> <COL><DATA>4</DATA></col> <COL><DATA>Hardcover</DATA></col> </ROW> </RESULTSET> </FMPXMLRESULT> Here is what I'm trying to get it to look like, with each item in a different td element. When the first letter of the title changes from a -> b-> c, I'd like to add <a name="a"></a> near the title, if possible. a title1 Baen 1 Hardcover Aces 2 Hardcover a title2 Baen 3 Hardcover b title2 Ace 4 Hardcover Here's some of the stylesheet I've tried. This is the first xslt stuff I've done some I'm certain a bunch of it is not the best way to do stuff. And, it's not doing what I want, cause I can't figure out when I've changed titles and when they've stayed the same. <tr> <xsl:choose> <xsl:when test="position() mod 2 = 0"> <xsl:attribute name="class">styleEven</xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="class">styleOdd</xsl:attribute> </xsl:otherwise> </xsl:choose> <xsl:variable name="posRow" select="position()" /> <xsl:for-each select="fmp:COL"> <xsl:variable name="posCol" select="position()" /> <xsl:choose> <xsl:when test="/*/*/fmp:FIELD[$posCol]/@NAME = 'BookTitle'"> <xsl:variable name="currentTitle" select="fmp:DATA" /> <xsl:if test="$posRow > 1"> <td class="data">pre sib != 1::<xsl:value-of select="/*/fmp:ROW[$posRow-1]/fmp:FIELD[$posCol]/fmp:DATA"/>::</td> </xsl:if> <xsl:if test="$posRow = 1"> <td class="data">pre sib::<xsl:value-of select="/*/fmp:ROW[$posRow]/fmp:FIELD[$posCol]/fmp:DATA"/>::</td> </xsl:if> </xsl:when> </xsl:choose> <td class="data"> <xsl:value-of select="fmp:DATA"/> </td> </xsl:for-each> </tr> And help?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] FMPro, XSL eliminate dup , Michael Kay | Thread | [xsl] transforming xml to text with, SnHndrc |
RE: [xsl] How about xsl:fo to xml u, m.david | Date | RE: [xsl] Use of xsl:number, ignori, Michael Kay |
Month |