relmdMetadataBrowseRules.xsd 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: relmd
  5. (C) Copyright IBM Corp. 2008, 2015
  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" xmlns="http://www.ibm.com/xmlns/prod/cognos/relmd/1/0" targetNamespace="http://www.ibm.com/xmlns/prod/cognos/relmd/1/0" elementFormDefault="qualified" attributeFormDefault="qualified">
  9. <xs:include schemaLocation="../../vendor/access/relmdVendorAccess.xsd"/>
  10. <!--
  11. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  12. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  13. Relational metadata database extraction rules.
  14. -->
  15. <xs:group name="metadataBrowseRules">
  16. <xs:sequence>
  17. <xs:element name="catalogsBrowseRules" minOccurs="0">
  18. <xs:complexType>
  19. <xs:choice>
  20. <xs:group ref="objectBrowseSql"/>
  21. <xs:group ref="genericResultSetProvider"/>
  22. </xs:choice>
  23. </xs:complexType>
  24. </xs:element>
  25. <xs:element name="schemasBrowseRules">
  26. <xs:complexType>
  27. <xs:choice>
  28. <xs:sequence>
  29. <xs:choice>
  30. <xs:group ref="sql">
  31. <xs:annotation>
  32. <xs:documentation>sql that operates on a "per database" level.</xs:documentation>
  33. </xs:annotation>
  34. </xs:group>
  35. <xs:group ref="catalogGrainSql">
  36. <xs:annotation>
  37. <xs:documentation>sql that operates on a "per catalog" level.</xs:documentation>
  38. </xs:annotation>
  39. </xs:group>
  40. </xs:choice>
  41. <xs:group ref="systemObjectFilterInjection" minOccurs="0"/>
  42. </xs:sequence>
  43. <xs:group ref="genericResultSetProvider"/>
  44. </xs:choice>
  45. </xs:complexType>
  46. </xs:element>
  47. <xs:element ref="tablesBrowseRules"/>
  48. <xs:element ref="viewsBrowseRules"/>
  49. <xs:element ref="columnsBrowseRules"/>
  50. <xs:element ref="synonymsBrowseRules"/>
  51. <xs:element ref="proceduresBrowseRules"/>
  52. <xs:element ref="functionsBrowseRules"/>
  53. <xs:element ref="objectListingsRules"/>
  54. </xs:sequence>
  55. </xs:group>
  56. <xs:element name="tablesBrowseRules">
  57. <xs:complexType>
  58. <xs:choice>
  59. <xs:group ref="objectLevelBrowseSqlRule"/>
  60. <xs:group ref="genericResultSetProvider"/>
  61. </xs:choice>
  62. </xs:complexType>
  63. </xs:element>
  64. <xs:element name="viewsBrowseRules">
  65. <xs:complexType>
  66. <xs:choice>
  67. <xs:sequence>
  68. <xs:group ref="schemaGrainSql"/>
  69. <xs:group ref="systemObjectFilterInjection" minOccurs="0"/>
  70. </xs:sequence>
  71. <xs:group ref="genericResultSetProvider"/>
  72. </xs:choice>
  73. </xs:complexType>
  74. </xs:element>
  75. <xs:element name="columnsBrowseRules">
  76. <xs:complexType>
  77. <xs:choice>
  78. <xs:sequence>
  79. <xs:group ref="objectGrainSql"/>
  80. </xs:sequence>
  81. <xs:group ref="genericResultSetProvider"/>
  82. </xs:choice>
  83. </xs:complexType>
  84. </xs:element>
  85. <xs:element name="synonymsBrowseRules">
  86. <xs:complexType>
  87. <xs:choice>
  88. <xs:sequence>
  89. <xs:group ref="schemaGrainSql"/>
  90. <xs:group ref="systemObjectFilterInjection" minOccurs="0"/>
  91. </xs:sequence>
  92. <xs:group ref="genericResultSetProvider"/>
  93. </xs:choice>
  94. </xs:complexType>
  95. </xs:element>
  96. <xs:element name="proceduresBrowseRules">
  97. <xs:complexType>
  98. <xs:choice>
  99. <xs:sequence>
  100. <xs:group ref="schemaGrainSql"/>
  101. <xs:group ref="systemObjectFilterInjection" minOccurs="0"/>
  102. </xs:sequence>
  103. <xs:group ref="genericResultSetProvider"/>
  104. </xs:choice>
  105. </xs:complexType>
  106. </xs:element>
  107. <xs:element name="functionsBrowseRules">
  108. <xs:complexType>
  109. <xs:choice>
  110. <xs:sequence>
  111. <xs:group ref="schemaGrainSql"/>
  112. <xs:group ref="systemObjectFilterInjection" minOccurs="0"/>
  113. </xs:sequence>
  114. <xs:group ref="genericResultSetProvider"/>
  115. </xs:choice>
  116. </xs:complexType>
  117. </xs:element>
  118. <xs:group name="objectBrowseSql">
  119. <xs:sequence>
  120. <xs:group ref="sql">
  121. <xs:annotation>
  122. <xs:documentation>sql that operates on a "per database" level.</xs:documentation>
  123. </xs:annotation>
  124. </xs:group>
  125. <xs:group ref="systemObjectFilterInjection" minOccurs="0"/>
  126. </xs:sequence>
  127. </xs:group>
  128. <xs:group name="objectLevelBrowseSqlRule">
  129. <xs:sequence>
  130. <xs:group ref="schemaGrainSql"/>
  131. <xs:group ref="systemObjectFilterInjection" minOccurs="0"/>
  132. </xs:sequence>
  133. </xs:group>
  134. <xs:group name="systemObjects">
  135. <xs:sequence>
  136. <xs:element name="systemCatalog" minOccurs="0" maxOccurs="unbounded">
  137. <xs:complexType>
  138. <xs:attributeGroup ref="systemObject"/>
  139. </xs:complexType>
  140. </xs:element>
  141. <xs:element name="systemSchema" minOccurs="0" maxOccurs="unbounded">
  142. <xs:complexType>
  143. <xs:attributeGroup ref="systemObject"/>
  144. </xs:complexType>
  145. </xs:element>
  146. <xs:element name="systemObject" minOccurs="0" maxOccurs="unbounded">
  147. <xs:complexType>
  148. <xs:attributeGroup ref="systemObject"/>
  149. </xs:complexType>
  150. </xs:element>
  151. </xs:sequence>
  152. </xs:group>
  153. <xs:group name="systemObjectFilterInjection">
  154. <xs:sequence>
  155. <xs:element name="systemObjectFilter">
  156. <xs:complexType>
  157. <xs:sequence>
  158. <xs:element name="systemObject" maxOccurs="unbounded">
  159. <xs:complexType>
  160. <xs:attribute name="name" type="xs:string" use="required"/>
  161. </xs:complexType>
  162. </xs:element>
  163. </xs:sequence>
  164. <xs:attributeGroup ref="sqlFilterConditionInjection"/>
  165. <xs:attribute name="objectExpression" use="required"/>
  166. </xs:complexType>
  167. </xs:element>
  168. </xs:sequence>
  169. </xs:group>
  170. <xs:element name="objectListingsRules">
  171. <xs:complexType>
  172. <xs:choice>
  173. <xs:group ref="sql">
  174. <xs:annotation>
  175. <xs:documentation>sql that operates on a "per database" level.</xs:documentation>
  176. </xs:annotation>
  177. </xs:group>
  178. <xs:group ref="genericResultSetProvider"/>
  179. </xs:choice>
  180. <xs:attributeGroup ref="objectsListingRecordIndexMappings"/>
  181. </xs:complexType>
  182. </xs:element>
  183. <xs:attributeGroup name="objectsListingRecordIndexMappings">
  184. <xs:attributeGroup ref="parentSchemaRecordIndexMappings"/>
  185. <xs:attribute name="objectName" type="resultSetRecordColumnIndexType" use="optional" default="3"/>
  186. <xs:attribute name="objectType" type="resultSetRecordColumnIndexType" use="optional" default="4"/>
  187. <xs:attribute name="isSystemObject" type="resultSetRecordColumnIndexType" use="optional" default="5"/>
  188. <xs:attribute name="description" type="resultSetRecordColumnIndexType" use="optional" default="unsupported"/>
  189. </xs:attributeGroup>
  190. </xs:schema>