XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1123)
+ Stylus Studio Technical Forum (13807)
+ Website Feedback (243)
- XSLT Help and Discussion (7447)
-> + Create XSLT from XSD (2)
-> + How to remove nodes from xml b... (4)
-> + Highlighting text in XSL file (4)
-> - XSLT to Excel, predefine cell ... (1)
-> + CSaxon8Driver issue...time out (2)
-> + Is it possible to generate a X... (2)
-> + Is there any tool which genera... (2)
-> + xslt to html producing double ... (2)
-> - ADD 2 XML 2 Generate Single XM... (1)
-> + converting XML1 to XML2 struct... (2)
-> + How to remove the name space i... (2)
-> + Dump Payload into String (4)
-> + Converting Global EDIFACT into... (2)
-> + Auto mapping of XSLT? (3)
-> + Numbering a list broken into m... (3)
-> + help in xsl:analyze-string (2)
-> + Use XSLT with SOAP (2)
-> + Order of Processing Child Elem... (2)
-> + XSL finding a node based on va... (2)
-> + grouping a group? (11)
-> + Query on Looping (5)
-> + java.lang.Assertionerror_: Slo... (7)
-> + CONVERT SQL Server data to XML... (11)
-> + Error using "xsltproc" command... (3)
-> + XML refresh via web broswer (3)
-> + XSL-mapping usage for csv file... (4)
-> + form controls with xslt (2)
-> + Stylus Studio 2011 XML Enterpr... (2)
-> + Looping through Itema and gett... (2)
-> + Image src through System Varia... (3)
-> + XSL-mapping usage for csv file... (3)
-> + How to achieve UTF-8 encoding ... (2)
-> + sorting Using JavaScript (6)
-> + Display values from .xml horiz... (5)
-> + query on xslt for-each (3)
-> + query on xslt for-each (2)
-> + issue for First occurance (2)
-> + XSL: Mapping 2 XSD to 1 XSD (2)
-> + xslt mapper looses linkage fro... (2)
-> - How to Modify only few nodes a... (1)
-> + XSLT autocomplete function (2)
-> + i need to display dynamic list... (2)
-> + How to group when source has m... (11)
-> - Using EXCEL to create XSLT for... (1)
-> + Mapper generating XSLT, popula... (2)
-> + multiple columns (2)
-> + First time to Stylus Studio 20... (3)
-> + xsl:if test statement result t... (4)
-> + XSLT for dynamic target fields (4)
-> + Remove duplicates (2)
-> + XML-XSL grouping issue while d... (2)
-> + Two XML files. Two Tables. One... (3)
-> + Saxon 9.3 with XSLV (2)
-> - How do I remove the text strin... (1)
-> + Xpath of each element (3)
-> + Attributes - required vs optio... (2)
-> + XML schema to XML schema with ... (2)
-> + how to preserve the & in X... (2)
-> + how to use variables within (2)
-> + need help in XSLT programming (3)
-> + XSLT Mapper Option... Where i... (3)
-> - Selecting element based on att... (1)
-> + replace question (2)
-> - select other node based on one... (1)
-> - XSLT question... (1)
-> - Mapper and XSL (1)
-> - Copying XML as is with one cha... (1)
-> - Help with XSLT (1)
-> - XSL repeat the parent node for... (1)
-> - xls to xml (1)
-> - Stylus support non-backreferen... (1)
-> - Assigning records to existing ... (1)
-> + xsl:for-each and key() (2)
-> + tags containing a: (2)
-> - Create a namespace in output f... (1)
-> - XML Converters problem on UNIX (1)
-> - Copy XML Based on IF Condition... (1)
-> - csv counting dependencies (1)
-> + For extension function, could ... (2)
-> - XML XSLT Transformation (1)
-> + Transform XSD to another XSD (3)
-> - New to Stylus (1)
-> + my enterprise install doesn't ... (2)
-> - Replace line in XML (1)
-> - 5010 HIPAA - Example EDI files... (1)
-> - Display table in two columns f... (1)
-> + java.lang.RuntimeException (4)
-> + Select Value-Of Qualified Elem... (2)
-> + Validating different sets of r... (2)
-> + Passing complete source docume... (2)
-> - XSLT to sort XML per schema (1)
-> - XSL to select the group of row... (1)
-> + first ancestor of a type (2)
-> - Column Width Adjustment (1)
-> + XSLT breakpoint being ignored ... (6)
-> - Creating a tab delimited file (1)
-> - Invalid characters in xml (1)
-> + Creating XSLT File Based on XS... (2)
-> - Unable to filter InputStream f... (1)
-> + finding a list of values (7)
-- [1-20] [21-40] [41-60] Next
+ XQuery Help and Discussion (1861)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (361)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Brian ClementsSubject: Ignore Duplicate
Author: Brian Clements
Date: 04 Apr 2006 12:41 AM
I am currently trying to create a table of date which will display in an HTML page. It contains 4 columns. As rows are added I would like to display a blank table cell for information duplicated from previous row. I have included my XML Document, XSLT Stylesheet, current results, and result I am looking for.

I would appreciate any help you could give me!

Brian

Here is the XML Document:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="ignoredup.xslt"?>
<results>
<details>
<detail>
<ACDealerID>111111</ACDealerID>
<DealershipName>Dealership 1</DealershipName>
<Status>Pending</Status>
<Comments>This is a test</Comments>
</detail>
<detail>
<ACDealerID>111111</ACDealerID>
<DealershipName>Dealership 1</DealershipName>
<Status>Pending</Status>
<Comments>This is a test 2</Comments>
</detail>
<detail>
<ACDealerID>222222</ACDealerID>
<DealershipName>Dealership 2</DealershipName>
<Status>Pending</Status>
<Comments>This is a test</Comments>
</detail>
<detail>
<ACDealerID>222222</ACDealerID>
<DealershipName>Dealership 2</DealershipName>
<Status>Pending</Status><Subject></Subject>
<Comments>This is a test2</Comments>
</detail>
<detail>
<ACDealerID>222222</ACDealerID>
<DealershipName>Dealership 2</DealershipName>
<Status>Opened</Status>
<Comments>This is a test</Comments>
</detail>
</details>
</results>


Here is the XSLT document:

<?xml version="1.0" encoding="ISO-8859-1"?>
<html xsl:version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<body class="body">
<table>
<xsl:for-each select="results/details">
<tr>
<td>
<table width="100%" cellspacing="1"
cellpadding="5" border="0"
bgcolor="#2C5376">
<tr>
<td class="charthead"
bgcolor="#2C5376">
<font color='white'>
<b>AC Dealer ID</b>
</font>
</td>
<td class="charthead"
bgcolor="#2C5376">
<font color='white'>
<b>Dealership Name</b>
</font>
</td>
<td class="charthead"
bgcolor="#2C5376">
<font color='white'>
<b>Status</b>
</font>
</td>
<td class="charthead"
bgcolor="#2C5376">
<font color='white'>
<b>Comments</b>
</font>
</td>
</tr>
<xsl:for-each select="detail">
<tr>
<td class="chart"
bgcolor="#f0f0f0">
<xsl:value-of
select="ACDealerID"/>
</td>
<td class="chart"
bgcolor="#f0f0f0">
<xsl:value-of
select="DealershipName"/>
</td>
<td class="chart"
bgcolor="#f0f0f0">
<xsl:value-of
select="Status"/>
</td>
<td class="chart"
bgcolor="#f0f0f0">
<xsl:value-of
select="Comments"/>
</td>
</tr>
</xsl:for-each>
</table>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>


Here are my current results: (I typed in instead of displaying actual html)

AC Dealer ID Dealership Name Status Comments
------------ --------------- ------- -----------------
111111 Dealership 1 Pending This is a test
111111 Dealership 1 Pending This is a test 2
222222 Dealership 2 Pending This is a test
222222 Dealership 2 Pending This is a test 2
222222 Dealership 2 Opened This is a test 3

Here is the result I am looking for: (I typed in instead of displaying actual html)

AC Dealer ID Dealership Name Status Comments
------------ --------------- ------- -----------------
111111 Dealership 1 Pending This is a test
This is a test 2
222222 Dealership 2 Pending This is a test
This is a test 2
Opened This is a test 3



Postnext
Ivan PedruzziSubject: Ignore Duplicate
Author: Ivan Pedruzzi
Date: 04 Apr 2006 01:50 AM

You have to use xsl:key to remove duplicates


Hope this helps
Ivan Pedruzzi
Stylus Studio Team


DocumentACDealer.xsl

Postnext
Brian ClementsSubject: Ignore Duplicate
Author: Brian Clements
Date: 04 Apr 2006 11:33 AM
This solution reduced the number of rows returned from 5 to 2. For my situation this will not work. I need it to return 5 rows of data. Basically, we need to display an empty column for each duplicate entry. For instance, the first 2 rows are for AC Dealer ID 111111. We need to display 2 rows. The first row will have all the columns filled out. The second row will display with a blank in all the columns which match the previous row. So the second row should contain each element AC Dealer ID, Dealership Name, and Status as blanks and the Comments should have a value.

I really appreciate your help!

Thanks,
Brian

Posttop
Ivan PedruzziSubject: Ignore Duplicate
Author: Ivan Pedruzzi
Date: 04 Apr 2006 11:07 PM
I hoped that the sample I posted was a good starting point to understand how the key function works.

It is your responsabilty to learn XSLT, exploit it.

Attached you can find a new revision.

Ivan Pedruzzi
Stylus Studio Team


UnknownACDealer(1).xsl

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.