| <?xml version="1.0" encoding="UTF-8"?> |
| <xsd:schema targetNamespace="http://schemas.niku.com/2003/dataProvider" xmlns="http://schemas.niku.com/2003/dataProvider" xmlns:srv="http://schemas.niku.com/2002/service" xmlns:object="http://schemas.niku.com/2002/objectTypes" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> |
| <xsd:import namespace="http://schemas.niku.com/2002/service" schemaLocation="service-2002-02.xsd"/> |
| <xsd:import namespace="http://schemas.niku.com/2002/objectTypes" schemaLocation="object-types-2003-09.xsd"/> |
| <xsd:element name="dataProvider" type="DataProviderType"> |
| <xsd:annotation> |
| <xsd:documentation>The root element of a data provider. This metadata follows the structure of a multi-dimensional OLAP cube.</xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:complexType name="DataProviderType"> |
| <xsd:annotation> |
| <xsd:documentation>A complex type that describes the structural metadata of a data provider. This structure follows the model of a OLAP cube.</xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element name="retrieveService" type="srv:retrieveService" minOccurs="0"/> |
| <xsd:element name="dimension" type="DimensionType" maxOccurs="unbounded"/> |
| <xsd:element name="metric" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/> |
| <xsd:element name="parameter" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/> |
| <xsd:element name="links" type="object:LinksType" minOccurs="0"/> |
| <xsd:element name="object" minOccurs="0" maxOccurs="unbounded"> |
| <xsd:annotation> |
| <xsd:documentation>An object used by the data provider. If an data provider aggregates or "wraps" an object, this element "publishes" such objects as being used by the provider.</xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:attribute name="code" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>The object code</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="id" type="xsd:integer" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>The object code</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="code" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation>The internal code</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="name" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation>The UI displayable name</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="obsTableNameKey" type="xsd:string" use="optional"/> |
| </xsd:complexType> |
| <xsd:complexType name="DimensionType"> |
| <xsd:annotation> |
| <xsd:documentation>A dimension of the cube. Dimensions are a structural attribute of a cube which are organized into a hierarchical set of categories that describe metrics from a fact table.</xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element name="nls" type="object:NlsType" minOccurs="0" maxOccurs="unbounded"/> |
| <xsd:element name="property" type="PropertyType" maxOccurs="unbounded"/> |
| <xsd:element name="level" minOccurs="0" maxOccurs="unbounded"> |
| <xsd:complexType> |
| <xsd:annotation> |
| <xsd:documentation>A level within a dimension</xsd:documentation> |
| </xsd:annotation> |
| <xsd:attribute name="name" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>The name of the level</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="key" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>The name of the property that is the key of the level</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="code" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>The internal code</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="name" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation>The ui displayable name</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="location" type="xsd:string" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation>When the data provider returns the data in XML form, this attribute specifies the XPath location of the root node of the dimension. For lists, this node can repeat.</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:complexType> |
| <xsd:complexType name="PropertyType"> |
| <xsd:annotation> |
| <xsd:documentation>A complex type that describes a Property (aka Field or Attribute)</xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element name="nls" type="object:NlsType" minOccurs="0" maxOccurs="unbounded"/> |
| <xsd:element name="readExpression" type="object:AugmentSQLType" minOccurs="0" maxOccurs="2"/> |
| <xsd:element name="displayMapping" type="object:DisplayMappingType" minOccurs="0"/> |
| <xsd:element name="uomConversion" minOccurs="0" maxOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation>A unit of measure conversion supported by the data provider.</xsd:documentation> |
| </xsd:annotation> |
| <xsd:complexType> |
| <xsd:attribute name="code" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>The unit of measure conversion code</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="code" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>The internal code</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="name" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation>The name of the property for the UI</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="key" type="xsd:boolean" default="false"> |
| <xsd:annotation> |
| <xsd:documentation>The name of the property that is the key of the level</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="custom" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Indicates that the field is a custom field. Used during submission to save data to the satellite |
| tables for custom data. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="dataType" type="object:DataType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The data type of the property |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="extDataType" type="object:ExtendedType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The extended data type of the property |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="scale" type="xsd:int"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The scale of the property, i.e. number of decimal places |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="timeScalable" type="object:TimeScaleType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Determines the time scalable capabilities of the property |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="length" type="xsd:integer"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The size of the data. Used by the view engines to limit input on forms. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="sortable" type="xsd:boolean" default="true"> |
| <xsd:annotation> |
| <xsd:documentation>When true, this property can be sorted on.</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="required" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Indicates that the field is required when updating the object to the persistence layer. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="unique" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Indicates that the field must be unique when updating the object to the persistence layer. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="readonly" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Indicates that the field cannot be updated during submission of the object to the persistence layer. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="enterOnce" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Indicates that the field cannot be updated more than once when the object is updated to the persistence layer. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="virtual" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Indicates that the field is calculated and doesn't reside in the database. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="active" type="xsd:boolean" default="true"/> |
| <xsd:attribute name="private" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Indicates that the field is generated by the system. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="lookupType" type="xsd:string"/> |
| <xsd:attribute name="multiValued" type="xsd:boolean"/> |
| <xsd:attribute name="currencyAttribute" type="xsd:string"/> |
| <xsd:attribute name="currencyConnected" type="xsd:boolean"/> |
| <xsd:attribute name="dependentEntry" type="xsd:string"/> |
| <xsd:attribute name="dependentExit" type="xsd:string"/> |
| <xsd:attribute name="dependentParentLookup" type="xsd:string"/> |
| <xsd:attribute name="exact" type="xsd:boolean" use="optional" default="false"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Used for NSQL parameters when there can only be one value. So, the attribute cannot be multivalued and cannot |
| have a wildcard. This does value does not need to be persisted to the database because it is only for NSQL. The |
| reason it is in the schema is because the NSQL gets converted to and Object for ODF. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="gridEditable" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Indicates that the field is editable within a grid. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:complexType> |
| </xsd:schema> |