Exemple : fonctions de graphique

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Informations moteur > Fonctions XSLT et XPath/XQuery > Fonctions d'extension Altova > Fonctions de graphique >

Exemple : fonctions de graphique

Le document XSLT présenté ci-dessous à titre d'exemple montre comment les fonctions d'extension Altova pour les graphiques peuvent être utilisées. Ci-dessous, vous trouverez un document XML et une capture d'écran de l'image de sortie générée lorsque le document XML est traité avec le document XSLT en utilisant XSLT 2.0 ou 3.0 Engine.

 

Note:Les fonctions de graphique sont uniquement prises en charge dans les Éditions Enterprise et Server des produits Altova.

 

Note:Pour plus d'informations concernant la création des tables de données de graphique, voir la documentation des produits Altova XMLSpy et StyleVision.

 

 

Document XSLT

Ce document XSLT (liste ci-dessous) utilise fonctions d'extension de graphique Altova pour générer un camembert. Elles peuvent être utilisées pour traiter le document XML recensé ci-dessous.

 

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="2.0" 

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 

 xmlns:xs="http://www.w3.org/2001/XMLSchema" 

 xmlns:altovaext="http://www.altova.com/xslt-extensions" 

 exclude-result-prefixes="#all">

 <xsl:output version="4.0" method="html" indent="yes" encoding="UTF-8"/>

 <xsl:template match="/">

         <html>

                 <head>

                         <title>

                                 <xsl:text>HTML Page with Embedded Chart</xsl:text>

                         </title>

                 </head>

                 <body>

                         <xsl:for-each select="/Data/Region[1]">

                                 <xsl:variable name="extChartConfig" as="item()*">

                                         <xsl:variable name="ext-chart-settings" as="item()*">

                                                 <chart-config>

                                                         <General 

                                                                 SettingsVersion="1" 

                                                                 ChartKind="Pie3d" 

                                                                 BKColor="#ffffff" 

                                                                 ShowBorder="1" 

                                                                 PlotBorderColor="#000000" 

                                                                 PlotBKColor="#ffffff" 

                                                                 Title="{@id}" 

                                                                 ShowLegend="1" 

                                                                 OutsideMargin="3.2%" 

                                                                 TitleToPlotMargin="3.%" 

                                                                 LegendToPlotMargin="6.%"

                                                                 >

                                                                 <TitleFont 

                                                                         Color="#023d7d" 

                                                                         Name="Tahoma" 

                                                                         Bold="1" 

                                                                         Italic="0" 

                                                                         Underline="0" 

                                                                         MinFontHeight="10.pt" 

                                                                         Size="8.%" />

                                                         </General>

                                                 </chart-config>

                                         </xsl:variable>

                                         <xsl:sequence select="altovaext:create-chart-config-from-xml( $ext-chart-settings )"/>

                                 </xsl:variable>

                                 <xsl:variable name="chartDataSeries" as="item()*">

                                         <xsl:variable name="chartDataRows" as="item()*">

                                                 <xsl:for-each select="(Year)">

                                                         <xsl:sequence select="altovaext:create-chart-data-row( (@id), ( .) )"/>

                                                 </xsl:for-each>

                                         </xsl:variable>

                                         <xsl:variable name="chartDataSeriesNames" as="xs:string*" select=" ( (&quot;Series 1&quot;), &apos;&apos; )[1]"/>

                                         <xsl:sequence 

                                                 select="altovaext:create-chart-data-series-from-rows( $chartDataSeriesNames, $chartDataRows)"/>

                                 </xsl:variable>

                                 <xsl:variable name="ChartObj" select="altovaext:create-chart( $extChartConfig, ( $chartDataSeries), false() )"/>

                                 <xsl:variable name="sChartFileName" select="'mychart1.png'"/>

                                 <img src="{$sChartFileName, altovaext:save-chart-image( $ChartObj, $sChartFileName, 400, 400 ) }"/>

                         </xsl:for-each>

                 </body>

         </html>

 </xsl:template>

</xsl:stylesheet>

 

 

Document XML

Ce document XML peut être traité avec le document XSLT ci-dessus. Les données se trouvant dans le document XML sont utilisées pour générer le camembert affiché dans la capture d'écran ci-dessous.

 

<?xml version="1.0" encoding="UTF-8"?>

<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

      xsi:noNamespaceSchemaLocation="YearlySales.xsd">

 <ChartType>Pie Chart 2D</ChartType>

 <Region id="Americas">

         <Year id="2005">30000</Year>

         <Year id="2006">90000</Year>

         <Year id="2007">120000</Year>

         <Year id="2008">180000</Year>

         <Year id="2009">140000</Year>

         <Year id="2010">100000</Year>

 </Region>

 <Region id="Europe">

         <Year id="2005">50000</Year>

         <Year id="2006">60000</Year>

         <Year id="2007">80000</Year>

         <Year id="2008">100000</Year>

         <Year id="2009">95000</Year>

         <Year id="2010">80000</Year>

 </Region>

 <Region id="Asia">

         <Year id="2005">10000</Year>

         <Year id="2006">25000</Year>

         <Year id="2007">70000</Year>

         <Year id="2008">110000</Year>

         <Year id="2009">125000</Year>

         <Year id="2010">150000</Year>

 </Region>

</Data>

 

 

Image de sortie

Le camembert affiché ci-dessous est généré lorsque le document XML recensé ci-dessus est traité avec le document XSLT.

AXChartsOutputPie

 


© 2019 Altova GmbH