topicMod.xsd 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- ============================================================= -->
  3. <!-- HEADER -->
  4. <!-- ============================================================= -->
  5. <!-- MODULE: DITA Topic XSD Module -->
  6. <!-- VERSION: 1.1 -->
  7. <!-- DATE: November 2006 -->
  8. <!-- -->
  9. <!-- ============================================================= -->
  10. <!-- ============================================================= -->
  11. <!-- SYSTEM: Darwin Information Typing Architecture (DITA) -->
  12. <!-- -->
  13. <!-- PURPOSE: Define elements and specialization attributes -->
  14. <!-- for Topics -->
  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="qualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
  24. <!-- ==================== Import Section ======================= -->
  25. <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="urn:oasis:names:tc:dita:xsd:xml.xsd:1.1"/>
  26. <xs:import namespace="http://dita.oasis-open.org/architecture/2005/" schemaLocation="urn:oasis:names:tc:dita:xsd:ditaarch.xsd:1.1"/>
  27. <!-- these are common for some classes of resources and exhibits -->
  28. <xs:attributeGroup name="rel-atts">
  29. <xs:annotation>
  30. <xs:documentation>Relational attributes (&lt;<keyword>%rel-atts;</keyword>>) is a
  31. parameter entity declaration in the topic DTD that includes attributes whose
  32. values may be used for representing navigational relationships. These attributes
  33. occur only on elements that represent relationships between topics.
  34. </xs:documentation>
  35. </xs:annotation>
  36. <xs:attribute name="type" type="xs:string"/>
  37. <xs:attribute name="role" type="role-att.class"/>
  38. <xs:attribute name="otherrole" type="xs:string"/>
  39. </xs:attributeGroup>
  40. <!-- Predefined content.model groups, based on the previous, element-only categories: -->
  41. <!-- txt.incl is appropriate for any mixed content definitions (those that have PCDATA) -->
  42. <!-- the context for blocks is implicitly an InfoMaster "containing_division" -->
  43. <!-- <!ENTITY % body.cnt "%basic.block;|%required-cleanup;"> -->
  44. <xs:group name="body.cnt">
  45. <xs:choice>
  46. <xs:group ref="basic.block"/>
  47. <xs:group ref="required-cleanup"/>
  48. <xs:choice minOccurs="0" maxOccurs="unbounded">
  49. <xs:group ref="data.element.incl"/>
  50. <xs:group ref="foreign.unknown.incl"/>
  51. </xs:choice>
  52. </xs:choice>
  53. </xs:group>
  54. <!-- <!ENTITY % section.cnt "#PCDATA | %basic.ph; | %basic.block; | %title; | %txt.incl;"> -->
  55. <xs:group name="section.cnt">
  56. <xs:choice>
  57. <xs:group ref="basic.ph"/>
  58. <xs:group ref="basic.block"/>
  59. <xs:group ref="title"/>
  60. <xs:group ref="txt.incl"/>
  61. <xs:choice minOccurs="0" maxOccurs="unbounded">
  62. <xs:group ref="data.element.incl"/>
  63. <xs:group ref="foreign.unknown.incl"/>
  64. </xs:choice>
  65. </xs:choice>
  66. </xs:group>
  67. <!-- <!ENTITY % section.notitle.cnt "#PCDATA | %basic.ph; | %basic.block; | %txt.incl;"> -->
  68. <xs:group name="section.notitle.cnt">
  69. <xs:choice>
  70. <xs:group ref="basic.ph"/>
  71. <xs:group ref="basic.block"/>
  72. <xs:group ref="txt.incl"/>
  73. <xs:choice minOccurs="0" maxOccurs="unbounded">
  74. <xs:group ref="data.element.incl"/>
  75. <xs:group ref="foreign.unknown.incl"/>
  76. </xs:choice>
  77. </xs:choice>
  78. </xs:group>
  79. <!-- STRUCTURAL MEMBERS ======================================================== -->
  80. <!-- things that can be nested under topic after body - redefined when specializing -->
  81. <xs:simpleType name="topicreftypes-att.class">
  82. <xs:restriction base="xs:string">
  83. <xs:enumeration value="topic"/>
  84. <xs:enumeration value="concept"/>
  85. <xs:enumeration value="task"/>
  86. <xs:enumeration value="reference"/>
  87. <xs:enumeration value="external"/>
  88. <xs:enumeration value="local"/>
  89. <xs:enumeration value="-dita-use-conref-target"/>
  90. </xs:restriction>
  91. </xs:simpleType>
  92. <xs:group name="topic-info-types">
  93. <xs:choice>
  94. <xs:group ref="topic"/>
  95. <xs:group ref="info-types"/>
  96. </xs:choice>
  97. </xs:group>
  98. <!-- infotype 'topic'
  99. | Topic is the archetype from which other typed topics may be derived.
  100. | Its body has completely optional content, which allows topic to be used as a titled container
  101. | role: migration target for XHTML, other hierarchically structured source
  102. *-->
  103. <xs:element name="topic">
  104. <xs:annotation>
  105. <xs:documentation>The &lt;<keyword>topic</keyword>> element is the top-level DITA
  106. element for a single-subject topic or article. Other top-level DITA elements
  107. that are more content-specific are &lt;<keyword>concept</keyword>>, &lt;<keyword>task</keyword>>,
  108. and &lt;<keyword>reference</keyword>>.
  109. </xs:documentation>
  110. </xs:annotation>
  111. <xs:complexType>
  112. <xs:complexContent>
  113. <xs:extension base="topic.class">
  114. <xs:attribute ref="class" default="- topic/topic "/>
  115. </xs:extension>
  116. </xs:complexContent>
  117. </xs:complexType>
  118. </xs:element>
  119. <xs:complexType name="topic.class">
  120. <xs:sequence>
  121. <xs:group ref="title"/>
  122. <xs:group ref="titlealts" minOccurs="0"/>
  123. <xs:choice minOccurs="0" >
  124. <xs:group ref="shortdesc" />
  125. <xs:group ref="abstract" />
  126. </xs:choice>
  127. <xs:group ref="prolog" minOccurs="0"/>
  128. <xs:group ref="body" minOccurs="0"/>
  129. <xs:group ref="related-links" minOccurs="0"/>
  130. <xs:group ref="topic-info-types" minOccurs="0" maxOccurs="unbounded"/>
  131. </xs:sequence>
  132. <xs:attribute name="id" type="xs:ID" use="required"/>
  133. <xs:attribute name="outputclass" type="xs:string"/>
  134. <xs:attribute name="conref" type="xs:string"/>
  135. <xs:attribute ref="ditaarch:DITAArchVersion"/>
  136. <xs:attributeGroup ref="select-atts"/>
  137. <xs:attributeGroup ref="localization-atts"/>
  138. <xs:attributeGroup ref="global-atts"/>
  139. </xs:complexType>
  140. <!-- Rename null to no-topic-nesting -->
  141. <xs:element name="no-topic-nesting">
  142. <xs:annotation>
  143. <xs:documentation>The &lt;<keyword>no-topic-nesting</keyword>> element is a placeholder
  144. in the DITA architecture. It is not actually used by the DITA DTDs; it is
  145. for use only when creating a customized DTD where the information designer
  146. wants to eliminate the ability to nest topics. <b>Not for use by authors.</b>
  147. </xs:documentation>
  148. </xs:annotation>
  149. <xs:complexType>
  150. <xs:complexContent>
  151. <xs:extension base="no-topic-nesting.class">
  152. <xs:attribute ref="class" default="- topic/no-topic-nesting "/>
  153. </xs:extension>
  154. </xs:complexContent>
  155. </xs:complexType>
  156. </xs:element>
  157. <xs:complexType name="no-topic-nesting.class">
  158. <xs:attributeGroup ref="global-atts"/>
  159. </xs:complexType>
  160. <xs:element name="titlealts">
  161. <xs:annotation>
  162. <xs:documentation>The alternate title element (&lt;<keyword>titlealts</keyword>>)
  163. is optional, but can occur after the topic title. Two elements can be inserted
  164. as sub-elements of &lt;<keyword>titlealts</keyword>>: navigation title &lt;<keyword>navtitle</keyword>>
  165. and search title &lt;<keyword>searchtitle</keyword>>. When your DITA topic
  166. is transformed to XHTML, the &lt;<keyword>searchtitle</keyword>> element is
  167. used to create a title element at the top of the resulting XHTML file. This
  168. title may differ from the first level heading that shows in the main browser
  169. window. In HTML output, the &lt;<keyword>navtitle</keyword>> may be used to
  170. create navigation panels when your DITA topics are part of an HTML-based help
  171. or information system. The design intent is to enable navigation for HTML
  172. Help and Eclipse help systems.
  173. </xs:documentation>
  174. </xs:annotation>
  175. <xs:complexType>
  176. <xs:complexContent>
  177. <xs:extension base="titlealts.class">
  178. <xs:attribute ref="class" default="- topic/titlealts "/>
  179. </xs:extension>
  180. </xs:complexContent>
  181. </xs:complexType>
  182. </xs:element>
  183. <xs:complexType name="titlealts.class">
  184. <xs:sequence>
  185. <xs:group ref="navtitle" minOccurs="0"/>
  186. <xs:group ref="searchtitle" minOccurs="0"/>
  187. </xs:sequence>
  188. <xs:attributeGroup ref="univ-atts"/>
  189. <xs:attributeGroup ref="global-atts"/>
  190. </xs:complexType>
  191. <xs:element name="navtitle">
  192. <xs:annotation>
  193. <xs:documentation>The navigation title (&lt;<keyword>navtitle</keyword>>) element
  194. is one of a set of alternate titles that can be included inside the &lt;<keyword>titlealts</keyword>>
  195. element. This navigation title may differ from the first level heading that
  196. shows in the main browser window. Use &lt;<keyword>navtitle</keyword>> when
  197. the actual title of the topic isn't appropriate for use in navigation panes
  198. or online contents (for example, because the actual title is too long or needs
  199. stated in terse, imperative voice in the navigation).
  200. </xs:documentation>
  201. </xs:annotation>
  202. <xs:complexType mixed="true">
  203. <xs:complexContent>
  204. <xs:extension base="navtitle.class">
  205. <xs:attribute ref="class" default="- topic/navtitle "/>
  206. </xs:extension>
  207. </xs:complexContent>
  208. </xs:complexType>
  209. </xs:element>
  210. <xs:complexType name="navtitle.class" mixed="true">
  211. <xs:choice minOccurs="0" maxOccurs="unbounded">
  212. <xs:group ref="words.cnt"/>
  213. </xs:choice>
  214. <xs:attributeGroup ref="univ-atts"/>
  215. <xs:attributeGroup ref="global-atts"/>
  216. </xs:complexType>
  217. <xs:element name="searchtitle">
  218. <xs:annotation>
  219. <xs:documentation>When your DITA topic is transformed to XHTML, the &lt;<keyword>searchtitle</keyword>>
  220. element is used to create a title element at the top of the resulting HTML
  221. file. This title is normally used in search result summaries by some search
  222. engines, such as that in Eclipse (<ph><xref format="html" href="http://eclipse.org"
  223. scope="external">http://eclipse.org</xref></ph>); if not set, the XHTML's
  224. title element defaults to the source topic's title content (which may not
  225. be as well optimized for search summaries)
  226. </xs:documentation>
  227. </xs:annotation>
  228. <xs:complexType mixed="true">
  229. <xs:complexContent>
  230. <xs:extension base="searchtitle.class">
  231. <xs:attribute ref="class" default="- topic/searchtitle "/>
  232. </xs:extension>
  233. </xs:complexContent>
  234. </xs:complexType>
  235. </xs:element>
  236. <xs:complexType name="searchtitle.class" mixed="true">
  237. <xs:choice minOccurs="0" maxOccurs="unbounded">
  238. <xs:group ref="words.cnt"/>
  239. </xs:choice>
  240. <xs:attributeGroup ref="univ-atts"/>
  241. <xs:attributeGroup ref="global-atts"/>
  242. </xs:complexType>
  243. <xs:element name="shortdesc">
  244. <xs:annotation>
  245. <xs:documentation>The short description (&lt;<keyword>shortdesc</keyword>>) element
  246. occurs between the topic title and the topic body, as the initial paragraph-like
  247. content of a topic. The short description, which represents the purpose or
  248. theme of the topic, is also intended to be used as a link preview and for
  249. searching.
  250. </xs:documentation>
  251. </xs:annotation>
  252. <xs:complexType mixed="true">
  253. <xs:complexContent>
  254. <xs:extension base="shortdesc.class">
  255. <xs:attribute ref="class" default="- topic/shortdesc "/>
  256. </xs:extension>
  257. </xs:complexContent>
  258. </xs:complexType>
  259. </xs:element>
  260. <xs:element name="body">
  261. <xs:annotation>
  262. <xs:documentation>The &lt;<keyword>body</keyword>> element is the container for the
  263. main content of a &lt;<keyword>topic</keyword>>.
  264. </xs:documentation>
  265. </xs:annotation>
  266. <xs:complexType>
  267. <xs:complexContent>
  268. <xs:extension base="body.class">
  269. <xs:attribute ref="class" default="- topic/body "/>
  270. </xs:extension>
  271. </xs:complexContent>
  272. </xs:complexType>
  273. </xs:element>
  274. <xs:complexType name="body.class">
  275. <xs:choice minOccurs="0" maxOccurs="unbounded">
  276. <xs:group ref="body.cnt"/>
  277. <xs:group ref="section"/>
  278. <xs:group ref="example"/>
  279. </xs:choice>
  280. <xs:attribute name="outputclass" type="xs:string"/>
  281. <xs:attributeGroup ref="univ-atts"/>
  282. <xs:attributeGroup ref="global-atts"/>
  283. </xs:complexType>
  284. <xs:element name="section">
  285. <xs:annotation>
  286. <xs:documentation> The &lt;<keyword>section</keyword>> element represents an organizational
  287. division in a topic. Sections are used to organize subsets of information
  288. that are directly related to the topic. For example, the titles <b>Reference
  289. Syntax</b>, <b>Example</b> and <b>Properties</b> might represent section-level
  290. discourse within a topic about a command-line process—the content in each
  291. section relates uniquely to the subject of that topic. Multiple sections within
  292. a single topic do not represent a hierarchy, but rather peer divisions of
  293. that topic. Sections cannot be nested. A section may have an optional title.
  294. </xs:documentation>
  295. </xs:annotation>
  296. <xs:complexType mixed="true">
  297. <xs:complexContent>
  298. <xs:extension base="section.class">
  299. <xs:attribute ref="class" default="- topic/section "/>
  300. </xs:extension>
  301. </xs:complexContent>
  302. </xs:complexType>
  303. </xs:element>
  304. <xs:complexType name="section.class" mixed="true">
  305. <xs:choice minOccurs="0" maxOccurs="unbounded">
  306. <xs:group ref="section.cnt"/>
  307. </xs:choice>
  308. <xs:attribute name="spectitle" type="xs:string"/>
  309. <xs:attribute name="outputclass" type="xs:string"/>
  310. <xs:attributeGroup ref="univ-atts"/>
  311. <xs:attributeGroup ref="global-atts"/>
  312. </xs:complexType>
  313. <xs:element name="example">
  314. <xs:annotation>
  315. <xs:documentation>The &lt;<keyword>example</keyword>> element is a section with the
  316. specific role of containing examples that illustrate or support the current
  317. topic. The &lt;<keyword>example</keyword>> element has the same content model
  318. as &lt;<keyword>section</keyword>>.
  319. </xs:documentation>
  320. </xs:annotation>
  321. <xs:complexType mixed="true">
  322. <xs:complexContent>
  323. <xs:extension base="example.class">
  324. <xs:attribute ref="class" default="- topic/example "/>
  325. </xs:extension>
  326. </xs:complexContent>
  327. </xs:complexType>
  328. </xs:element>
  329. <xs:complexType name="example.class" mixed="true">
  330. <xs:choice minOccurs="0" maxOccurs="unbounded">
  331. <xs:group ref="section.cnt"/>
  332. </xs:choice>
  333. <xs:attribute name="spectitle" type="xs:string"/>
  334. <xs:attribute name="outputclass" type="xs:string"/>
  335. <xs:attributeGroup ref="univ-atts"/>
  336. <xs:attributeGroup ref="global-atts"/>
  337. </xs:complexType>
  338. <!-- PROLOG (metadata for topics) =================================== -->
  339. <!-- TYPED DATA ELEMENTS: ======================================================= -->
  340. <!-- typed content definitions -->
  341. <!-- typed, localizable content -->
  342. <xs:element name="prolog">
  343. <xs:annotation>
  344. <xs:documentation>The &lt;<keyword>prolog</keyword>> element contains information
  345. about the topic as an whole (for example, author information or subject category)
  346. that is either entered by the author or machine-maintained. Much of the metadata
  347. inside the &lt;<keyword>prolog</keyword>> will not be displayed with the topic
  348. on output, but may be used by processes that generate search indexes or customize
  349. navigation.
  350. </xs:documentation>
  351. </xs:annotation>
  352. <xs:complexType>
  353. <xs:complexContent>
  354. <xs:extension base="prolog.class">
  355. <xs:attribute ref="class" default="- topic/prolog "/>
  356. </xs:extension>
  357. </xs:complexContent>
  358. </xs:complexType>
  359. </xs:element>
  360. <xs:complexType name="prolog.class">
  361. <xs:sequence>
  362. <xs:group ref="author" minOccurs="0" maxOccurs="unbounded"/>
  363. <xs:group ref="source" minOccurs="0"/>
  364. <xs:group ref="publisher" minOccurs="0"/>
  365. <xs:group ref="copyright" minOccurs="0" maxOccurs="unbounded"/>
  366. <xs:group ref="critdates" minOccurs="0"/>
  367. <xs:group ref="permissions" minOccurs="0"/>
  368. <xs:group ref="metadata" minOccurs="0" maxOccurs="unbounded"/>
  369. <xs:group ref="resourceid" minOccurs="0" maxOccurs="unbounded"/>
  370. <xs:choice minOccurs="0" maxOccurs="unbounded">
  371. <xs:group ref="data.element.incl"/>
  372. <xs:group ref="foreign.unknown.incl"/>
  373. </xs:choice>
  374. </xs:sequence>
  375. <xs:attributeGroup ref="univ-atts"/>
  376. <xs:attributeGroup ref="global-atts"/>
  377. </xs:complexType>
  378. <xs:element name="metadata">
  379. <xs:annotation>
  380. <xs:documentation>The &lt;<keyword>metadata</keyword>> section of the prolog contains
  381. information about a topic such as audience and product information. Metadata
  382. can be used by computational processes to select particular topics or to prepare
  383. search indexes or to customize navigation.
  384. </xs:documentation>
  385. </xs:annotation>
  386. <xs:complexType>
  387. <xs:complexContent>
  388. <xs:extension base="metadata.class">
  389. <xs:attribute ref="class" default="- topic/metadata "/>
  390. </xs:extension>
  391. </xs:complexContent>
  392. </xs:complexType>
  393. </xs:element>
  394. <xs:complexType name="metadata.class">
  395. <xs:sequence>
  396. <xs:group ref="audience" minOccurs="0" maxOccurs="unbounded"/>
  397. <xs:group ref="category" minOccurs="0" maxOccurs="unbounded"/>
  398. <xs:group ref="keywords" minOccurs="0" maxOccurs="unbounded"/>
  399. <xs:group ref="prodinfo" minOccurs="0" maxOccurs="unbounded"/>
  400. <xs:group ref="othermeta" minOccurs="0" maxOccurs="unbounded"/>
  401. <xs:choice minOccurs="0" maxOccurs="unbounded">
  402. <xs:group ref="data.element.incl"/>
  403. <xs:group ref="foreign.unknown.incl"/>
  404. </xs:choice>
  405. </xs:sequence>
  406. <xs:attribute name="mapkeyref" type="xs:string"/>
  407. <xs:attributeGroup ref="univ-atts"/>
  408. <xs:attributeGroup ref="global-atts"/>
  409. </xs:complexType>
  410. <!-- ================ LINKS GROUPING - START ================ -->
  411. <xs:element name="related-links">
  412. <xs:annotation>
  413. <xs:documentation>The related information links of a topic (&lt;<keyword>related-links</keyword>>
  414. element) are stored in a special section following the body of the topic.
  415. After a topic is processed into it final output form, the related links are
  416. usually displayed at the end of the topic, although some Web-based help systems
  417. might display them in a separate navigation frame.
  418. </xs:documentation>
  419. </xs:annotation>
  420. <xs:complexType>
  421. <xs:complexContent>
  422. <xs:extension base="related-links.class">
  423. <xs:attribute ref="class" default="- topic/related-links "/>
  424. </xs:extension>
  425. </xs:complexContent>
  426. </xs:complexType>
  427. </xs:element>
  428. <xs:complexType name="related-links.class">
  429. <xs:choice maxOccurs="unbounded">
  430. <xs:group ref="link"/>
  431. <xs:group ref="linklist"/>
  432. <xs:group ref="linkpool"/>
  433. </xs:choice>
  434. <xs:attribute name="outputclass" type="xs:string"/>
  435. <xs:attributeGroup ref="rel-atts"/>
  436. <xs:attributeGroup ref="univ-atts"/>
  437. <xs:attribute name="format" type="xs:string"/>
  438. <xs:attribute name="scope" type="scope-att.class"/>
  439. <xs:attributeGroup ref="global-atts"/>
  440. </xs:complexType>
  441. <xs:element name="linklist">
  442. <xs:annotation>
  443. <xs:documentation>The &lt;<keyword>linklist</keyword>> element defines an author-arranged
  444. group of links. Within &lt;<keyword>linklist</keyword>>, the organization
  445. of links on final output is in the same order as originally authored in the
  446. DITA topic file.
  447. </xs:documentation>
  448. </xs:annotation>
  449. <xs:complexType>
  450. <xs:complexContent>
  451. <xs:extension base="linklist.class">
  452. <xs:attribute ref="class" default="- topic/linklist "/>
  453. </xs:extension>
  454. </xs:complexContent>
  455. </xs:complexType>
  456. </xs:element>
  457. <xs:complexType name="linklist.class">
  458. <xs:sequence>
  459. <xs:group ref="title" minOccurs="0"/>
  460. <xs:group ref="desc" minOccurs="0"/>
  461. <xs:choice minOccurs="0" maxOccurs="unbounded">
  462. <xs:group ref="linklist"/>
  463. <xs:group ref="link"/>
  464. </xs:choice>
  465. <xs:group ref="linkinfo" minOccurs="0"/>
  466. </xs:sequence>
  467. <xs:attribute name="collection-type" type="collection-type.class"/>
  468. <xs:attribute name="duplicates" type="yesno-att.class"/>
  469. <xs:attribute name="mapkeyref" type="xs:string"/>
  470. <xs:attribute name="outputclass" type="xs:string"/>
  471. <xs:attribute name="format" type="xs:string"/>
  472. <xs:attribute name="spectitle" type="xs:string"/>
  473. <xs:attribute name="scope" type="scope-att.class"/>
  474. <xs:attributeGroup ref="rel-atts"/>
  475. <xs:attributeGroup ref="univ-atts"/>
  476. <xs:attributeGroup ref="global-atts"/>
  477. </xs:complexType>
  478. <xs:element name="linkinfo">
  479. <xs:annotation>
  480. <xs:documentation>
  481. The &lt;<keyword>linkinfo</keyword>> element allows you to place
  482. a descriptive paragraph following a list of links in a <ph><xref href="linklist.xml">linklist</xref></ph> element.
  483. </xs:documentation>
  484. </xs:annotation>
  485. <xs:complexType mixed="true">
  486. <xs:complexContent>
  487. <xs:extension base="linkinfo.class">
  488. <xs:attribute ref="class" default="- topic/linkinfo "/>
  489. </xs:extension>
  490. </xs:complexContent>
  491. </xs:complexType>
  492. </xs:element>
  493. <xs:complexType name="linkinfo.class" mixed="true">
  494. <xs:choice minOccurs="0" maxOccurs="unbounded">
  495. <xs:group ref="desc.cnt"/>
  496. </xs:choice>
  497. <xs:attributeGroup ref="univ-atts"/>
  498. <xs:attributeGroup ref="global-atts"/>
  499. </xs:complexType>
  500. <xs:element name="linkpool">
  501. <xs:annotation>
  502. <xs:documentation>The &lt;<keyword>linkpool</keyword>> element defines a group of
  503. links that have common characteristics, such as type or audience or source.
  504. Within &lt;<keyword>linkpool</keyword>>, the organization of links on final
  505. output is determined by the output process, not by the order that the links
  506. actually occur in the DITA topic file.
  507. </xs:documentation>
  508. </xs:annotation>
  509. <xs:complexType>
  510. <xs:complexContent>
  511. <xs:extension base="linkpool.class">
  512. <xs:attribute ref="class" default="- topic/linkpool "/>
  513. </xs:extension>
  514. </xs:complexContent>
  515. </xs:complexType>
  516. </xs:element>
  517. <xs:complexType name="linkpool.class">
  518. <xs:choice minOccurs="0" maxOccurs="unbounded">
  519. <xs:group ref="linkpool"/>
  520. <xs:group ref="link"/>
  521. </xs:choice>
  522. <xs:attribute name="collection-type" type="collection-type.class"/>
  523. <xs:attribute name="duplicates" type="yesno-att.class"/>
  524. <xs:attribute name="mapkeyref" type="xs:string"/>
  525. <xs:attribute name="outputclass" type="xs:string"/>
  526. <xs:attribute name="format" type="xs:string"/>
  527. <xs:attribute name="scope" type="scope-att.class"/>
  528. <xs:attributeGroup ref="rel-atts"/>
  529. <xs:attributeGroup ref="univ-atts"/>
  530. <xs:attributeGroup ref="global-atts"/>
  531. </xs:complexType>
  532. <xs:element name="linktext">
  533. <xs:annotation>
  534. <xs:documentation>The &lt;<keyword>linktext</keyword>> element provides the literal
  535. label or line of text for a link. In most cases, the text of a link can be
  536. resolved during processing by cross reference with the target resource. Use
  537. the &lt;<keyword>linktext</keyword>> element only when the target cannot be
  538. reached, such as when it is a peer or external link.
  539. </xs:documentation>
  540. </xs:annotation>
  541. <xs:complexType mixed="true">
  542. <xs:complexContent>
  543. <xs:extension base="linktext.class">
  544. <xs:attribute ref="class" default="- topic/linktext "/>
  545. </xs:extension>
  546. </xs:complexContent>
  547. </xs:complexType>
  548. </xs:element>
  549. <xs:complexType name="linktext.class" mixed="true">
  550. <xs:choice minOccurs="0" maxOccurs="unbounded">
  551. <xs:group ref="words.cnt"/>
  552. </xs:choice>
  553. <xs:attributeGroup ref="univ-atts"/>
  554. <xs:attributeGroup ref="global-atts"/>
  555. </xs:complexType>
  556. <xs:element name="link">
  557. <xs:annotation>
  558. <xs:documentation>The &lt;<keyword>link</keyword>> element defines a relationship
  559. to another topic. Links represent the types and roles of topics in a web of
  560. information, and therefore represent navigational links within that web. The
  561. parent structures of link allow authors to define named groups and even sort
  562. orders that can be applied to sets of links.
  563. </xs:documentation>
  564. </xs:annotation>
  565. <xs:complexType>
  566. <xs:complexContent>
  567. <xs:extension base="link.class">
  568. <xs:attribute ref="class" default="- topic/link "/>
  569. </xs:extension>
  570. </xs:complexContent>
  571. </xs:complexType>
  572. </xs:element>
  573. <xs:complexType name="link.class">
  574. <xs:sequence>
  575. <xs:group ref="linktext" minOccurs="0"/>
  576. <xs:group ref="desc" minOccurs="0"/>
  577. </xs:sequence>
  578. <xs:attribute name="href" type="xs:string"/>
  579. <xs:attribute name="keyref" type="xs:string"/>
  580. <xs:attribute name="outputclass" type="xs:string"/>
  581. <xs:attribute name="format" type="xs:string"/>
  582. <xs:attribute name="query" type="xs:string"/>
  583. <xs:attribute name="scope" type="scope-att.class"/>
  584. <xs:attributeGroup ref="rel-atts"/>
  585. <xs:attributeGroup ref="univ-atts"/>
  586. <xs:attributeGroup ref="global-atts"/>
  587. </xs:complexType>
  588. <xs:simpleType name="collection-type.class">
  589. <xs:restriction base="xs:string">
  590. <xs:enumeration value="choice"/>
  591. <xs:enumeration value="unordered"/>
  592. <xs:enumeration value="sequence"/>
  593. <xs:enumeration value="family"/>
  594. <xs:enumeration value="-dita-use-conref-target"/>
  595. </xs:restriction>
  596. </xs:simpleType>
  597. <!-- ================ LINKS GROUPING - END ================ -->
  598. <!-- LONG NAME: Abstract -->
  599. <!-- <!ELEMENT abstract (%section.notitle.cnt; | %shortdesc;)* > -->
  600. <xs:element name="abstract">
  601. <xs:complexType mixed="true">
  602. <xs:complexContent>
  603. <xs:extension base="abstract.class">
  604. <xs:attribute ref="class" default="- topic/abstract " />
  605. </xs:extension>
  606. </xs:complexContent>
  607. </xs:complexType>
  608. </xs:element>
  609. <xs:complexType name="abstract.class" mixed="true">
  610. <xs:choice minOccurs="0" maxOccurs="unbounded">
  611. <xs:group ref="section.notitle.cnt"/>
  612. <xs:group ref="shortdesc"/>
  613. </xs:choice>
  614. <xs:attribute name="outputclass" type="xs:string"/>
  615. <xs:attributeGroup ref="univ-atts"/>
  616. <xs:attributeGroup ref="global-atts"/>
  617. </xs:complexType>
  618. </xs:schema>