hardywang Report post Posted February 9, 2008 (edited) Hi all, I came cross this chart control recently, obviously it is very cool and one of the best free one I can find! Especially for the feature to load data from Xml file makes developer much easier to bind data. However FusionChart does not publish any XSD we can use, which makes developer a little bit more trouble to take advatange of the feature. Since FusionChart comes with dozens of charts to map with different schemas, I created a schema for FCF_Column3D.xsd. To create XSD file, it is better to prepare some tool, the one I use is Liquid Xml Studio which is free. The created XSD file looks like: <?xml version="1.0" encoding="utf-8"?> <!-- Created with Liquid XML Studio 1.0.7.0 (http://www.liquid-technologies.com) --> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="graph"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="set"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="optional" /> <xs:attribute name="value" type="xs:decimal" use="optional" /> <xs:attribute name="color" type="xs:string" use="optional" /> <xs:attribute name="hoverText" type="xs:string" use="optional" /> <xs:attribute name="link" type="xs:string" use="optional" /> <xs:attribute name="alpha" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showName" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="trendlines"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="line"> <xs:complexType> <xs:attribute name="startValue" type="xs:decimal" use="optional" /> <xs:attribute name="endValue" type="xs:decimal" use="optional" /> <xs:attribute name="displayValue" type="xs:string" use="optional" /> <xs:attribute name="color" type="xs:string" use="optional" /> <xs:attribute name="thickness" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="isTrendZone" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="alpha" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showOnTop" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="bgColor" type="xs:string" use="optional" /> <xs:attribute name="bgAlpha" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="bgSWF" type="xs:string" use="optional" /> <xs:attribute name="canvasBgColor" type="xs:string" use="optional" /> <xs:attribute name="canvasBaseColor" type="xs:string" use="optional" /> <xs:attribute name="canvasBaseDepth" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="canvasBgDepth"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showCanvasBg" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showCanvasBase" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="caption" type="xs:string" use="optional" /> <xs:attribute name="subCaption" type="xs:string" use="optional" /> <xs:attribute name="yAxisMaxValue" type="xs:decimal" use="optional" /> <xs:attribute name="yAxisMinValue" type="xs:decimal" use="optional" /> <xs:attribute name="yAxisName" type="xs:string" use="optional" /> <xs:attribute name="xAxisName" type="xs:string" use="optional" /> <xs:attribute name="showhovercap" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="hoverCapBgColor" type="xs:string" use="optional" /> <xs:attribute name="hoverCapBorderColor" type="xs:string" use="optional" /> <xs:attribute name="hoverCapSepChar" type="xs:string" use="optional" /> <xs:attribute name="chartLeftMargin" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="chartRightMargin" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="chartTopMargin" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="chartBottomMargin" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="shownames" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showValues" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showLimits" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="rotateNames" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="animation" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="baseFont" type="xs:string" use="optional" /> <xs:attribute name="baseFontSize" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="baseFontColor" type="xs:string" use="optional" /> <xs:attribute name="outCnvBaseFont" type="xs:string" use="optional" /> <xs:attribute name="outCnvBaseFontSze" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="outCnvBaseFontColor" type="xs:string" use="optional" /> <xs:attribute name="numberPrefix" type="xs:string" use="optional" /> <xs:attribute name="numberSuffix" type="xs:string" use="optional" /> <xs:attribute name="formatNumber" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="formatNumberScale" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="decimalSeparator" type="xs:string" use="optional" /> <xs:attribute name="thousandSeparator" type="xs:string" use="optional" /> <xs:attribute name="decimalPrecision" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="divLineDecimalPrecision" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="limitsDecimalPrecision" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="zeroPlaneShowBorder" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="zeroPlaneBorderColor" type="xs:string" use="optional" /> <xs:attribute name="zeroPlaneColor" type="xs:string" use="optional" /> <xs:attribute name="zeroPlaneAlpha" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="numdivlines" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="divlinecolor" type="xs:string" use="optional" /> <xs:attribute name="divLineThickness" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="divLineAlpha" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showDivLineValue" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:schema> Next step is to generate C# classes from the schema. I tried XSD.exe shipped with VS2005, one big problem for this schema is if I serialize Xml with generated code all attributes with non-string data type are lost. I turned to use Microsoft Sample Code Generator, which is also known as XsdObjectGen 1.4.2.1 (maybe there is a newer version by the time you read this post). I ran xsdobjectgen E:tempFusionChartsFreeXsdFCF_Column3D.xsd /n:HardySoft.Reports.Coulmn3D /f:"E:tempFusionChartsFreeXsdFCF_Column3D.cs" from command line to get my classes. In ASP.NET page used as Xml data island The web form (ChartXml.aspx) is something like: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ChartXml.aspx.cs" Inherits="HardySoft.UI.Reports.ChartXml" %> Remember! To delete all other codes, just leave this line. The C# code-behind is something like: public partial class ChartXml : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Session["CustomizeReportResult"] != null) { DataSet ds = getData(); graph g = new graph(); g.xAxisName = ""; g.animation = 1; g.numberPrefix = "$"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { set s = new set(); s.value = Convert.ToDecimal(ds.Tables[0].Rows[i]["SubTotal"]); s.name = ds.Tables[0].Rows[i]["ItemName"].ToString(); s.color = PageLogic.RandomColour(); s.hoverText = ds.Tables[0].Rows[i]["Comments"].ToString(); s.alpha = 70; g.setCollection.Add(s); } try { string XmlizedString = null; MemoryStream memoryStream = new MemoryStream(); XmlSerializer xs = new XmlSerializer(typeof(graph)); MemoryStream memStream = new MemoryStream(); XmlTextWriter xtw = new XmlTextWriter(memStream, Encoding.UTF8); xs.Serialize(xtw, g); memStream = (MemoryStream)xtw.BaseStream; XmlizedString = UTF8ByteArrayToString(memStream.ToArray()); Response.Write(XmlizedString); Response.ContentType = "text/xml"; } catch (Exception ex) { // some logic to capture exceptions } } } private static String UTF8ByteArrayToString(byte[] characters) { UTF8Encoding encoding = new UTF8Encoding(); string constructedString = encoding.GetString(characters); return (constructedString); } } Bingo! We have the Xml data now. And web page to call has something like <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="1000" height="500" name="myFirst"> <param name="allowScriptAccess" value="always" /> <param name="movie" value="../FusionCharts/FCF_Column3D.swf" /> <param name="FlashVars" value="&chartWidth=1000&chartHeight=500&debugMode=0&dataURL=ChartXml.aspx" /> <param name="quality" value="high" /> </object> Easy right? You don't have to spend a lot of time to create XML string, everything is objects. Hardy Edited March 31, 2008 by Guest Share this post Link to post Share on other sites
hardywang Report post Posted February 9, 2008 I may post more XSD files in the future whenever I have chance to use new chart types (I believe different chart types come with different format of Xml). Share this post Link to post Share on other sites
hardywang Report post Posted February 9, 2008 Here is one more XSD FCF_MSArea2D.xsd <?xml version="1.0" encoding="utf-8"?> <!-- Created with Liquid XML Studio 1.0.7.0 (http://www.liquid-technologies.com) --> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="graph"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="categories"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="category"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="optional" /> <xs:attribute name="hoverText" type="xs:string" /> <xs:attribute name="showName"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="font" type="xs:string" /> <xs:attribute name="fontSize"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="fontColor" type="xs:string" /> </xs:complexType> </xs:element> <xs:element minOccurs="0" maxOccurs="unbounded" name="dataset"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="set"> <xs:complexType> <xs:attribute name="value" type="xs:decimal" use="optional" /> <xs:attribute name="url" type="xs:string" /> <xs:attribute name="alpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="seriesName" type="xs:string" use="optional" /> <xs:attribute name="color" type="xs:string" use="optional" /> <xs:attribute name="showValues" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="areaAlpha" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showAreaBorder" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="areaBorderThickness" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="areaBorderColor" type="xs:string" use="optional" /> <xs:attribute name="alpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="trendLines"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="line"> <xs:complexType> <xs:attribute name="startValue" type="xs:decimal" /> <xs:attribute name="endValue" type="xs:decimal" /> <xs:attribute name="color" type="xs:string" /> <xs:attribute name="displayValue" type="xs:string" /> <xs:attribute name="thickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="isTrendZone"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showOnTop"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="alpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="caption" type="xs:string" use="optional" /> <xs:attribute name="subCaption" type="xs:string" use="optional" /> <xs:attribute name="bgColor" type="xs:string" /> <xs:attribute name="bgAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="bgSWF" type="xs:string" /> <xs:attribute name="canvasBgColor" type="xs:string" /> <xs:attribute name="canvasBgAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="canvasBorderColor" type="xs:string" /> <xs:attribute name="canvasBorderThickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="xAxisName" type="xs:string" /> <xs:attribute name="yAxisName" /> <xs:attribute name="yAxisMinValue" type="xs:decimal" /> <xs:attribute name="yAxisMaxValue" type="xs:decimal" /> <xs:attribute name="showNames"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showValues"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showLimits"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="rotateNames"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="animation"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showLegend"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showAreaBorder"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="areaBorderThickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="areaBorderColor" type="xs:string" /> <xs:attribute name="areaAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="baseFont" type="xs:string" /> <xs:attribute name="baseFontSize" type="xs:string" /> <xs:attribute name="baseFontColor" type="xs:string" /> <xs:attribute name="outCnvBaseFont" type="xs:string" /> <xs:attribute name="outCnvBaseFontSze" type="xs:string" /> <xs:attribute name="outCnvBaseFontColor" type="xs:string" /> <xs:attribute name="numberPrefix" type="xs:string" /> <xs:attribute name="numberSuffix" type="xs:string" /> <xs:attribute name="formatNumber"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="formatNumberScale"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="decimalSeparator" type="xs:string" /> <xs:attribute name="thousandSeparator" type="xs:string" /> <xs:attribute name="decimalPrecision"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="divLineDecimalPrecision"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="limitsDecimalPrecision"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="zeroPlaneThickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="zeroPlaneColor" type="xs:string" /> <xs:attribute name="zeroPlaneAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="numDivLines"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="divLineColor" type="xs:string" /> <xs:attribute name="divLineThickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="divLineAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showDivLineValue"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showAlternateHGridColor"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="alternateHGridColor" type="xs:string" /> <xs:attribute name="alternateHGridAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="numVDivLines"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="vDivlinecolor" type="xs:string" /> <xs:attribute name="vDivLineThickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="vDivLineAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showAlternateVGridColor"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="alternateVGridColor" type="xs:string" /> <xs:attribute name="alternateVGridAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showHoverCap"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="hoverCapBgColor" type="xs:string" /> <xs:attribute name="hoverCapBorderColor" type="xs:string" /> <xs:attribute name="hoverCapSepChar" type="xs:string" /> <xs:attribute name="chartLeftMargin"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="chartRightMargin"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="chartTopMargin"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="chartBottomMargin"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:schema> Share this post Link to post Share on other sites
hardywang Report post Posted February 22, 2008 (edited) I received messages to request working sample, here we go... Have fun! ASPNET_Sample.zip Edited February 22, 2008 by Guest Share this post Link to post Share on other sites
hardywang Report post Posted March 31, 2008 FCF_Column2D.xsd <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="graph"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="set"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="optional" /> <xs:attribute name="value" type="xs:decimal" use="optional" /> <xs:attribute name="color" type="xs:string" use="optional" /> <xs:attribute name="alpha" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="hoverText" type="xs:string" /> <xs:attribute name="link" type="xs:string" /> <xs:attribute name="showName"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element minOccurs="0" name="trendLines"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="line"> <xs:complexType> <xs:attribute name="startValue" type="xs:decimal" use="optional" /> <xs:attribute name="displayValue" type="xs:string" use="optional" /> <xs:attribute name="color" type="xs:string" use="optional" /> <xs:attribute name="thickness" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="isTrendZone" use="optional"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="endValue" type="xs:decimal" /> <xs:attribute name="showOnTop"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="alpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="bgColor" type="xs:string" use="optional" /> <xs:attribute name="bgAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="bgSWF" type="xs:string" /> <xs:attribute name="caption" type="xs:string" use="optional" /> <xs:attribute name="subCaption" type="xs:string" use="optional" /> <xs:attribute name="yAxisMaxValue" type="xs:decimal" use="optional" /> <xs:attribute name="yAxisMinValue" type="xs:decimal" use="optional" /> <xs:attribute name="yAxisName" type="xs:string" use="optional" /> <xs:attribute name="xAxisName" type="xs:string" use="optional" /> <xs:attribute name="canvasBgColor" type="xs:string" /> <xs:attribute name="canvasBgAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="canvasBorderColor" type="xs:string" /> <xs:attribute name="canvasBorderThickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showNames"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showValues"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showLimits"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="rotateNames"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="animation"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showColumnShadow"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="baseFont" type="xs:string" /> <xs:attribute name="baseFontSize" type="xs:string" /> <xs:attribute name="baseFontColor" type="xs:string" /> <xs:attribute name="outCnvBaseFont" type="xs:string" /> <xs:attribute name="outCnvBaseFontSze" type="xs:string" /> <xs:attribute name="outCnvBaseFontColor" type="xs:string" /> <xs:attribute name="numberPrefix" type="xs:string" /> <xs:attribute name="formatNumber"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="formatNumberScale"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="decimalSeparator" type="xs:string" /> <xs:attribute name="thousandSeparator" type="xs:string" /> <xs:attribute name="decimalPrecision"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="divLineDecimalPrecision"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="limitsDecimalPrecision"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="zeroPlaneThickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="zeroPlaneColor" type="xs:string" /> <xs:attribute name="zeroPlaneAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="numDivLines"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="divLineColor" type="xs:string" /> <xs:attribute name="divLineThickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="divLineAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showDivLineValue"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showAlternateHGridColor"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="alternateHGridColor" type="xs:string" /> <xs:attribute name="alternateHGridAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="numVDivLines"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="VDivLineColor" /> <xs:attribute name="VDivLineThickness"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="VDivLineAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showAlternateVGridColor"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="alternateVGridColor" type="xs:string" /> <xs:attribute name="alternateVGridAlpha"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="showHoverCap"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> <xs:maxInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="hoverCapBgColor" type="xs:string" /> <xs:attribute name="hoverCapBorderColor" type="xs:string" /> <xs:attribute name="hoverCapSepChar" type="xs:string" /> <xs:attribute name="chartLeftMargin"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="chartRightMargin"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="chartTopMargin"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="chartBottomMargin"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:schema> Share this post Link to post Share on other sites
Sanjukta Report post Posted October 22, 2010 Hi, Please refer to the attached file to check with the latest XSD Schema for the FusionCharts suite. Hope this helps. XSD Schema for FC Suite.zip Share this post Link to post Share on other sites