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 (1192)
- Stylus Studio Technical Forum (14621)
-> + Maximum XML File Size and Out ... (4)
-> + 64-bit version of Stylus Studi... (2)
-> + Generate xml schema from edi s... (3)
-> + License disabled (6)
-> + Stylus is not recognizing save... (5)
-> + WINE / CrossOver (3)
-> + Problem with FOP plugin (SS200... (5)
-> - XML diff engine - how to ignor... (1)
-> + How to configure Xerces J (2)
-> + Configuring xerces-2_9_1 (4)
-> + Release license to use stylus ... (5)
-> + Sorting Repeater row (3)
-> - Browse for Pipeline Input (1)
-> + Stylus 2010 and Win 7 problem ... (6)
-> + Cannot set XSLT source files w... (3)
-> - Simple TXT to HTML Convertor! ... (1)
-> + Invoking XSLT and FOP Processe... (2)
-> - Add Node and Pattern for Mutlp... (1)
-> - How to get xsl:message output ... (1)
-> + WSDL for Cvent Web Service (5)
-> - newbie question: IS there a "f... (1)
-> + Windows 7 64-bit Java. Stylus ... (3)
-> + Stylus Studio Enterprise crash... (2)
-> - XML to Access or SQL? Newbie N... (1)
-> - xml to flat file mapping using... (1)
-> + Missing Document Wizards (2)
-> - XSLT mapping and (1)
-> + Citrix Softgrid package proble... (2)
-> - xsl:import dropping the attrib... (1)
-> + XSLT mapping between schemas (5)
-> + Modifying/Creating existing CA... (9)
-> - Creating XML Sample Stream fro... (1)
-> - Integer to hex (1)
-> - Opening from and then Saving t... (1)
-> - Please help me find time query... (1)
-> + Need access to the 2007 versio... (2)
-> + Connecting to a iSeries DB2 da... (2)
-> + Windows 7 Enterprise and Stylu... (5)
-> + How do you create a record inc... (2)
-> + How to convert lines with no i... (6)
-> + http://www.milyn.org/schema/ed... (3)
-> + Using source configuration fil... (2)
-> + Is there any way that we could... (3)
-> - Water mark problem in PDF Gene... (1)
-> + Conversion file for swift mt10... (4)
-> + Stylus Studio converter error (7)
-> + Help for upgrade (6)
-> + Conversion File for a Header D... (2)
-> + Java Heap Space (9)
-> - Export mappings as text (1)
-> + XQuery, Pipeline generated jav... (2)
-> + Conditional XML Conversion? (2)
-> + iDoc to EDI (2)
-> + Pipeline XSLT Java Problem (6)
-> - Created XSLT... Now what? (1)
-> - Can I have Or Condition in the... (1)
-> - Error??? during a pipeline! (1)
-> + Opening from and then Saving t... (6)
-> + Unable to start SS 2010 ES - R... (2)
-> + proxy server settings (2)
-> - post upgrade failures and a fr... (1)
-> + Error java heap space (2)
-> + XML to XML? (4)
-> + Base64 - Encoding icone with T... (2)
-> - Pipeline: Multiple plain data ... (1)
-> + Convert and XML file to 837P (4)
-> + How to use a pipeline output i... (3)
-> + Web Service Call - SSL error (5)
-> + JVM settings cannot be edited ... (3)
-> + I am opening an xsl file SSE c... (2)
-> + Xml To Database mappings (2)
-> + Java pipeline (3)
-> + create dtd from schema (2)
-> + One file in, two files out (9)
-> + XMLConverter Licence (2)
-> + hide diagram pane (3)
-> + Getting error " xsl:template i... (2)
-> + How to reduce top margin in ev... (4)
-> + Can I do this with Stylus? (4)
-> + How to remove tabs in generati... (2)
-> + Maintain Support for Stylus St... (3)
-> + How to trim field to 2 decimal... (2)
-> + Recursively update node value ... (2)
-> + Compressed content in CADATA (4)
-> + Error in Converter when readin... (2)
-> + XML parser no longer working p... (5)
-> + Application failed to start (6)
-> + Web Service Call tester (14)
-> + temp directory writing issue (3)
-> + not able to set namespace defe... (2)
-> + Unable to open UBL in XSLT Map... (8)
-> - Compatability with Windows 7 (1)
-> + Stylus Studio 10 activation fa... (5)
-> + Way to bundle up a project? (3)
-> + Type could not be found (7)
-> + Not able to import the copy bo... (2)
-> + Stylus Studio 10 does not vali... (3)
-> + How to merge table cells using... (2)
-> + Collapsible Groups (2)
-> + Apply-template problem (2)
-- Previous [601-620] [621-640] [641-660] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Mike  KingSubject: XML to Google Charts
Author: Mike King
Date: 11 Aug 2009 06:23 PM
I'm working on producing google charts from my xml.

The basic data is very simple. I want to use a line chart to show Actual and Planned values over time.

- <table>
- <row>
<Date>2009-05-15 00:00:00.000</Date>
<Actual>1250.00</Actual>
<Planned>6250.00</Planned>
</row>
- <row>
<Date>2009-05-16 00:00:00.000</Date>
<Actual>1250.00</Actual>
<Planned>12500.00</Planned>
</row>
- <row>
<Date>2009-05-17 00:00:00.000</Date>
<Actual>1250.00</Actual>
<Planned>18750.00</Planned>
</row>
</table>

The google charts api uses a url to send the data:
E.G. http://chart.apis.google.com/chart?chs=250x100&chd=t:60,40&cht=p3&chl=Hello|World

So I've got to get the data values into the form shown here -

chd=t:1250,1250,1250|6250,12500,18750

- where the series of data is comma separated and multiple series are separated by | bars.

I've tried to use a stylus repeater in horizontal layout, with commas. But I end up with a trailing comma.

Anyway - I've got a feeling this may be something that requires more that the standard controls provide.

I'd appreciate your thoughts on how to produce the data into the form required by google charts.

Postnext
Tony LavinioSubject: XML to Google Charts
Author: Tony Lavinio
Date: 11 Aug 2009 06:45 PM
If you are using XSLT 2 or XQuery, you can use this:

string-join(/table/row/Actual, ','),'|',string-join(/table/row/Planned, ','))

Postnext
Mike  KingSubject: XML to Google Charts
Author: Mike King
Date: 12 Aug 2009 04:15 PM
Originally Posted: 12 Aug 2009 11:40 AM
How would you embed this formula into the image source for the chart?

Not sure how best to do this with Stylus (or xsl). For example the report image control has a context property and xpath property.
Is there a way to set these two properties so that the correct url is generated?

Should I be using something other than the image control to reference the google charts?

Postnext
Mike  KingSubject: XML to Google Charts
Author: Mike King
Date: 12 Aug 2009 04:33 PM
Here's what I've tried without success:

Image control -
Context: charts.xml
XPath: string-join('http://chart.apis.google.com/chart?cht=p3&chd=t:', string-join(/table/row/Actual, ','), '&chs=250x100')

I also tried -
XPath: value-of string-join('http://chart.apis.google.com/chart?cht=p3&chd=t:', string-join(/table/row/Actual, ','), '&chs=250x100')

Neither of these work - I got "Error evaluating expression".

Postnext
Tony LavinioSubject: XML to Google Charts
Author: Tony Lavinio
Date: 12 Aug 2009 05:43 PM
You'd want something more like this:

concat('http://chart.apis.google.com/chart?cht=p3&amp;chd=t:', string-join(/table/row/Actual, ','), '&amp;chs=250x100')

Remember two things: string-join() takes two parameters - the list, and
the character to put between the items. You were using it like concat().

Also, & characters need to be represented as &amp;

Here are some examples in-context for XSLT and XQuery, in case that helps.

<html>
<body>
<img>{ attribute src { concat(
'http://chart.apis.google.com/chart?cht=bvs&amp;chs=100x100&amp;chd=t:',
string-join(/table/row/Actual, ','),
'|'
,string-join(/table/row/Planned, ','),
'&amp;chco=4d89f9,c6d9fd&amp;chbh=20&amp;chds=',
min((0, /table/row/(Actual, Planned))),
',',
max(/table/row/(Actual, Planned))
) } }</img>
</body>
</html>

<?xml version='1.0'?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<img src="{concat(
'http://chart.apis.google.com/chart?cht=bvs&amp;chs=100x100&amp;chd=t:',
string-join(/table/row/Actual, ','),
'|'
,string-join(/table/row/Planned, ','),
'&amp;chco=4d89f9,c6d9fd&amp;chbh=20&amp;chds=',
min((0, /table/row/(Actual, Planned))),
',',
max(/table/row/(Actual, Planned))
)}"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

Postnext
Mike  KingSubject: XML to Google Charts
Author: Mike King
Date: 12 Aug 2009 06:50 PM
Thanks for your help. This makes sense.

Where I'm stuck is how to use these methods in the context of Stylus Studio reports. I've added an "Image" control, but I'm not sure how to fill in the image parameters in order to produce the charts.

The parameters for the image control are context and xpath. So I had assumed that the concat(...) would be part of the xpath parameter. But I must be forming the parameter incorrectly because I always get an error when the report is previewed.

Error evaluating expression "concat('http://chart.apis.google.com/chart?cht=p3&chd=t:',string-join(doc('file:///c:/Users/Mike/Documents/report_charts.xml')/table/row/Actual,','),'&chs=250x100')" in component 'Image' ERROR : Unrecognized character ''' (0x27) [err:XPST0003])

Postnext
Mike  KingSubject: XML to Google Charts
Author: Mike King
Date: 12 Aug 2009 06:19 PM
Here's what I've tried without success:

Image control -
Context: charts.xml
XPath: string-join('http://chart.apis.google.com/chart?cht=p3&chd=t:', string-join(/table/row/Actual, ','), '&chs=250x100')

I also tried -
XPath: value-of string-join('http://chart.apis.google.com/chart?cht=p3&chd=t:', string-join(/table/row/Actual, ','), '&chs=250x100')

Neither of these work - I got "Error evaluating expression".

Postnext
(Deleted User) Subject: XML to Google Charts
Author: (Deleted User)
Date: 14 Aug 2009 06:55 AM
Hi Mike,
the preview functionality of the XML Report tool has a bug that prevents the processing of strings containing the & character.
You can workaround the problem by writing

concat('http://chart.apis.google.com/chart?cht=p3',codepoints-to-string(38),'chd=t:',string-join(/table/row/Actual,','),codepoints-to-string(38),'chs=250x100')

Hope this helps,
Alberto

Postnext
Mike  KingSubject: XML to Google Charts
Author: Mike King
Date: 14 Aug 2009 09:38 AM
YES!!! The codepoints-to-string(38) replacement for & fixed my report preview.

Thanks very much!

Posttop
Mike  KingSubject: XML to Google Charts
Author: Mike King
Date: 14 Aug 2009 03:35 PM
YES!!! The codepoints-to-string(38) replacement for & fixed my report preview.

Thanks very much!

   
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.