blob: 8c48aedaee1ed04e4dd47ddb2bbb803bad74819d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:simpleType name="AxisType">
<xsd:annotation>
<xsd:documentation>Axis type of a result set column.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="DimensionMember"/>
<xsd:enumeration value="DimensionAttribute"/>
<xsd:enumeration value="Measure"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ElementNullability">
<xsd:annotation>
<xsd:documentation>Indicates whether a data element's value can be null.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="Unknown"/>
<xsd:enumeration value="Nullable"/>
<xsd:enumeration value="NotNullable"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="HorizontalAlignment">
<xsd:annotation>
<xsd:documentation>Horizontal display alignment of the data value.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="Automatic"/>
<xsd:enumeration value="Left"/>
<xsd:enumeration value="Center"/>
<xsd:enumeration value="Right"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="InputPromptControlStyle">
<xsd:annotation>
<xsd:documentation>The style of UI control for prompting user to input a value.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="TextField"/>
<xsd:enumeration value="SelectableList"/>
<xsd:enumeration value="SelectableListWithTextField"/>
<xsd:enumeration value="CheckBox"/>
<xsd:enumeration value="RadioButton"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="OdaComplexDataType">
<xsd:annotation>
<xsd:documentation>ODA complex data types.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="Structure"/>
<xsd:enumeration value="Table"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="OdaScalarDataType">
<xsd:annotation>
<xsd:documentation>ODA scalar data types.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="Date"/>
<xsd:enumeration value="Double"/>
<xsd:enumeration value="Integer"/>
<xsd:enumeration value="String"/>
<xsd:enumeration value="Time"/>
<xsd:enumeration value="Timestamp"/>
<xsd:enumeration value="Decimal"/>
<xsd:enumeration value="Blob"/>
<xsd:enumeration value="Clob"/>
<xsd:enumeration value="Boolean"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ParameterMode">
<xsd:annotation>
<xsd:documentation>Indicates whether a parameter is of input and/or output mode.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="In"/>
<xsd:enumeration value="Out"/>
<xsd:enumeration value="InOut"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SessionStatus">
<xsd:annotation>
<xsd:documentation>Indicates to ODA host designer on how to proceed after an ODA design session exits.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="Ok"/>
<xsd:enumeration value="UserCancelled"/>
<xsd:enumeration value="LoginFailed"/>
<xsd:enumeration value="Error"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TextFormatType">
<xsd:annotation>
<xsd:documentation>The type of text content of the data column values, i.e. plain text, HTML or RTF. It provides a hint on the type of text control to use for displaying the data value, e.g. a Text Control vs. Dynamic Text Control.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="Plain"/>
<xsd:enumeration value="HTML"/>
<xsd:enumeration value="RTF"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TextWrapType">
<xsd:annotation>
<xsd:documentation>A hint on the type of text wrapping on the data column values. It could be in a single line (None), or word-wrapped (Word).</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="None"/>
<xsd:enumeration value="Word"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="AxisAttributes">
<xsd:annotation>
<xsd:documentation>Multi-dimensional attributes of a data element, such as a result set column.</xsd:documentation>
</xsd:annotation>
<xsd:attribute default="Measure" name="axisType" type="design:AxisType">
<xsd:annotation>
<xsd:documentation>The axis type of the data element. This provides hints to a consumer application on how the column should be used.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="true" name="onColumnLayout" type="xsd:string">
<xsd:annotation>
<xsd:documentation>A hint on how the dimension data element should be layout on column or row. It is normally used by presentation element such as a crosstab to design a default layout.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="AxisAttributes" type="design:AxisAttributes">
<xsd:annotation>
<xsd:documentation>Multi-dimensional attributes of a data element, such as a result set column.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ColumnDefinition">
<xsd:annotation>
<xsd:documentation>Definition of a result set column.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="attributes" type="design:DataElementAttributes"/>
<xsd:element maxOccurs="1" minOccurs="0" name="usageHints" type="design:OutputElementAttributes"/>
<xsd:element maxOccurs="1" minOccurs="0" name="multiDimensionAttributes" type="design:AxisAttributes">
<xsd:annotation>
<xsd:documentation>The attributes of a multi-dimensional data element.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ColumnDefinition" type="design:ColumnDefinition">
<xsd:annotation>
<xsd:documentation>Definition of a result set column.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataAccessDesign">
<xsd:annotation>
<xsd:documentation>The design of how to access a data set. Its model is a design tree that starts with a top-level dataSetDesign, which contains its corresponding dataSourceDesign. The top-level data set may contain nested data set designs.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="dataSetDesign" type="design:DataSetDesign"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DataAccessDesign" type="design:DataAccessDesign">
<xsd:annotation>
<xsd:documentation>The design of how to access a data set. Its model is a design tree that starts with a top-level dataSetDesign, which contains its corresponding dataSourceDesign. The top-level data set may contain nested data set designs.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataElementAttributes">
<xsd:annotation>
<xsd:documentation>Common attributes for a data element.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="uiHints" type="design:DataElementUIHints"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>A name that uniquely identifies this data element. If a data element can only be identified by position, this name may be empty.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="position" type="xsd:string">
<xsd:annotation>
<xsd:documentation>The 1-based index position (left-to-right order) within a collection of data elements. The position is defined per the underlying data source, and is not necessarily sequential. For example, a query may access 3 columns in a result set, but the data access design may choose to expose only column 2. In this case, only one column element with postion 2 is defined in the result set definition.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="0" name="nativeDataTypeCode" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Native data type code of the data element. If none or unknown value (0) is specified, the data element is mapped to an ODA String data type by default. The native type code value is implementation-specific to individual ODA driver, which must support its mapping to one or more ODA data types. The supported native-ODA data type mapping must be defined in the ODA extension's plugin.xml .</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="-1" name="precision" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Maximum number of decimal digits in a numeric value, or the length of a non-numeric value. A value of -1 indicates this attribute is not applicable.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="-1" name="scale" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Maximum number of digits to the right of the decimal point. A value of -1 indicates this attribute is not applicable.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="Unknown" name="nullability" type="design:ElementNullability"/>
</xsd:complexType>
<xsd:element name="DataElementAttributes" type="design:DataElementAttributes">
<xsd:annotation>
<xsd:documentation>Common attributes for a data element.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataElementUIHints">
<xsd:annotation>
<xsd:documentation>UI hints for a data element.</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="displayName" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Business name of the data element. Could be localized.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="description" type="xsd:string">
<xsd:annotation>
<xsd:documentation>More extensive description of the data element.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DataElementUIHints" type="design:DataElementUIHints">
<xsd:annotation>
<xsd:documentation>UI hints for a data element.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataSetDesign">
<xsd:annotation>
<xsd:documentation>A design-time data set definition.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="dataSourceDesign" type="design:DataSourceDesign">
<xsd:annotation>
<xsd:documentation>The instance of dataSourceDesign that supports this type of data set. Could be null, if nested within another dataSetDesign, to share the container's dataSourceDesign.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="query" type="design:DataSetQuery"/>
<xsd:element maxOccurs="1" minOccurs="0" name="publicProperties" type="design:Properties">
<xsd:annotation>
<xsd:documentation>Properties specific to the underlying data set query. Public property values can be visible and editable in the host designer.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="privateProperties" type="design:Properties">
<xsd:annotation>
<xsd:documentation>Private properties specific to the underlying data set query. Their definitions are private to the ODA designer, i.e. must not be visible nor editable by the host designer. The "private" nature only applies to the design-time behavior of an ODA host designer. At run-time, both public and private properties are combined and passed to the ODA runtime driver as a single set of runtime properties.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="resultSets" type="design:ResultSets"/>
<xsd:element maxOccurs="1" minOccurs="0" name="parameters" type="design:DataSetParameters"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>The unique name that identifies an instance of dataSetDesign.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="odaExtensionDataSetId" type="xsd:string">
<xsd:annotation>
<xsd:documentation>The dataSet element ID defined in an ODA extension plugin manifest. It identifies the type of data set design supported by the ODA extension. Optional if only one dataSet element is defined in the manifest.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="displayName" type="xsd:string"/>
<xsd:attribute name="primaryResultSetName" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Identifies the primary result set if more than one result sets are available, and can be identified by name. If results sets are identified by sequence, the first result set is the primary one.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DataSetDesign" type="design:DataSetDesign">
<xsd:annotation>
<xsd:documentation>A design-time data set definition.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataSetParameters">
<xsd:annotation>
<xsd:documentation>A collection of top-level parameters defined for a data set. If the metadata can be derived, i.e. can be obtained by an ODA driver in each design session, an ODA host designer is not required to include the derived metadata in the next design session request. An ODA designer may ignore such metadata in a Request.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="parameterDefinitions" type="design:ParameterDefinition"/>
</xsd:sequence>
<xsd:attribute default="true" name="derivedMetaData" type="xsd:string">
<xsd:annotation>
<xsd:documentation>If the metadata can be derived, i.e. can be obtained by an ODA driver in each design session, an ODA host designer is not required to include the derived metadata in the next design session request. An ODA designer may ignore such metadata in a Request.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DataSetParameters" type="design:DataSetParameters">
<xsd:annotation>
<xsd:documentation>A collection of top-level parameters defined for a data set. If the metadata can be derived, i.e. can be obtained by an ODA driver in each design session, an ODA host designer is not required to include the derived metadata in the next design session request. An ODA designer may ignore such metadata in a Request.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataSetQuery">
<xsd:annotation>
<xsd:documentation>Defines the query of a data set. Includes the query text, and any additional query spec. Future: may include a filterSpec for dynamicFiltering. </xsd:documentation>
</xsd:annotation>
<xsd:attribute name="queryText" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>The query command text to execute at runtime to retrieve data for this data set. Retrieved data could be for one or more result sets and/or output parameters, as defined in this data set design. The query syntax is specific to a data source; could be an empty string.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DataSetQuery" type="design:DataSetQuery">
<xsd:annotation>
<xsd:documentation>Defines the query of a data set. Includes the query text, and any additional query spec. Future: may include a filterSpec for dynamicFiltering. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataSourceDesign">
<xsd:annotation>
<xsd:documentation>A design-time data source definition.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="publicProperties" type="design:Properties">
<xsd:annotation>
<xsd:documentation>Properties specific to the underlying data source connection. Public property values can be visible and editable in the host designer.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="privateProperties" type="design:Properties">
<xsd:annotation>
<xsd:documentation>Private properties specific to the underlying data source connection. Their definitions are private to the ODA designer, i.e. must not be visible nor editable by the host designer.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>The unique name that identifies an instance of dataSourceDesign.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="odaExtensionId" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>The extension ID defined in an ODA extension plugin manifest. It identifies the supporting ODA driver's extension plug-in that implements the ODA run-time extension point.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="odaExtensionDataSourceId" type="xsd:string">
<xsd:annotation>
<xsd:documentation>The data source element ID defined in an ODA extension plugin manifest. Optional, defaults to be same as the ODA extension id if only one dataSource element is defined in the manifest.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="displayName" type="xsd:string"/>
<xsd:attribute name="linkedProfileName" type="xsd:string">
<xsd:annotation>
<xsd:documentation>The name of a linked connection profile.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="linkedProfileStoreFilePath" type="xsd:string">
<xsd:annotation>
<xsd:documentation>The full path name of a linked connection profiles storage file where the linked profile is to be located at run-time. A null value indicates to use the default DTP profiles storage file.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DataSourceDesign" type="design:DataSourceDesign">
<xsd:annotation>
<xsd:documentation>A design-time data source definition.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DesignerState">
<xsd:annotation>
<xsd:documentation>Private state of an ODA designer upon exit of a design session.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="stateContent" type="design:DesignerStateContent">
<xsd:annotation>
<xsd:documentation>Designer's private state information; its content is a blackbox to an ODA host.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="version" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>Version of the designer state's data format.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DesignerState" type="design:DesignerState">
<xsd:annotation>
<xsd:documentation>Private state of an ODA designer upon exit of a design session.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DesignerStateContent">
<xsd:annotation>
<xsd:documentation>An ODA Designer's private state information; its content is a blackbox to an ODA host.</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="stateContentAsString" type="xsd:string">
<xsd:annotation>
<xsd:documentation>State content in string format.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="stateContentAsBlob" type="xsd:string">
<xsd:annotation>
<xsd:documentation>State content in binary format.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DesignerStateContent" type="design:DesignerStateContent">
<xsd:annotation>
<xsd:documentation>An ODA Designer's private state information; its content is a blackbox to an ODA host.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DesignSessionRequest">
<xsd:annotation>
<xsd:documentation>Defines a design session requested by an ODA host designer.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="dataAccessDesign" type="design:DataAccessDesign"/>
<xsd:element maxOccurs="1" minOccurs="0" name="sessionLocale" type="design:Locale">
<xsd:annotation>
<xsd:documentation>The suggested locale of the requested design session; normally the client locale of a locale-sensitive host designer. It is up to an ODA designer whether it can support and honor the suggested locale.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="designerState" type="design:DesignerState">
<xsd:annotation>
<xsd:documentation>The private state of the ODA designer at the last design session. It can be used by an ODA designer to resume the state of its last session.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute default="true" name="editable" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Specifies whether the design session is requested to be in an "editable" or "read-only" mode. For a read-only design session, the ODA host designer would ignore any changes found in the session response. It is up to individual ODA designer to honor the requested mode and adjusts its UI behavior.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DesignSessionRequest" type="design:DesignSessionRequest">
<xsd:annotation>
<xsd:documentation>Defines a design session requested by an ODA host designer.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DesignSessionResponse">
<xsd:annotation>
<xsd:documentation>Defines a design session response to an ODA host designer upon exit of the session.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="dataAccessDesign" type="design:DataAccessDesign">
<xsd:annotation>
<xsd:documentation>The latest data access design as updated during the design session. Any updates should be made in own instance, separate from the instance provided in the design session request.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="designerState" type="design:DesignerState">
<xsd:annotation>
<xsd:documentation>The private state of the ODA designer upon exit of a design session. An ODA host designer must handle it as a black-box; it should simply provide persistence services and pass it back in the next session request.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute default="Ok" name="sessionStatus" type="design:SessionStatus">
<xsd:annotation>
<xsd:documentation>ODA design session exit status. This tells the ODA host designer whether the design session was successful, and how it may consume and save the session response information.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DesignSessionResponse" type="design:DesignSessionResponse">
<xsd:annotation>
<xsd:documentation>Defines a design session response to an ODA host designer upon exit of the session.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DocumentRoot">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="mixed" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DocumentRoot" type="design:DocumentRoot"/>
<xsd:complexType name="DynamicValuesQuery">
<xsd:annotation>
<xsd:documentation>A dynamic set of selectable input values to be retrieved at runtime using the query defined in a data set design.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="dataSetDesign" type="design:DataSetDesign">
<xsd:annotation>
<xsd:documentation>A nested instance of dataSetDesign to use for retrieving the set of selectable user values.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute default="true" name="enabled" type="xsd:string">
<xsd:annotation>
<xsd:documentation>If not enabled, use staticValueChoices if defined.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="valueColumn" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>The result set column name whose values are retrieved as the value choices. This attribute must be one of the column names defined in the data set design's primary result set.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="displayNameColumn" type="xsd:string">
<xsd:annotation>
<xsd:documentation>The result set column name whose values are the localized name that describes the corresponding value in the valueColumn on each data row.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="DynamicValuesQuery" type="design:DynamicValuesQuery">
<xsd:annotation>
<xsd:documentation>A dynamic set of selectable input values to be retrieved at runtime using the query defined in a data set design.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InputElementAttributes">
<xsd:annotation>
<xsd:documentation>Common attributes for a data element defined with the input mode.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="staticValueChoices" type="design:ScalarValueChoices"/>
<xsd:element maxOccurs="1" minOccurs="0" name="dynamicValueChoices" type="design:DynamicValuesQuery"/>
<xsd:element maxOccurs="1" minOccurs="0" name="uiHints" type="design:InputElementUIHints"/>
</xsd:sequence>
<xsd:attribute name="defaultScalarValue" type="xsd:string">
<xsd:annotation>
<xsd:documentation>The literal string value to be used as the data element's default input value. Only applies to a scalar input data element.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="true" name="editable" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Indicates whether this element value is editable or read-only in the host designer. A host designer can further design whether to hide this attribute. Applicable only if its container is visible, e.g. for public properties and input parameters.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="false" name="optional" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Indicates whether the element requires an input value.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="false" name="masksValue" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Indicates whether input value should be masked or encrypted in persistent store and any UI display. Applies to default value as well.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="InputElementAttributes" type="design:InputElementAttributes">
<xsd:annotation>
<xsd:documentation>Common attributes for a data element defined with the input mode.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InputElementUIHints">
<xsd:annotation>
<xsd:documentation>UI hints for a data element defined with the input mode.</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="promptStyle" type="design:InputPromptControlStyle">
<xsd:annotation>
<xsd:documentation>Defaults to TextField if no static and dynamic value choices are defined; otherwise, defaults to SelectableList.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="InputElementUIHints" type="design:InputElementUIHints">
<xsd:annotation>
<xsd:documentation>UI hints for a data element defined with the input mode.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InputParameterAttributes">
<xsd:annotation>
<xsd:documentation>The attributes of a top-level input parameter, which can be either scalar or complex type.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="elementAttributes" type="design:InputElementAttributes"/>
<xsd:element maxOccurs="1" minOccurs="0" name="uiHints" type="design:InputParameterUIHints"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="InputParameterAttributes" type="design:InputParameterAttributes">
<xsd:annotation>
<xsd:documentation>The attributes of a top-level input parameter, which can be either scalar or complex type.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InputParameterUIHints">
<xsd:annotation>
<xsd:documentation>UI hints for a top-level parameter.</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="groupPromptDisplayName" type="xsd:string">
<xsd:annotation>
<xsd:documentation>For grouping multiple top-level input parameters under the same UI group prompt.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="InputParameterUIHints" type="design:InputParameterUIHints">
<xsd:annotation>
<xsd:documentation>UI hints for a top-level parameter.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Locale">
<xsd:annotation>
<xsd:documentation>Represents a specific geographical, political, or cultural region.</xsd:documentation>
</xsd:annotation>
<xsd:attribute default="en" name="language" type="xsd:string">
<xsd:annotation>
<xsd:documentation>An ISO Language Code; lower-case, two-letter codes as defined by ISO-639.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="country" type="xsd:string">
<xsd:annotation>
<xsd:documentation>An ISO Country Code; upper-case, two-letter codes as defined by ISO-3166.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="variant" type="xsd:string">
<xsd:annotation>
<xsd:documentation>A vendor or browser-specific code.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="Locale" type="design:Locale">
<xsd:annotation>
<xsd:documentation>Represents a specific geographical, political, or cultural region.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="NameValuePair">
<xsd:annotation>
<xsd:documentation>A pair of name and corresponding value.</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="NameValuePair" type="design:NameValuePair">
<xsd:annotation>
<xsd:documentation>A pair of name and corresponding value.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="OdaDesignSession">
<xsd:annotation>
<xsd:documentation>Definition of an ODA design session on a Data Access Design.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="request" type="design:DesignSessionRequest"/>
<xsd:element maxOccurs="1" minOccurs="0" name="response" type="design:DesignSessionResponse"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="OdaDesignSession" type="design:OdaDesignSession">
<xsd:annotation>
<xsd:documentation>Definition of an ODA design session on a Data Access Design.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="OutputElementAttributes">
<xsd:annotation>
<xsd:documentation>Common attributes for a data element defined with the output mode.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="formattingHints" type="design:ValueFormatHints"/>
</xsd:sequence>
<xsd:attribute name="label" type="xsd:string">
<xsd:annotation>
<xsd:documentation>A free-format string used to identify the data element in a heading, such as a column header.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="helpText" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Provides additional information to the user about this data element, such as in a balloon help.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="OutputElementAttributes" type="design:OutputElementAttributes">
<xsd:annotation>
<xsd:documentation>Common attributes for a data element defined with the output mode.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ParameterDefinition">
<xsd:annotation>
<xsd:documentation>Top-level parameter definition. Parameter could be scalar or complex type.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="attributes" type="design:DataElementAttributes">
<xsd:annotation>
<xsd:documentation>Attributes applicable to both input and output parameter mode.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="inputAttributes" type="design:InputParameterAttributes">
<xsd:annotation>
<xsd:documentation>Required for input parameter.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="outputUsageHints" type="design:OutputElementAttributes">
<xsd:annotation>
<xsd:documentation>Optional for an output parameter.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="fields" type="design:ParameterFields">
<xsd:annotation>
<xsd:documentation>Applicable to complex parameter only.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute default="In" name="inOutMode" type="design:ParameterMode"/>
</xsd:complexType>
<xsd:element name="ParameterDefinition" type="design:ParameterDefinition">
<xsd:annotation>
<xsd:documentation>Top-level parameter definition. Parameter could be scalar or complex type.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ParameterFieldDefinition">
<xsd:annotation>
<xsd:documentation>The definition of each field in a complex parameter. A parameter field is of scalar type.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="attributes" type="design:DataElementAttributes">
<xsd:annotation>
<xsd:documentation>Attributes applicable to both input and output parameter mode.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="inputAttributes" type="design:InputElementAttributes">
<xsd:annotation>
<xsd:documentation>Required for the field of an input parameter.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="outputUsageHints" type="design:OutputElementAttributes">
<xsd:annotation>
<xsd:documentation>Optional for the field of an output parameter.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ParameterFieldDefinition" type="design:ParameterFieldDefinition">
<xsd:annotation>
<xsd:documentation>The definition of each field in a complex parameter. A parameter field is of scalar type.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ParameterFields">
<xsd:annotation>
<xsd:documentation>Defines all the fields of a complex parameter.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="fieldCollection" type="design:ParameterFieldDefinition"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ParameterFields" type="design:ParameterFields">
<xsd:annotation>
<xsd:documentation>Defines all the fields of a complex parameter.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Properties">
<xsd:annotation>
<xsd:documentation>A collection of properties.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="properties" type="design:Property"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Properties" type="design:Properties">
<xsd:annotation>
<xsd:documentation>A collection of properties.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Property">
<xsd:annotation>
<xsd:documentation>The property of a data design component.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="nameValue" type="design:NameValuePair">
<xsd:annotation>
<xsd:documentation>Property name and corresponding value if available. The property value must be a string. The value may be selected from one of the value choices defined for a property.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="designAttributes" type="design:PropertyAttributes">
<xsd:annotation>
<xsd:documentation>Property attributes defined for this *instance* of DataAccessDesign. This set of attributes overrides all those pre-defined by an ODA extension in its plugin.xml. An ODA host designer should apply those pre-defined attributes by default to this instance, only if none is specified here.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Property" type="design:Property">
<xsd:annotation>
<xsd:documentation>The property of a data design component.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PropertyAttributes">
<xsd:annotation>
<xsd:documentation>The attributes of a property.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="elementAttributes" type="design:InputElementAttributes"/>
</xsd:sequence>
<xsd:attribute name="displayName" type="xsd:string"/>
<xsd:attribute default="true" name="derivedMetaData" type="xsd:string">
<xsd:annotation>
<xsd:documentation>If the property metadata can be derived, i.e. can be obtained by an ODA driver in each design session, an ODA host designer is not required to include the derived metadata in the next design session request. An ODA designer may ignore such metadata in a Request.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="PropertyAttributes" type="design:PropertyAttributes">
<xsd:annotation>
<xsd:documentation>The attributes of a property.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ResultSetColumns">
<xsd:annotation>
<xsd:documentation>A collection of result set columns' definitions.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="resultColumnDefinitions" type="design:ColumnDefinition"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ResultSetColumns" type="design:ResultSetColumns">
<xsd:annotation>
<xsd:documentation>A collection of result set columns' definitions.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ResultSetDefinition">
<xsd:annotation>
<xsd:documentation>Definition of a single homogeneous result set returned by a data set query.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="resultSetColumns" type="design:ResultSetColumns">
<xsd:annotation>
<xsd:documentation>Collection of data columns for this result set.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>A name that uniquely identifies a result set at runtime. If not specified, a result set is identified by its sequence in the resultSetDefinitions.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="ResultSetDefinition" type="design:ResultSetDefinition">
<xsd:annotation>
<xsd:documentation>Definition of a single homogeneous result set returned by a data set query.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ResultSets">
<xsd:annotation>
<xsd:documentation>A collection of result sets' definition and metadata. If the metadata can be derived, i.e. can be obtained by an ODA driver in each design session, an ODA host designer is not required to include the derived metadata in the next design session request. An ODA designer may ignore such metadata in a Request.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="resultSetDefinitions" type="design:ResultSetDefinition"/>
</xsd:sequence>
<xsd:attribute default="true" name="derivedMetaData" type="xsd:string">
<xsd:annotation>
<xsd:documentation>If the metadata can be derived, i.e. can be obtained by an ODA driver in each design session, an ODA host designer is not required to include the derived metadata in the next design session request. An ODA designer may ignore such metadata in a Request.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="ResultSets" type="design:ResultSets">
<xsd:annotation>
<xsd:documentation>A collection of result sets' definition and metadata. If the metadata can be derived, i.e. can be obtained by an ODA driver in each design session, an ODA host designer is not required to include the derived metadata in the next design session request. An ODA designer may ignore such metadata in a Request.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ScalarValueChoices">
<xsd:annotation>
<xsd:documentation>A collection of scalar values defined for user selection.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="scalarValues" type="design:ScalarValueDefinition"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ScalarValueChoices" type="design:ScalarValueChoices">
<xsd:annotation>
<xsd:documentation>A collection of scalar values defined for user selection.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ScalarValueDefinition">
<xsd:annotation>
<xsd:documentation>Defines a scalar value with a brief description.</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="value" type="xsd:string" use="required"/>
<xsd:attribute name="displayName" type="xsd:string">
<xsd:annotation>
<xsd:documentation>A localized name that describes the value.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="ScalarValueDefinition" type="design:ScalarValueDefinition">
<xsd:annotation>
<xsd:documentation>Defines a scalar value with a brief description.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ValueFormatHints">
<xsd:annotation>
<xsd:documentation>Hints on how to format a value.</xsd:documentation>
</xsd:annotation>
<xsd:attribute default="-1" name="displaySize" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Default display length of the data value. A value of -1 means unknown length. The default value, if not specified, is -1.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="displayFormat" type="xsd:string">
<xsd:annotation>
<xsd:documentation>The preferred display format of the data value. It contains a data format mask, e.g. #,###.00, ShortDate, etc.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="Plain" name="textFormatType" type="design:TextFormatType">
<xsd:annotation>
<xsd:documentation>The type of text content of the data value, i.e. plain text, HTML or RTF. It provides a hint on the type of text control to use for displaying the data value, e.g. a Dynamic Text Control.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="Automatic" name="horizontalAlignment" type="design:HorizontalAlignment">
<xsd:annotation>
<xsd:documentation>Horizontal display alignment of the data value. See valid enum values. "Automatic" means that it is up to an ODA host designer to determine the alignment based on its default rules.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute default="None" name="textWrapType" type="design:TextWrapType">
<xsd:annotation>
<xsd:documentation>A hint on the type of text wrapping on the data value. It could be in a single line (None), or word-wrapped (Word).</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="ValueFormatHints" type="design:ValueFormatHints">
<xsd:annotation>
<xsd:documentation>Hints on how to format a value.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:schema>