You are viewing documentation for an older version. For current documentation - click here.

In our previous examples, we had created charts by providing chart data through an external XML file. Here, we'll show you how to embed the XML directly into an HTML page.

In our previous examples, we had used the JavaScript function setXMLUrl() to provide URL of the XML file to the chart. Hence, the term Data URL method is used for referring to the technique used earlier.

Here, we'll use setXMLData() function which takes XML embedded as string from the JavaScript. We call it the Data String method.

Existing users : You might be wondering what happened to the functions like setDataURL() and setDataXML() that you have already been using in your application. Yes - although deprecated, these will continue to work without any problem.

Create a copy of customer-satisfaction.html and save it as customer-satisfaction-dataString.html. Next, modify the code as shown below:

<html>
<head>
<title>My First chart using FusionWidgets XT - using XML data embedded in the page</title>
	<script type="text/javascript" src="Charts/FusionCharts.js"></script>
</head>
<body>
	<div id="chartContainer">FusionWidgets XT will load here</div>
	<script type="text/javascript"><!--
		var myChart = new FusionCharts("Charts/AngularGauge.swf", "myChartId", "400", "200", "0");
		myChart.setXMLData("<chart lowerLimit='0' upperLimit='100' lowerLimitDisplay='Bad' " +
			"upperLimitDisplay='Good' numberSuffix='%' showValue='1'>" +
			"<colorRange>" +
			"<color minValue='0' maxValue='75' code='FF654F'/>" +
			"<color minValue='75' maxValue='90' code='F6BD0F'/>" +
			"<color minValue='90' maxValue='100' code='8BBA00'/>" +
			"</colorRange>" +
			"<dials>" +
			"<dial value='92'/>" +
			"</dials>" +
			"</chart>");
		myChart.render("chartContainer");
	// -->
	</script>
</body>
</html>

See it live!

In the above code, we have provided the entire XML data as a string inside the code itself and passed it to the chart using setXMLData() method.

There are certain pointers to be kept in mind when using Data String method:

  • Depending on your coding practice, you'd be enclosing the entire XML string using either single quotation marks (') or double quotation marks ("). So, if you are enclosing the entire XML in double quotes, then the XML attributes must be encapsulated in single quotes or vice-versa. Using single quotes for encapsulation of the entire XML string and also for individual attributes, or vice-versa, will lead to a conflict. Conflict arising due to improper use of quotes is most likely to cause a JavaScript error and the chart will not render.
  • If an XML attribute has single quotation mark (') or double quotation marks (") as part of its value, you need to encode them as XML entities. The encoded form of single quotation mark (') is &apos; and the encoded form of double quotation marks (") is &quot;.
  • If you have special characters like & < > in your XML, you must encode them as &amp;, &lt; and &gt; (respectively) in your XML String.

Existing Users: Prior to FusionWidgets XT, while using this method, you need to encode various characters. Since FusionWidgets XT, except for a few characters listed in Using Currency Symbols and Using Special Punctuation pages (from Advanced Charting > Using Special Characters section), no character is required to be encoded while using this process. The new FusionCharts JavaScript Class takes care of everything.