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
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Yitzhak KhabinskySubject: Report Designer mistakenly generates XSLT 2.0/XPath 2.0
Author: Yitzhak Khabinsky
Date: 21 Apr 2010 07:38 AM
This is a repost for the old issue:

http://www.stylusstudio.com/SSDN/default.asp?action=9&read=8995&fid=48

Stylus Studio 2010 (build 1540b) Report Designer generates XSLT 2.0/XPath 2.0 inline “if” statements even upon selection XSLT 1.0 in the Report>Generate> (selecting Transformation Language : XSLT 1.0).

Every time a change is made to the report, you have to regenerate the XSLT, and make manual change converting inline "if"s to XSLT 1.0.

Please take a look into this issue.
It seems like a bug.

Regards,
Yitzhak

Postnext
(Deleted User) Subject: Report Designer mistakenly generates XSLT 2.0/XPath 2.0
Author: (Deleted User)
Date: 21 Apr 2010 12:15 PM
Hi Yitzhak,
do you have an example of when XML Report generated an "if()" statement even when XSLT 1.0 was selected? For instance, in the thread you linked the statement was manually entered by the user, and that is outside the control of XML Report.

Thanks,
Alberto

Posttop
Yitzhak KhabinskySubject: Report Designer mistakenly generates XSLT 2.0/XPath 2.0
Author: Yitzhak Khabinsky
Date: 21 Apr 2010 02:18 PM
Hi Alberto,

You are absolutely correct – the XPATH statement is typed manually. So when SS Report Designer generates XSLT it emits the XPath property verbatium. Eventually, we are using .NET XslCompiledTransform Processor plus an XML file to generate final FO file. Obviously, .NET Processor (XSLT 1.0/XPath 1.0 compliant) cannot process XSLT 2.0/XPath 2.0 and fails.

When grid needs alternate background colors for even and odd rows SS Report Designer supports it. To do that in the SS Report Designer there are properties settings (typed manually) for the row as follows:
Background: <dynamic>
Context: $WorkInfoRow
XPath: if(position() mod 2 = 1) then "white" else "lightsteelblue"

Now I am trying to generate the XSLT using :
Report>Generate> (selecting Transformation Language : XSLT 1.0)
Unfortunately, the generated XSLT is compliant with XSLT 2.0/XPath 2.0 which allows inline “if” statements”
<fo:table-row background-color="{if(position() mod 2 = 1) then &quot;white&quot; else &quot;lightsteelblue&quot;}">

Because of such behavior, I have to manually go to the generated XSLT and change it every single time to make it compliant with the XSLT 1.0.

<xsl:variable name="ColorW">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">white</xsl:when>
<xsl:otherwise>lightsteelblue</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<fo:table-row background-color="{$ColorW}">

Regards,
Yitzhak

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
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-2016 All Rights Reserved.