lineageExternal.xsd 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: mdsrv
  5. (C) Copyright IBM Corp. 2008, 2010
  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. <xs:complexType name="paramType">
  10. <xs:annotation>
  11. <xs:documentation>A generic name-value pair, which pertains to both param and property element types.</xs:documentation>
  12. </xs:annotation>
  13. <xs:simpleContent>
  14. <xs:extension base="xs:string">
  15. <xs:attribute name="name" type="xs:string" use="required">
  16. <xs:annotation>
  17. <xs:documentation>The name of the param or property element.</xs:documentation>
  18. </xs:annotation>
  19. </xs:attribute>
  20. </xs:extension>
  21. </xs:simpleContent>
  22. </xs:complexType>
  23. <xs:element name="property">
  24. <xs:annotation>
  25. <xs:documentation>A generic name-value pair, that contains optional extensions for a "display value'" for the property's name and/or value. Its name must be unique across sibling instances. The domain of names and values service-specific.</xs:documentation>
  26. </xs:annotation>
  27. <xs:complexType>
  28. <xs:complexContent>
  29. <xs:extension base="paramType">
  30. <xs:attribute name="displayName" type="xs:string" use="optional">
  31. <xs:annotation>
  32. <xs:documentation>The "display value" for a property's name.</xs:documentation>
  33. </xs:annotation>
  34. </xs:attribute>
  35. <xs:attribute name="displayValue" type="xs:string" use="optional">
  36. <xs:annotation>
  37. <xs:documentation>The "display value" for a property's value.</xs:documentation>
  38. </xs:annotation>
  39. </xs:attribute>
  40. </xs:extension>
  41. </xs:complexContent>
  42. </xs:complexType>
  43. </xs:element>
  44. <xs:element name="objectRef" type="xs:string">
  45. <xs:annotation>
  46. <xs:documentation>A reference to an object in the main object set of the response. Its value must match that of the “id” of another object in the main object set.</xs:documentation>
  47. </xs:annotation>
  48. </xs:element>
  49. <xs:element name="param" type="paramType">
  50. <xs:annotation>
  51. <xs:documentation>A generic name-value parameter, used throughout in both the request and response. Ths name must be unique across sibling instances.</xs:documentation>
  52. </xs:annotation>
  53. </xs:element>
  54. <xs:element name="lineageRequest">
  55. <xs:annotation>
  56. <xs:documentation>The root element of a lineage request.</xs:documentation>
  57. </xs:annotation>
  58. <xs:complexType>
  59. <xs:sequence>
  60. <xs:element name="service" type="xs:string" minOccurs="0">
  61. <xs:annotation>
  62. <xs:documentation>Intended to pertain to a lineageRequest element that appears in the transformation for an object in the response, to indicate to the caller the service that can handle this request. Reserved for future use.</xs:documentation>
  63. </xs:annotation>
  64. </xs:element>
  65. <xs:element name="connection">
  66. <xs:annotation>
  67. <xs:documentation>A setting that leads to a source specification against which the objectQuery elements are processed.</xs:documentation>
  68. </xs:annotation>
  69. <xs:complexType>
  70. <xs:sequence>
  71. <xs:element ref="param" maxOccurs="unbounded"/>
  72. </xs:sequence>
  73. </xs:complexType>
  74. </xs:element>
  75. <xs:element name="objectQuery" maxOccurs="unbounded">
  76. <xs:annotation>
  77. <xs:documentation>Represents the request for the lineage of a single object in the specification pertaining to the connection. The domain of valiues are service-specific</xs:documentation>
  78. </xs:annotation>
  79. <xs:complexType>
  80. <xs:sequence>
  81. <xs:element ref="param" maxOccurs="unbounded"/>
  82. </xs:sequence>
  83. <xs:attribute name="id" type="xs:string">
  84. <xs:annotation>
  85. <xs:documentation>A value that uniquely identifies the objectQuery in the request. This value is specified as the “objectQueryRef” value of a “queryResult” element in the response. This provides the caller with the ability to match the various queryResult elements in the response with corresponding objectQuery elements in the originating request.</xs:documentation>
  86. <xs:documentation source="doc_att_id_1"/>
  87. </xs:annotation>
  88. </xs:attribute>
  89. </xs:complexType>
  90. </xs:element>
  91. </xs:sequence>
  92. <xs:attribute name="version" type="xs:string" use="required" fixed="1.0">
  93. <xs:annotation>
  94. <xs:documentation>The version of the lineage API being employed. The semantics of its value is specific to the service implementing the request.</xs:documentation>
  95. </xs:annotation>
  96. </xs:attribute>
  97. </xs:complexType>
  98. </xs:element>
  99. <xs:element name="object">
  100. <xs:annotation>
  101. <xs:documentation>Pertains to an object in the source specification against which the lineage request is being processed. It can either be an an object involved in the requested lineage, with the "transformation" element specified accordingly. It can also serve merely to provide context for other objects or as a transformation source with no transformation of its own, in which case no transformation element will exist and only the parentRef and/or the childRef elements may be populated.</xs:documentation>
  102. </xs:annotation>
  103. <xs:complexType>
  104. <xs:sequence>
  105. <xs:element name="name">
  106. <xs:annotation>
  107. <xs:documentation>The name of the object.</xs:documentation>
  108. </xs:annotation>
  109. </xs:element>
  110. <xs:element name="type" type="xs:string">
  111. <xs:annotation>
  112. <xs:documentation>A semantic type of the object,</xs:documentation>
  113. </xs:annotation>
  114. </xs:element>
  115. <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
  116. <xs:element name="transformation" minOccurs="0">
  117. <xs:annotation>
  118. <xs:documentation>Represents the transformation information for a particular object in the source specifiication that the parent object element is based on. Its transformation sources are determined by its "objectRef" sub-elements. The value of every objectRef element should match that of the “id” of another object in the main object set. The lineageRequest element represents a subsequent lineage request that needs to be processed by some other service that can semantically process the transformation source.</xs:documentation>
  119. </xs:annotation>
  120. <xs:complexType>
  121. <xs:sequence>
  122. <xs:element name="type">
  123. <xs:annotation>
  124. <xs:documentation>The semantic type of a transformation, whose domain of values are service-specific.</xs:documentation>
  125. <xs:documentation source="doc_ele_type_1"/>
  126. </xs:annotation>
  127. </xs:element>
  128. <xs:element ref="property" minOccurs="0" maxOccurs="unbounded">
  129. <xs:annotation>
  130. <xs:documentation>A generic name-value pair that contains optional extensions for a "display value'" of the property's name and/or value. Its name must be unique across sibling instances. The domain of names and values service-specific.</xs:documentation>
  131. </xs:annotation>
  132. </xs:element>
  133. <xs:choice>
  134. <xs:element ref="objectRef"/>
  135. <xs:element ref="lineageRequest"/>
  136. </xs:choice>
  137. </xs:sequence>
  138. </xs:complexType>
  139. </xs:element>
  140. <xs:element name="parentRef" minOccurs="0">
  141. <xs:annotation>
  142. <xs:documentation>A reference to an object in the main object set that represents the current object's contextual “parent”. Its value must match that of the “id” of another object in the main object set.</xs:documentation>
  143. </xs:annotation>
  144. </xs:element>
  145. <xs:element name="childRef" type="xs:string" minOccurs="0" maxOccurs="unbounded">
  146. <xs:annotation>
  147. <xs:documentation>A reference to an object in the main object set that represents the current object's contextual “parent”. Its value must match that of the “id” of another object in the main object set.</xs:documentation>
  148. </xs:annotation>
  149. </xs:element>
  150. </xs:sequence>
  151. <xs:attribute name="id" type="xs:string" use="required">
  152. <xs:annotation>
  153. <xs:documentation>A unique identfiiier for the object. Its value can by referenced via the childRef of another object, the parentRef of another object or the objectRef of a transformation.</xs:documentation>
  154. </xs:annotation>
  155. </xs:attribute>
  156. </xs:complexType>
  157. </xs:element>
  158. <xs:element name="lineageObjects">
  159. <xs:annotation>
  160. <xs:documentation>The root element represents the dictionary of all available lineage objects</xs:documentation>
  161. </xs:annotation>
  162. <xs:complexType>
  163. <xs:choice maxOccurs="unbounded">
  164. <xs:element ref="object"/>
  165. </xs:choice>
  166. </xs:complexType>
  167. </xs:element>
  168. </xs:schema>