Subject: RE: [xsl] transforming lists From: Jarno.Elovirta@xxxxxxxxx Date: Wed, 24 Jul 2002 16:14:57 +0300 |
Hi, > This is what i get from a Lotus Notes XML Export, sorry for that ;-) > i dont have any influence. > > the "def" attribute is only the reference to the paragraph definition > <pardef>, where it says that (it should be like that) > <par>'s with the def=9 are list items and have a bullet > shown... BUT not all > the listitems have their def=9 attribute, you see? That's why > i am asking if > there is any way to reconstruct that? > Maybe it helps that the next following element is a <pardef id="10">?! > > > The output should be like > > * ITEM 1 liste > * ITEM 2 liste > * ITEM 3 liste > > you know? just like an HTML <ul><li>....but within my PDF Output. So was this what you were after <xsl:key name="label" match="pardef" use="@id" /> <xsl:key name="def" match="par[not(@def)]" use="preceding-sibling::par[@def][1]/@def" /> <xsl:template match="/"> <fo:root> <fo:layout-master-set> <fo:simple-page-master master-name="simple" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2.5cm" margin-right="2.5cm"> <fo:region-body margin-top="0cm" /> <fo:region-before extent="2cm" /> <fo:region-after extent="1.5cm" /> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="simple"> <fo:flow flow-name="xsl-region-body"> <xsl:apply-templates select="document/par[@def]" /> </fo:flow> </fo:page-sequence> </fo:root> </xsl:template> <xsl:template match="par"> <xsl:variable name="def" select="@def" /> <fo:list-block> <xsl:for-each select=". | key('def', $def)"> <fo:list-item> <fo:list-item-label end-indent="label-end()"> <fo:block> <fo:inline> <xsl:call-template name="label"> <xsl:with-param name="def" select="$def" /> </xsl:call-template> </fo:inline> </fo:block> </fo:list-item-label> <fo:list-item-body start-indent="body-start()"> <fo:block> <xsl:apply-templates select="run" /> </fo:block> </fo:list-item-body> </fo:list-item> </xsl:for-each> </fo:list-block> </xsl:template> <xsl:template name="label"> <xsl:param name="def"/> <xsl:choose> <xsl:when test="key('label', $def)/@list = 'bullet'">*</xsl:when> <xsl:otherwise>-</xsl:otherwise> </xsl:choose> </xsl:template> Cheers, Jarno XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] transforming lists, sascha | Thread | Re: [xsl] transforming lists, sascha |
Re: [xsl] Evaluating parameter in <, Jeni Tennison | Date | RE: [xsl] wildcards in xpath?, Stuart Brown |
Month |