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)
-> + External Cascading Style Sheet... (2)
-> + Need help with XML mapping - P... (2)
-> + Convert image to base64 in xsl... (2)
-> + Automation (2)
-> - Changing Default Property valu... (1)
-> + Help in reading cdata using xs... (4)
-> + Ok, I can programatically conv... (2)
-> + How do I prevent the previewer... (2)
-> + Can I programatically convert ... (2)
-> + XML To Flat File - Reverse Eng... (3)
-> + Check for valid attribute valu... (3)
-> + Java.lang.OutOfMemory - when I... (3)
-> + How to convert text in EBCDIC ... (8)
-> + First steps in XSLT mapping (4)
-> + Option to build XSL-FO is not ... (3)
-> + using Adaptor convert XML to e... (2)
-> + Using XML Converter on a Compl... (2)
-> + Java built-in processor needed... (3)
-> + XSL to draw a table (2)
-> - Stylus Studio in c# solutions (1)
-> + entities within schemaLocation... (4)
-> + java runtime error during xslt... (2)
-> + Conversion of XML Doc for RSS ... (2)
-> + Does anyone know how to upgrad... (2)
-> + XML editor corrupts my file (5)
-> + Stylus Studio & Berkeley DB XM... (4)
-> + XSLT for page breakout (2)
-> + How to avoid creating empty el... (2)
-> + Error in converting 945 EDI us... (4)
-> + XML to X12 (invoice 810 edi) (2)
-> - Stylus Studio 2009 Enterprise ... (1)
-> + Stylus Studio 2007 - license d... (2)
-> + XML to X12 conversion error (6)
-> + How to reset JVM (to another j... (2)
-> + How to generate XML sample dat... (2)
-> + Document Path reference after ... (4)
-> + concatenate with xquery (6)
-> + i want to capture the xml tag ... (3)
-> + "View Sample XML" in schema an... (2)
-> + Can't get to Toolbar settings ... (2)
-> + SOAPException (3)
-> + how to patch xml files with wr... (2)
-> + wysiwug xslt editor (2)
-> - XML to Google Charts (10)
-> ->XML to Google Charts
-> ->XML to Google Charts
-> ->XML to Google Charts
-> ->XML to Google Charts
-> ->XML to Google Charts
-> ->XML to Google Charts
-> ->XML to Google Charts
-> ->XML to Google Charts
-> ->XML to Google Charts
-> + XML to HL7 (2)
-> - Outputting this XML (1)
-> + Interpreting XSD Error Message... (2)
-> + converter EDI --> typ = no (8)
-> + License issue (7)
-> + One of the simplest questions ... (3)
-> + xQuery transformation encounte... (2)
-> + Schema Evolution (2)
-> + Preview in Browser button gray... (4)
-> + converter:EDI:val=no AND chr=.... (4)
-> + [XQuery][DB2 JDBC Driver]Unsu... (2)
-> + Need Help Create XML file thro... (4)
-> + Flat file to XML conversion in... (5)
-> + How to set delimiters if it's ... (4)
-> + XSD Validation failing (4)
-> + XSD Validation failing (2)
-> + Web Service Call cannot retrie... (7)
-> + Flat file conversion to XML (2)
-> + Stylus Studio crash (5)
-> + Stylus Studio No Longer loads (2)
-> + How do I print in color? (2)
-> + Integrating Documentum WebPubl... (2)
-> + Stylus Studio crashes on openi... (4)
-> + Change format of XML output fo... (3)
-> + XSLT mapper / Source file not ... (7)
-> + Stylus Studio crashes on start... (3)
-> + Loading GML3.1 (3)
-> + NullPointerException when runn... (5)
-> + Can not open Stylus Studio (3)
-> + macros for custom validation e... (6)
-> + Does Stylus Studio generate XM... (4)
-> + another csv conversion (7)
-> + ADD CVS to Source Control drop... (2)
-> + Automate xquery (6)
-> + Correcting multiple XML docume... (2)
-> + Unable to locate Components\Da... (5)
-> + Runtime Error, Struzzo.exe, Ab... (11)
-> + Convert XML to EDIfact (3)
-> + I don't have the Mapper tab (6)
-> + CSV conversion with null field (3)
-> + Converting a Complex Flat File... (2)
-> - installion in batch mode (1)
-> + Complete Custom Validation Lis... (2)
-> + creating xml from csv flat fil... (9)
-> - need Help Regarding XBRL (1)
-> + Exception FODC0004: file or di... (2)
-> + Activation (2)
-> + java runtime error (2)
-> + connection problem with AS 400... (4)
-> + XML to 837I EDI -- multiple NM... (3)
-> + WYSIWYG in SSv7 (2)
-> - Write into < head /> tags us... (1)
-> + Maximum recursion depth exceed... (2)
-> - Code coverage testing (1)
-> - Passing JavaScript with multip... (1)
-> + preserving white space in XML ... (8)
-- Previous [721-740] [741-760] [761-780] 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.