图表函数
下面列出的图表函数使您能够创建和生成图表,并将其保存为图像。在您的Altova产品的当前版本中,它们以下述方式得到支持。然而,请注意,这些函数中的一个或多个可能在未来的产品版本中不被支持,或者个别函数的行为可能会发生变化。有关每个产品版本中对Altova扩展函数的支持的信息,请参见该版本的文档。
提示: | 图表函数仅在Altova的服务器产品和Altova产品的企业版中受支持。 |
提示: | 服务器版本中支持的图像格式为jpg、png和bmp。最好使用png,因为它是无损压缩的图像。在企业版中,支持的格式有jpg、png、bmp和gif。 |
用于生成和保存图表的函数
这些函数用通过图表创建函数获取的图表对象生成图像,或将图像保存到文件中。
altova:generate-chart-image (\$chart, \$width, \$height, \$encoding) as atomic
其中
•\$chart是通过altova:create-chart函数获取的图表扩展项
•\$width和\$height必须用长度单位指定
•\$encoding可以是x-binarytobase64或x-binarytobase16
该函数将以指定的编码格式返回图表图像。
altova:generate-chart-image (\$chart, \$width, \$height, \$encoding, \$imagetype) as atomic
其中
•\$chart是通过altova:create-chart函数获取的图表扩展项
•\$width和\$height必须用长度单位指定
•\$encoding可以是x-binarytobase64或x-binarytobase16
•\$imagetype可以是以下格式之一:png、gif、bmp、jpg、jpeg。提示:gif在服务器产品中不受支持。另请参见页面顶部的提示。
该函数将以指定的编码格式和图像格式返回图表图像。
altova:save-chart-image (\$chart, \$filename, \$width, \$height) as empty() (仅Windows)
其中
•\$chart是通过altova:create-chart函数获取的图表扩展项
•\$filename是要保存图表图像的文件的路径和名称
•\$width和\$height必须用长度单位指定
该函数将图表图像保存到在\$filename中指定的文件中。除了该函数外,您还可以使用xsl:result-document函数,其中encoding="x-base64tobinary",图像数据内容从generate-chart-image()函数或chart()函数获取。
altova:save-chart-image (\$chart, \$filename, \$width, \$height, \$imagetype) as empty() (仅Windows)
其中
•\$chart是通过altova:create-chart函数获取的图表扩展项
•\$filename是要保存图表图像的文件的路径和名称
•\$width和\$height必须用长度单位指定
•\$imagetype可以是以下格式之一:png、gif、bmp、jpg、jpeg。提示:gif在服务器产品中不受支持。另请参见页面顶部的提示。
该函数以指定的图像格式将图表图像保存到在\$filename中指定的文件中。除了该函数外,您还可以使用xsl:result-document函数,其中encoding="x-base64tobinary",图像数据内容从generate-chart-image()函数或chart()函数获取。
用于创建图表的函数
下面的函数可用于创建图表。
altova:create-chart(\$chart-config, \$chart-data-series*) as chart extension item
其中
•\$chart-config是通过altova:create-chart-config函数或altova:create-chart-config-from-xml函数获取的chart-config扩展项
•\$chart-data-series是通过altova:create-chart-data-series函数或altova:create-chart-data-series-from-rows函数获取的chart-data-series扩展项
该函数将返回一个由参数提供的数据创建的图表扩展项。
altova:chart(\$chart-config, \$chart-data-series*) as chart extension item
其中
•\$chart-config是chart-config扩展项。它是一个无序系列,包含四个键值对:"width", "height", "title"和"kind"。width和height的值是整数,以像素为单位指定图表的宽度和高度。kind的值是以下之一:Pie, Pie3d, BarChart, BarChart3d, BarChart3dGrouped, LineChart, ValueLineChart, RoundGauge, BarGauge。
•每个\$chart-data-series是一个大小为3的数组,每个数组定义一个图表数据系列。每个数组都由以下部分组成:(i) 数据系列名称,(ii) X轴值,(ii) Y轴值。可以提交多个数据系列;在下方示例中,两个数组分别提供了每月最低和最高温度的数据。
该函数将返回一个包含图表图像的xs:base64Binary类型的项。该图像由该函数的参数提供的数据创建。请注意,由于该函数使用数组和映射,因此它仅可以在XPath 3.1、XQuery 3.1或XSLT 3.0中使用。
示例:altova:chart( map{'width':800, 'height':600, "kind":"LineChart", "title":"Monthly Temperatures"}, (['Min', \$temps/Month, \$temps/Month/@min], ['Max', \$temps/Month, \$temps/Month/@max]) )
altova:create-chart-config(\$type-name, \$title) as chart-config extension item
其中
•\$type-name指定要创建的图表的类型:Pie, Pie3d, BarChart, BarChart3d, BarChart3dGrouped, LineChart, ValueLineChart, RoundGauge, BarGauge
•\$title是图表的名称
该函数将返回一个chart-config扩展项,包含图表的配置信息。
altova:create-chart-config-from-xml(\$xml-struct) as chart-config extension item
其中
•\$xml-struct是包含图表的配置信息的XML结构
该函数将返回一个chart-config扩展项,包含图表的配置信息。该信息以XML数据片段的形式提供。
altova:create-chart-data-series(\$series-name?, \$x-values*, \$y-values*) as chart-data-series extension item
其中
•\$series-name指定系列的名称
•\$x-values列出X轴的值
•\$y-values列出Y轴的值
该函数将返回一个chart-data-series扩展项,包含用于构建图表的数据:即系列名称和轴数据。
altova:create-chart-data-row(x, y1, y2, y3, ...) as chart-data-x-Ny-row extension item
其中
•x是图表数据行的X轴列的值
•yN是Y轴列的值
该函数返回一个chart-data-x-Ny-row扩展项,包含单个系列中的X轴列和Y轴列的数据。
altova:create-chart-data-series-from-rows(\$series-names as xs:string*, \$row*) as chart-data-series extension item
其中
•\$series-name是要创建的系列的名称
•\$row 是要作为系列创建的chart-data-x-Ny-row扩展项
该函数将返回一个chart-data-series扩展项,包含系列中的X轴和Y轴的数据。
altova:create-chart-layer(\$chart-config, \$chart-data-series*) as chart-layer extension item
其中
•\$chart-config是通过altova:create-chart-config函数或altova:create-chart-config-from-xml函数获取的chart-config扩展项
•\$chart-data-series是通过altova:create-chart-data-series函数或altova:create-chart-data-series-from-rows函数获取的chart-data-series扩展项
该函数将返回一个chart-layer扩展项,包含图表层的数据。
altova:create-multi-layer-chart(\$chart-config, \$chart-data-series*, \$chart-layer*)
其中
•\$chart-config是通过altova:create-chart-config函数或altova:create-chart-config-from-xml函数获取的chart-config扩展项
•\$chart-data-series是通过altova:create-chart-data-series函数或altova:create-chart-data-series-from-rows函数获取的chart-data-series扩展项
•\$chart-layer是通过altova:create-chart-layer函数获取的chart-layer扩展项
该函数将返回一个multi-layer-chart项。
altova:create-multi-layer-chart(\$chart-config, \$chart-data-series*, \$chart-layer*, xs:boolean \$mergecategoryvalues)
其中
•\$chart-config是通过altova:create-chart-config函数或altova:create-chart-config-from-xml函数获取的chart-config扩展项
•\$chart-data-series是通过altova:create-chart-data-series函数或altova:create-chart-data-series-from-rows函数获取的chart-data-series扩展项
•\$chart-layer是通过altova:create-chart-layer函数获取的chart-layer扩展项
•\$mergecategoryvalues将合并多个数据系列的值(如果为true);不进行合并(如果为false)
该函数将返回一个multi-layer-chart项。