ditabase.xsd 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- ============================================================= -->
  3. <!-- HEADER -->
  4. <!-- ============================================================= -->
  5. <!-- MODULE: DITA BASE XSD -->
  6. <!-- VERSION: 1.1 -->
  7. <!-- DATE: November 2006 -->
  8. <!-- -->
  9. <!-- ============================================================= -->
  10. <!-- ============================================================= -->
  11. <!-- SYSTEM: Darwin Information Typing Architecture (DITA) -->
  12. <!-- -->
  13. <!-- PURPOSE: Based W3C XML Schema holds all the information -->
  14. <!-- types -->
  15. <!-- -->
  16. <!-- ORIGINAL CREATION DATE: -->
  17. <!-- March 2001 -->
  18. <!-- -->
  19. <!-- (C) Copyright OASIS-Open.org 2005, 2006 -->
  20. <!-- (C) Copyright IBM Corporation 2001, 2004. -->
  21. <!-- All Rights Reserved. -->
  22. <!-- ============================================================= -->
  23. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
  24. <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="urn:oasis:names:tc:dita:xsd:xml.xsd:1.1"/>
  25. <!-- Add the domains to the base topic XML Schema -->
  26. <!-- ================ TOPIC DOMAINS ===================== -->
  27. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:uiDomain.xsd:1.1"/>
  28. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:softwareDomain.xsd:1.1"/>
  29. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:highlightDomain.xsd:1.1"/>
  30. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:programmingDomain.xsd:1.1"/>
  31. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:utilitiesDomain.xsd:1.1"/>
  32. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:indexingDomain.xsd:1.1"/>
  33. <!-- ================ GROUP DEFINITIONS ===================== -->
  34. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:referenceGrp.xsd:1.1" />
  35. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:taskGrp.xsd:1.1" />
  36. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:conceptGrp.xsd:1.1" />
  37. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:glossaryGrp.xsd:1.1" />
  38. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:metaDeclGrp.xsd:1.1"/>
  39. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclGrp.xsd:1.1"/>
  40. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:topicGrp.xsd:1.1"/>
  41. <!-- ================= MODULE INLCUDE DEFINITION ================== -->
  42. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:commonElementMod.xsd:1.1"/>
  43. <!-- ======== Table elements ======== -->
  44. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclMod.xsd:1.1"/>
  45. <!-- ======= MetaData elements, plus keyword and indexterm ======= -->
  46. <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:metaDeclMod.xsd:1.1"/>
  47. <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:commonElementGrp.xsd:1.1">
  48. <xs:group name="keyword">
  49. <xs:choice>
  50. <xs:group ref="keyword"/>
  51. <xs:group ref="pr-d-keyword" />
  52. <xs:group ref="ui-d-keyword" />
  53. <xs:group ref="sw-d-keyword" />
  54. </xs:choice>
  55. </xs:group>
  56. <xs:group name="ph">
  57. <xs:choice>
  58. <xs:group ref="ph"/>
  59. <xs:group ref="pr-d-ph" />
  60. <xs:group ref="ui-d-ph" />
  61. <xs:group ref="hi-d-ph" />
  62. <xs:group ref="sw-d-ph" />
  63. </xs:choice>
  64. </xs:group>
  65. <xs:group name="pre">
  66. <xs:choice>
  67. <xs:group ref="pre"/>
  68. <xs:group ref="pr-d-pre" />
  69. <xs:group ref="ui-d-pre" />
  70. <xs:group ref="sw-d-pre" />
  71. </xs:choice>
  72. </xs:group>
  73. <xs:group name="dl">
  74. <xs:choice>
  75. <xs:group ref="dl"/>
  76. <xs:group ref="pr-d-dl"/>
  77. </xs:choice >
  78. </xs:group >
  79. <xs:group name="fig">
  80. <xs:choice>
  81. <xs:group ref="fig"/>
  82. <xs:group ref="pr-d-fig"/>
  83. <xs:group ref="ut-d-fig" />
  84. </xs:choice>
  85. </xs:group >
  86. <xs:group name="index-base">
  87. <xs:choice>
  88. <xs:group ref="index-base"/>
  89. <xs:group ref="indexing-d-index-base"/>
  90. </xs:choice>
  91. </xs:group >
  92. </xs:redefine>
  93. <!-- ================ INFO TYPES ===================== -->
  94. <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:topicMod.xsd:1.1" >
  95. <xs:complexType name="topic.class">
  96. <xs:complexContent>
  97. <xs:extension base="topic.class">
  98. <xs:attribute name="domains" type="xs:string" default="(topic ui-d) (topic hi-d) (topic sw-d) (topic pr-d) (topic ut-d) (topic indexing-d)"/>
  99. </xs:extension>
  100. </xs:complexContent>
  101. </xs:complexType>
  102. <xs:group name="topic-info-types">
  103. <xs:choice>
  104. <xs:group ref="info-types"/>
  105. </xs:choice>
  106. </xs:group>
  107. </xs:redefine>
  108. <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:conceptMod.xsd:1.1" >
  109. <xs:complexType name="concept.class">
  110. <xs:complexContent>
  111. <xs:extension base="concept.class">
  112. <xs:attribute name="domains" type="xs:string" default="(topic ui-d) (topic hi-d) (topic sw-d) (topic pr-d) (topic ut-d) (topic indexing-d)"/>
  113. </xs:extension>
  114. </xs:complexContent>
  115. </xs:complexType>
  116. <xs:group name="concept-info-types">
  117. <xs:choice>
  118. <xs:group ref="info-types"/>
  119. </xs:choice>
  120. </xs:group>
  121. </xs:redefine>
  122. <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:taskMod.xsd:1.1" >
  123. <xs:complexType name="task.class">
  124. <xs:complexContent>
  125. <xs:extension base="task.class">
  126. <xs:attribute name="domains" type="xs:string" default="(topic ui-d) (topic hi-d) (topic sw-d) (topic pr-d) (topic ut-d) (topic indexing-d)"/>
  127. </xs:extension>
  128. </xs:complexContent>
  129. </xs:complexType>
  130. <xs:group name="task-info-types">
  131. <xs:choice>
  132. <xs:group ref="info-types"/>
  133. </xs:choice>
  134. </xs:group>
  135. </xs:redefine>
  136. <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:referenceMod.xsd:1.1" >
  137. <xs:complexType name="reference.class">
  138. <xs:complexContent>
  139. <xs:extension base="reference.class">
  140. <xs:attribute name="domains" type="xs:string" default="(topic ui-d) (topic hi-d) (topic sw-d) (topic pr-d) (topic ut-d) (topic indexing-d)"/>
  141. </xs:extension>
  142. </xs:complexContent>
  143. </xs:complexType>
  144. <xs:group name="reference-info-types">
  145. <xs:choice>
  146. <xs:group ref="info-types"/>
  147. </xs:choice>
  148. </xs:group>
  149. </xs:redefine>
  150. <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:glossaryMod.xsd:1.1" >
  151. <xs:complexType name="glossentry.class">
  152. <xs:complexContent>
  153. <xs:extension base="glossentry.class">
  154. <xs:attribute name="domains" type="xs:string" default="(topic ui-d) (topic hi-d) (topic sw-d) (topic pr-d) (topic ut-d) (topic indexing-d)"/>
  155. </xs:extension>
  156. </xs:complexContent>
  157. </xs:complexType>
  158. <xs:group name="glossentry-info-types">
  159. <xs:choice>
  160. <xs:group ref="no-topic-nesting"/>
  161. </xs:choice>
  162. </xs:group>
  163. </xs:redefine>
  164. <xs:group name="ditabase-info-types">
  165. <xs:choice>
  166. <xs:group ref="info-types"/>
  167. </xs:choice>
  168. </xs:group>
  169. <xs:group name="info-types">
  170. <xs:choice>
  171. <xs:element ref="topic"/>
  172. <xs:element ref="task"/>
  173. <xs:element ref="concept"/>
  174. <xs:element ref="reference"/>
  175. <xs:element ref="glossentry"/>
  176. </xs:choice>
  177. </xs:group>
  178. <xs:annotation>
  179. <xs:documentation>The &lt;<keyword>dita</keyword>&gt; element provides a top-level container
  180. for multiple topics when you create documents using the ditabase DTD. The
  181. &lt;<keyword>dita</keyword>&gt; element lets you create any sequence of concept,
  182. task, and reference topics, and the ditabase DTD lets you further nest these
  183. topic types inside each other. The &lt;<keyword>dita</keyword>&gt; element has
  184. no particular output implications; it simply allows you to create multiple
  185. topics of different types at the same level in a single document.</xs:documentation>
  186. </xs:annotation>
  187. <xs:element name="dita" type="dita.class"/>
  188. <xs:complexType name="dita.class">
  189. <xs:choice maxOccurs="unbounded">
  190. <xs:group ref="ditabase-info-types"/>
  191. </xs:choice>
  192. <xs:attributeGroup ref="global-atts"/>
  193. </xs:complexType>
  194. </xs:schema>