123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: vgs
- (C) Copyright IBM Corp. 2013
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--After making changes to this file you must run tools/generateDTDs.bat to generate ChartTypeDefinition.dtd, and deliver changes to both files-->
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ibm.com/xmlns/prod/ba/visBundle/chartTypeDefinition.1/" targetNamespace="http://www.ibm.com/xmlns/prod/ba/visBundle/chartTypeDefinition.1/" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:element name="chartTypeDefinition">
- <xs:complexType>
- <xs:all>
- <xs:element name="dataSets" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="dataSet" maxOccurs="unbounded">
- <xs:complexType>
- <xs:all>
- <xs:element name="categoryEdges" minOccurs="0">
- <xs:annotation>
- <xs:documentation>Every element contained here defines an edge of category values. There is an implied intersection between the values of all of these edges.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="categoryEdge" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>This element allows for a defined nesting of category fields. This is an indication that these edges will be visually nested (e.g. they are on the same category axis).</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:all>
- <xs:element name="categoryLevels">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="categoryLevel" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>Allows for the fields to represent a subset of the values in a category level.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:all>
- <xs:element name="categoryFields">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="categoryField" maxOccurs="unbounded">
- <xs:complexType>
- <xs:all>
- <xs:element ref="properties" minOccurs="0"/>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- <xs:element ref="icon16x16" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="categoryValues" default="indexedVisible">
- <xs:annotation>
- <xs:documentation>Indicates how category values should be generated:
- indexedFull - indexes to the category values in rows, where the set of categories may be more than are referenced
- indexedVisible - indexes to the category values in rows, where all categories are referenced
- byValue - category values generated directly in rows</xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="indexedFull"/>
- <xs:enumeration value="indexedVisible"/>
- <xs:enumeration value="byValue"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="refFieldLink" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:all>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- <xs:element ref="icon16x16" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="name" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:unique name="categoryEdgeName">
- <xs:selector xpath="categoryEdge"/>
- <xs:field xpath="@name"/>
- </xs:unique>
- </xs:element>
- <xs:element name="valuesEdge" minOccurs="0">
- <xs:annotation>
- <xs:documentation>Defines the set of values in the data set that are available at the intersection of the category edges.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:all>
- <xs:element name="valueFields">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="valueField" maxOccurs="unbounded">
- <xs:complexType>
- <xs:all>
- <xs:element ref="properties" minOccurs="0"/>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- <xs:element ref="icon16x16" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="supportsRange" type="xs:boolean" default="false">
- <xs:annotation>
- <xs:documentation>'true' tells the integrator that they can specify a min a max range for this field and doing so will impact the rendering. The min/max can be provided both server and client side. e.g. this can be used to ensure a fixed axis scale during filtering operations.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="refFieldLink" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- <xs:element ref="icon16x16" minOccurs="0"/>
- </xs:all>
- </xs:complexType>
- </xs:element>
- <xs:element name="instanceTable">
- <xs:annotation>
- <xs:documentation>Specifies that the fields should be generated into the instance table of data generated for the output service.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="categoryFieldInstance">
- <xs:complexType>
- <xs:attribute name="refField" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="valueFieldInstance">
- <xs:complexType>
- <xs:attribute name="refField" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
- <xs:unique name="InstanceFieldUniqueness">
- <xs:selector xpath="*"/>
- <xs:field xpath="@refField"/>
- </xs:unique>
- </xs:element>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- <xs:element ref="icon16x16" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="optionalOverride" type="xs:boolean" default="false">
- <xs:annotation>
- <xs:documentation>'true' tells the integrator that they can choose not to override the data set because there is already a default one for the chart</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="hasChartElements" type="xs:boolean" default="true">
- <xs:annotation>
- <xs:documentation>Set this to 'false' if the resulting chart does not have any chart elements that tie back to this data set, for instance if this data set is just used as input for statistical calculations which are then displayed on the chart.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
- <xs:key name="instanceCategoryFieldKey">
- <xs:selector xpath="instanceTable/categoryFieldInstance"/>
- <xs:field xpath="@refField"/>
- </xs:key>
- <xs:keyref name="instanceCategoryFieldKeyRef" refer="instanceCategoryFieldKey">
- <xs:selector xpath=".//categoryField"/>
- <xs:field xpath="@name"/>
- </xs:keyref>
- <xs:key name="instanceValueFieldKey">
- <xs:selector xpath="instanceTable/valueFieldInstance"/>
- <xs:field xpath="@refField"/>
- </xs:key>
- <xs:keyref name="instanceValueFieldKeyRef" refer="instanceValueFieldKey">
- <xs:selector xpath=".//valueField"/>
- <xs:field xpath="@name"/>
- </xs:keyref>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:unique name="dataSetUniqueness">
- <xs:selector xpath="*"/>
- <xs:field xpath="@name"/>
- </xs:unique>
- <xs:unique name="fieldNameUniqueness">
- <xs:selector xpath=".//categoryField | .//valueField"/>
- <xs:field xpath="@name"/>
- </xs:unique>
- <xs:key name="categoryFieldKey">
- <xs:selector xpath=".//categoryField"/>
- <xs:field xpath="@name"/>
- </xs:key>
- <xs:keyref name="categoryFieldLink" refer="categoryFieldKey">
- <xs:selector xpath=".//categoryField"/>
- <xs:field xpath="@refFieldLink"/>
- </xs:keyref>
- <xs:key name="valueFieldKey">
- <xs:selector xpath=".//valueField"/>
- <xs:field xpath="@name"/>
- </xs:key>
- <xs:keyref name="valueFieldLink" refer="valueFieldKey">
- <xs:selector xpath=".//valueField"/>
- <xs:field xpath="@refFieldLink"/>
- </xs:keyref>
- <xs:keyref name="instanceCategoryFieldRef" refer="categoryFieldKey">
- <xs:selector xpath="dataSet/instanceTable/categoicalFieldInstance"/>
- <xs:field xpath="@refField"/>
- </xs:keyref>
- <xs:keyref name="instanceValueFieldRef" refer="valueFieldKey">
- <xs:selector xpath="dataSet/instanceTable/valueFieldInstance"/>
- <xs:field xpath="@refField"/>
- </xs:keyref>
- </xs:element>
- <xs:element ref="properties" minOccurs="0"/>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- <xs:element ref="icon16x16" minOccurs="0"/>
- <xs:element name="author" type="TextType" minOccurs="0"/>
- <xs:element name="tags" minOccurs="0">
- <xs:annotation>
- <xs:documentation>List of tags that can be used when searching for chart types</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="tag" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="TextType">
- <xs:attribute name="ids" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:all>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="adapter" type="xs:string" use="required"/>
- <xs:attribute name="definitionVersion" type="xs:positiveInteger" use="required"/>
- <xs:attribute name="adapterVersion" type="xs:positiveInteger" use="required"/>
- <xs:attribute name="supportsDefaultDataFormatting" type="xs:boolean" default="true">
- <xs:annotation>
- <xs:documentation>Indicates whether dataFormat can be specified in the chart instance specification. Chart types that provide their own data formatting in their implementation or do not require default data formatting (e.g. boxplot, waterfall because of their pre-processing of data) should set this property to false.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:group name="BasicPropertyTypes">
- <xs:choice>
- <xs:element name="stringProperty">
- <xs:complexType>
- <xs:all>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- </xs:all>
- <xs:attributeGroup ref="CommonPropertyAttributes"/>
- <xs:attribute name="default" type="xs:string"/>
- <xs:attributeGroup ref="PropertyRequiredAttribute"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="integerProperty">
- <xs:complexType>
- <xs:all>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- </xs:all>
- <xs:attributeGroup ref="CommonPropertyAttributes"/>
- <xs:attribute name="default" type="xs:integer"/>
- <xs:attributeGroup ref="PropertyRequiredAttribute"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="decimalProperty">
- <xs:complexType>
- <xs:all>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- </xs:all>
- <xs:attributeGroup ref="CommonPropertyAttributes"/>
- <xs:attribute name="default" type="xs:decimal"/>
- <xs:attributeGroup ref="PropertyRequiredAttribute"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="booleanProperty">
- <xs:complexType>
- <xs:all>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- </xs:all>
- <xs:attributeGroup ref="CommonPropertyAttributes"/>
- <xs:attributeGroup ref="PropertyRequiredAttribute"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="enumProperty">
- <xs:complexType>
- <xs:all>
- <xs:element name="enumValues">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="enumValue" maxOccurs="unbounded">
- <xs:complexType>
- <xs:all>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="value" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="default" type="xs:string" use="required"/>
- <xs:attributeGroup ref="CommonPropertyAttributes"/>
- </xs:complexType>
- <xs:unique name="enumValueUniqueness">
- <xs:selector xpath="*"/>
- <xs:field xpath="@value"/>
- </xs:unique>
- </xs:element>
- </xs:choice>
- </xs:group>
- <xs:element name="properties">
- <xs:complexType>
- <xs:sequence>
- <xs:choice maxOccurs="unbounded">
- <xs:group ref="BasicPropertyTypes"/>
- <xs:element name="propertiesGroup">
- <xs:complexType>
- <xs:all>
- <xs:element ref="properties"/>
- <xs:element ref="label" minOccurs="0"/>
- <xs:element ref="description" minOccurs="0"/>
- <xs:element ref="tooltip" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="name" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
- <xs:unique name="chartTypePropertyUniqueness">
- <xs:selector xpath=".//*"/>
- <xs:field xpath="@name"/>
- </xs:unique>
- </xs:element>
- <xs:element name="categoryFieldRef">
- <xs:complexType>
- <xs:attribute name="ref" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="PropertyRequiredAttribute">
- <xs:attribute name="required" type="xs:boolean" default="true"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="CommonPropertyAttributes">
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="outputType" default="all">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="all"/>
- <xs:enumeration value="static"/>
- <xs:enumeration value="javascript"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:attributeGroup>
- <xs:simpleType name="TextType">
- <xs:annotation>
- <xs:documentation>A simple text type that preserves whitespace</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="preserve"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:element name="label">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="TextType">
- <xs:attribute name="ids" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="description">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="TextType">
- <xs:attribute name="ids" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="tooltip">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="TextType">
- <xs:attribute name="ids" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="icon16x16">
- <xs:annotation>
- <xs:documentation>Icon (16x16) pixels to represent the element. </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="TextType">
- <xs:attribute name="ids" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:schema>
|