relmdMetadataImportRules.xsd 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- edited with XMLSpy v2010 rel. 3 sp1 (http://www.altova.com) by QING ZHU (IBM SWG CANADA) -->
  3. <!--
  4. Licensed Materials - Property of IBM
  5. IBM Cognos Products: relmd
  6. (C) Copyright IBM Corp. 2008, 2015
  7. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  8. -->
  9. <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">
  10. <xs:include schemaLocation="../../vendor/access/relmdVendorAccess.xsd"/>
  11. <!--
  12. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  13. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  14. Relational metadata database extraction rules.
  15. -->
  16. <xs:group name="metadataImportRules">
  17. <xs:sequence>
  18. <xs:element ref="tablesImportRules"/>
  19. <xs:element ref="viewsImportRules"/>
  20. <xs:element ref="columnsImportRules"/>
  21. <xs:element ref="uniqueKeysImportRules"/>
  22. <xs:element ref="foreignKeysImportRules"/>
  23. <xs:element ref="indexesImportRules"/>
  24. <xs:element ref="synonymsImportRules"/>
  25. <xs:element ref="routinesImportRules"/>
  26. <xs:element ref="proceduresImportRules"/>
  27. <xs:element ref="functionsImportRules"/>
  28. <xs:element ref="routineArgumentsImportRules"/>
  29. <xs:element ref="procedureRoutineArgusImportRules"/>
  30. <xs:element ref="functionRoutineArgusImportRules"/>
  31. <xs:element ref="sqlObjectImportRules"/>
  32. </xs:sequence>
  33. </xs:group>
  34. <xs:element name="tablesImportRules">
  35. <xs:complexType>
  36. <xs:sequence>
  37. <xs:group ref="extractionRulesResultSetProvider"/>
  38. </xs:sequence>
  39. <xs:attributeGroup ref="tablesRecordIndexMappings"/>
  40. </xs:complexType>
  41. </xs:element>
  42. <xs:element name="viewsImportRules">
  43. <xs:complexType>
  44. <xs:sequence>
  45. <xs:group ref="extractionRulesResultSetProvider"/>
  46. </xs:sequence>
  47. <xs:attributeGroup ref="tablesRecordIndexMappings"/>
  48. </xs:complexType>
  49. </xs:element>
  50. <xs:element name="columnsImportRules">
  51. <xs:complexType>
  52. <xs:choice>
  53. <xs:group ref="extractionRulesResultSetProvider"/>
  54. </xs:choice>
  55. <xs:attributeGroup ref="importRule"/>
  56. <xs:attributeGroup ref="columnsRecordIndexMappings"/>
  57. </xs:complexType>
  58. </xs:element>
  59. <xs:element name="uniqueKeysImportRules">
  60. <xs:complexType>
  61. <xs:group ref="extractionRulesResultSetProvider"/>
  62. <xs:attributeGroup ref="uniqueKeysRecordIndexMappings"/>
  63. </xs:complexType>
  64. </xs:element>
  65. <xs:element name="foreignKeysImportRules">
  66. <xs:complexType>
  67. <xs:group ref="extractionRulesResultSetProvider"/>
  68. <xs:attributeGroup ref="foreignKeysRecordIndexMappings"/>
  69. </xs:complexType>
  70. </xs:element>
  71. <xs:element name="indexesImportRules">
  72. <xs:complexType>
  73. <xs:group ref="extractionRulesResultSetProvider"/>
  74. <xs:attributeGroup ref="indexesRecordIndexMappings"/>
  75. </xs:complexType>
  76. </xs:element>
  77. <xs:element name="synonymsImportRules">
  78. <xs:complexType>
  79. <xs:group ref="extractionRulesResultSetProvider"/>
  80. <xs:attributeGroup ref="synonymsRecordIndexMappings"/>
  81. </xs:complexType>
  82. </xs:element>
  83. <xs:element name="routinesImportRules">
  84. <xs:complexType>
  85. <xs:group ref="extractionRulesResultSetProvider"/>
  86. <xs:attributeGroup ref="proceduresRecordIndexMappings"/>
  87. </xs:complexType>
  88. </xs:element>
  89. <xs:element name="functionsImportRules">
  90. <xs:complexType>
  91. <xs:group ref="extractionRulesResultSetProvider"/>
  92. <xs:attributeGroup ref="proceduresRecordIndexMappings"/>
  93. </xs:complexType>
  94. </xs:element>
  95. <xs:element name="proceduresImportRules">
  96. <xs:complexType>
  97. <xs:group ref="extractionRulesResultSetProvider"/>
  98. <xs:attributeGroup ref="proceduresRecordIndexMappings"/>
  99. </xs:complexType>
  100. </xs:element>
  101. <xs:element name="routineArgumentsImportRules">
  102. <xs:complexType>
  103. <xs:sequence>
  104. <xs:group ref="extractionRulesResultSetProvider"/>
  105. </xs:sequence>
  106. <xs:attributeGroup ref="procedureParametersRecordIndexMappings"/>
  107. </xs:complexType>
  108. </xs:element>
  109. <xs:element name="procedureRoutineArgusImportRules">
  110. <xs:complexType>
  111. <xs:sequence>
  112. <xs:group ref="extractionRulesResultSetProvider"/>
  113. </xs:sequence>
  114. <xs:attributeGroup ref="procedureParametersRecordIndexMappings"/>
  115. </xs:complexType>
  116. </xs:element>
  117. <xs:element name="functionRoutineArgusImportRules">
  118. <xs:complexType>
  119. <xs:sequence>
  120. <xs:group ref="extractionRulesResultSetProvider"/>
  121. </xs:sequence>
  122. <xs:attributeGroup ref="procedureParametersRecordIndexMappings"/>
  123. </xs:complexType>
  124. </xs:element>
  125. <xs:attributeGroup name="sqlColumnRecordIndexMappings">
  126. <xs:attribute name="datatype" type="resultSetRecordColumnIndexType" use="optional" default="5"/>
  127. <xs:attribute name="precision" type="resultSetRecordColumnIndexType" use="optional" default="6"/>
  128. <xs:attribute name="length" type="resultSetRecordColumnIndexType" use="optional" default="7"/>
  129. <xs:attribute name="scale" type="resultSetRecordColumnIndexType" use="optional" default="8"/>
  130. <xs:attribute name="nullableFlag" type="resultSetRecordColumnIndexType" use="optional" default="9"/>
  131. <xs:attribute name="defaultValue" type="resultSetRecordColumnIndexType" use="optional" default="10"/>
  132. <xs:attribute name="characterSet" type="resultSetRecordColumnIndexType" use="optional" default="11"/>
  133. <xs:attribute name="language" type="resultSetRecordColumnIndexType" use="optional" default="12"/>
  134. </xs:attributeGroup>
  135. <xs:attributeGroup name="columnsRecordIndexMappings">
  136. <xs:attributeGroup ref="parentQueryObjectRecordIndexMappings"/>
  137. <xs:attribute name="columnName" type="resultSetRecordColumnIndexType" use="optional" default="4"/>
  138. <xs:attributeGroup ref="sqlColumnRecordIndexMappings"/>
  139. <xs:attribute name="description" type="resultSetRecordColumnIndexType" use="optional" default="13"/>
  140. <xs:attribute name="systemFlag" type="resultSetRecordColumnIndexType" use="optional" default="1"/>
  141. </xs:attributeGroup>
  142. <xs:attributeGroup name="proceduresRecordIndexMappings">
  143. <xs:attributeGroup ref="parentSchemaRecordIndexMappings"/>
  144. <xs:attribute name="procedureName" type="resultSetRecordColumnIndexType" use="optional" default="3"/>
  145. <xs:attribute name="isSystemObject" type="resultSetRecordColumnIndexType" use="optional" default="4"/>
  146. <xs:attribute name="description" type="resultSetRecordColumnIndexType" use="optional" default="5"/>
  147. <xs:attribute name="procedureType" type="resultSetRecordColumnIndexType" use="optional" default="6"/>
  148. </xs:attributeGroup>
  149. <xs:attributeGroup name="procedureParametersRecordIndexMappings">
  150. <xs:attributeGroup ref="parentQueryObjectRecordIndexMappings"/>
  151. <xs:attribute name="argumentName" type="resultSetRecordColumnIndexType" use="optional" default="4"/>
  152. <xs:attributeGroup ref="sqlColumnRecordIndexMappings"/>
  153. <xs:attribute name="description" type="resultSetRecordColumnIndexType" use="optional" default="13"/>
  154. <xs:attribute name="signatureIndex" type="resultSetRecordColumnIndexType" use="optional" default="14"/>
  155. <xs:attribute name="mode" type="resultSetRecordColumnIndexType" use="optional" default="15"/>
  156. <xs:attribute name="occurs" type="resultSetRecordColumnIndexType" use="optional" default="16"/>
  157. <xs:attribute name="parameterSequence" type="resultSetRecordColumnIndexType" use="optional" default="17"/>
  158. <xs:attribute name="dataLevel" type="resultSetRecordColumnIndexType" use="optional" default="18"/>
  159. <xs:attribute name="dataLevelPosition" type="resultSetRecordColumnIndexType" use="optional" default="19"/>
  160. </xs:attributeGroup>
  161. <xs:attributeGroup name="uniqueKeysRecordIndexMappings">
  162. <xs:attributeGroup ref="parentQueryObjectRecordIndexMappings"/>
  163. <xs:attribute name="keyName" type="schemaChildObjectNameIndexType" use="optional" default="4"/>
  164. <xs:attribute name="refColumnName" type="refColumnNameIndexType" use="optional" default="5"/>
  165. <xs:attribute name="refColumnSequence" type="refColumnSequenceIndexType" use="optional" default="6"/>
  166. <xs:attribute name="description" type="resultSetRecordColumnIndexType" use="optional" default="unsupported"/>
  167. </xs:attributeGroup>
  168. <xs:attributeGroup name="tablesRecordIndexMappings">
  169. <xs:attributeGroup ref="parentSchemaRecordIndexMappings"/>
  170. <xs:attribute name="tableName" type="resultSetRecordColumnIndexType" use="optional" default="3"/>
  171. <xs:attribute name="systemFlag" type="resultSetRecordColumnIndexType" use="optional" default="4"/>
  172. <xs:attribute name="tableType" type="resultSetRecordColumnIndexType" use="optional" default="5"/>
  173. <xs:attribute name="description" type="resultSetRecordColumnIndexType" use="optional" default="unsupported"/>
  174. </xs:attributeGroup>
  175. <xs:attributeGroup name="indexesRecordIndexMappings">
  176. <xs:attributeGroup ref="parentSchemaRecordIndexMappings"/>
  177. <xs:attribute name="indexName" type="resultSetRecordColumnIndexType" use="optional" default="3"/>
  178. <xs:attribute name="isUnique" type="resultSetRecordColumnIndexType" use="optional" default="4"/>
  179. <xs:attribute name="storageType" type="resultSetRecordColumnIndexType" use="optional" default="5"/>
  180. <xs:attribute name="refColumnCatalog" type="refCatalogNameIndexType" use="optional" default="6"/>
  181. <xs:attribute name="refColumnSchema" type="refSchemaNameIndexType" use="optional" default="7"/>
  182. <xs:attribute name="refColumnQueryObject" type="refQueryObjectNameIndexType" use="optional" default="8"/>
  183. <xs:attribute name="refColumnSequence" type="refColumnSequenceIndexType" use="optional" default="9"/>
  184. <xs:attribute name="refColumnName" type="refColumnNameIndexType" use="optional" default="10"/>
  185. <xs:attribute name="sortOrder" type="resultSetRecordColumnIndexType" use="optional" default="11"/>
  186. <xs:attribute name="description" type="resultSetRecordColumnIndexType" use="optional" default="unsupported"/>
  187. </xs:attributeGroup>
  188. <xs:attributeGroup name="synonymsRecordIndexMappings">
  189. <xs:attributeGroup ref="parentSchemaRecordIndexMappings"/>
  190. <xs:attribute name="synonymName" type="resultSetRecordColumnIndexType" use="optional" default="3"/>
  191. <xs:attributeGroup ref="objectReferenceRecordIndexMappings"/>
  192. <xs:attribute name="systemFlag" type="resultSetRecordColumnIndexType" use="optional" default="7"/>
  193. <xs:attribute name="description" type="resultSetRecordColumnIndexType" use="optional" default="8"/>
  194. <xs:attribute name="refQueryObjecttType" type="resultSetRecordColumnIndexType" use="optional" default="9"/>
  195. </xs:attributeGroup>
  196. <xs:attributeGroup name="foreignKeysRecordIndexMappings">
  197. <xs:attributeGroup ref="parentQueryObjectRecordIndexMappings"/>
  198. <xs:attribute name="foreignKeyName" type="resultSetRecordColumnIndexType" use="optional" default="4"/>
  199. <xs:attribute name="exportedColumn" type="refCatalogNameIndexType" use="optional" default="5"/>
  200. <xs:attribute name="columnSequence" type="refColumnSequenceIndexType" use="optional" default="6"/>
  201. <xs:attribute name="importedCatalog" type="refCatalogNameIndexType" use="optional" default="7"/>
  202. <xs:attribute name="importedSchema" type="refSchemaNameIndexType" use="optional" default="8"/>
  203. <xs:attribute name="importedTable" type="refQueryObjectNameIndexType" use="optional" default="9"/>
  204. <xs:attribute name="importedUniqueKey" type="resultSetRecordColumnIndexType" use="optional" default="10"/>
  205. <xs:attribute name="importedColumn" type="refKeyNameIndexType" use="optional" default="11"/>
  206. <xs:attribute name="description" type="xs:string" use="optional" default="12"/>
  207. </xs:attributeGroup>
  208. <xs:attributeGroup name="parentQueryObjectRecordIndexMappings">
  209. <xs:attributeGroup ref="parentSchemaRecordIndexMappings"/>
  210. <xs:attribute name="parentQueryObject" type="resultSetRecordColumnIndexType" use="optional" default="3"/>
  211. </xs:attributeGroup>
  212. <xs:attributeGroup name="schemaReferenceRecordIndexMappings">
  213. <xs:attribute name="refCatalogIndex" type="refCatalogNameIndexType" use="optional" default="4"/>
  214. <xs:attribute name="refSchemaIndex" type="refSchemaNameIndexType" use="optional" default="5"/>
  215. </xs:attributeGroup>
  216. <xs:attributeGroup name="objectReferenceRecordIndexMappings">
  217. <xs:attributeGroup ref="schemaReferenceRecordIndexMappings"/>
  218. <xs:attribute name="refQueryObjectIndex" type="refQueryObjectNameIndexType" use="optional" default="6"/>
  219. </xs:attributeGroup>
  220. <xs:attributeGroup name="columnReferenceRecordIndexMappings">
  221. <xs:attributeGroup ref="objectReferenceRecordIndexMappings"/>
  222. <xs:attribute name="refColumnIndex" type="resultSetRecordColumnIndexType" use="optional" default="4"/>
  223. </xs:attributeGroup>
  224. <xs:attributeGroup name="importRule">
  225. <xs:attribute name="extractionFailureFallback" type="xs:string" use="optional" default="none"/>
  226. </xs:attributeGroup>
  227. <xs:element name="sqlObjectImportRules">
  228. <xs:complexType>
  229. <xs:group ref="sqlAccess"/>
  230. </xs:complexType>
  231. </xs:element>
  232. </xs:schema>