FuncTree.xsd 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. BI and PM: QECL
  5. (C) Copyright IBM Corp. 2005, 2020
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  9. <!-- - - - - - - - - - - - - - - - elements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  10. <xs:element name="functionsRoot">
  11. <xs:complexType>
  12. <xs:choice maxOccurs="unbounded">
  13. <xs:element name="group" type="groupType"/>
  14. <xs:element name="function" type="functionType"/>
  15. <xs:element name="operator" type="operatorFunctionType"/>
  16. <xs:element name="summary" type="summaryFunctionType"/>
  17. <xs:element name="literal" type="literalFunctionType"/>
  18. <xs:element name="format" type="formatType"/>
  19. </xs:choice>
  20. </xs:complexType>
  21. </xs:element>
  22. <xs:complexType name="qosLevel">
  23. <xs:sequence maxOccurs="unbounded">
  24. <xs:element name="rule">
  25. <xs:complexType>
  26. <xs:sequence>
  27. <xs:choice>
  28. <xs:element name="default"/>
  29. <xs:element name="datasourceQueryType" type="datasourceQueryType"/>
  30. <xs:element name="interface" type="interfaceType"/>
  31. </xs:choice>
  32. <xs:element name="value" type="qosValue"/>
  33. </xs:sequence>
  34. </xs:complexType>
  35. </xs:element>
  36. </xs:sequence>
  37. </xs:complexType>
  38. <!-- - - - - - - - - - - - - - - - types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  39. <xs:simpleType name="qosValue">
  40. <xs:annotation>
  41. <xs:documentation>Normally this will only appear if the value is performanceLimited, in which case the correspondng "tips" resource should give any relevant details. If this element is absent, "ok" is assumed.</xs:documentation>
  42. </xs:annotation>
  43. <xs:restriction base="xs:NMTOKEN">
  44. <xs:enumeration value="unavailable"/>
  45. <xs:enumeration value="restricted"/>
  46. <xs:enumeration value="limited"/>
  47. <xs:enumeration value="ok"/>
  48. </xs:restriction>
  49. </xs:simpleType>
  50. <xs:simpleType name="contextType">
  51. <xs:annotation>
  52. <xs:documentation>Each functionSubType (function, operator, summary and literal) can have a context defined. The application can specify the context for which function metadata is to be retrieved. If no context information is defined, then it is valid to all contexts.
  53. </xs:documentation>
  54. </xs:annotation>
  55. <xs:restriction base="xs:string">
  56. <xs:enumeration value="tabular"/>
  57. <xs:enumeration value="crosstab"/>
  58. <xs:enumeration value="CRX"/>
  59. <xs:enumeration value="macro"/>
  60. </xs:restriction>
  61. </xs:simpleType>
  62. <xs:simpleType name="queryModeType">
  63. <xs:annotation>
  64. <xs:documentation>Each functionSubType (function, operator, summary and literal) can have a queryMode defined. The queryMode can be specified to indicate which functions are supported by the query mode of the application. If no queryMode information is defined, then it is valid to all queryModes.
  65. </xs:documentation>
  66. </xs:annotation>
  67. <xs:restriction base="xs:string">
  68. <xs:enumeration value="compatible"/>
  69. <xs:enumeration value="dynamic"/>
  70. </xs:restriction>
  71. </xs:simpleType>
  72. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  73. <xs:simpleType name="datatype">
  74. <xs:annotation>
  75. <xs:documentation>Besides using explicit enum values, the values @1, @2 and @3 are also allowed. This latter case is used for return type specification, which then is equivalent to the datatype of the first or second argument respectively.</xs:documentation>
  76. </xs:annotation>
  77. <xs:restriction base="xs:string">
  78. <xs:enumeration value="anyValueDatatype"/>
  79. <xs:enumeration value="array"/>
  80. <xs:enumeration value="boolean"/>
  81. <xs:enumeration value="parameterMapReference"/>
  82. <xs:enumeration value="keyword"/>
  83. <xs:enumeration value="integer"/>
  84. <xs:enumeration value="int16"/>
  85. <xs:enumeration value="int32"/>
  86. <xs:enumeration value="int64"/>
  87. <xs:enumeration value="decimal"/>
  88. <xs:enumeration value="numeric"/>
  89. <xs:enumeration value="float"/>
  90. <xs:enumeration value="float32"/>
  91. <xs:enumeration value="float64"/>
  92. <xs:enumeration value="binary"/>
  93. <xs:enumeration value="length16"/>
  94. <xs:enumeration value="date"/>
  95. <xs:enumeration value="time"/>
  96. <xs:enumeration value="dateTime"/>
  97. <xs:enumeration value="timeInterval"/>
  98. <xs:enumeration value="character"/>
  99. <xs:enumeration value="characterLength16"/>
  100. <xs:enumeration value="characterLength32"/>
  101. <xs:enumeration value="blob"/>
  102. <xs:enumeration value="textBlob"/>
  103. <xs:enumeration value="blobArray"/>
  104. <xs:enumeration value="databaseKey"/>
  105. <xs:enumeration value="string"/>
  106. <xs:enumeration value="set"/>
  107. <xs:enumeration value="@1"/>
  108. <xs:enumeration value="@2"/>
  109. <xs:enumeration value="@3"/>
  110. <xs:enumeration value="crxDTypeUnknown"/>
  111. <xs:enumeration value="crxDTypeString"/>
  112. <xs:enumeration value="crxDTypeInt8"/>
  113. <xs:enumeration value="crxDTypeUInt8"/>
  114. <xs:enumeration value="crxDTypeInt16"/>
  115. <xs:enumeration value="crxDTypeUInt16"/>
  116. <xs:enumeration value="crxDTypeInt32"/>
  117. <xs:enumeration value="crxDTypeUInt32"/>
  118. <xs:enumeration value="crxDTypeInt64"/>
  119. <xs:enumeration value="crxDTypeUInt64"/>
  120. <xs:enumeration value="crxDTypeFloat"/>
  121. <xs:enumeration value="crxDTypeDouble"/>
  122. <xs:enumeration value="crxDTypeDecimal"/>
  123. <xs:enumeration value="crxDTypeDate"/>
  124. <xs:enumeration value="crxDTypeTime"/>
  125. <xs:enumeration value="crxDTypeDatetime"/>
  126. <xs:enumeration value="crxDTypeDTInterval"/>
  127. <xs:enumeration value="crxDTypeYMInterval"/>
  128. <xs:enumeration value="crxDTypeBlob"/>
  129. <xs:enumeration value="crxDTypeRowIterator"/>
  130. <xs:enumeration value="crxDTypeDimIterator"/>
  131. <xs:enumeration value="crxDTypeMasterDataset"/>
  132. <xs:enumeration value="crxDTypeVariant"/>
  133. <xs:enumeration value="crxDTypeBinary"/>
  134. <xs:enumeration value="crxDTypeVarBinary"/>
  135. <xs:enumeration value="crxDTypeMemberUniqueName"/>
  136. <xs:enumeration value="crxDTypeMemberCaption"/>
  137. <xs:enumeration value="crxDTypeDimensionUniqueName"/>
  138. <xs:enumeration value="crxDTypeParentUniqueName"/>
  139. <xs:enumeration value="crxDTypeDescription"/>
  140. <xs:enumeration value="crxDTypeHierarchyUniqueName"/>
  141. <xs:enumeration value="crxDTypeParentLevel"/>
  142. <xs:enumeration value="crxDTypeLevelUniqueName"/>
  143. <xs:enumeration value="crxDTypeLevelNumber"/>
  144. <xs:enumeration value="crxDTypeLevelLabel"/>
  145. <xs:enumeration value="crxDTypeFormattedValue"/>
  146. <xs:enumeration value="crxDTypeFont"/>
  147. <xs:enumeration value="crxDTypeForeColor"/>
  148. <xs:enumeration value="crxDTypeBackColor"/>
  149. <xs:enumeration value="crxDTypeFontFlags"/>
  150. <xs:enumeration value="crxDTypeOrdinal"/>
  151. <xs:enumeration value="crxDTypeNestedDim"/>
  152. <xs:enumeration value="crxDTypeNumberOfParents"/>
  153. <xs:enumeration value="crxDTypeMemberType"/>
  154. <xs:enumeration value="crxDTypeHasChildren"/>
  155. <xs:enumeration value="crxDTypeExternalBuffer"/>
  156. <xs:enumeration value="crxDTypeTextBlob"/>
  157. <xs:enumeration value="crxDTypeMIME"/>
  158. <xs:enumeration value="crxDTypeURL"/>
  159. <xs:enumeration value="crxDTypeCurrency"/>
  160. <xs:enumeration value="crxDTypeTimeTZ"/>
  161. <xs:enumeration value="crxDTypeDatetimeTZ"/>
  162. <xs:enumeration value="crxDTypeArgumentListType1"/>
  163. <xs:enumeration value="crxDTypeArgumentListType2"/>
  164. <xs:enumeration value="crxDTypeResultTypeContextDependent"/>
  165. <xs:enumeration value="dimension"/>
  166. <xs:enumeration value="hierarchy"/>
  167. <xs:enumeration value="level"/>
  168. <xs:enumeration value="member"/>
  169. <xs:enumeration value="tuple"/>
  170. <xs:enumeration value="memberSet"/>
  171. <xs:enumeration value="measure"/>
  172. </xs:restriction>
  173. </xs:simpleType>
  174. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  175. <xs:complexType name="groupType">
  176. <xs:annotation>
  177. <xs:documentation>Defines a group that contains one or more groups and/or function definitions. Properties of this group are inherited by child groups and functions, although each may be overridden by attribute on the child elements.</xs:documentation>
  178. </xs:annotation>
  179. <xs:sequence>
  180. <xs:element name="id" type="name">
  181. <xs:annotation>
  182. <xs:documentation>Identifier for the group. Groups with the same identifier in the same position of the tree are merged.</xs:documentation>
  183. </xs:annotation>
  184. </xs:element>
  185. <xs:element name="hidden" minOccurs="0">
  186. <xs:annotation>
  187. <xs:documentation>When specified, then this object will not be shown in the Expression Editor UI.</xs:documentation>
  188. </xs:annotation>
  189. </xs:element>
  190. <xs:element name="context" type="contextType" minOccurs="0" maxOccurs="unbounded">
  191. <xs:annotation>
  192. <xs:documentation>Defining a context here, restricts the visibility of this group when the application specifies a particular context.</xs:documentation>
  193. </xs:annotation>
  194. </xs:element>
  195. <xs:element name="queryMode" type="queryModeType" minOccurs="0" maxOccurs="unbounded">
  196. <xs:annotation>
  197. <xs:documentation>Restricts the visibility of this group when the application is running in a particular queryMode.</xs:documentation>
  198. </xs:annotation>
  199. </xs:element>
  200. <xs:element name="vendor" type="vendorIDType" minOccurs="0" maxOccurs="unbounded">
  201. <xs:annotation>
  202. <xs:documentation>Identifier for the vendor, this restricts the visibility of this group when the application specifies a particular vendor.</xs:documentation>
  203. </xs:annotation>
  204. </xs:element>
  205. <xs:element name="interface" type="interfaceType" minOccurs="0" maxOccurs="unbounded"/>
  206. <xs:element name="mayBeSupportedByAnotherInterface" minOccurs="0">
  207. <xs:annotation>
  208. <xs:documentation>This property defines a function as possibly supported by other interface ids, not documented in FDS.</xs:documentation>
  209. </xs:annotation>
  210. </xs:element>
  211. <xs:choice minOccurs="0" maxOccurs="unbounded">
  212. <xs:element name="group" type="groupType"/>
  213. <xs:element name="function" type="functionType"/>
  214. <xs:element name="operator" type="operatorFunctionType"/>
  215. <xs:element name="summary" type="summaryFunctionType"/>
  216. <xs:element name="literal" type="literalFunctionType"/>
  217. <xs:element name="operation" type="operationType"/>
  218. </xs:choice>
  219. </xs:sequence>
  220. </xs:complexType>
  221. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  222. <xs:simpleType name="usageType">
  223. <xs:annotation>
  224. <xs:documentation>Besides using explicit enum values, the values @1, @2 and @3 are also allowed. This latter case is used for return type specification, which then is equivalent to the datatype of the first or second argument respectively.</xs:documentation>
  225. </xs:annotation>
  226. <xs:restriction base="xs:string">
  227. <xs:enumeration value="fact"/>
  228. <xs:enumeration value="attribute"/>
  229. <xs:enumeration value="identifier"/>
  230. <xs:enumeration value="unknown"/>
  231. </xs:restriction>
  232. </xs:simpleType>
  233. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  234. <xs:complexType name="functionType">
  235. <xs:sequence>
  236. <xs:element name="id" type="xs:string"/>
  237. <xs:element name="hidden" minOccurs="0">
  238. <xs:annotation>
  239. <xs:documentation>When specified, then this object will not be shown in the Expression Editor UI.</xs:documentation>
  240. </xs:annotation>
  241. </xs:element>
  242. <xs:element name="dimensional" minOccurs="0">
  243. <xs:annotation>
  244. <xs:documentation>This is used internally by QECL and RQP to represent the dimensional functions.</xs:documentation>
  245. </xs:annotation>
  246. </xs:element>
  247. <xs:element name="memberRelativeFunction" minOccurs="0">
  248. <xs:annotation>
  249. <xs:documentation>This property indicates that the function requires the members to be in a predictable and defined order regardless of any related fact data. (MRF).</xs:documentation>
  250. </xs:annotation>
  251. </xs:element>
  252. <xs:element name="name" type="xs:string" minOccurs="0">
  253. <xs:annotation>
  254. <xs:documentation>This is the name that shows up as the function name and that will get dropped into the text when selected. This should not be translated.</xs:documentation>
  255. </xs:annotation>
  256. </xs:element>
  257. <xs:element name="canonical" type="xs:string"/>
  258. <xs:element name="canonicalExpression" type="xs:string" minOccurs="0"/>
  259. <xs:element name="dll" type="libraryType" minOccurs="0"/>
  260. <xs:element name="context" type="contextType" minOccurs="0" maxOccurs="unbounded"/>
  261. <xs:element name="queryMode" type="queryModeType" minOccurs="0" maxOccurs="unbounded"/>
  262. <xs:element name="vendor" type="vendorIDType" minOccurs="0" maxOccurs="unbounded">
  263. <xs:annotation>
  264. <xs:documentation>Identifier for the vendor, this restricts the visibility of this function when the application specifies a particular vendor.</xs:documentation>
  265. </xs:annotation>
  266. </xs:element>
  267. <xs:element name="interface" type="interfaceType" minOccurs="0" maxOccurs="unbounded"/>
  268. <xs:element name="mayBeSupportedByAnotherInterface" minOccurs="0">
  269. <xs:annotation>
  270. <xs:documentation>This property defines a function as possibly supported by other interface ids, not documented in FDS.</xs:documentation>
  271. </xs:annotation>
  272. </xs:element>
  273. <xs:element name="formatType" type="xs:string" minOccurs="0"/>
  274. <xs:element name="returnType" type="datatype" minOccurs="0"/>
  275. <xs:element name="usage" type="usageType" minOccurs="0"/>
  276. <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"/>
  277. <xs:element name="qosLevel" type="qosLevel" minOccurs="0"/>
  278. <xs:element name="memberRelativeFunction" minOccurs="0">
  279. <xs:annotation>
  280. <xs:documentation>This property indicates that the function requires the members to be in a predictable and defined order regardless of any related fact data. (MRF).</xs:documentation>
  281. </xs:annotation>
  282. </xs:element>
  283. </xs:sequence>
  284. </xs:complexType>
  285. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  286. <xs:simpleType name="libraryType">
  287. <xs:annotation>
  288. <xs:documentation>The name of the shared library. File extension is usually omitted so that platform-specific extension may be appended; however, if a file extension is provided, appending platform-specific extension will be inhibited.</xs:documentation>
  289. </xs:annotation>
  290. <xs:restriction base="xs:string"/>
  291. </xs:simpleType>
  292. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  293. <xs:complexType name="literalFunctionType">
  294. <xs:annotation>
  295. <xs:documentation>Literals and keywords can be defined here. Examples are (, ), FOR, IN etc. There is no need to define a canonical name for these, since these are hard-coded in the parser(s). Their id and name should be exactly the same. These can not have arguments.</xs:documentation>
  296. </xs:annotation>
  297. <xs:sequence>
  298. <xs:element name="id" type="xs:string"/>
  299. <xs:element name="hidden" minOccurs="0">
  300. <xs:annotation>
  301. <xs:documentation>When specified, then this object will not be shown in the Expression Editor UI.</xs:documentation>
  302. </xs:annotation>
  303. </xs:element>
  304. <xs:element name="name" type="xs:string" minOccurs="0">
  305. <xs:annotation>
  306. <xs:documentation>This is the name that shows up in the Expression Editor tree controls. It can be overridden by an entry in the language sensitive file.</xs:documentation>
  307. </xs:annotation>
  308. </xs:element>
  309. <xs:element name="dropText" type="xs:string">
  310. <xs:annotation>
  311. <xs:documentation>This is the text that will be dropped by the Expression Editor.</xs:documentation>
  312. </xs:annotation>
  313. </xs:element>
  314. <xs:element name="context" type="contextType" minOccurs="0" maxOccurs="unbounded"/>
  315. <xs:element name="queryMode" type="queryModeType" minOccurs="0" maxOccurs="unbounded"/>
  316. <xs:element name="vendor" type="vendorIDType" minOccurs="0" maxOccurs="unbounded">
  317. <xs:annotation>
  318. <xs:documentation>Identifier for the vendor, this restricts the visibility of this literal when the application specifies a particular vendor.</xs:documentation>
  319. </xs:annotation>
  320. </xs:element>
  321. <xs:element name="interface" type="interfaceType" minOccurs="0" maxOccurs="unbounded"/>
  322. <xs:element name="mayBeSupportedByAnotherInterface" minOccurs="0">
  323. <xs:annotation>
  324. <xs:documentation>This property defines a function as possibly supported by other interface ids, not documented in FDS.</xs:documentation>
  325. </xs:annotation>
  326. </xs:element>
  327. <xs:element name="formatType" type="xs:string" minOccurs="0"/>
  328. <xs:element name="qosLevel" type="qosLevel" minOccurs="0"/>
  329. </xs:sequence>
  330. </xs:complexType>
  331. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  332. <xs:complexType name="name" mixed="true">
  333. <xs:annotation>
  334. <xs:documentation>A name. Context depends upon whee this type is used.</xs:documentation>
  335. </xs:annotation>
  336. <xs:simpleContent>
  337. <xs:extension base="xs:string"/>
  338. </xs:simpleContent>
  339. </xs:complexType>
  340. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  341. <xs:complexType name="operatorFunctionType">
  342. <xs:annotation>
  343. <xs:documentation>Operators can be defined here. There is no need to define a canonical name for these, since these are hard-coded in the parser(s). Their id and name should be exactly the same. There is also no need to document their arguments.</xs:documentation>
  344. </xs:annotation>
  345. <xs:sequence>
  346. <xs:element name="id" type="xs:string"/>
  347. <xs:element name="hidden" minOccurs="0">
  348. <xs:annotation>
  349. <xs:documentation>When specified, then this object will not be shown in the Expression Editor UI.</xs:documentation>
  350. </xs:annotation>
  351. </xs:element>
  352. <xs:element name="name" type="xs:string" minOccurs="0">
  353. <xs:annotation>
  354. <xs:documentation>This is the name that shows up in the Expression Editor tree controls. It can be overridden by an entry in the language sensitive file.</xs:documentation>
  355. </xs:annotation>
  356. </xs:element>
  357. <xs:element name="dropText" type="xs:string">
  358. <xs:annotation>
  359. <xs:documentation>This is the text that will be dropped by the Expression Editor.</xs:documentation>
  360. </xs:annotation>
  361. </xs:element>
  362. <xs:element name="context" type="contextType" minOccurs="0" maxOccurs="unbounded"/>
  363. <xs:element name="queryMode" type="queryModeType" minOccurs="0" maxOccurs="unbounded"/>
  364. <xs:element name="vendor" type="vendorIDType" minOccurs="0" maxOccurs="unbounded">
  365. <xs:annotation>
  366. <xs:documentation>Identifier for the vendor, this restricts the visibility of this operator when the application specifies a particular vendor.</xs:documentation>
  367. </xs:annotation>
  368. </xs:element>
  369. <xs:element name="interface" type="interfaceType" minOccurs="0" maxOccurs="unbounded"/>
  370. <xs:element name="mayBeSupportedByAnotherInterface" minOccurs="0">
  371. <xs:annotation>
  372. <xs:documentation>This property defines a function as possibly supported by other interface ids, not documented in FDS.</xs:documentation>
  373. </xs:annotation>
  374. </xs:element>
  375. <xs:element name="qosLevel" type="qosLevel" minOccurs="0"/>
  376. </xs:sequence>
  377. </xs:complexType>
  378. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  379. <xs:complexType name="operationType">
  380. <xs:annotation>
  381. <xs:documentation>Operations/Features are defined here for the purpose of making the quality of service value available. ors can be defined here. There is no need to define a name or canonical name for these, since these are operations are accessed by client software using the id only.hard-coded in the parser(s).</xs:documentation>
  382. </xs:annotation>
  383. <xs:sequence>
  384. <xs:element name="id" type="xs:string"/>
  385. <xs:element name="hidden" minOccurs="0">
  386. <xs:annotation>
  387. <xs:documentation>When specified, then this object will not be shown in the Expression Editor UI.</xs:documentation>
  388. </xs:annotation>
  389. </xs:element>
  390. <xs:element name="description" type="xs:string" minOccurs="0">
  391. <xs:annotation>
  392. <xs:documentation>This is an English description of the operation/feature.</xs:documentation>
  393. </xs:annotation>
  394. </xs:element>
  395. <xs:element name="context" type="contextType" minOccurs="0" maxOccurs="unbounded"/>
  396. <xs:element name="queryMode" type="queryModeType" minOccurs="0" maxOccurs="unbounded"/>
  397. <xs:element name="vendor" type="vendorIDType" minOccurs="0" maxOccurs="unbounded">
  398. <xs:annotation>
  399. <xs:documentation>Identifier for the vendor, this restricts the visibility of this operation when the application specifies a particular vendor.</xs:documentation>
  400. </xs:annotation>
  401. </xs:element>
  402. <xs:element name="qosLevel" type="qosLevel" minOccurs="0"/>
  403. </xs:sequence>
  404. </xs:complexType>
  405. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  406. <xs:complexType name="formatType">
  407. <xs:annotation>
  408. <xs:documentation>maps a formatspec identifier used by the _format function to a format specification</xs:documentation>
  409. </xs:annotation>
  410. <xs:sequence>
  411. <xs:element name="id" type="xs:string"/>
  412. <xs:element name="description" type="xs:string" minOccurs="0">
  413. <xs:annotation>
  414. <xs:documentation>The id should reflect the format</xs:documentation>
  415. </xs:annotation>
  416. </xs:element>
  417. <xs:element name="format" type="xs:string" minOccurs="0">
  418. <xs:annotation>
  419. <xs:documentation>conform to format specification</xs:documentation>
  420. </xs:annotation>
  421. </xs:element>
  422. </xs:sequence>
  423. </xs:complexType>
  424. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  425. <xs:complexType name="parameterType">
  426. <xs:sequence>
  427. <xs:element name="type" type="datatype" maxOccurs="unbounded"/>
  428. <xs:choice>
  429. <xs:element name="optional" type="xs:boolean" minOccurs="0"/>
  430. <xs:sequence>
  431. <xs:element name="minOccurs" type="xs:int" minOccurs="0"/>
  432. <xs:element name="maxOccurs" type="xs:int" minOccurs="0"/>
  433. </xs:sequence>
  434. </xs:choice>
  435. <xs:element name="nullable" type="xs:boolean" minOccurs="0"/>
  436. </xs:sequence>
  437. </xs:complexType>
  438. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  439. <xs:complexType name="summaryFunctionType">
  440. <xs:annotation>
  441. <xs:documentation>Summary functions can be defined here. These are almost like regular functions, but are usually shown in different panels in the Expression Editor UI. The summary functions can not be defined in a dll.</xs:documentation>
  442. </xs:annotation>
  443. <xs:sequence>
  444. <xs:element name="id" type="xs:string"/>
  445. <xs:element name="hidden" minOccurs="0">
  446. <xs:annotation>
  447. <xs:documentation>When specified, then this object will not be shown in the Expression Editor UI.</xs:documentation>
  448. </xs:annotation>
  449. </xs:element>
  450. <xs:element name="name" type="xs:string" minOccurs="0">
  451. <xs:annotation>
  452. <xs:documentation>This is the name that shows up as the function name and that will get dropped into the text when selected. This should not be translated.</xs:documentation>
  453. </xs:annotation>
  454. </xs:element>
  455. <xs:element name="canonical" type="xs:string"/>
  456. <xs:element name="context" type="contextType" minOccurs="0" maxOccurs="unbounded"/>
  457. <xs:element name="queryMode" type="queryModeType" minOccurs="0" maxOccurs="unbounded"/>
  458. <xs:element name="vendor" type="vendorIDType" minOccurs="0" maxOccurs="unbounded">
  459. <xs:annotation>
  460. <xs:documentation>Identifier for the vendor, this restricts the visibility of this summary function when the application specifies a particular vendor.</xs:documentation>
  461. </xs:annotation>
  462. </xs:element>
  463. <xs:element name="interface" type="interfaceType" minOccurs="0" maxOccurs="unbounded"/>
  464. <xs:element name="mayBeSupportedByAnotherInterface" minOccurs="0">
  465. <xs:annotation>
  466. <xs:documentation>This property defines a function as possibly supported by other interface ids, not documented in FDS.</xs:documentation>
  467. </xs:annotation>
  468. </xs:element>
  469. <xs:element name="formatType" type="xs:string" minOccurs="0"/>
  470. <xs:element name="returnType" type="datatype" minOccurs="0"/>
  471. <xs:element name="usage" type="xs:string" minOccurs="0"/>
  472. <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"/>
  473. <xs:element name="qosLevel" type="qosLevel" minOccurs="0"/>
  474. <xs:element name="ebnf" type="ebnfType" minOccurs="0"/>
  475. </xs:sequence>
  476. </xs:complexType>
  477. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  478. <xs:simpleType name="vendorIDType">
  479. <xs:annotation>
  480. <xs:documentation>Each group and functionSubType (function, operator, summary and literal) can have a vendorID defined. It is normal that the application specifies one or more vendorIDs, also known as FunctionSetIDs. The application would base the specification of the vendorIDs on the content of the model. If no vendorID information is defined, then it is valid for all vendorIDs. This information behaves much the same way as the context information. FDS will use the vendorID as an index into the language specific strings. Cognos starts all provided values with the 2 character sequence V_.
  481. </xs:documentation>
  482. </xs:annotation>
  483. <xs:restriction base="xs:string">
  484. <xs:pattern value="[a-zA-Z0-9][a-zA-Z0-9_]*"/>
  485. </xs:restriction>
  486. </xs:simpleType>
  487. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  488. <xs:simpleType name="datasourceQueryType">
  489. <xs:annotation>
  490. <xs:documentation>Each group and functionSubType (function, operator, summary and literal) can have a datasourceQueryType defined. It is normal that this is specified at the group level. It identifies the underlying datasource access technology. E.g. relational, multi-dimensional. In CRN/FM context, this information is read from the centrally managed datasource definitions in the model and passed on to the accessor for FDS. Groups and functions will be filtered based on the function matching the fields that were provided to FDS. Implied inheritance takes place, because a group is only returned if it matches, thus making all child groups and functions potentially visible. (This works the same way as with context and vendorId).
  491. </xs:documentation>
  492. </xs:annotation>
  493. <xs:restriction base="xs:string">
  494. <xs:whiteSpace value="preserve"/>
  495. <xs:enumeration value="relational"/>
  496. <xs:enumeration value="multidimensional"/>
  497. </xs:restriction>
  498. </xs:simpleType>
  499. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  500. <xs:simpleType name="interfaceType">
  501. <xs:annotation>
  502. <xs:documentation>This filter is used in 2 contexts. The first one is in defining quality of service levels and the second is in defining the underlying technology (Oracle, Informix) that supports functionality. In the case of relational datasources, the interface id will indicate that a certain database supports the functionality even though UDA processes it locally. The value is stored in the model in dataSource.type.interface. This is the descrition of the enumeration values.
  503. NOTE: these interface id's are listed as a union of 3 seperate simpleTypes, each a set of enums.
  504. These 3 simpleTypes are identified as "relational", "multidimensional" and "special".
  505. Relational interface id's are enumerated under the "relational" simpleType
  506. Multidimensional interface id's are enumerated under the "multidimensional" simpleType
  507. All other id's of special nature (such as "all_rel" and "all_olap") are enumerated under the "special" simpleType
  508. Relational:
  509. all_rel: all the relational datasource interface IDs in this list
  510. CS: Composite
  511. CT: CTLib
  512. CT15: CT-15
  513. D2: IBM DB2
  514. JD-D2: IBM DB2 via JDBC (DQM only)
  515. IF: Informix
  516. OL: SQL Server via OLEDB
  517. OR: Oracle
  518. JD-OR: Oracle via JDBC (DQM only)
  519. EC: SAP BW for Planning
  520. R3: SAP R/3 - ECC for Adaptive Warehouse
  521. XML: XML
  522. OD: generic ODBC 3.5 gateway
  523. IQ: Sybase IQ via ODBC 3.5
  524. RB: Redbrick via ODBC 3.5
  525. SS: SQL Server via ODBC 3.5
  526. JD-SS: SQL Server via JDBC (DQM only)
  527. TD: Teradata via ODBC 3.5
  528. JD-TD: Teradata via JDBC (DQM only)
  529. PG: Progress via ODBC 3.5
  530. OD25: generic ODBC 2.5 gateway (not officially supported in Bering)
  531. D225: DB2 via ODBC 2.5 (not officially supported in Bering)
  532. IQ25: Sybase IQ via ODBC 2.5 (not officially supported in Bering)
  533. SS25: SQL Server via ODBC 2.5 (not officially supported in Bering)
  534. RB25: Redbrick via ODBC 2.5 (not officially supported in Bering)
  535. TD25: Teradata via ODBC 2.5 (not officially supported in Bering)
  536. VM: IBM Cognos Virtual View Manager datasource (replaces Composite datasource from Bluesea release, WO2838)
  537. NZ: Netezza
  538. JD-NZ: Netezza via JDBC (DQM only)
  539. ERP-SFDC: Salesforce.com (DQM only)
  540. ERP-SIEBEL Siebel (DQM only)
  541. ERP-SAP SAPR3 (DQM only)
  542. JDBC all generic JDBC (DQM only)
  543. ** The following databases can be connected via ODBC: CT, CT15, D2, OR, IF, IQ, RB, SS, TD, PG.
  544. Multidimensional:
  545. all_olap: all the multidimensional datasources interface IDs in this list
  546. BW: SAP BW
  547. CL: Finance
  548. CR: Contributor
  549. DO: DB2 OLAP
  550. EB: Hyperion Essbase (supported through the DO gateway so all EB entries should match DO entries)
  551. ** The EB datatype is being phased out in 8.1MR2 so that all new connections use DO; however EB is kept for backward compatibility with existing pre-MR2 reports
  552. IS: IBM DB2 InfoSphere Cubing Services WO2803
  553. MO: MS Analysis Services (no longer supported)
  554. XO: Cubics (documented entries should match MO settings)
  555. PC: Power cubes
  556. YK: MS Analysis Services 2005 (documented entries should match MO settings, no longer supported)
  557. M8: MS Analysis Services 2008 (only supported in XQE)
  558. M12: MS Analysis Services 2012 (only supported in XQE)
  559. M14: MS Analysis Services 2014 (only supported in XQE)
  560. M16: MS Analysis Services 2016 (only supported in XQE)
  561. M17: MS Analysis Services 2017 (only supported in XQE)
  562. M19: MS Analysis Services 2019 (only supported in XQE)
  563. MAZ: Azure Analysis Services via OLEDB (only supported in XQE)
  564. X5: MS Analysis Services 2005 via XMLA (only supported in XQE)
  565. X8: MS Analysis Services 2008 via XMLA (only supported in XQE)
  566. LA: Lava (Cognos Now - Celequest) WO2568
  567. TM: TM1ODP (Applix TM1 data source) WO2689
  568. TMR: TM1 REST API Provider (only supported in XQE)
  569. XI: IBM DB2 Cubing Services via an XMLA Provider WO2828
  570. RO: Cognos ROLAP
  571. </xs:documentation>
  572. </xs:annotation>
  573. <xs:union>
  574. <xs:simpleType id="relational">
  575. <xs:restriction base="xs:string">
  576. <xs:enumeration value="CS"/>
  577. <xs:enumeration value="CT"/>
  578. <xs:enumeration value="CT15"/>
  579. <xs:enumeration value="D2"/>
  580. <xs:enumeration value="JD-D2"/>
  581. <xs:enumeration value="IF"/>
  582. <xs:enumeration value="OL"/>
  583. <xs:enumeration value="OR"/>
  584. <xs:enumeration value="JD-OR"/>
  585. <xs:enumeration value="R3"/>
  586. <xs:enumeration value="EC"/>
  587. <xs:enumeration value="XML"/>
  588. <xs:enumeration value="OD"/>
  589. <xs:enumeration value="IQ"/>
  590. <xs:enumeration value="RB"/>
  591. <xs:enumeration value="SS"/>
  592. <xs:enumeration value="JD-SS"/>
  593. <xs:enumeration value="TD"/>
  594. <xs:enumeration value="JD-TD"/>
  595. <xs:enumeration value="PG"/>
  596. <xs:enumeration value="OD25"/>
  597. <xs:enumeration value="D225"/>
  598. <xs:enumeration value="IQ25"/>
  599. <xs:enumeration value="RB25"/>
  600. <xs:enumeration value="SS25"/>
  601. <xs:enumeration value="TD25"/>
  602. <xs:enumeration value="VM"/>
  603. <xs:enumeration value="NZ"/>
  604. <xs:enumeration value="JD-NZ"/>
  605. <xs:enumeration value="ERP-SFDC"/>
  606. <xs:enumeration value="ERP-SIEBEL"/>
  607. <xs:enumeration value="ERP-SAPR3"/>
  608. <xs:enumeration value="JDBC"/>
  609. </xs:restriction>
  610. </xs:simpleType>
  611. <xs:simpleType id="multidimensional">
  612. <xs:restriction base="xs:string">
  613. <xs:enumeration value="BW"/>
  614. <xs:enumeration value="CL"/>
  615. <xs:enumeration value="CR"/>
  616. <xs:enumeration value="DO"/>
  617. <xs:enumeration value="EB"/>
  618. <xs:enumeration value="IS"/>
  619. <xs:enumeration value="MO"/>
  620. <xs:enumeration value="XO"/>
  621. <xs:enumeration value="PC"/>
  622. <xs:enumeration value="YK"/>
  623. <xs:enumeration value="M8"/>
  624. <xs:enumeration value="M12"/>
  625. <xs:enumeration value="M14"/>
  626. <xs:enumeration value="M16"/>
  627. <xs:enumeration value="M17"/>
  628. <xs:enumeration value="M19"/>
  629. <xs:enumeration value="MAZ"/>
  630. <xs:enumeration value="X5"/>
  631. <xs:enumeration value="X8"/>
  632. <xs:enumeration value="LA"/>
  633. <xs:enumeration value="TM"/>
  634. <xs:enumeration value="TMR"/>
  635. <xs:enumeration value="XI"/>
  636. <xs:enumeration value="RO"/>
  637. </xs:restriction>
  638. </xs:simpleType>
  639. <xs:simpleType id="special">
  640. <xs:restriction base="xs:string">
  641. <xs:enumeration value="all_rel"/>
  642. <xs:enumeration value="all_olap"/>
  643. <xs:enumeration value="!BW"/>
  644. </xs:restriction>
  645. </xs:simpleType>
  646. </xs:union>
  647. </xs:simpleType>
  648. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  649. <xs:complexType name="ebnfType">
  650. <xs:sequence>
  651. <xs:element name="ebnfrule" type="ebnfruleType"/>
  652. </xs:sequence>
  653. </xs:complexType>
  654. <xs:complexType name="ebnfchoiceType">
  655. <xs:sequence>
  656. <xs:element name="ebnfnonterminal" type="ebnfnonterminalType" maxOccurs="unbounded"/>
  657. <xs:element name="ebnfsequence" type="ebnfsequenceType" minOccurs="0" maxOccurs="unbounded"/>
  658. </xs:sequence>
  659. </xs:complexType>
  660. <xs:complexType name="ebnfgroupType">
  661. <xs:choice>
  662. <xs:element name="ebnfsequence" type="ebnfsequenceType"/>
  663. <xs:element name="ebnfchoice" type="ebnfchoiceType"/>
  664. </xs:choice>
  665. <xs:attribute name="cardinality" use="required">
  666. <xs:simpleType>
  667. <xs:restriction base="xs:NMTOKEN">
  668. <xs:enumeration value="zeroToMany"/>
  669. <xs:enumeration value="zeroToOne"/>
  670. </xs:restriction>
  671. </xs:simpleType>
  672. </xs:attribute>
  673. </xs:complexType>
  674. <xs:complexType name="ebnfnonterminalType">
  675. <xs:attribute name="idref" type="xs:string" use="required"/>
  676. <xs:attribute name="cardinality">
  677. <xs:simpleType>
  678. <xs:restriction base="xs:NMTOKEN">
  679. <xs:enumeration value="one"/>
  680. <xs:enumeration value="zeroToOne"/>
  681. </xs:restriction>
  682. </xs:simpleType>
  683. </xs:attribute>
  684. </xs:complexType>
  685. <xs:complexType name="ebnfruleType">
  686. <xs:sequence>
  687. <xs:element name="ebnfsequence" type="ebnfsequenceType"/>
  688. </xs:sequence>
  689. <xs:attribute name="id" type="xs:string" use="required"/>
  690. </xs:complexType>
  691. <xs:complexType name="ebnfsequenceType">
  692. <xs:choice maxOccurs="unbounded">
  693. <xs:element ref="ebnfterminal"/>
  694. <xs:element name="ebnfnonterminal" type="ebnfnonterminalType"/>
  695. <xs:element name="ebnfgroup" type="ebnfgroupType"/>
  696. </xs:choice>
  697. </xs:complexType>
  698. <xs:element name="ebnfterminal">
  699. <xs:simpleType>
  700. <xs:restriction base="xs:string">
  701. <xs:enumeration value="("/>
  702. <xs:enumeration value=")"/>
  703. </xs:restriction>
  704. </xs:simpleType>
  705. </xs:element>
  706. </xs:schema>