[xsl] Re: Avoid repition of data

Subject: [xsl] Re: Avoid repition of data
From: Rashi Bhardwaj <rashi.bhardwaj@xxxxxxxxx>
Date: Fri, 24 Dec 2010 14:49:25 +0530
Hello,

I have pasted the same as i thought we can make use of any attribute
for building the logic. Thats why i havnt created a sample xml. And I
can only use xslt 1.0. I know with xslt 2.0 it is can be resolved, but
I want some logic in 1.0.

Please help me out....thanks rashi


> Date: Thu, 23 Dec 2010 20:49:33 +0530
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> From: Rashi Bhardwaj <rashi.bhardwaj@xxxxxxxxx>
> Subject: Avoid repition of data
> Message-ID: <AANLkTinu1t5_o_6t3xdrxQzxHL0e-2ksjRWF3vNFjxWQ@xxxxxxxxxxxxxx>
>
> Hi All,
>
> Here is my sample xml:
>
> <SALevel Number=3D"1">
>        <SAItem DDID=3D"2140" Name=3D"060522 Raw Material Sample"
Type=3D"1107"
> Class=3D"3" TypeName=3D"Application Update">
>                <SAProperty SAPrpName=3D"Application" SAPrpValue=3D"060522
Raw Material S=
> ample"/>
>                <SAProperty SAPrpName=3D"EditButton" SAPrpValue=3D""/>
>                <SAProperty SAPrpName=3D"NewButton" SAPrpValue=3D""/>
>        </SAItem>
>        <SAItem DDID=3D"2143" Name=3D"1C Ukraine" Type=3D"1107" Class=3D"3"
> TypeName=3D"Application Update">
>                <SAProperty SAPrpName=3D"Application" SAPrpValue=3D"1C
Ukraine"/>
>                <SAProperty SAPrpName=3D"EditButton" SAPrpValue=3D""/>
>                <SAProperty SAPrpName=3D"NewButton" SAPrpValue=3D""/>
>        </SAItem>
>        <SAItem DDID=3D"2174" Name=3D"AC" Type=3D"1107" Class=3D"3"
> TypeName=3D"Application Update">
>                <SAProperty SAPrpName=3D"Application" SAPrpValue=3D"AC"/>
>                <SAProperty SAPrpName=3D"EditButton" SAPrpValue=3D""/>
>                <SAProperty SAPrpName=3D"NewButton" SAPrpValue=3D""/>
>                <SALevel Number=3D"3">
>                        <SAItem DDID=3D"11815" Name=3D"Contain / Restricted
(1 Account Control
> (AC) (All))" Type=3D"1109" Class=3D"3" TypeName=3D"TLCS Update">
>                                <SAProperty SAPrpName=3D"Life Cycle
Standards" SAPrpValue=3D"Contain /
> Restricted (1 Account Control (AC) (All))"/>
>                                <SAProperty SAPrpName=3D"Life Cycle State"
SAPrpValue=3D"&quot;Contain
> / Restricted&quot;
>                         ">
>                                        <SARelatedItem DDID=3D"1646"
Type=3D"474" Class=3D"3" TypeName=3D"Life
> Cycle State">Contain / Restricted</SARelatedItem>
>                                </SAProperty>
>                                <SAProperty SAPrpName=3D"Functional Area"
SAPrpValue=3D"&quot;Project
> Cost Control&quot;
>                         ">
>                                        <SARelatedItem DDID=3D"1633"
Type=3D"461" Class=3D"3" TypeName=3D"Arch
> Sub Domain Func Area">Project Cost Control</SARelatedItem>
>                                </SAProperty>
>                        </SAItem>
>                </SALevel>
>        </SAItem>
>        <SAItem DDID=3D"2252" Name=3D"Adobe Acrobat (Pro and Standard)"
> Type=3D"1107" Class=3D"3" TypeName=3D"Application Update">
>                <SAProperty SAPrpName=3D"Application" SAPrpValue=3D"Adobe
Acrobat (Pro
> and Standard)"/>
>                <SAProperty SAPrpName=3D"EditButton" SAPrpValue=3D""/>
>                <SAProperty SAPrpName=3D"NewButton" SAPrpValue=3D""/>
>                <SALevel Number=3D"3">
>                        <SAItem DDID=3D"12309" Name=3D"Mainstream / Alternate
(1 Adobe Acrobat
> (7.0) (Professional Edition))" Type=3D"1109" Class=3D"3" TypeName=3D"TLCS
> Update">
>                                <SAProperty SAPrpName=3D"Life Cycle
Standards"
> SAPrpValue=3D"Mainstream / Alternate (1 Adobe Acrobat (7.0)
> (Professional Edition))"/>
>                                <SAProperty SAPrpName=3D"Life Cycle State"
> SAPrpValue=3D"&quot;Mainstream / Alternate&quot;
>                                                   ">
>                                        <SARelatedItem DDID=3D"1650"
Type=3D"474" Class=3D"3" TypeName=3D"Life
> Cycle State">Mainstream / Alternate</SARelatedItem>
>                                </SAProperty>
>                                <SAProperty SAPrpName=3D"Functional Area"
SAPrpValue=3D"&quot;Document
> Presentation&quot;
>                        ">
>                                        <SARelatedItem DDID=3D"11037"
Type=3D"461" Class=3D"3" TypeName=3D"Arc=
> h
> Sub Domain Func Area">Document Presentation</SARelatedItem>
>                                </SAProperty>
>                        </SAItem>
>                        <SAItem DDID=3D"12310" Name=3D"Mainstream / Preferred
(2 Adobe Acrobat
> (7.0) (Standard Edition))" Type=3D"1109" Class=3D"3" TypeName=3D"TLCS
> Update">
>                                <SAProperty SAPrpName=3D"Life Cycle
Standards"
> SAPrpValue=3D"Mainstream / Preferred (2 Adobe Acrobat (7.0) (Standard
> Edition))"/>
>                                <SAProperty SAPrpName=3D"Life Cycle State"
> SAPrpValue=3D"&quot;Mainstream / Preferred&quot;
>                                                   ">
>                                        <SARelatedItem DDID=3D"1651"
Type=3D"474" Class=3D"3" TypeName=3D"Life
> Cycle State">Mainstream / Preferred</SARelatedItem>
>                                </SAProperty>
>                                <SAProperty SAPrpName=3D"Functional Area"
SAPrpValue=3D"&quot;Document
> Presentation&quot;
>                        ">
>                                        <SARelatedItem DDID=3D"11037"
Type=3D"461" Class=3D"3" TypeName=3D"Arc=
> h
> Sub Domain Func Area">Document Presentation</SARelatedItem>
>                                </SAProperty>
>                        </SAItem>
>                        <SAItem DDID=3D"12311" Name=3D"Research / Restricted
(3 Adobe Acrobat
> 3D (7.0))" Type=3D"1109" Class=3D"3" TypeName=3D"TLCS Update">
>                                <SAProperty SAPrpName=3D"Life Cycle
Standards" SAPrpValue=3D"Research
> / Restricted (3 Adobe Acrobat 3D (7.0))"/>
>                                <SAProperty SAPrpName=3D"Life Cycle State"
> SAPrpValue=3D"&quot;Research / Restricted&quot;
>                                                   ">
>                                        <SARelatedItem DDID=3D"1653"
Type=3D"474" Class=3D"3" TypeName=3D"Life
> Cycle State">Research / Restricted</SARelatedItem>
>                                </SAProperty>
>                                <SAProperty SAPrpName=3D"Functional Area"
SAPrpValue=3D"&quot;Document
> Presentation&quot;
>                        ">
>                                        <SARelatedItem DDID=3D"11037"
Type=3D"461" Class=3D"3" TypeName=3D"Arc=
> h
> Sub Domain Func Area">Document Presentation</SARelatedItem>
>                                </SAProperty>
>                        </SAItem>
>                        <SAItem DDID=3D"12312" Name=3D"Mainstream / Preferred
(4 Adobe Acrobat
> Elements (7.0))" Type=3D"1109" Class=3D"3" TypeName=3D"TLCS Update">
>                                <SAProperty SAPrpName=3D"Life Cycle
Standards"
> SAPrpValue=3D"Mainstream / Preferred (4 Adobe Acrobat Elements (7.0))"/>
>                                <SAProperty SAPrpName=3D"Life Cycle State"
> SAPrpValue=3D"&quot;Mainstream / Preferred&quot;
>                                                   ">
>                                        <SARelatedItem DDID=3D"1651"
Type=3D"474" Class=3D"3" TypeName=3D"Life
> Cycle State">Mainstream / Preferred</SARelatedItem>
>                                </SAProperty>
>                                <SAProperty SAPrpName=3D"Functional Area"
SAPrpValue=3D"&quot;Document
> Presentation&quot;
>                        ">
>                                        <SARelatedItem DDID=3D"11037"
Type=3D"461" Class=3D"3" TypeName=3D"Arc=
> h
> Sub Domain Func Area">Document Presentation</SARelatedItem>
>                                </SAProperty>
>                        </SAItem>
>                </SALevel>
>        </SAItem>
> </SALevel>
>
> And here is xsl logic I have used to print it
>
> <xsl:for-each select=3D"descendant::SAItem[count(SALevel)=3D0]">
>                                <xsl:sort
select=3D"ancestor-or-self::SAItem/SAProperty/@SAPrpValue[1]"
> data-type=3D"text"/>
>                                <tr>
>                                        <xsl:for-each
> select=3D"ancestor-or-self::SAItem/SAProperty[@SAPrpName !=3D'Invisible'
> and @SAPrpName !=3D'##Invisible##']">
>                                                <xsl:choose>
>                                                        <xsl:when
test=3D"./@SAPrpValue=3D''">
>                                                                <td
style=3D"border:solid 1px
> #dddddd;padding-left:5px;background-color: #FFFF33;">
>                                                                      
 <!--<xsl:apply-templates select=3D"." mode=3D"FormatOutputString"/=
>>-->
>                                                                      
 <xsl:text>-</xsl:text>
>                                                                </td>
>                                                        </xsl:when>
>                                                        <xsl:otherwise>
>                                                                <td
style=3D"border:solid 1px #dddddd;padding-left:5px;">
>                                                                      
 <!--<xsl:apply-templates select=3D"." mode=3D"FormatOutputString"/=
>>-->
>                                                                      
 <xsl:value-of select=3D"./@SAPrpValue"/>
>                                                                </td>
>                                                        </xsl:otherwise>
>                                                </xsl:choose>
>                                        </xsl:for-each>
>                                </tr>
>                        </xsl:for-each>
> --=20
> =A0My problem is for the SAItem with SALevel Number =3D"3", in this case
> the SAProperty with SAPrpName=3D"Application" is repeating each time for
> each row. For example, for SALevel Number=3D"3", Application 'Adobe
> Acrobat (Pro and Standard)' is appearing four times for each nested
> SAItem, i.e. 1 Adobe Acrobat (7.0), 2 Adobe Acrobat (7.0).....4 Adobe
> Acrobat (7.0). I want it should appear only for first nested SAItem
> and not for rest three nested SAItem.
>
> Please help me out....Rashi
>
> Rashi Bhardwaj
>
> ------------------------------
>
> Date: Thu, 23 Dec 2010 16:52:01 +0100
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> From: =?iso-8859-1?Q?Michael_M=FCller-Hillebrand?= <mmh@xxxxxxxxxxxxx>
> Subject: Re: [xsl] Avoid repition of data
> Message-Id: <72E73994-5E0C-45E5-80C3-C2794BB46494@xxxxxxxxxxxxx>
>
> Am 23.12.2010 um 16:19 schrieb Rashi Bhardwaj:
>
>> Please help me out....Rashi
>
> It sounds like a grouping problem, but frankly, your example is too hard =
> to understand. If you could provide a short example displaying the =
> current problem and the desired effect, you would get more useful tips. =
> In many cases it helps to remove all attributes that are not connected =
> to the problem and change any indenting from tabs or multiple spaces to =
> a single space.
>
> - Michael M=FCller-Hillebrand
>
> ------------------------------
>
> Date: Thu, 23 Dec 2010 16:41:54 +0000
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> From: Michael Kay <mike@xxxxxxxxxxxx>
> Subject: Re: [xsl] Avoid repition of data
> Message-ID: <4D137BD2.4070709@xxxxxxxxxxxx>
>
> On 23/12/2010 15:52, Michael M|ller-Hillebrand wrote:
>> Am 23.12.2010 um 16:19 schrieb Rashi Bhardwaj:
>>
>>> Please help me out....Rashi
>> It sounds like a grouping problem, but frankly, your example is too hard to
understand. If you could provide a short example displaying the current
problem and the desired effect, you would get more useful tips. In many cases
it helps to remove all attributes that are not connected to the problem and
change any indenting from tabs or multiple spaces to a single space.
>>
>> - Michael M|ller-Hillebrand
>>
> Also, grouping problems are very easy to solve with XSLT 2.0, but quite
> tricky with XSLT 1.0. So you need to say which you are using.
>
> Michael Kay
> Saxonica
>




--


Rashi Bhardwaj

Current Thread