OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Proposal for representation of business charts


Sorry for the late post right before calling....

This is the file format that KChart uses (described with an XML schema).
Not everything has comments yet, the author is working on it (he added all
the existing comments today, at my request :)

-- 
David FAURE, faure@kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
Qtella users - stability patches at http://blackie.dk/~dfaure/qtella.html
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by Matthias Kalle Dalheimer (Klarälvdalens Datakonsult AB) -->
<!--W3C Schema generated by XML Spy v3.5 NT (http://www.xmlspy.com)-->
<xsd:schema targetNamespace="http://www.klaralvdalens-datakonsult.se/kdchart" xmlns:kdch="http://www.klaralvdalens-datakonsult.se/kdchart" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns:qt="http://www.klaralvdalens-datakonsult.se/qt" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xsd:import namespace="http://www.klaralvdalens-datakonsult.se/qt" schemaLocation="qttypes.xsd"/>
    <!-- all parameters are stored in the ChartParams element -->
    <xsd:element name="ChartParams">
        <xsd:complexType>
            <xsd:sequence>
                <!-- GENERAL NOTE: All types starting with "kdch:" are declared further below in this document.
                     =============
                     NOTE on sizes/width: Negative numbers indicate relative size to be adjusted to changing
                     -------------------- size of the chart data area. -->
                <xsd:element ref="kdch:ChartType"/>
                <xsd:element ref="kdch:NumValues"/>
                <xsd:element ref="kdch:ModeAndChartMap"/>
                <!-- Whether the chart uses special source mode settings different from the default -->
                <xsd:element name="ChartSourceModeWasUsed" type="xsd:boolean"/>
                <!-- The highest dataset number for which a SourceMode has been
                    defined. Note that if you define a value for a dataset but not for a
                    dataset with a lower number (and there is neither a default value), the
                    source mode for that dataset with the lower number will be undefined. -->
                <xsd:element name="MaxDatasetSourceMode" type="xsd:int"/>
                <xsd:element name="ColorSettings">
                    <xsd:complexType>
                        <xsd:sequence>
                            <!-- The color of the data representations (e.g. of the bars) per dataset.
                                Note: This color may be overridden by individual cell specific properties. -->
                            <xsd:element name="DataColors" type="kdch:ColorMapType"/>
                            <!-- The number of DataColor entries - 1: if more datasets are there
                                the colors defined will be reused...
                                predefined colorsets have 12, 16 or 18, resp. numbers of colors -->
                            <xsd:element name="MaxDatasetColor" type="xsd:int"/>
                            <!-- Degree of brightness or darkness to be applied to the shaded side of data
                                representations in 3-dimensional look (e.g. 3D bars) -->
                            <xsd:element name="ShadowBrightnessFactor" type="xsd:double"/>
                            <!-- BrushStyle to be used for shaded sides of data representations. -->
                            <xsd:element name="ShadowPattern" type="qt:BrushStyle"/>
                            <!-- Whether shaded sided shall use a darkened color or not. -->
                            <xsd:element name="ThreeDShadowColors" type="xsd:boolean"/>
                            <!-- Colors corresponding to the DataColors: to be used for shaded sided.
                                Note: The user normally doesn't set these, but they are computed automatically. -->
                            <xsd:element name="DataColorsShadow1" type="kdch:ColorMapType"/>
                            <xsd:element name="DataColorsShadow2" type="kdch:ColorMapType"/>
                            <!-- Colors corresponding to the DataColors: to be used for outline of
                                data representations (e.g. the bar outline or the outline of a line in 3D look). -->
                            <xsd:element name="OutlineDataColor" type="kdch:ColorType"/>
                            <xsd:element name="OutlineDataLineWidth" type="xsd:int"/>
                            <xsd:element name="OutlineDataLineStyle" type="qt:PenStyle"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="BarSettings">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="SubType">
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="BarNormal"/>
                                        <xsd:enumeration value="BarStacked"/>
                                        <xsd:enumeration value="BarPercent"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="ThreeDBars" type="xsd:boolean"/>
                            <xsd:element name="ThreeDBarDepth" type="xsd:double"/>
                            <!-- Stores the width of the gap between two datasets (== e.g. inside a group of bars) -->
                            <xsd:element name="DatasetGap" type="xsd:int"/>
                            <!-- Stores whether the width of the gap between two datasets shall be adjusted to changing chart width -->
                            <xsd:element name="DatasetGapIsRelative" type="xsd:boolean"/>
                            <!-- Stores the width of the gaps inside of a value block datasets (== e.g. between two groups of bars) -->
                            <xsd:element name="ValueBlockGap" type="xsd:int"/>
                            <xsd:element name="ValueBlockGapIsRelative" type="xsd:boolean"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="LineSettings">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="SubType">
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="LineNormal"/>
                                        <xsd:enumeration value="LineStacked"/>
                                        <xsd:enumeration value="LinePercent"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <!-- Stores whether point markers are to be drawn onto the line. -->
                            <xsd:element name="Marker" type="xsd:boolean"/>
                            <xsd:element name="MarkerStyle" minOccurs="0" maxOccurs="unbounded">
                                <xsd:complexType>
                                    <xsd:attribute name="Dataset" type="xsd:int"/>
                                    <xsd:attribute name="Style">
                                        <xsd:simpleType>
                                            <xsd:restriction base="xsd:NMTOKEN">
                                                <!-- a circle filled and surrounded by the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Circle"/>
                                                <!-- a square filled and surrounded by the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Square"/>
                                                <!-- a diamond filled and surrounded by the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Diamond"/>
                                                <!-- micro marker: just 1 pixel.  Usefull if your lines are hidden and many points are shown. -->
                                                <xsd:enumeration value="one Pixel"/>
                                                <!-- a square or 2x2 pixels -->
                                                <xsd:enumeration value="four Pixels"/>
                                                <!-- an empty ring in the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Ring"/>
                                                <!-- an cross-like symbol of two lines in the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Cross"/>
                                            </xsd:restriction>
                                        </xsd:simpleType>
                                    </xsd:attribute>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element name="MarkerSize">
                                <xsd:complexType>
                                    <xsd:attribute name="Width" type="xsd:int"/>
                                    <xsd:attribute name="Height" type="xsd:int"/>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element name="LineWidth" type="xsd:int"/>
                            <xsd:element name="ThreeD" type="xsd:boolean"/>
                            <xsd:element name="ThreeDDepth" type="xsd:int"/>
                            <xsd:element name="ThreeDXRotation" type="xsd:int"/>
                            <xsd:element name="ThreeDYRotation" type="xsd:int"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="AreaSettings">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="SubType">
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="AreaNormal"/>
                                        <xsd:enumeration value="AreaStacked"/>
                                        <xsd:enumeration value="AreaPercent"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="Location">
                                <xsd:simpleType>
                                    <!-- Area charts can show the areas on top of each other or below each other.
                                        The later means drawing starts at the top edge of the chart area and white space
                                        will be left near the chart's bottom. -->
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="Above"/>
                                        <xsd:enumeration value="Below"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="PieRingSettings">
                    <xsd:complexType>
                        <xsd:sequence>
                            <!-- Exploded segments use a general explode factor to determine how far away they are from
                                their default (== not exploded) position, unless there is a specific exlpode factor
                                defined for an element: these specific factors are stored in the Explodefactors map.
                                Note: This schema enables you to explode some segments using a default factor but
                                    explode one (or a few) other one(s) in a different way using the specifc map. -->
                            <xsd:element name="Explode" type="xsd:boolean"/>
                            <xsd:element name="DefaultExplodeFactor" type="xsd:double"/>
                            <xsd:element name="ExplodeFactors" type="kdch:DoubleMapType"/>
                            <xsd:element name="ExplodeSegment" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/>
                            <xsd:element name="ThreeDPies" type="xsd:boolean"/>
                            <xsd:element name="ThreeDPieHeight" type="xsd:int"/>
                            <!-- Degree at which the first pie starts, default is 0 -->
                            <xsd:element name="PieStart" type="xsd:int"/>
                            <xsd:element name="RingStart" type="xsd:int"/>
                            <!-- Wheter ring charts show different ring widths depending on the percentage of the
                                respective rings's total value compared to the total value of ALL rings' segments. -->
                            <xsd:element name="RelativeRingThickness" type="xsd:boolean"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="HiLoSettings">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="SubType">
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="HiLoSimple"/>
                                        <xsd:enumeration value="HiLoClose"/>
                                        <xsd:enumeration value="HiLoOpenClose"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <!-- The different figures shown at each High/Low chart item may be shown/hidden independently from
                                each other - either using the same font+color settings or different ones. -->
                            <xsd:element name="PrintLowValues" type="xsd:boolean"/>
                            <xsd:element name="LowValuesFont" type="kdch:ChartFontType"/>
                            <xsd:element name="LowValuesColor" type="kdch:ColorType"/>
                            <xsd:element name="PrintHighValues" type="xsd:boolean"/>
                            <xsd:element name="HighValuesFont" type="kdch:ChartFontType"/>
                            <xsd:element name="HighValuesColor" type="kdch:ColorType"/>
                            <xsd:element name="PrintOpenValues" type="xsd:boolean"/>
                            <xsd:element name="OpenValuesFont" type="kdch:ChartFontType"/>
                            <xsd:element name="OpenValuesColor" type="kdch:ColorType"/>
                            <xsd:element name="PrintCloseValues" type="xsd:boolean"/>
                            <xsd:element name="CloseValuesFont" type="kdch:ChartFontType"/>
                            <xsd:element name="CloseValuesColor" type="kdch:ColorType"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="PolarSettings">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="SubType">
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="PolarNormal"/>
                                        <xsd:enumeration value="PolarStacked"/>
                                        <xsd:enumeration value="PolarPercent"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="Marker" type="xsd:boolean"/>
                            <xsd:element name="MarkerStyle" minOccurs="0" maxOccurs="unbounded">
                                <xsd:complexType>
                                    <xsd:attribute name="Dataset" type="xsd:int"/>
                                    <xsd:attribute name="Style">
                                        <xsd:simpleType>
                                            <xsd:restriction base="xsd:NMTOKEN">
                                                <!-- a circle filled and surrounded by the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Circle"/>
                                                <!-- a square filled and surrounded by the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Square"/>
                                                <!-- a diamond filled and surrounded by the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Diamond"/>
                                                <!-- micro marker: just 1 pixel.  Usefull if your lines are hidden and many points are shown. -->
                                                <xsd:enumeration value="one Pixel"/>
                                                <!-- a square or 2x2 pixels -->
                                                <xsd:enumeration value="four Pixels"/>
                                                <!-- an empty ring in the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Ring"/>
                                                <!-- an cross-like symbol of two lines in the respective dataset's color, may use relative size -->
                                                <xsd:enumeration value="Cross"/>
                                            </xsd:restriction>
                                        </xsd:simpleType>
                                    </xsd:attribute>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element name="MarkerSize">
                                <!-- Use this for all marker types expect "one Pixel" and "four Pixels" -->
                                <xsd:complexType>
                                    <!-- negative numbers indicate relative size -->
                                    <xsd:attribute name="Width" type="xsd:int"/>
                                    <xsd:attribute name="Height" type="xsd:int"/>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element name="PolarLineWidth" type="xsd:int"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="LegendSettings">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="Position">
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <!-- No legend is displayed. -->
                                        <xsd:enumeration value="NoLegend"/>
                                        <!-- The legend
                                is horizontally centered above the
                                axes and data area which make room for
                                it to the bottom. -->
                                        <xsd:enumeration value="Top"/>
                                        <!-- The legend is horizontally centered below
                                the axes and data area which make room
                                for it to the top. -->
                                        <xsd:enumeration value="Bottom"/>
                                        <!-- The legend
                                            is vertically centered at the left of
                                            the axes and data area which make room
                                            for it to the right. -->
                                        <xsd:enumeration value="Left"/>
                                        <!-- The legend is vertically centered at the
                                            right of the axes and data area which
                                            make room for it to the left. -->
                                        <xsd:enumeration value="Right"/>
                                        <!-- The legend is near the upper left corner
                                            of the axes and data area which make
                                            room to the bottom and to the right. -->
                                        <xsd:enumeration value="TopLeft"/>
                                        <!-- The legend is near the upper left corner
                                            of the axes and data area which make
                                            room to the bottom only. -->
                                        <xsd:enumeration value="TopLeftTop"/>
                                        <!-- The legend is near the upper left corner
                                            of the axes and data area which make
                                            room to the right only. -->
                                        <xsd:enumeration value="TopLeftLeft"/>
                                        <!-- The legend is near the upper right corner
                                            of the axes and data area which make
                                            room to the bottom and to the left. -->
                                        <xsd:enumeration value="TopRight"/>
                                        <!-- The legend is near the upper right corner
                                            of the axes and data area which make
                                            room to the bottom only. -->
                                        <xsd:enumeration value="TopRightTop"/>
                                        <!-- The legend is near the upper right
                                            corner of the axes and data area which
                                            make room to the left only. -->
                                        <xsd:enumeration value="TopRightRight"/>
                                        <!-- The legend is near the lower left corner
                                            of the axes and data area which make
                                            room to the top and to the right. -->
                                        <xsd:enumeration value="BottomLeft"/>
                                        <!-- The legend is near the lower left corner
                                            of the axes and data area which make
                                            room to the top only. -->
                                        <xsd:enumeration value="BottomLeftBottom"/>
                                        <!-- The legend is near the lower left corner
                                            of the axes and data area which make
                                            room to the right only. -->
                                        <xsd:enumeration value="BottomLeftLeft"/>
                                        <!-- The legend is near the lower right corner
                                            of the axes and data area which make
                                            room to the top and to the left. -->
                                        <xsd:enumeration value="BottomRight"/>
                                        <!-- The legend is near the lower right
                                            corner of the axes and data area which
                                            make room to the top only. -->
                                        <xsd:enumeration value="BottomRightBottom"/>
                                        <!-- The legend is near the lower right
                                            corner of the axes and data area which
                                            make room to the left only. -->
                                        <xsd:enumeration value="BottomRightRight"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="Source">
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <!-- The legend texts are specified via setLegendText() -->
                                        <xsd:enumeration value="Manual"/>
                                        <!-- The values stored in the first
                                            column of every row
                                            (== first cell of every dataset) will be used. -->
                                        <xsd:enumeration value="FirstColumn"/>
                                        <!-- First try to use values from
                                            the first column, if there are no string values
                                            there, try to use values set manually, and
                                            finally if there are no values set manually
                                            either, resolve to standard texts like
                                            "Series1", "Series2",...   (Automatic mode is the default). -->
                                        <xsd:enumeration value="Automatic"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="Text" minOccurs="0" maxOccurs="unbounded">
                                <!-- Use these texts if legend mode is Manual. -->
                                <xsd:complexType>
                                    <xsd:attribute name="Dataset" type="xsd:int" use="required"/>
                                    <xsd:attribute name="Text" type="xsd:string" use="required"/>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element name="TextColor" type="kdch:ColorType"/>
                            <xsd:element name="TextFont" type="kdch:ChartFontType"/>
                            <xsd:element name="TitleText" type="xsd:string"/>
                            <xsd:element name="TitleColor" type="kdch:ColorType"/>
                            <xsd:element name="TitleFont" type="kdch:ChartFontType"/>
                            <xsd:element name="Spacing" type="xsd:int"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="AxisSettings" minOccurs="0" maxOccurs="13">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="Type">
                                <xsd:simpleType>
                                    <!-- In which direction does the axis run. -->
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="Unknown"/>
                                        <xsd:enumeration value="East"/>
                                        <xsd:enumeration value="North"/>
                                        <xsd:enumeration value="Up"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="Visible" type="xsd:boolean"/>
                            <xsd:element name="LabelsTouchEdges" type="xsd:boolean"/>
                            <xsd:element name="AreaMode">
                                <xsd:simpleType>
                                    <!-- How to calculate the size of the axis area. -->
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="FixedSize"/>
                                        <xsd:enumeration value="AutoSize"/>
                                        <xsd:enumeration value="MinMaxSize"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <!-- min/max size of the axis area: for bottom (or top, resp.) axes this is
                                the height of the area, for left (or right, resp.) axes it is its width -->
                            <xsd:element name="AreaMin" type="xsd:int"/>
                            <xsd:element name="AreaMax" type="xsd:int"/>
                            <xsd:element name="CalcMode">
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="Linear"/>
                                        <xsd:enumeration value="Logarithmic"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <!-- layout info: the actual width (or height, resp.) of the axis area -->
                            <xsd:element name="TrueAreaSize" type="xsd:int"/>
                            <!-- layout info: the actual rect of the axis area -->
                            <xsd:element name="TrueAreaRect" type="kdch:RectType"/>
                            <xsd:element name="ShowSubDelimiters" type="xsd:boolean"/>
                            <xsd:element name="LineVisible" type="xsd:boolean"/>
                            <xsd:element name="LineWidth" type="xsd:int"/>
                            <!-- layout info: the actual line width used for this axis -->
                            <xsd:element name="TrueLineWidth" type="xsd:int"/>
                            <xsd:element name="LineColor" type="kdch:ColorType"/>
                            <!-- Whether this axis's gris shall be shown: left/right axes control the
                                horizontal grid lines, while top/bottom axes control the vertical grid lines. -->
                            <xsd:element name="ShowGrid" type="xsd:boolean"/>
                            <xsd:element name="GridColor" type="kdch:ColorType"/>
                            <xsd:element name="GridLineWidth" type="xsd:int"/>
                            <xsd:element name="GridStyle" type="qt:PenStyle"/>
                            <xsd:element name="GridSubStyle" type="qt:PenStyle"/>
                            <xsd:element name="ZeroLineColor" type="kdch:ColorType"/>
                            <!-- axis labels == the texts written at the delimiter ticks -->
                            <xsd:element name="LabelsVisible" type="xsd:boolean"/>
                            <xsd:element name="LabelsFont" type="kdch:ChartFontType"/>
                            <xsd:element name="LabelsDontShrinkFont" type="xsd:boolean"/>
                            <xsd:element name="LabelsColor" type="kdch:ColorType"/>
                            <!-- Whether the axis labels shall be computed based upon the cell data values. -->
                            <xsd:element name="SteadyValueCalc" type="xsd:boolean"/>
                            <!-- Start/End values the axis should use instead of the cell data values ranges. -->
                            <xsd:element name="ValueStart">
                                <xsd:complexType>
                                    <xsd:attribute name="DoubleValue" type="xsd:double" use="optional"/>
                                    <xsd:attribute name="StringValue" type="xsd:string" use="optional"/>
                                    <xsd:attribute name="NoValue" type="xsd:binary" use="optional"/>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element name="ValueEnd">
                                <xsd:complexType>
                                    <xsd:attribute name="DoubleValue" type="xsd:double" use="optional"/>
                                    <xsd:attribute name="StringValue" type="xsd:string" use="optional"/>
                                    <xsd:attribute name="NoValue" type="xsd:binary" use="optional"/>
                                </xsd:complexType>
                            </xsd:element>
                            <!-- Step width from one axis label to the next one. -->
                            <xsd:element name="ValueDelta" type="xsd:double"/>
                            <!-- layout information -->
                            <xsd:element name="TrueLow" type="xsd:double"/>
                            <xsd:element name="TrueHigh" type="xsd:double"/>
                            <xsd:element name="TrueDelta" type="xsd:double"/>
                            <xsd:element name="ZeroLineStart">
                                <xsd:complexType>
                                    <xsd:attribute name="X" type="xsd:double"/>
                                    <xsd:attribute name="Y" type="xsd:double"/>
                                </xsd:complexType>
                            </xsd:element>
                            <!-- for axis labels: Number of digits to be shown behind the comma. -->
                            <xsd:element name="DigitsBehindComma" type="xsd:int"/>
                            <!-- The percentage of the y-axis range that may to contain NO data entries,
                                if - and only if - axisValueStart (or axisValueEnd, resp.) is set to
                                AXIS_LABELS_AUTO_LIMIT.
                                To prevent setAxisValues from changing the current setting you may specify
                                DONT_CHANGE_EMPTY_INNER_SPAN_NOW here, to deactivate taking into account
                                the inner span entirely just use AXIS_IGNORE_EMPTY_INNER_SPAN.-->
                            <xsd:element name="MaxEmptyInnerSpan" type="xsd:int"/>
                            <xsd:element name="LabelsFromDataRow">
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="Yes"/>
                                        <xsd:enumeration value="No"/>
                                        <xsd:enumeration value="Guess"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="TextsDataRow" type="xsd:int"/>
                            <!-- Axis labels given by the user in one or two stringlists -->
                            <xsd:element name="LabelString" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
                            <!-- These strings to be used if not enough space is there to display the long label strings. -->
                            <xsd:element name="ShortLabelString" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
                            <!-- layout information: axis labels as they were actually drawn. -->
                            <xsd:element name="LabelTexts" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
                            <!-- layout information -->
                            <xsd:element name="LabelTextsDirty" type="xsd:boolean"/>
                        </xsd:sequence>
                        <!-- the first dataset holding cells to be represented by this axis -->
                        <xsd:attribute name="Dataset" type="xsd:unsignedInt" use="required"/>
                        <!-- the last dataset holding cells to be represented by this axis -->
                        <xsd:attribute name="Dataset2" type="xsd:unsignedInt" use="required"/>
                        <!-- the chart to be represented by this axis: used if more than one chart
                            is shown in the same chart data area, e.g. when displaying a line
                            chart and a bar chart together (drawing the lines over the bars)
                            Then you might use the left axis for the bars and the right axis for the lines... -->
                        <xsd:attribute name="Chart" type="xsd:unsignedInt" use="required"/>
                    </xsd:complexType>
                </xsd:element>
                <!-- List of texts+colors defined for all header/footer areas.

                    the following Hd/Ft areas exist:

                    HdFtPosHeader0   - leading header (at the very top of the printable area)
                    HdFtPosHeader0L  - another leading header, by default left-aligned
                    HdFtPosHeader0R  - yet another leading header, by default right-aligned

                    HdFtPosHeader    - main header (below the leading header)
                    HdFtPosHeaderL   - another main header, by default left-aligned
                    HdFtPosHeaderR   - yet another main header, by default right-aligned

                    HdFtPosHeader2   - additional header (below the main header)
                    HdFtPosHeader2L  - another additional header, by default left-aligned
                    HdFtPosHeader2R  - yet another additional header, by default right-aligned

                    HdFtPosFooter    - main footer (below the data area or the bottom legend (if any), resp.)
                    HdFtPosFooterL   - another main footer, by default left-aligned
                    HdFtPosFooterR   - yet another main footer, by default right-aligned

                    HdFtPosFooter2   - additional footer (below the main footer)
                    HdFtPosFooter2L  - another additional footer, by default left-aligned
                    HdFtPosFooter2R  - yet another additional footer, by default right-aligned

                    HdFtPosFooter0   - trailing footer (below the additional footer)
                    HdFtPosFooter0L  - another trailing footer, by default left-aligned
                    HdFtPosFooter0R  - yet another trailing footer, by default right-aligned
                    -->
                <xsd:element name="HeaderFooterSettings" minOccurs="0" maxOccurs="18">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="Text" type="xsd:string"/>
                            <xsd:element name="Font" type="kdch:ChartFontType"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <!-- Gaps between the chart and the surrounding parts of the drawing area. -->
                <xsd:element name="GlobalLeading">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="Left" type="xsd:int"/>
                            <xsd:element name="Top" type="xsd:int"/>
                            <xsd:element name="Right" type="xsd:int"/>
                            <xsd:element name="Bottom" type="xsd:int"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="DataValuesSettings1" type="kdch:DataValuesSettingsType"/>
                <xsd:element name="DataValuesSettings2" type="kdch:DataValuesSettingsType"/>
                <xsd:element name="AreaMap" type="kdch:AreaMapType"/>
                <xsd:element name="CustomBoxMap" type="kdch:CustomBoxMapType"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ChartType">
        <xsd:complexType>
            <xsd:attribute name="primary" use="required">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="NoType"/>
                        <xsd:enumeration value="Bar"/>
                        <xsd:enumeration value="Line"/>
                        <xsd:enumeration value="Area"/>
                        <xsd:enumeration value="Pie"/>
                        <xsd:enumeration value="HiLo"/>
                        <xsd:enumeration value="Gantt"/>
                        <xsd:enumeration value="Ring"/>
                        <xsd:enumeration value="Polar"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
            <xsd:attribute name="secondary" use="optional">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="NoType"/>
                        <xsd:enumeration value="Bar"/>
                        <xsd:enumeration value="Line"/>
                        <xsd:enumeration value="Area"/>
                        <xsd:enumeration value="Pie"/>
                        <xsd:enumeration value="HiLo"/>
                        <xsd:enumeration value="Gantt"/>
                        <xsd:enumeration value="Ring"/>
                        <xsd:enumeration value="Polar"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ModeAndChart">
        <xsd:complexType>
            <!-- Stores whether a dataset is used to store data entries, axis labels or legend texts -->
            <xsd:attribute name="Mode" use="required">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="UnknownMode"/>
                        <xsd:enumeration value="DontUse"/>
                        <xsd:enumeration value="DataEntry"/>
                        <xsd:enumeration value="AxisLabel"/>
                        <xsd:enumeration value="LegendText"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
            <xsd:attribute name="Chart" type="xsd:int" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ModeAndChartMap">
        <!-- Stores the ModeAndChart for each of the datasets. -->
        <xsd:complexType>
            <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                <xsd:element name="Dataset" type="xsd:int"/>
                <xsd:element ref="kdch:ModeAndChart"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <!-- Stores how many of the values should be shown. -1 means all available values. -->
    <xsd:element name="NumValues" type="xsd:int"/>
    <xsd:complexType name="ColorMapType">
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="Dataset" type="xsd:int"/>
            <xsd:element name="Color" type="kdch:ColorType"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="DoubleMapType">
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="Value" type="xsd:int"/>
            <xsd:element name="Factor" type="xsd:double"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ColorType">
        <xsd:attribute name="Red" use="required">
            <xsd:simpleType>
                <xsd:restriction base="xsd:int">
                    <xsd:minInclusive value="0"/>
                    <xsd:maxInclusive value="255"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="Green" use="required">
            <xsd:simpleType>
                <xsd:restriction base="xsd:int">
                    <xsd:minInclusive value="0"/>
                    <xsd:maxInclusive value="255"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="Blue" use="required">
            <xsd:simpleType>
                <xsd:restriction base="xsd:int">
                    <xsd:minInclusive value="0"/>
                    <xsd:maxInclusive value="255"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
    </xsd:complexType>
    <xsd:complexType name="FontType">
        <xsd:sequence>
            <xsd:element name="Family" type="xsd:string"/>
            <xsd:element name="PointSize" type="xsd:int"/>
            <xsd:element name="Weight" type="xsd:int"/>
            <xsd:element name="Italic" type="xsd:boolean"/>
            <xsd:element name="CharSet" type="xsd:int"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ChartFontType">
        <xsd:sequence>
            <xsd:element name="Font" type="kdch:FontType"/>
            <xsd:element name="UseRelFontSize" type="xsd:boolean"/>
            <xsd:element name="RelFontSize" type="xsd:int"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="PositionFlag">
        <xsd:simpleType>
            <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="TopLeft"/>
                <xsd:enumeration value="TopCenter"/>
                <xsd:enumeration value="TopRight"/>
                <xsd:enumeration value="CenterLeft"/>
                <xsd:enumeration value="Center"/>
                <xsd:enumeration value="CenterRight"/>
                <xsd:enumeration value="BottomLeft"/>
                <xsd:enumeration value="BottomCenter"/>
                <xsd:enumeration value="BottomRight"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:complexType name="RectType">
        <xsd:sequence>
            <xsd:element name="X" type="xsd:int"/>
            <xsd:element name="Y" type="xsd:int"/>
            <xsd:element name="Width" type="xsd:int"/>
            <xsd:element name="Height" type="xsd:int"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ChartFrameSettingsType">
        <xsd:sequence>
            <xsd:element name="Frame" type="kdch:Frame"/>
            <xsd:element name="OuterGapX" type="xsd:int"/>
            <xsd:element name="OuterGapY" type="xsd:int"/>
            <xsd:element name="InnerGapX" type="xsd:int"/>
            <xsd:element name="InnerGapY" type="xsd:int"/>
            <xsd:element name="AddFrameWidthToLayout" type="xsd:boolean"/>
            <xsd:element name="AddFrameHeightToLayout" type="xsd:boolean"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Frame">
        <xsd:sequence>
            <xsd:element name="ShadowWidth" type="xsd:int"/>
            <xsd:element name="CornerName" type="kdch:CornerNameType"/>
            <xsd:element name="Background" type="kdch:BrushType"/>
            <xsd:element name="BackPixmap" type="kdch:PixmapType"/>
            <xsd:element name="BackPixmapMode" type="kdch:BackPixmapModeType"/>
            <xsd:element name="InnerRect" type="kdch:RectType"/>
            <xsd:element name="TopProfile" type="kdch:FrameProfile"/>
            <xsd:element name="RightProfile" type="kdch:FrameProfile"/>
            <xsd:element name="BottomProfile" type="kdch:FrameProfile"/>
            <xsd:element name="LeftProfile" type="kdch:FrameProfile"/>
            <xsd:element name="CornerTL" type="kdch:FrameCorner"/>
            <xsd:element name="CornerTR" type="kdch:FrameCorner"/>
            <xsd:element name="CornerBL" type="kdch:FrameCorner"/>
            <xsd:element name="CornerBR" type="kdch:FrameCorner"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="CornerNameType">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="TopLeft"/>
            <xsd:enumeration value="TopRight"/>
            <xsd:enumeration value="BottomLeft"/>
            <xsd:enumeration value="BottomRight"/>
            <xsd:enumeration value="UNKNOWN"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CornerStyleType">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="Normal"/>
            <xsd:enumeration value="Round"/>
            <xsd:enumeration value="Oblique"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="FrameProfileSection">
        <xsd:sequence>
            <xsd:element name="Direction" type="kdch:ProfileDirectionType"/>
            <xsd:element name="Curvature" type="kdch:ProfileCurvatureType"/>
            <xsd:element name="Width" type="xsd:int"/>
            <xsd:element name="Pen" type="kdch:PenType"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="ProfileDirectionType">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="Plain"/>
            <xsd:enumeration value="Raising"/>
            <xsd:enumeration value="Sinking"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ProfileCurvatureType">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="Plain"/>
            <xsd:enumeration value="Convex"/>
            <xsd:enumeration value="Concave"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="PenType">
        <xsd:sequence>
            <xsd:element name="Width" type="xsd:int"/>
            <xsd:element name="Color" type="kdch:ColorType"/>
            <xsd:element name="Style" type="qt:PenStyle"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="FrameProfile">
        <xsd:sequence>
            <xsd:element name="ProfileSection" type="kdch:FrameProfileSection" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="FrameCorner">
        <xsd:sequence>
            <xsd:element name="Style" type="kdch:CornerStyleType"/>
            <xsd:element name="Width" type="xsd:int"/>
            <xsd:element name="Profile" type="kdch:FrameProfile"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="AreaMapType">
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="Number" type="xsd:int"/>
            <xsd:element name="FrameSettings" type="kdch:ChartFrameSettingsType"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="BrushType">
        <xsd:sequence>
            <xsd:element name="Color" type="kdch:ColorType"/>
            <xsd:element name="Style" type="qt:BrushStyle"/>
            <xsd:element name="Pixmap" type="kdch:PixmapType"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ChartCustomBox" type="kdch:ChartCustomBoxType"/>
    <xsd:complexType name="CustomBoxMapType">
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="Number" type="xsd:int"/>
            <xsd:element name="CustomBox" type="kdch:ChartCustomBoxType"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="DataValuesSettingsType">
        <xsd:sequence>
            <xsd:element name="PrintDataValues" type="xsd:boolean"/>
            <xsd:element name="DivPow10" type="xsd:int"/>
            <xsd:element name="DigitsBehindComma" type="xsd:int"/>
            <xsd:element name="Font" type="kdch:ChartFontType"/>
            <xsd:element name="Color" type="kdch:ColorType"/>
            <xsd:element name="AutoColor" type="xsd:boolean"/>
            <xsd:element name="AnchorNegativePosition">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="TopLeft"/>
                        <xsd:enumeration value="TopCenter"/>
                        <xsd:enumeration value="TopRight"/>
                        <xsd:enumeration value="CenterLeft"/>
                        <xsd:enumeration value="Center"/>
                        <xsd:enumeration value="CenterRight"/>
                        <xsd:enumeration value="BottomLeft"/>
                        <xsd:enumeration value="BottomCenter"/>
                        <xsd:enumeration value="BottomRight"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="AnchorNegativeAlign" type="xsd:int"/>
            <xsd:element name="AnchorNegativeDeltaX" type="xsd:int"/>
            <xsd:element name="AnchorNegativeDeltaY" type="xsd:int"/>
            <xsd:element name="NegativeRotation" type="xsd:int"/>
            <xsd:element name="AnchorPositivePosition">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="TopLeft"/>
                        <xsd:enumeration value="TopCenter"/>
                        <xsd:enumeration value="TopRight"/>
                        <xsd:enumeration value="CenterLeft"/>
                        <xsd:enumeration value="Center"/>
                        <xsd:enumeration value="CenterRight"/>
                        <xsd:enumeration value="BottomLeft"/>
                        <xsd:enumeration value="BottomCenter"/>
                        <xsd:enumeration value="BottomRight"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="AnchorPositiveAlign" type="xsd:int"/>
            <xsd:element name="AnchorPositiveDeltaX" type="xsd:int"/>
            <xsd:element name="AnchorPositiveDeltaY" type="xsd:int"/>
            <xsd:element name="LayoutPolicy">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="JustOverwrite"/>
                        <xsd:enumeration value="Rotate"/>
                        <xsd:enumeration value="ShiftVertically"/>
                        <xsd:enumeration value="ShiftHorizontally"/>
                        <xsd:enumeration value="ShrinkFontSize"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ChartCustomBoxType">
        <xsd:sequence>
            <xsd:element name="ContentText" type="xsd:string"/>
            <xsd:element name="ContentFont" type="kdch:FontType"/>
            <xsd:element name="FontSize" type="xsd:int"/>
            <xsd:element name="FontScaleGlobal" type="xsd:boolean"/>
            <xsd:element name="DeltaX" type="xsd:int"/>
            <xsd:element name="DeltaY" type="xsd:int"/>
            <xsd:element name="Width" type="xsd:int"/>
            <xsd:element name="Height" type="xsd:int"/>
            <xsd:element name="Color" type="kdch:ColorType"/>
            <xsd:element name="Paper" type="kdch:BrushType"/>
            <xsd:element name="AnchorArea" type="xsd:int"/>
            <xsd:element name="AnchorPos">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="TopLeft"/>
                        <xsd:enumeration value="TopCenter"/>
                        <xsd:enumeration value="TopRight"/>
                        <xsd:enumeration value="CenterLeft"/>
                        <xsd:enumeration value="Center"/>
                        <xsd:enumeration value="CenterRight"/>
                        <xsd:enumeration value="BottomLeft"/>
                        <xsd:enumeration value="BottomCenter"/>
                        <xsd:enumeration value="BottomRight"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="AnchorAlign" type="xsd:int"/>
            <xsd:element name="DataRow" type="xsd:int"/>
            <xsd:element name="DataCol" type="xsd:int"/>
            <xsd:element name="Data3rd" type="xsd:int"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="BackPixmapModeType">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="Centered"/>
            <xsd:enumeration value="Scaled"/>
            <xsd:enumeration value="Stretched"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="PixmapType">
        <xsd:sequence>
            <xsd:element name="Format" type="xsd:string"/>
            <xsd:element name="Length" type="xsd:int"/>
            <xsd:element name="Data" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by Matthias Kalle Dalheimer (Klarälvdalens Datakonsult AB) -->
<xsd:schema targetNamespace="http://www.klaralvdalens-datakonsult.se/qt" xmlns="http://www.klaralvdalens-datakonsult.se/qt" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xsd:complexType name="PenStyle">
        <xsd:annotation>
            <xsd:documentation>The Qt type Qt::PenStyle</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="Style" use="required">
            <xsd:simpleType>
                <xsd:restriction base="xsd:NMTOKEN">
                    <xsd:enumeration value="NoPen"/>
                    <xsd:enumeration value="SolidLine"/>
                    <xsd:enumeration value="DashLine"/>
                    <xsd:enumeration value="DotLine"/>
                    <xsd:enumeration value="DashDotLine"/>
                    <xsd:enumeration value="DashDotDotLine"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
    </xsd:complexType>
    <xsd:complexType name="BrushStyle">
        <xsd:annotation>
            <xsd:documentation>The Qt type Qt::BrushStyle</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="Style">
            <xsd:simpleType>
                <xsd:restriction base="xsd:NMTOKEN">
                    <xsd:enumeration value="NoBrush"/>
                    <xsd:enumeration value="SolidPattern"/>
                    <xsd:enumeration value="Dense1Pattern"/>
                    <xsd:enumeration value="Dense2Pattern"/>
                    <xsd:enumeration value="Dense3Pattern"/>
                    <xsd:enumeration value="Dense4Pattern"/>
                    <xsd:enumeration value="Dense5Pattern"/>
                    <xsd:enumeration value="Dense6Pattern"/>
                    <xsd:enumeration value="Dense7Pattern"/>
                    <xsd:enumeration value="HorPattern"/>
                    <xsd:enumeration value="VerPattern"/>
                    <xsd:enumeration value="CrossPattern"/>
                    <xsd:enumeration value="BDiagPattern"/>
                    <xsd:enumeration value="FDiagPattern"/>
                    <xsd:enumeration value="CrossPattern"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
    </xsd:complexType>
</xsd:schema>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]