blob: 9dd6b703f0290ef27c853e5a2dfe6e52858625f9 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--***********************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
***********************************************************-->
<!---->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="urn:oasis:names:tc:opendocument:xmlns:report:1.0"
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
xmlns:rpt="urn:oasis:names:tc:opendocument:xmlns:report:1.0"
xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
xmlns:xforms="http://www.w3.org/2002/xforms"
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
xmlns:ns1="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
xmlns:math="http://www.w3.org/1998/Math/MathML"
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="dc.xsd"/>
<xs:import namespace="http://www.w3.org/1998/Math/MathML" schemaLocation="math.xsd"/>
<xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/>
<xs:import namespace="http://www.w3.org/2002/xforms" schemaLocation="xforms.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" schemaLocation="anim.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" schemaLocation="chart.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:config:1.0" schemaLocation="config.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" schemaLocation="ns1.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" schemaLocation="dr3d.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" schemaLocation="draw.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:form:1.0" schemaLocation="form.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" schemaLocation="meta.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:office:1.0" schemaLocation="office.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" schemaLocation="presentation.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:script:1.0" schemaLocation="script.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" schemaLocation="smil.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:style:1.0" schemaLocation="style.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" schemaLocation="svg.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:table:1.0" schemaLocation="table.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:text:1.0" schemaLocation="OpenDocument-schema-v1.0-os.xsd"/>
<xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" schemaLocation="fo.xsd"/>
<xs:attributeGroup name="office-report-attlist">
<xs:attribute name="command-type" default="command" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="table"/>
<xs:enumeration value="query"/>
<xs:enumeration value="command"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="command" form="qualified" type="text:string"/>
<xs:attribute name="escape-processing" default="true" form="qualified" type="text:boolean"/>
<xs:attribute name="filter" form="qualified" type="text:string"/>
<xs:attribute name="caption" form="qualified" type="text:string"/>
</xs:attributeGroup>
<xs:element name="report-component">
<xs:complexType>
<xs:attributeGroup ref="text:common-draw-name-attlist"/>
</xs:complexType>
</xs:element>
<xs:element name="group">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="rpt:function"/>
<xs:element minOccurs="0" ref="rpt:group-header"/>
<xs:choice>
<xs:element ref="rpt:group"/>
<xs:element ref="rpt:detail"/>
</xs:choice>
<xs:element minOccurs="0" ref="rpt:group-footer"/>
</xs:sequence>
<xs:attributeGroup ref="rpt:rpt-group-attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="rpt-group-attlist">
<xs:attribute name="sort-ascending" use="required" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="start-new-column" default="false" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="reset-page-number" default="false" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="print-header-on-each-page" default="false" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="group-expression" use="required" form="qualified" type="text:string"/>
<xs:attribute name="keep-together" default="no" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="no"/>
<xs:enumeration value="whole-group"/>
<xs:enumeration value="with-first-detail"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="group-header">
<xs:complexType>
<xs:sequence>
<xs:element ref="table:table"/>
</xs:sequence>
<xs:attributeGroup ref="rpt:rpt-group-section-attlist"/>
</xs:complexType>
</xs:element>
<xs:element name="group-footer">
<xs:complexType>
<xs:sequence>
<xs:element ref="table:table"/>
</xs:sequence>
<xs:attributeGroup ref="rpt:rpt-group-section-attlist"/>
</xs:complexType>
</xs:element>
<xs:element name="report-header">
<xs:complexType>
<xs:sequence>
<xs:element ref="table:table"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="page-header">
<xs:complexType>
<xs:sequence>
<xs:element ref="table:table"/>
</xs:sequence>
<xs:attributeGroup ref="rpt:rpt-page-attlist"/>
</xs:complexType>
</xs:element>
<xs:element name="column-header">
<xs:complexType>
<xs:sequence>
<xs:element ref="table:table"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="detail">
<xs:complexType>
<xs:sequence>
<xs:element ref="table:table"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="column-footer">
<xs:complexType>
<xs:sequence>
<xs:element ref="table:table"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="page-footer">
<xs:complexType>
<xs:sequence>
<xs:element ref="table:table"/>
</xs:sequence>
<xs:attributeGroup ref="rpt:rpt-page-attlist"/>
</xs:complexType>
</xs:element>
<xs:element name="report-footer">
<xs:complexType>
<xs:sequence>
<xs:element ref="table:table"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="rpt-page-attlist">
<xs:attribute name="page-print-option" default="all-pages" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="all-pages"/>
<xs:enumeration value="not-with-report-header"/>
<xs:enumeration value="not-with-report-footer"/>
<xs:enumeration value="not-with-report-header-nor-footer"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="rpt-section-attlist">
<xs:attribute name="visible" default="true" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="force-new-page" default="none" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="none"/>
<xs:enumeration value="before-section"/>
<xs:enumeration value="after-section"/>
<xs:enumeration value="before-after-section"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="new-row-or-column" default="none" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="none"/>
<xs:enumeration value="before-section"/>
<xs:enumeration value="after-section"/>
<xs:enumeration value="before-after-section"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="keep-together" default="false" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="rpt-group-section-attlist">
<xs:attribute name="repeat-section" default="false" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="sub-document">
<xs:complexType>
<xs:sequence>
<xs:group ref="rpt:report-master-detail-fields"/>
<xs:element ref="rpt:report-element"/>
<xs:choice minOccurs="0">
<xs:element ref="office:document"/>
<xs:element ref="math:math"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="rpt:report-sub-document-attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="report-sub-document-attlist">
<xs:attribute ref="xlink:href"/>
<xs:attribute ref="xlink:type"/>
<xs:attributeGroup ref="xlink:show"/>
<xs:attributeGroup ref="xlink:actuate"/>
</xs:attributeGroup>
<xs:group name="report-master-detail-fields">
<xs:sequence>
<xs:element minOccurs="0" ref="rpt:master-detail-fields"/>
</xs:sequence>
</xs:group>
<xs:element name="master-detail-fields">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="rpt:master-detail-field"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="master-detail-field">
<xs:complexType>
<xs:attribute name="master" use="required" form="qualified" type="text:string"/>
<xs:attribute name="detail" form="qualified" type="text:string"/>
</xs:complexType>
</xs:element>
<xs:element name="function">
<xs:complexType>
<xs:attribute name="formula" use="required" form="qualified" type="text:formula"/>
<xs:attribute name="name" use="required" form="qualified" type="text:string"/>
<xs:attribute name="pre-evaluated" use="required" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="report-element">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="rpt:conditional-print-expression"/>
<xs:element minOccurs="0" ref="rpt:report-component"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="rpt:format-condition"/>
</xs:sequence>
<xs:attributeGroup ref="rpt:rpt-report-element-attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="rpt-report-element-attlist">
<xs:attribute name="print-when-group-change" default="false" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="print-repeated-values" default="true" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="conditional-print-expression" type="xs:string"/>
<xs:element name="format-condition">
<xs:complexType>
<xs:attributeGroup ref="rpt:rpt-format-condition-attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="rpt-format-condition-attlist">
<xs:attribute name="enabled" default="false" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="formula" form="qualified" type="text:formula"/>
</xs:attributeGroup>
<xs:element name="fixed-content">
<xs:complexType>
<xs:sequence>
<xs:element ref="rpt:report-element"/>
<xs:element ref="text:p"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="formatted-text">
<xs:complexType>
<xs:sequence>
<xs:element ref="rpt:report-element"/>
<xs:group ref="text:common-form-control-content"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="rpt-formatted-text-attlist">
<xs:attributeGroup ref="text:common-data-field-attlist"/>
</xs:attributeGroup>
<xs:element name="image">
<xs:complexType>
<xs:sequence>
<xs:element ref="rpt:report-element"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="rpt-image-attlist">
<xs:attributeGroup ref="text:common-data-field-attlist"/>
<xs:attributeGroup ref="text:image-data"/>
<xs:attribute name="scale" use="required" form="qualified">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
</xs:schema>