implementation.xsd 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: cpscrn
  5. (C) Copyright IBM Corp. 2005, 2011
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <!--
  9. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  10. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  11. -->
  12. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://developer.cognos.com/fragments/implementation/1/" xmlns:frag="http://developer.cognos.com/fragments/1/" xmlns:p="http://www.w3.org/2002/02/xml-pipeline" targetNamespace="http://developer.cognos.com/fragments/implementation/1/" elementFormDefault="qualified" attributeFormDefault="unqualified">
  13. <xs:import namespace="http://developer.cognos.com/fragments/1/" schemaLocation="fragments.xsd"/>
  14. <xs:import namespace="http://www.w3.org/2002/02/xml-pipeline" schemaLocation="../../../../../../../../../test/schemas/xml-pipeline.xsd"/>
  15. <xs:element name="implementation">
  16. <xs:complexType>
  17. <xs:sequence>
  18. <xs:element name="info" type="frag:InfoType" minOccurs="0"/>
  19. <xs:element name="meta" type="frag:MetaType" minOccurs="0"/>
  20. <xs:element name="library" type="frag:LibraryType" minOccurs="0" maxOccurs="unbounded"/>
  21. <xs:element name="css" type="frag:CssType" minOccurs="0" maxOccurs="unbounded"/>
  22. <xs:element name="message" minOccurs="0">
  23. <xs:complexType>
  24. <xs:attribute name="source" type="xs:string" use="required"/>
  25. </xs:complexType>
  26. </xs:element>
  27. <xs:choice>
  28. <xs:sequence>
  29. <xs:element name="stage" type="CustomStageType" minOccurs="0" maxOccurs="unbounded"/>
  30. <xs:element name="init" type="StageType" minOccurs="0"/>
  31. <xs:element name="event" type="StageType" minOccurs="0"/>
  32. <xs:element name="interaction" type="StageType" minOccurs="0"/>
  33. <xs:element name="logic" type="StageType" minOccurs="0"/>
  34. <xs:element name="render" type="RenderStageType" minOccurs="0"/>
  35. </xs:sequence>
  36. <xs:element ref="p:pipeline"/>
  37. </xs:choice>
  38. </xs:sequence>
  39. <xs:attribute name="version" type="xs:string" use="required"/>
  40. <xs:attribute name="complex-meta-data" type="xs:boolean">
  41. <xs:annotation>
  42. <xs:documentation>'true' means the meta generation is a multi-phase process (as opposed to just the meta as defined in the implementation file)</xs:documentation>
  43. </xs:annotation>
  44. </xs:attribute>
  45. </xs:complexType>
  46. </xs:element>
  47. <xs:complexType name="InputType">
  48. <xs:choice>
  49. <xs:any namespace="##local" processContents="lax" minOccurs="0"/>
  50. <xs:any namespace="##other" processContents="lax" minOccurs="0"/>
  51. </xs:choice>
  52. <xs:attribute name="name" type="xs:string" use="required"/>
  53. </xs:complexType>
  54. <xs:complexType name="StageType">
  55. <xs:sequence>
  56. <xs:element name="param" minOccurs="0" maxOccurs="unbounded">
  57. <xs:complexType>
  58. <xs:attribute name="name" type="xs:string" use="required"/>
  59. <xs:attribute name="select" type="xs:string"/>
  60. </xs:complexType>
  61. </xs:element>
  62. <xs:element name="input" type="InputType" minOccurs="0" maxOccurs="unbounded"/>
  63. </xs:sequence>
  64. <xs:attribute name="processor" use="optional" default="java">
  65. <xs:simpleType>
  66. <xs:restriction base="xs:string">
  67. <xs:enumeration value="xts"/>
  68. <xs:enumeration value="xslt"/>
  69. <xs:enumeration value="java"/>
  70. </xs:restriction>
  71. </xs:simpleType>
  72. </xs:attribute>
  73. <xs:attribute name="source" type="xs:string" use="optional"/>
  74. </xs:complexType>
  75. <xs:complexType name="RenderStageType">
  76. <xs:complexContent>
  77. <xs:extension base="StageType">
  78. <xs:sequence minOccurs="0">
  79. <xs:element name="mode" maxOccurs="unbounded">
  80. <xs:complexType>
  81. <xs:sequence>
  82. <xs:element name="transforms" maxOccurs="unbounded">
  83. <xs:complexType>
  84. <xs:sequence>
  85. <xs:element name="transform" maxOccurs="unbounded">
  86. <xs:complexType mixed="true">
  87. <xs:sequence>
  88. <xs:element name="logicsheet" minOccurs="0" maxOccurs="unbounded">
  89. <xs:complexType>
  90. <xs:attribute name="source" type="xs:string" use="required"/>
  91. </xs:complexType>
  92. </xs:element>
  93. </xs:sequence>
  94. <xs:attribute name="source" type="xs:string" use="required"/>
  95. </xs:complexType>
  96. </xs:element>
  97. </xs:sequence>
  98. <xs:attribute name="view" type="xs:string" use="optional"/>
  99. </xs:complexType>
  100. </xs:element>
  101. <xs:element name="library" type="frag:LibraryType" minOccurs="0" maxOccurs="unbounded"/>
  102. </xs:sequence>
  103. <xs:attribute name="name" use="required">
  104. <xs:simpleType>
  105. <xs:annotation>
  106. <xs:documentation>1 or more space separated modes (e.g. view edit help config)</xs:documentation>
  107. </xs:annotation>
  108. <xs:restriction base="listOfQNames">
  109. <xs:minLength value="1"/>
  110. </xs:restriction>
  111. </xs:simpleType>
  112. </xs:attribute>
  113. </xs:complexType>
  114. </xs:element>
  115. </xs:sequence>
  116. </xs:extension>
  117. </xs:complexContent>
  118. </xs:complexType>
  119. <xs:complexType name="CustomStageType">
  120. <xs:complexContent>
  121. <xs:extension base="StageType">
  122. <xs:sequence>
  123. <xs:element name="output" maxOccurs="unbounded">
  124. <xs:complexType>
  125. <xs:attribute name="name" type="xs:string" use="required"/>
  126. </xs:complexType>
  127. </xs:element>
  128. </xs:sequence>
  129. </xs:extension>
  130. </xs:complexContent>
  131. </xs:complexType>
  132. <xs:simpleType name="listOfQNames">
  133. <xs:list itemType="xs:QName"/>
  134. </xs:simpleType>
  135. </xs:schema>