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

Re: distinct values by xslt

Subject: Re: distinct values by xslt
From: Syd Bauman <Syd_Bauman@xxxxxxxxx>
Date: Wed, 18 May 2011 11:36:40 -0400
Re:  distinct values by xslt
I'm afraid this is too confusing to delve into right now, but I'm
wondering about the test for a preceding link (line 07). Do you
imagine that it is testing from a current node of a <link> that has
type=figure? It's not -- the current node is still the <p> that fired
the whole template to match.

01.  <xsl:template match="p">
02.    <p class="Para_indented">
03.      <xsl:apply-templates/>
04.    </p>
05.    <xsl:if test="link[@type='figure']">
06.      <xsl:variable name="figid" select="link[@type='figure']/@rid"/>
07.      <xsl:if test="not(preceding::link[@type='figure'][@rid=$figid])">
08.        <xsl:apply-templates select="//object[@id=$figid]"/>
09.      </xsl:if>
10.    </xsl:if>
11.    <xsl:if test="link[@type='table']">
12.      <xsl:variable name="tableid" select="link[@type='table']/@rid"/>
13.      <xsl:if test="not(preceding::link[@type='table'][@rid=$tableid])">
14.        <xsl:apply-templates select="//object[@id=$tableid]"/>
15.      </xsl:if>
16.    </xsl:if>
17.  </xsl:template>

Also I wonder if you are doing what you really want in line 06. The
variable figid is getting set to the sequence of all @rid values of
<link> children of the current <p> that match the criteria (have a
type= of 'figure'). For the test data, that means the string value of
figid is "f2 f3 f1".

> Anyone have any idea about to find out distinct attribute value by
> xslt. Figure 2 and Figure 3 are getting deleted by the logic
> provided by me as shown in the below XSLT. Below are the require
> things
>  
> XSLT
> <xsl:template match="p">
> <p class="Para_indented">
>  <xsl:apply-templates/>
> </p>
>   <xsl:if test="link[@type='figure']">
>    <xsl:variable name="figid" select="link[@type='figure']/@rid"/>
>    <xsl:if test="not(preceding::link[@type='figure'][@rid=$figid])">
>     <xsl:apply-templates select="//object[@id=$figid]"/>
>    </xsl:if>
>   </xsl:if>
>   <xsl:if test="link[@type='table']">
>    <xsl:variable name="tableid" select="link[@type='table']/@rid"/>
>    <xsl:if test="not(preceding::link[@type='table'][@rid=$tableid])">
>     <xsl:apply-templates select="//object[@id=$tableid]"/>
>    </xsl:if>
>   </xsl:if>
> </xsl:template>
> 
>  
> Input
> <p>First One of the primary goals (<link rid="f1" type="figure">Fig.
> 1</link>).</p>
> <p>second (see <link rid="f2" type="figure">Fig. 2</link>) and thos and
> <link rid="f3" type="figure">Fig. 3</link>). supporting the prediction that
> these species accelerate their development at the expense of growth (<link
> rid="f1" type="figure">Fig. 1</link>).</p>
>  
>  
> Required OUTPUT
> <p class="Para_Indented">First One of the primary goals (<a class="figcit"
> href="#fig1">Fig. 1</a>).</p>
> <div class="divFigure">
>  <table class="Figure" width="100%" align="center" border="0" id="fig1">
>  </table>
> </div>
> <p class="Para_Indented">second (see <a class="figcit" href="#fig2">Fig.
> 2</a>) and thos and <a class="figcit" href="#fig3">Fig. 3</a>). supporting
> the prediction that these species accelerate their development at the
> expense of growth (<a class="figcit" href="#fig1">Fig. 1</a>).</p>
> <div class="divFigure">
>  <table class="Figure" width="100%" align="center" border="0" id="fig2">
>  </table>
> </div>
> <div class="divFigure">
>  <table class="Figure" width="100%" align="center" border="0" id="fig3">
>  </table>
> </div>
>  
> CURRENT OUTPUT
> <p class="Para_Indented">First One of the primary goals (<a class="figcit"
> href="#fig1">Fig. 1</a>).</p>
> <div class="divFigure">
>  <table class="Figure" width="100%" align="center" border="0" id="fig1">
>  </table>
> </div>
> <p class="Para_Indented">second (see <a class="figcit" href="#fig2">Fig.
> 2</a>) and thos and <a class="figcit" href="#fig3">Fig. 3</a>). supporting
> the prediction that these species accelerate their development at the
> expense of growth (<a class="figcit" href="#fig1">Fig. 1</a>).</p>

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.