blob: 149d51843d77b89466ae524ef0bbbaeab8170d85 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://schemas.niku.com/2002/data" xmlns="http://schemas.niku.com/2002/data" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="data">
<xs:complexType>
<xs:sequence>
<xs:element name="header" type="headerType"/>
<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="headerType">
<xs:sequence>
<xs:element name="security" type="securityType" minOccurs="0"/>
<xs:element name="userSession" type="userSessionType" minOccurs="0"/>
<xs:element name="sortInfo" type="sortInfoType" minOccurs="0"/>
<xs:element name="pagination" type="paginationType" minOccurs="0"/>
<xs:element name="messages" type="messagesType" minOccurs="0"/>
<xs:element name="action" minOccurs="0">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="pageId" type="xs:string" use="required"/>
<xs:attribute name="url" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="securityType">
<xs:sequence>
<xs:element name="authorization" type="authorizationType" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="sessionId" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="userSessionType">
<xs:annotation>
<xs:documentation>
Contains information of the user who is currently logged in. Info comes from
the SecurityIdentifier.
formattingLocale - The locale that is used for date formatting or sorting for the user.
languageLocale - The locale that is used for language (i.e. resource bundles) of the user.
timezone - The timezone of the user.
</xs:documentation>
</xs:annotation>
<xs:attribute name="formattingLocale" type="xs:string" use="optional"/>
<xs:attribute name="languageLocale" type="xs:string" use="optional"/>
<xs:attribute name="timezone" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="authorizationType">
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:boolean" use="required"/>
</xs:complexType>
<xs:complexType name="sortInfoType">
<xs:attribute name="sortColumn" type="xs:string" use="required"/>
<xs:attribute name="sortDirection" type="SortDirectionType" default="asc"/>
</xs:complexType>
<xs:simpleType name="SortDirectionType">
<xs:restriction base="xs:string">
<xs:enumeration value="asc"/>
<xs:enumeration value="desc"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="paginationType">
<xs:sequence>
<xs:element name="sliceInfo" type="sliceInfoType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="sliceInfoType">
<xs:attribute name="collection" type="xs:string" use="required"/>
<xs:attribute name="totalNumRows" type="xs:short" use="required"/>
<xs:attribute name="slice" type="xs:byte" use="required"/>
<xs:attribute name="sliceSize" type="xs:byte" use="required"/>
</xs:complexType>
<xs:complexType name="messagesType">
<xs:sequence>
<xs:element name="message" type="messageType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="messageType">
<xs:attribute name="id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Resource bundle Id</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="fatalError"/>
<xs:enumeration value="error"/>
<xs:enumeration value="warning"/>
<xs:enumeration value="info"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="location" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
</xs:schema>