xhtml1-strict.xsd 64 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema version="1.0" xml:lang="en"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. targetNamespace="http://www.w3.org/1999/xhtml"
  5. xmlns="http://www.w3.org/1999/xhtml"
  6. xmlns:xml="http://www.w3.org/XML/1998/namespace"
  7. elementFormDefault="qualified">
  8. <xs:annotation>
  9. <xs:documentation>
  10. XHTML 1.0 (Second Edition) Strict in XML Schema
  11. This is the same as HTML 4 Strict except for
  12. changes due to the differences between XML and SGML.
  13. Namespace = http://www.w3.org/1999/xhtml
  14. For further information, see: http://www.w3.org/TR/xhtml1
  15. Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
  16. All Rights Reserved.
  17. The DTD version is identified by the PUBLIC and SYSTEM identifiers:
  18. PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  19. SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
  20. $Id: xhtml1-strict.xsd,v 1.2 2002/08/28 08:05:44 mimasa Exp $
  21. </xs:documentation>
  22. </xs:annotation>
  23. <xs:import namespace="http://www.w3.org/XML/1998/namespace"
  24. schemaLocation="xml.xsd"/>
  25. <xs:annotation>
  26. <xs:documentation>
  27. ================ Character mnemonic entities =========================
  28. XHTML entity sets are identified by the PUBLIC and SYSTEM identifiers:
  29. PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
  30. SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"
  31. PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
  32. SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"
  33. PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
  34. SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
  35. </xs:documentation>
  36. </xs:annotation>
  37. <xs:annotation>
  38. <xs:documentation>
  39. ================== Imported Names ====================================
  40. </xs:documentation>
  41. </xs:annotation>
  42. <xs:simpleType name="ContentType">
  43. <xs:annotation>
  44. <xs:documentation>
  45. media type, as per [RFC2045]
  46. </xs:documentation>
  47. </xs:annotation>
  48. <xs:restriction base="xs:string"/>
  49. </xs:simpleType>
  50. <xs:simpleType name="ContentTypes">
  51. <xs:annotation>
  52. <xs:documentation>
  53. comma-separated list of media types, as per [RFC2045]
  54. </xs:documentation>
  55. </xs:annotation>
  56. <xs:restriction base="xs:string"/>
  57. </xs:simpleType>
  58. <xs:simpleType name="Charset">
  59. <xs:annotation>
  60. <xs:documentation>
  61. a character encoding, as per [RFC2045]
  62. </xs:documentation>
  63. </xs:annotation>
  64. <xs:restriction base="xs:string"/>
  65. </xs:simpleType>
  66. <xs:simpleType name="Charsets">
  67. <xs:annotation>
  68. <xs:documentation>
  69. a space separated list of character encodings, as per [RFC2045]
  70. </xs:documentation>
  71. </xs:annotation>
  72. <xs:restriction base="xs:string"/>
  73. </xs:simpleType>
  74. <xs:simpleType name="LanguageCode">
  75. <xs:annotation>
  76. <xs:documentation>
  77. a language code, as per [RFC3066]
  78. </xs:documentation>
  79. </xs:annotation>
  80. <xs:restriction base="xs:language"/>
  81. </xs:simpleType>
  82. <xs:simpleType name="Character">
  83. <xs:annotation>
  84. <xs:documentation>
  85. a single character, as per section 2.2 of [XML]
  86. </xs:documentation>
  87. </xs:annotation>
  88. <xs:restriction base="xs:string">
  89. <xs:length value="1" fixed="true"/>
  90. </xs:restriction>
  91. </xs:simpleType>
  92. <xs:simpleType name="Number">
  93. <xs:annotation>
  94. <xs:documentation>
  95. one or more digits
  96. </xs:documentation>
  97. </xs:annotation>
  98. <xs:restriction base="xs:nonNegativeInteger">
  99. <xs:pattern value="[0-9]+"/>
  100. </xs:restriction>
  101. </xs:simpleType>
  102. <xs:simpleType name="tabindexNumber">
  103. <xs:annotation>
  104. <xs:documentation>
  105. tabindex attribute specifies the position of the current element
  106. in the tabbing order for the current document. This value must be
  107. a number between 0 and 32767. User agents should ignore leading zeros.
  108. </xs:documentation>
  109. </xs:annotation>
  110. <xs:restriction base="Number">
  111. <xs:minInclusive value="0"/>
  112. <xs:maxInclusive value="32767"/>
  113. </xs:restriction>
  114. </xs:simpleType>
  115. <xs:simpleType name="LinkTypes">
  116. <xs:annotation>
  117. <xs:documentation>
  118. space-separated list of link types
  119. </xs:documentation>
  120. </xs:annotation>
  121. <xs:restriction base="xs:NMTOKENS"/>
  122. </xs:simpleType>
  123. <xs:simpleType name="MediaDesc">
  124. <xs:annotation>
  125. <xs:documentation>
  126. single or comma-separated list of media descriptors
  127. </xs:documentation>
  128. </xs:annotation>
  129. <xs:restriction base="xs:string">
  130. <xs:pattern value="[^,]+(,\s*[^,]+)*"/>
  131. </xs:restriction>
  132. </xs:simpleType>
  133. <xs:simpleType name="URI">
  134. <xs:annotation>
  135. <xs:documentation>
  136. a Uniform Resource Identifier, see [RFC2396]
  137. </xs:documentation>
  138. </xs:annotation>
  139. <xs:restriction base="xs:anyURI"/>
  140. </xs:simpleType>
  141. <xs:simpleType name="UriList">
  142. <xs:annotation>
  143. <xs:documentation>
  144. a space separated list of Uniform Resource Identifiers
  145. </xs:documentation>
  146. </xs:annotation>
  147. <xs:restriction base="xs:string"/>
  148. </xs:simpleType>
  149. <xs:simpleType name="Datetime">
  150. <xs:annotation>
  151. <xs:documentation>
  152. date and time information. ISO date format
  153. </xs:documentation>
  154. </xs:annotation>
  155. <xs:restriction base="xs:dateTime"/>
  156. </xs:simpleType>
  157. <xs:simpleType name="Script">
  158. <xs:annotation>
  159. <xs:documentation>
  160. script expression
  161. </xs:documentation>
  162. </xs:annotation>
  163. <xs:restriction base="xs:string"/>
  164. </xs:simpleType>
  165. <xs:simpleType name="StyleSheet">
  166. <xs:annotation>
  167. <xs:documentation>
  168. style sheet data
  169. </xs:documentation>
  170. </xs:annotation>
  171. <xs:restriction base="xs:string"/>
  172. </xs:simpleType>
  173. <xs:simpleType name="Text">
  174. <xs:annotation>
  175. <xs:documentation>
  176. used for titles etc.
  177. </xs:documentation>
  178. </xs:annotation>
  179. <xs:restriction base="xs:string"/>
  180. </xs:simpleType>
  181. <xs:simpleType name="Length">
  182. <xs:annotation>
  183. <xs:documentation>
  184. nn for pixels or nn% for percentage length
  185. </xs:documentation>
  186. </xs:annotation>
  187. <xs:restriction base="xs:string">
  188. <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/>
  189. </xs:restriction>
  190. </xs:simpleType>
  191. <xs:simpleType name="MultiLength">
  192. <xs:annotation>
  193. <xs:documentation>
  194. pixel, percentage, or relative
  195. </xs:documentation>
  196. </xs:annotation>
  197. <xs:restriction base="xs:string">
  198. <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/>
  199. </xs:restriction>
  200. </xs:simpleType>
  201. <xs:simpleType name="Pixels">
  202. <xs:annotation>
  203. <xs:documentation>
  204. integer representing length in pixels
  205. </xs:documentation>
  206. </xs:annotation>
  207. <xs:restriction base="xs:nonNegativeInteger"/>
  208. </xs:simpleType>
  209. <xs:annotation>
  210. <xs:documentation>
  211. these are used for image maps
  212. </xs:documentation>
  213. </xs:annotation>
  214. <xs:simpleType name="Shape">
  215. <xs:restriction base="xs:token">
  216. <xs:enumeration value="rect"/>
  217. <xs:enumeration value="circle"/>
  218. <xs:enumeration value="poly"/>
  219. <xs:enumeration value="default"/>
  220. </xs:restriction>
  221. </xs:simpleType>
  222. <xs:simpleType name="Coords">
  223. <xs:annotation>
  224. <xs:documentation>
  225. comma separated list of lengths
  226. </xs:documentation>
  227. </xs:annotation>
  228. <xs:restriction base="xs:string">
  229. <xs:pattern
  230. value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/>
  231. </xs:restriction>
  232. </xs:simpleType>
  233. <xs:annotation>
  234. <xs:documentation>
  235. =================== Generic Attributes ===============================
  236. </xs:documentation>
  237. </xs:annotation>
  238. <xs:attributeGroup name="coreattrs">
  239. <xs:annotation>
  240. <xs:documentation>
  241. core attributes common to most elements
  242. id document-wide unique id
  243. class space separated list of classes
  244. style associated style info
  245. title advisory title/amplification
  246. </xs:documentation>
  247. </xs:annotation>
  248. <xs:attribute name="id" type="xs:ID"/>
  249. <xs:attribute name="class" type="xs:NMTOKENS"/>
  250. <xs:attribute name="style" type="StyleSheet"/>
  251. <xs:attribute name="title" type="Text"/>
  252. </xs:attributeGroup>
  253. <xs:attributeGroup name="i18n">
  254. <xs:annotation>
  255. <xs:documentation>
  256. internationalization attributes
  257. lang language code (backwards compatible)
  258. xml:lang language code (as per XML 1.0 spec)
  259. dir direction for weak/neutral text
  260. </xs:documentation>
  261. </xs:annotation>
  262. <xs:attribute name="lang" type="LanguageCode"/>
  263. <xs:attribute ref="xml:lang"/>
  264. <xs:attribute name="dir">
  265. <xs:simpleType>
  266. <xs:restriction base="xs:token">
  267. <xs:enumeration value="ltr"/>
  268. <xs:enumeration value="rtl"/>
  269. </xs:restriction>
  270. </xs:simpleType>
  271. </xs:attribute>
  272. </xs:attributeGroup>
  273. <xs:attributeGroup name="events">
  274. <xs:annotation>
  275. <xs:documentation>
  276. attributes for common UI events
  277. onclick a pointer button was clicked
  278. ondblclick a pointer button was double clicked
  279. onmousedown a pointer button was pressed down
  280. onmouseup a pointer button was released
  281. onmousemove a pointer was moved onto the element
  282. onmouseout a pointer was moved away from the element
  283. onkeypress a key was pressed and released
  284. onkeydown a key was pressed down
  285. onkeyup a key was released
  286. </xs:documentation>
  287. </xs:annotation>
  288. <xs:attribute name="onclick" type="Script"/>
  289. <xs:attribute name="ondblclick" type="Script"/>
  290. <xs:attribute name="onmousedown" type="Script"/>
  291. <xs:attribute name="onmouseup" type="Script"/>
  292. <xs:attribute name="onmouseover" type="Script"/>
  293. <xs:attribute name="onmousemove" type="Script"/>
  294. <xs:attribute name="onmouseout" type="Script"/>
  295. <xs:attribute name="onkeypress" type="Script"/>
  296. <xs:attribute name="onkeydown" type="Script"/>
  297. <xs:attribute name="onkeyup" type="Script"/>
  298. </xs:attributeGroup>
  299. <xs:attributeGroup name="focus">
  300. <xs:annotation>
  301. <xs:documentation>
  302. attributes for elements that can get the focus
  303. accesskey accessibility key character
  304. tabindex position in tabbing order
  305. onfocus the element got the focus
  306. onblur the element lost the focus
  307. </xs:documentation>
  308. </xs:annotation>
  309. <xs:attribute name="accesskey" type="Character"/>
  310. <xs:attribute name="tabindex" type="tabindexNumber"/>
  311. <xs:attribute name="onfocus" type="Script"/>
  312. <xs:attribute name="onblur" type="Script"/>
  313. </xs:attributeGroup>
  314. <xs:attributeGroup name="attrs">
  315. <xs:attributeGroup ref="coreattrs"/>
  316. <xs:attributeGroup ref="i18n"/>
  317. <xs:attributeGroup ref="events"/>
  318. </xs:attributeGroup>
  319. <xs:annotation>
  320. <xs:documentation>
  321. =================== Text Elements ====================================
  322. </xs:documentation>
  323. </xs:annotation>
  324. <xs:group name="special.pre">
  325. <xs:choice>
  326. <xs:element ref="br"/>
  327. <xs:element ref="span"/>
  328. <xs:element ref="bdo"/>
  329. <xs:element ref="map"/>
  330. </xs:choice>
  331. </xs:group>
  332. <xs:group name="special">
  333. <xs:choice>
  334. <xs:group ref="special.pre"/>
  335. <xs:element ref="object"/>
  336. <xs:element ref="img"/>
  337. </xs:choice>
  338. </xs:group>
  339. <xs:group name="fontstyle">
  340. <xs:choice>
  341. <xs:element ref="tt"/>
  342. <xs:element ref="i"/>
  343. <xs:element ref="b"/>
  344. <xs:element ref="big"/>
  345. <xs:element ref="small"/>
  346. </xs:choice>
  347. </xs:group>
  348. <xs:group name="phrase">
  349. <xs:choice>
  350. <xs:element ref="em"/>
  351. <xs:element ref="strong"/>
  352. <xs:element ref="dfn"/>
  353. <xs:element ref="code"/>
  354. <xs:element ref="q"/>
  355. <xs:element ref="samp"/>
  356. <xs:element ref="kbd"/>
  357. <xs:element ref="var"/>
  358. <xs:element ref="cite"/>
  359. <xs:element ref="abbr"/>
  360. <xs:element ref="acronym"/>
  361. <xs:element ref="sub"/>
  362. <xs:element ref="sup"/>
  363. </xs:choice>
  364. </xs:group>
  365. <xs:group name="inline.forms">
  366. <xs:choice>
  367. <xs:element ref="input"/>
  368. <xs:element ref="select"/>
  369. <xs:element ref="textarea"/>
  370. <xs:element ref="label"/>
  371. <xs:element ref="button"/>
  372. </xs:choice>
  373. </xs:group>
  374. <xs:group name="misc.inline">
  375. <xs:choice>
  376. <xs:element ref="ins"/>
  377. <xs:element ref="del"/>
  378. <xs:element ref="script"/>
  379. </xs:choice>
  380. </xs:group>
  381. <xs:group name="misc">
  382. <xs:annotation>
  383. <xs:documentation>
  384. these can only occur at block level
  385. </xs:documentation>
  386. </xs:annotation>
  387. <xs:choice>
  388. <xs:element ref="noscript"/>
  389. <xs:group ref="misc.inline"/>
  390. </xs:choice>
  391. </xs:group>
  392. <xs:group name="inline">
  393. <xs:choice>
  394. <xs:element ref="a"/>
  395. <xs:group ref="special"/>
  396. <xs:group ref="fontstyle"/>
  397. <xs:group ref="phrase"/>
  398. <xs:group ref="inline.forms"/>
  399. </xs:choice>
  400. </xs:group>
  401. <xs:complexType name="Inline" mixed="true">
  402. <xs:annotation>
  403. <xs:documentation>
  404. "Inline" covers inline or "text-level" elements
  405. </xs:documentation>
  406. </xs:annotation>
  407. <xs:choice minOccurs="0" maxOccurs="unbounded">
  408. <xs:group ref="inline"/>
  409. <xs:group ref="misc.inline"/>
  410. </xs:choice>
  411. </xs:complexType>
  412. <xs:annotation>
  413. <xs:documentation>
  414. ================== Block level elements ==============================
  415. </xs:documentation>
  416. </xs:annotation>
  417. <xs:group name="heading">
  418. <xs:choice>
  419. <xs:element ref="h1"/>
  420. <xs:element ref="h2"/>
  421. <xs:element ref="h3"/>
  422. <xs:element ref="h4"/>
  423. <xs:element ref="h5"/>
  424. <xs:element ref="h6"/>
  425. </xs:choice>
  426. </xs:group>
  427. <xs:group name="lists">
  428. <xs:choice>
  429. <xs:element ref="ul"/>
  430. <xs:element ref="ol"/>
  431. <xs:element ref="dl"/>
  432. </xs:choice>
  433. </xs:group>
  434. <xs:group name="blocktext">
  435. <xs:choice>
  436. <xs:element ref="pre"/>
  437. <xs:element ref="hr"/>
  438. <xs:element ref="blockquote"/>
  439. <xs:element ref="address"/>
  440. </xs:choice>
  441. </xs:group>
  442. <xs:group name="block">
  443. <xs:choice>
  444. <xs:element ref="p"/>
  445. <xs:group ref="heading"/>
  446. <xs:element ref="div"/>
  447. <xs:group ref="lists"/>
  448. <xs:group ref="blocktext"/>
  449. <xs:element ref="fieldset"/>
  450. <xs:element ref="table"/>
  451. </xs:choice>
  452. </xs:group>
  453. <xs:complexType name="Block">
  454. <xs:choice minOccurs="0" maxOccurs="unbounded">
  455. <xs:group ref="block"/>
  456. <xs:element ref="form"/>
  457. <xs:group ref="misc"/>
  458. </xs:choice>
  459. </xs:complexType>
  460. <xs:complexType name="Flow" mixed="true">
  461. <xs:annotation>
  462. <xs:documentation>
  463. "Flow" mixes block and inline and is used for list items etc.
  464. </xs:documentation>
  465. </xs:annotation>
  466. <xs:choice minOccurs="0" maxOccurs="unbounded">
  467. <xs:group ref="block"/>
  468. <xs:element ref="form"/>
  469. <xs:group ref="inline"/>
  470. <xs:group ref="misc"/>
  471. </xs:choice>
  472. </xs:complexType>
  473. <xs:annotation>
  474. <xs:documentation>
  475. ================== Content models for exclusions =====================
  476. </xs:documentation>
  477. </xs:annotation>
  478. <xs:complexType name="a.content" mixed="true">
  479. <xs:annotation>
  480. <xs:documentation>
  481. a elements use "Inline" excluding a
  482. </xs:documentation>
  483. </xs:annotation>
  484. <xs:choice minOccurs="0" maxOccurs="unbounded">
  485. <xs:group ref="special"/>
  486. <xs:group ref="fontstyle"/>
  487. <xs:group ref="phrase"/>
  488. <xs:group ref="inline.forms"/>
  489. <xs:group ref="misc.inline"/>
  490. </xs:choice>
  491. </xs:complexType>
  492. <xs:complexType name="pre.content" mixed="true">
  493. <xs:annotation>
  494. <xs:documentation>
  495. pre uses "Inline" excluding big, small, sup or sup
  496. </xs:documentation>
  497. </xs:annotation>
  498. <xs:choice minOccurs="0" maxOccurs="unbounded">
  499. <xs:element ref="a"/>
  500. <xs:group ref="fontstyle"/>
  501. <xs:group ref="phrase"/>
  502. <xs:group ref="special.pre"/>
  503. <xs:group ref="misc.inline"/>
  504. <xs:group ref="inline.forms"/>
  505. </xs:choice>
  506. </xs:complexType>
  507. <xs:complexType name="form.content">
  508. <xs:annotation>
  509. <xs:documentation>
  510. form uses "Block" excluding form
  511. </xs:documentation>
  512. </xs:annotation>
  513. <xs:choice minOccurs="0" maxOccurs="unbounded">
  514. <xs:group ref="block"/>
  515. <xs:group ref="misc"/>
  516. </xs:choice>
  517. </xs:complexType>
  518. <xs:complexType name="button.content" mixed="true">
  519. <xs:annotation>
  520. <xs:documentation>
  521. button uses "Flow" but excludes a, form and form controls
  522. </xs:documentation>
  523. </xs:annotation>
  524. <xs:choice minOccurs="0" maxOccurs="unbounded">
  525. <xs:element ref="p"/>
  526. <xs:group ref="heading"/>
  527. <xs:element ref="div"/>
  528. <xs:group ref="lists"/>
  529. <xs:group ref="blocktext"/>
  530. <xs:element ref="table"/>
  531. <xs:group ref="special"/>
  532. <xs:group ref="fontstyle"/>
  533. <xs:group ref="phrase"/>
  534. <xs:group ref="misc"/>
  535. </xs:choice>
  536. </xs:complexType>
  537. <xs:annotation>
  538. <xs:documentation>
  539. ================ Document Structure ==================================
  540. </xs:documentation>
  541. </xs:annotation>
  542. <xs:element name="html">
  543. <xs:complexType>
  544. <xs:sequence>
  545. <xs:element ref="head"/>
  546. <xs:element ref="body"/>
  547. </xs:sequence>
  548. <xs:attributeGroup ref="i18n"/>
  549. <xs:attribute name="id" type="xs:ID"/>
  550. </xs:complexType>
  551. </xs:element>
  552. <xs:annotation>
  553. <xs:documentation>
  554. ================ Document Head =======================================
  555. </xs:documentation>
  556. </xs:annotation>
  557. <xs:group name="head.misc">
  558. <xs:sequence>
  559. <xs:choice minOccurs="0" maxOccurs="unbounded">
  560. <xs:element ref="script"/>
  561. <xs:element ref="style"/>
  562. <xs:element ref="meta"/>
  563. <xs:element ref="link"/>
  564. <xs:element ref="object"/>
  565. </xs:choice>
  566. </xs:sequence>
  567. </xs:group>
  568. <xs:element name="head">
  569. <xs:annotation>
  570. <xs:documentation>
  571. content model is "head.misc" combined with a single
  572. title and an optional base element in any order
  573. </xs:documentation>
  574. </xs:annotation>
  575. <xs:complexType>
  576. <xs:sequence>
  577. <xs:group ref="head.misc"/>
  578. <xs:choice>
  579. <xs:sequence>
  580. <xs:element ref="title"/>
  581. <xs:group ref="head.misc"/>
  582. <xs:sequence minOccurs="0">
  583. <xs:element ref="base"/>
  584. <xs:group ref="head.misc"/>
  585. </xs:sequence>
  586. </xs:sequence>
  587. <xs:sequence>
  588. <xs:element ref="base"/>
  589. <xs:group ref="head.misc"/>
  590. <xs:element ref="title"/>
  591. <xs:group ref="head.misc"/>
  592. </xs:sequence>
  593. </xs:choice>
  594. </xs:sequence>
  595. <xs:attributeGroup ref="i18n"/>
  596. <xs:attribute name="id" type="xs:ID"/>
  597. <xs:attribute name="profile" type="URI"/>
  598. </xs:complexType>
  599. </xs:element>
  600. <xs:element name="title">
  601. <xs:annotation>
  602. <xs:documentation>
  603. The title element is not considered part of the flow of text.
  604. It should be displayed, for example as the page header or
  605. window title. Exactly one title is required per document.
  606. </xs:documentation>
  607. </xs:annotation>
  608. <xs:complexType mixed="true">
  609. <xs:attributeGroup ref="i18n"/>
  610. <xs:attribute name="id" type="xs:ID"/>
  611. </xs:complexType>
  612. </xs:element>
  613. <xs:element name="base">
  614. <xs:annotation>
  615. <xs:documentation>
  616. document base URI
  617. </xs:documentation>
  618. </xs:annotation>
  619. <xs:complexType>
  620. <xs:attribute name="href" use="required" type="URI"/>
  621. <xs:attribute name="id" type="xs:ID"/>
  622. </xs:complexType>
  623. </xs:element>
  624. <xs:element name="meta">
  625. <xs:annotation>
  626. <xs:documentation>
  627. generic metainformation
  628. </xs:documentation>
  629. </xs:annotation>
  630. <xs:complexType>
  631. <xs:attributeGroup ref="i18n"/>
  632. <xs:attribute name="id" type="xs:ID"/>
  633. <xs:attribute name="http-equiv"/>
  634. <xs:attribute name="name"/>
  635. <xs:attribute name="content" use="required"/>
  636. <xs:attribute name="scheme"/>
  637. </xs:complexType>
  638. </xs:element>
  639. <xs:element name="link">
  640. <xs:annotation>
  641. <xs:documentation>
  642. Relationship values can be used in principle:
  643. a) for document specific toolbars/menus when used
  644. with the link element in document head e.g.
  645. start, contents, previous, next, index, end, help
  646. b) to link to a separate style sheet (rel="stylesheet")
  647. c) to make a link to a script (rel="script")
  648. d) by stylesheets to control how collections of
  649. html nodes are rendered into printed documents
  650. e) to make a link to a printable version of this document
  651. e.g. a PostScript or PDF version (rel="alternate" media="print")
  652. </xs:documentation>
  653. </xs:annotation>
  654. <xs:complexType>
  655. <xs:attributeGroup ref="attrs"/>
  656. <xs:attribute name="charset" type="Charset"/>
  657. <xs:attribute name="href" type="URI"/>
  658. <xs:attribute name="hreflang" type="LanguageCode"/>
  659. <xs:attribute name="type" type="ContentType"/>
  660. <xs:attribute name="rel" type="LinkTypes"/>
  661. <xs:attribute name="rev" type="LinkTypes"/>
  662. <xs:attribute name="media" type="MediaDesc"/>
  663. </xs:complexType>
  664. </xs:element>
  665. <xs:element name="style">
  666. <xs:annotation>
  667. <xs:documentation>
  668. style info, which may include CDATA sections
  669. </xs:documentation>
  670. </xs:annotation>
  671. <xs:complexType mixed="true">
  672. <xs:attributeGroup ref="i18n"/>
  673. <xs:attribute name="id" type="xs:ID"/>
  674. <xs:attribute name="type" use="required" type="ContentType"/>
  675. <xs:attribute name="media" type="MediaDesc"/>
  676. <xs:attribute name="title" type="Text"/>
  677. <xs:attribute ref="xml:space" fixed="preserve"/>
  678. </xs:complexType>
  679. </xs:element>
  680. <xs:element name="script">
  681. <xs:annotation>
  682. <xs:documentation>
  683. script statements, which may include CDATA sections
  684. </xs:documentation>
  685. </xs:annotation>
  686. <xs:complexType mixed="true">
  687. <xs:attribute name="id" type="xs:ID"/>
  688. <xs:attribute name="charset" type="Charset"/>
  689. <xs:attribute name="type" use="required" type="ContentType"/>
  690. <xs:attribute name="src" type="URI"/>
  691. <xs:attribute name="defer">
  692. <xs:simpleType>
  693. <xs:restriction base="xs:token">
  694. <xs:enumeration value="defer"/>
  695. </xs:restriction>
  696. </xs:simpleType>
  697. </xs:attribute>
  698. <xs:attribute ref="xml:space" fixed="preserve"/>
  699. </xs:complexType>
  700. </xs:element>
  701. <xs:element name="noscript">
  702. <xs:annotation>
  703. <xs:documentation>
  704. alternate content container for non script-based rendering
  705. </xs:documentation>
  706. </xs:annotation>
  707. <xs:complexType>
  708. <xs:complexContent>
  709. <xs:extension base="Block">
  710. <xs:attributeGroup ref="attrs"/>
  711. </xs:extension>
  712. </xs:complexContent>
  713. </xs:complexType>
  714. </xs:element>
  715. <xs:annotation>
  716. <xs:documentation>
  717. =================== Document Body ====================================
  718. </xs:documentation>
  719. </xs:annotation>
  720. <xs:element name="body">
  721. <xs:complexType>
  722. <xs:complexContent>
  723. <xs:extension base="Block">
  724. <xs:attributeGroup ref="attrs"/>
  725. <xs:attribute name="onload" type="Script"/>
  726. <xs:attribute name="onunload" type="Script"/>
  727. </xs:extension>
  728. </xs:complexContent>
  729. </xs:complexType>
  730. </xs:element>
  731. <xs:element name="div">
  732. <xs:annotation>
  733. <xs:documentation>
  734. generic language/style container
  735. </xs:documentation>
  736. </xs:annotation>
  737. <xs:complexType mixed="true">
  738. <xs:complexContent>
  739. <xs:extension base="Flow">
  740. <xs:attributeGroup ref="attrs"/>
  741. </xs:extension>
  742. </xs:complexContent>
  743. </xs:complexType>
  744. </xs:element>
  745. <xs:annotation>
  746. <xs:documentation>
  747. =================== Paragraphs =======================================
  748. </xs:documentation>
  749. </xs:annotation>
  750. <xs:element name="p">
  751. <xs:complexType mixed="true">
  752. <xs:complexContent>
  753. <xs:extension base="Inline">
  754. <xs:attributeGroup ref="attrs"/>
  755. </xs:extension>
  756. </xs:complexContent>
  757. </xs:complexType>
  758. </xs:element>
  759. <xs:annotation>
  760. <xs:documentation>
  761. =================== Headings =========================================
  762. There are six levels of headings from h1 (the most important)
  763. to h6 (the least important).
  764. </xs:documentation>
  765. </xs:annotation>
  766. <xs:element name="h1">
  767. <xs:complexType mixed="true">
  768. <xs:complexContent>
  769. <xs:extension base="Inline">
  770. <xs:attributeGroup ref="attrs"/>
  771. </xs:extension>
  772. </xs:complexContent>
  773. </xs:complexType>
  774. </xs:element>
  775. <xs:element name="h2">
  776. <xs:complexType mixed="true">
  777. <xs:complexContent>
  778. <xs:extension base="Inline">
  779. <xs:attributeGroup ref="attrs"/>
  780. </xs:extension>
  781. </xs:complexContent>
  782. </xs:complexType>
  783. </xs:element>
  784. <xs:element name="h3">
  785. <xs:complexType mixed="true">
  786. <xs:complexContent>
  787. <xs:extension base="Inline">
  788. <xs:attributeGroup ref="attrs"/>
  789. </xs:extension>
  790. </xs:complexContent>
  791. </xs:complexType>
  792. </xs:element>
  793. <xs:element name="h4">
  794. <xs:complexType mixed="true">
  795. <xs:complexContent>
  796. <xs:extension base="Inline">
  797. <xs:attributeGroup ref="attrs"/>
  798. </xs:extension>
  799. </xs:complexContent>
  800. </xs:complexType>
  801. </xs:element>
  802. <xs:element name="h5">
  803. <xs:complexType mixed="true">
  804. <xs:complexContent>
  805. <xs:extension base="Inline">
  806. <xs:attributeGroup ref="attrs"/>
  807. </xs:extension>
  808. </xs:complexContent>
  809. </xs:complexType>
  810. </xs:element>
  811. <xs:element name="h6">
  812. <xs:complexType mixed="true">
  813. <xs:complexContent>
  814. <xs:extension base="Inline">
  815. <xs:attributeGroup ref="attrs"/>
  816. </xs:extension>
  817. </xs:complexContent>
  818. </xs:complexType>
  819. </xs:element>
  820. <xs:annotation>
  821. <xs:documentation>
  822. =================== Lists ============================================
  823. </xs:documentation>
  824. </xs:annotation>
  825. <xs:element name="ul">
  826. <xs:annotation>
  827. <xs:documentation>
  828. Unordered list
  829. </xs:documentation>
  830. </xs:annotation>
  831. <xs:complexType>
  832. <xs:sequence>
  833. <xs:element maxOccurs="unbounded" ref="li"/>
  834. </xs:sequence>
  835. <xs:attributeGroup ref="attrs"/>
  836. </xs:complexType>
  837. </xs:element>
  838. <xs:element name="ol">
  839. <xs:annotation>
  840. <xs:documentation>
  841. Ordered (numbered) list
  842. </xs:documentation>
  843. </xs:annotation>
  844. <xs:complexType>
  845. <xs:sequence>
  846. <xs:element maxOccurs="unbounded" ref="li"/>
  847. </xs:sequence>
  848. <xs:attributeGroup ref="attrs"/>
  849. </xs:complexType>
  850. </xs:element>
  851. <xs:element name="li">
  852. <xs:annotation>
  853. <xs:documentation>
  854. list item
  855. </xs:documentation>
  856. </xs:annotation>
  857. <xs:complexType mixed="true">
  858. <xs:complexContent>
  859. <xs:extension base="Flow">
  860. <xs:attributeGroup ref="attrs"/>
  861. </xs:extension>
  862. </xs:complexContent>
  863. </xs:complexType>
  864. </xs:element>
  865. <xs:annotation>
  866. <xs:documentation>
  867. definition lists - dt for term, dd for its definition
  868. </xs:documentation>
  869. </xs:annotation>
  870. <xs:element name="dl">
  871. <xs:complexType>
  872. <xs:choice maxOccurs="unbounded">
  873. <xs:element ref="dt"/>
  874. <xs:element ref="dd"/>
  875. </xs:choice>
  876. <xs:attributeGroup ref="attrs"/>
  877. </xs:complexType>
  878. </xs:element>
  879. <xs:element name="dt">
  880. <xs:complexType mixed="true">
  881. <xs:complexContent>
  882. <xs:extension base="Inline">
  883. <xs:attributeGroup ref="attrs"/>
  884. </xs:extension>
  885. </xs:complexContent>
  886. </xs:complexType>
  887. </xs:element>
  888. <xs:element name="dd">
  889. <xs:complexType mixed="true">
  890. <xs:complexContent>
  891. <xs:extension base="Flow">
  892. <xs:attributeGroup ref="attrs"/>
  893. </xs:extension>
  894. </xs:complexContent>
  895. </xs:complexType>
  896. </xs:element>
  897. <xs:annotation>
  898. <xs:documentation>
  899. =================== Address ==========================================
  900. </xs:documentation>
  901. </xs:annotation>
  902. <xs:element name="address">
  903. <xs:annotation>
  904. <xs:documentation>
  905. information on author
  906. </xs:documentation>
  907. </xs:annotation>
  908. <xs:complexType mixed="true">
  909. <xs:complexContent>
  910. <xs:extension base="Inline">
  911. <xs:attributeGroup ref="attrs"/>
  912. </xs:extension>
  913. </xs:complexContent>
  914. </xs:complexType>
  915. </xs:element>
  916. <xs:annotation>
  917. <xs:documentation>
  918. =================== Horizontal Rule ==================================
  919. </xs:documentation>
  920. </xs:annotation>
  921. <xs:element name="hr">
  922. <xs:complexType>
  923. <xs:attributeGroup ref="attrs"/>
  924. </xs:complexType>
  925. </xs:element>
  926. <xs:annotation>
  927. <xs:documentation>
  928. =================== Preformatted Text ================================
  929. </xs:documentation>
  930. </xs:annotation>
  931. <xs:element name="pre">
  932. <xs:annotation>
  933. <xs:documentation>
  934. content is "Inline" excluding "img|object|big|small|sub|sup"
  935. </xs:documentation>
  936. </xs:annotation>
  937. <xs:complexType mixed="true">
  938. <xs:complexContent>
  939. <xs:extension base="pre.content">
  940. <xs:attributeGroup ref="attrs"/>
  941. <xs:attribute ref="xml:space" fixed="preserve"/>
  942. </xs:extension>
  943. </xs:complexContent>
  944. </xs:complexType>
  945. </xs:element>
  946. <xs:annotation>
  947. <xs:documentation>
  948. =================== Block-like Quotes ================================
  949. </xs:documentation>
  950. </xs:annotation>
  951. <xs:element name="blockquote">
  952. <xs:complexType>
  953. <xs:complexContent>
  954. <xs:extension base="Block">
  955. <xs:attributeGroup ref="attrs"/>
  956. <xs:attribute name="cite" type="URI"/>
  957. </xs:extension>
  958. </xs:complexContent>
  959. </xs:complexType>
  960. </xs:element>
  961. <xs:annotation>
  962. <xs:documentation>
  963. =================== Inserted/Deleted Text ============================
  964. ins/del are allowed in block and inline content, but its
  965. inappropriate to include block content within an ins element
  966. occurring in inline content.
  967. </xs:documentation>
  968. </xs:annotation>
  969. <xs:element name="ins">
  970. <xs:complexType mixed="true">
  971. <xs:complexContent>
  972. <xs:extension base="Flow">
  973. <xs:attributeGroup ref="attrs"/>
  974. <xs:attribute name="cite" type="URI"/>
  975. <xs:attribute name="datetime" type="Datetime"/>
  976. </xs:extension>
  977. </xs:complexContent>
  978. </xs:complexType>
  979. </xs:element>
  980. <xs:element name="del">
  981. <xs:complexType mixed="true">
  982. <xs:complexContent>
  983. <xs:extension base="Flow">
  984. <xs:attributeGroup ref="attrs"/>
  985. <xs:attribute name="cite" type="URI"/>
  986. <xs:attribute name="datetime" type="Datetime"/>
  987. </xs:extension>
  988. </xs:complexContent>
  989. </xs:complexType>
  990. </xs:element>
  991. <xs:annotation>
  992. <xs:documentation>
  993. ================== The Anchor Element ================================
  994. </xs:documentation>
  995. </xs:annotation>
  996. <xs:element name="a">
  997. <xs:annotation>
  998. <xs:documentation>
  999. content is "Inline" except that anchors shouldn't be nested
  1000. </xs:documentation>
  1001. </xs:annotation>
  1002. <xs:complexType mixed="true">
  1003. <xs:complexContent>
  1004. <xs:extension base="a.content">
  1005. <xs:attributeGroup ref="attrs"/>
  1006. <xs:attributeGroup ref="focus"/>
  1007. <xs:attribute name="charset" type="Charset"/>
  1008. <xs:attribute name="type" type="ContentType"/>
  1009. <xs:attribute name="name" type="xs:NMTOKEN"/>
  1010. <xs:attribute name="href" type="URI"/>
  1011. <xs:attribute name="hreflang" type="LanguageCode"/>
  1012. <xs:attribute name="rel" type="LinkTypes"/>
  1013. <xs:attribute name="rev" type="LinkTypes"/>
  1014. <xs:attribute name="shape" default="rect" type="Shape"/>
  1015. <xs:attribute name="coords" type="Coords"/>
  1016. </xs:extension>
  1017. </xs:complexContent>
  1018. </xs:complexType>
  1019. </xs:element>
  1020. <xs:annotation>
  1021. <xs:documentation>
  1022. ===================== Inline Elements ================================
  1023. </xs:documentation>
  1024. </xs:annotation>
  1025. <xs:element name="span">
  1026. <xs:annotation>
  1027. <xs:documentation>
  1028. generic language/style container
  1029. </xs:documentation>
  1030. </xs:annotation>
  1031. <xs:complexType mixed="true">
  1032. <xs:complexContent>
  1033. <xs:extension base="Inline">
  1034. <xs:attributeGroup ref="attrs"/>
  1035. </xs:extension>
  1036. </xs:complexContent>
  1037. </xs:complexType>
  1038. </xs:element>
  1039. <xs:element name="bdo">
  1040. <xs:annotation>
  1041. <xs:documentation>
  1042. I18N BiDi over-ride
  1043. </xs:documentation>
  1044. </xs:annotation>
  1045. <xs:complexType mixed="true">
  1046. <xs:complexContent>
  1047. <xs:extension base="Inline">
  1048. <xs:attributeGroup ref="coreattrs"/>
  1049. <xs:attributeGroup ref="events"/>
  1050. <xs:attribute name="lang" type="LanguageCode"/>
  1051. <xs:attribute ref="xml:lang"/>
  1052. <xs:attribute name="dir" use="required">
  1053. <xs:simpleType>
  1054. <xs:restriction base="xs:token">
  1055. <xs:enumeration value="ltr"/>
  1056. <xs:enumeration value="rtl"/>
  1057. </xs:restriction>
  1058. </xs:simpleType>
  1059. </xs:attribute>
  1060. </xs:extension>
  1061. </xs:complexContent>
  1062. </xs:complexType>
  1063. </xs:element>
  1064. <xs:element name="br">
  1065. <xs:annotation>
  1066. <xs:documentation>
  1067. forced line break
  1068. </xs:documentation>
  1069. </xs:annotation>
  1070. <xs:complexType>
  1071. <xs:attributeGroup ref="coreattrs"/>
  1072. </xs:complexType>
  1073. </xs:element>
  1074. <xs:element name="em">
  1075. <xs:annotation>
  1076. <xs:documentation>
  1077. emphasis
  1078. </xs:documentation>
  1079. </xs:annotation>
  1080. <xs:complexType mixed="true">
  1081. <xs:complexContent>
  1082. <xs:extension base="Inline">
  1083. <xs:attributeGroup ref="attrs"/>
  1084. </xs:extension>
  1085. </xs:complexContent>
  1086. </xs:complexType>
  1087. </xs:element>
  1088. <xs:element name="strong">
  1089. <xs:annotation>
  1090. <xs:documentation>
  1091. strong emphasis
  1092. </xs:documentation>
  1093. </xs:annotation>
  1094. <xs:complexType mixed="true">
  1095. <xs:complexContent>
  1096. <xs:extension base="Inline">
  1097. <xs:attributeGroup ref="attrs"/>
  1098. </xs:extension>
  1099. </xs:complexContent>
  1100. </xs:complexType>
  1101. </xs:element>
  1102. <xs:element name="dfn">
  1103. <xs:annotation>
  1104. <xs:documentation>
  1105. definitional
  1106. </xs:documentation>
  1107. </xs:annotation>
  1108. <xs:complexType mixed="true">
  1109. <xs:complexContent>
  1110. <xs:extension base="Inline">
  1111. <xs:attributeGroup ref="attrs"/>
  1112. </xs:extension>
  1113. </xs:complexContent>
  1114. </xs:complexType>
  1115. </xs:element>
  1116. <xs:element name="code">
  1117. <xs:annotation>
  1118. <xs:documentation>
  1119. program code
  1120. </xs:documentation>
  1121. </xs:annotation>
  1122. <xs:complexType mixed="true">
  1123. <xs:complexContent>
  1124. <xs:extension base="Inline">
  1125. <xs:attributeGroup ref="attrs"/>
  1126. </xs:extension>
  1127. </xs:complexContent>
  1128. </xs:complexType>
  1129. </xs:element>
  1130. <xs:element name="samp">
  1131. <xs:annotation>
  1132. <xs:documentation>
  1133. sample
  1134. </xs:documentation>
  1135. </xs:annotation>
  1136. <xs:complexType mixed="true">
  1137. <xs:complexContent>
  1138. <xs:extension base="Inline">
  1139. <xs:attributeGroup ref="attrs"/>
  1140. </xs:extension>
  1141. </xs:complexContent>
  1142. </xs:complexType>
  1143. </xs:element>
  1144. <xs:element name="kbd">
  1145. <xs:annotation>
  1146. <xs:documentation>
  1147. something user would type
  1148. </xs:documentation>
  1149. </xs:annotation>
  1150. <xs:complexType mixed="true">
  1151. <xs:complexContent>
  1152. <xs:extension base="Inline">
  1153. <xs:attributeGroup ref="attrs"/>
  1154. </xs:extension>
  1155. </xs:complexContent>
  1156. </xs:complexType>
  1157. </xs:element>
  1158. <xs:element name="var">
  1159. <xs:annotation>
  1160. <xs:documentation>
  1161. variable
  1162. </xs:documentation>
  1163. </xs:annotation>
  1164. <xs:complexType mixed="true">
  1165. <xs:complexContent>
  1166. <xs:extension base="Inline">
  1167. <xs:attributeGroup ref="attrs"/>
  1168. </xs:extension>
  1169. </xs:complexContent>
  1170. </xs:complexType>
  1171. </xs:element>
  1172. <xs:element name="cite">
  1173. <xs:annotation>
  1174. <xs:documentation>
  1175. citation
  1176. </xs:documentation>
  1177. </xs:annotation>
  1178. <xs:complexType mixed="true">
  1179. <xs:complexContent>
  1180. <xs:extension base="Inline">
  1181. <xs:attributeGroup ref="attrs"/>
  1182. </xs:extension>
  1183. </xs:complexContent>
  1184. </xs:complexType>
  1185. </xs:element>
  1186. <xs:element name="abbr">
  1187. <xs:annotation>
  1188. <xs:documentation>
  1189. abbreviation
  1190. </xs:documentation>
  1191. </xs:annotation>
  1192. <xs:complexType mixed="true">
  1193. <xs:complexContent>
  1194. <xs:extension base="Inline">
  1195. <xs:attributeGroup ref="attrs"/>
  1196. </xs:extension>
  1197. </xs:complexContent>
  1198. </xs:complexType>
  1199. </xs:element>
  1200. <xs:element name="acronym">
  1201. <xs:annotation>
  1202. <xs:documentation>
  1203. acronym
  1204. </xs:documentation>
  1205. </xs:annotation>
  1206. <xs:complexType mixed="true">
  1207. <xs:complexContent>
  1208. <xs:extension base="Inline">
  1209. <xs:attributeGroup ref="attrs"/>
  1210. </xs:extension>
  1211. </xs:complexContent>
  1212. </xs:complexType>
  1213. </xs:element>
  1214. <xs:element name="q">
  1215. <xs:annotation>
  1216. <xs:documentation>
  1217. inlined quote
  1218. </xs:documentation>
  1219. </xs:annotation>
  1220. <xs:complexType mixed="true">
  1221. <xs:complexContent>
  1222. <xs:extension base="Inline">
  1223. <xs:attributeGroup ref="attrs"/>
  1224. <xs:attribute name="cite" type="URI"/>
  1225. </xs:extension>
  1226. </xs:complexContent>
  1227. </xs:complexType>
  1228. </xs:element>
  1229. <xs:element name="sub">
  1230. <xs:annotation>
  1231. <xs:documentation>
  1232. subscript
  1233. </xs:documentation>
  1234. </xs:annotation>
  1235. <xs:complexType mixed="true">
  1236. <xs:complexContent>
  1237. <xs:extension base="Inline">
  1238. <xs:attributeGroup ref="attrs"/>
  1239. </xs:extension>
  1240. </xs:complexContent>
  1241. </xs:complexType>
  1242. </xs:element>
  1243. <xs:element name="sup">
  1244. <xs:annotation>
  1245. <xs:documentation>
  1246. superscript
  1247. </xs:documentation>
  1248. </xs:annotation>
  1249. <xs:complexType mixed="true">
  1250. <xs:complexContent>
  1251. <xs:extension base="Inline">
  1252. <xs:attributeGroup ref="attrs"/>
  1253. </xs:extension>
  1254. </xs:complexContent>
  1255. </xs:complexType>
  1256. </xs:element>
  1257. <xs:element name="tt">
  1258. <xs:annotation>
  1259. <xs:documentation>
  1260. fixed pitch font
  1261. </xs:documentation>
  1262. </xs:annotation>
  1263. <xs:complexType mixed="true">
  1264. <xs:complexContent>
  1265. <xs:extension base="Inline">
  1266. <xs:attributeGroup ref="attrs"/>
  1267. </xs:extension>
  1268. </xs:complexContent>
  1269. </xs:complexType>
  1270. </xs:element>
  1271. <xs:element name="i">
  1272. <xs:annotation>
  1273. <xs:documentation>
  1274. italic font
  1275. </xs:documentation>
  1276. </xs:annotation>
  1277. <xs:complexType mixed="true">
  1278. <xs:complexContent>
  1279. <xs:extension base="Inline">
  1280. <xs:attributeGroup ref="attrs"/>
  1281. </xs:extension>
  1282. </xs:complexContent>
  1283. </xs:complexType>
  1284. </xs:element>
  1285. <xs:element name="b">
  1286. <xs:annotation>
  1287. <xs:documentation>
  1288. bold font
  1289. </xs:documentation>
  1290. </xs:annotation>
  1291. <xs:complexType mixed="true">
  1292. <xs:complexContent>
  1293. <xs:extension base="Inline">
  1294. <xs:attributeGroup ref="attrs"/>
  1295. </xs:extension>
  1296. </xs:complexContent>
  1297. </xs:complexType>
  1298. </xs:element>
  1299. <xs:element name="big">
  1300. <xs:annotation>
  1301. <xs:documentation>
  1302. bigger font
  1303. </xs:documentation>
  1304. </xs:annotation>
  1305. <xs:complexType mixed="true">
  1306. <xs:complexContent>
  1307. <xs:extension base="Inline">
  1308. <xs:attributeGroup ref="attrs"/>
  1309. </xs:extension>
  1310. </xs:complexContent>
  1311. </xs:complexType>
  1312. </xs:element>
  1313. <xs:element name="small">
  1314. <xs:annotation>
  1315. <xs:documentation>
  1316. smaller font
  1317. </xs:documentation>
  1318. </xs:annotation>
  1319. <xs:complexType mixed="true">
  1320. <xs:complexContent>
  1321. <xs:extension base="Inline">
  1322. <xs:attributeGroup ref="attrs"/>
  1323. </xs:extension>
  1324. </xs:complexContent>
  1325. </xs:complexType>
  1326. </xs:element>
  1327. <xs:annotation>
  1328. <xs:documentation>
  1329. ==================== Object ======================================
  1330. object is used to embed objects as part of HTML pages.
  1331. param elements should precede other content. Parameters
  1332. can also be expressed as attribute/value pairs on the
  1333. object element itself when brevity is desired.
  1334. </xs:documentation>
  1335. </xs:annotation>
  1336. <xs:element name="object">
  1337. <xs:complexType mixed="true">
  1338. <xs:choice minOccurs="0" maxOccurs="unbounded">
  1339. <xs:element ref="param"/>
  1340. <xs:group ref="block"/>
  1341. <xs:element ref="form"/>
  1342. <xs:group ref="inline"/>
  1343. <xs:group ref="misc"/>
  1344. </xs:choice>
  1345. <xs:attributeGroup ref="attrs"/>
  1346. <xs:attribute name="declare">
  1347. <xs:simpleType>
  1348. <xs:restriction base="xs:token">
  1349. <xs:enumeration value="declare"/>
  1350. </xs:restriction>
  1351. </xs:simpleType>
  1352. </xs:attribute>
  1353. <xs:attribute name="classid" type="URI"/>
  1354. <xs:attribute name="codebase" type="URI"/>
  1355. <xs:attribute name="data" type="URI"/>
  1356. <xs:attribute name="type" type="ContentType"/>
  1357. <xs:attribute name="codetype" type="ContentType"/>
  1358. <xs:attribute name="archive" type="UriList"/>
  1359. <xs:attribute name="standby" type="Text"/>
  1360. <xs:attribute name="height" type="Length"/>
  1361. <xs:attribute name="width" type="Length"/>
  1362. <xs:attribute name="usemap" type="URI"/>
  1363. <xs:attribute name="name" type="xs:NMTOKEN"/>
  1364. <xs:attribute name="tabindex" type="tabindexNumber"/>
  1365. </xs:complexType>
  1366. </xs:element>
  1367. <xs:element name="param">
  1368. <xs:annotation>
  1369. <xs:documentation>
  1370. param is used to supply a named property value.
  1371. In XML it would seem natural to follow RDF and support an
  1372. abbreviated syntax where the param elements are replaced
  1373. by attribute value pairs on the object start tag.
  1374. </xs:documentation>
  1375. </xs:annotation>
  1376. <xs:complexType>
  1377. <xs:attribute name="id" type="xs:ID"/>
  1378. <xs:attribute name="name"/>
  1379. <xs:attribute name="value"/>
  1380. <xs:attribute name="valuetype" default="data">
  1381. <xs:simpleType>
  1382. <xs:restriction base="xs:token">
  1383. <xs:enumeration value="data"/>
  1384. <xs:enumeration value="ref"/>
  1385. <xs:enumeration value="object"/>
  1386. </xs:restriction>
  1387. </xs:simpleType>
  1388. </xs:attribute>
  1389. <xs:attribute name="type" type="ContentType"/>
  1390. </xs:complexType>
  1391. </xs:element>
  1392. <xs:annotation>
  1393. <xs:documentation>
  1394. =================== Images ===========================================
  1395. To avoid accessibility problems for people who aren't
  1396. able to see the image, you should provide a text
  1397. description using the alt and longdesc attributes.
  1398. In addition, avoid the use of server-side image maps.
  1399. Note that in this DTD there is no name attribute. That
  1400. is only available in the transitional and frameset DTD.
  1401. </xs:documentation>
  1402. </xs:annotation>
  1403. <xs:element name="img">
  1404. <xs:complexType>
  1405. <xs:attributeGroup ref="attrs"/>
  1406. <xs:attribute name="src" use="required" type="URI"/>
  1407. <xs:attribute name="alt" use="required" type="Text"/>
  1408. <xs:attribute name="longdesc" type="URI"/>
  1409. <xs:attribute name="height" type="Length"/>
  1410. <xs:attribute name="width" type="Length"/>
  1411. <xs:attribute name="usemap" type="URI">
  1412. <xs:annotation>
  1413. <xs:documentation>
  1414. usemap points to a map element which may be in this document
  1415. or an external document, although the latter is not widely supported
  1416. </xs:documentation>
  1417. </xs:annotation>
  1418. </xs:attribute>
  1419. <xs:attribute name="ismap">
  1420. <xs:simpleType>
  1421. <xs:restriction base="xs:token">
  1422. <xs:enumeration value="ismap"/>
  1423. </xs:restriction>
  1424. </xs:simpleType>
  1425. </xs:attribute>
  1426. </xs:complexType>
  1427. </xs:element>
  1428. <xs:annotation>
  1429. <xs:documentation>
  1430. ================== Client-side image maps ============================
  1431. These can be placed in the same document or grouped in a
  1432. separate document although this isn't yet widely supported
  1433. </xs:documentation>
  1434. </xs:annotation>
  1435. <xs:element name="map">
  1436. <xs:complexType>
  1437. <xs:choice>
  1438. <xs:choice maxOccurs="unbounded">
  1439. <xs:group ref="block"/>
  1440. <xs:element ref="form"/>
  1441. <xs:group ref="misc"/>
  1442. </xs:choice>
  1443. <xs:element maxOccurs="unbounded" ref="area"/>
  1444. </xs:choice>
  1445. <xs:attributeGroup ref="i18n"/>
  1446. <xs:attributeGroup ref="events"/>
  1447. <xs:attribute name="id" use="required" type="xs:ID"/>
  1448. <xs:attribute name="class"/>
  1449. <xs:attribute name="style" type="StyleSheet"/>
  1450. <xs:attribute name="title" type="Text"/>
  1451. <xs:attribute name="name" type="xs:NMTOKEN"/>
  1452. </xs:complexType>
  1453. </xs:element>
  1454. <xs:element name="area">
  1455. <xs:complexType>
  1456. <xs:attributeGroup ref="attrs"/>
  1457. <xs:attributeGroup ref="focus"/>
  1458. <xs:attribute name="shape" default="rect" type="Shape"/>
  1459. <xs:attribute name="coords" type="Coords"/>
  1460. <xs:attribute name="href" type="URI"/>
  1461. <xs:attribute name="nohref">
  1462. <xs:simpleType>
  1463. <xs:restriction base="xs:token">
  1464. <xs:enumeration value="nohref"/>
  1465. </xs:restriction>
  1466. </xs:simpleType>
  1467. </xs:attribute>
  1468. <xs:attribute name="alt" use="required" type="Text"/>
  1469. </xs:complexType>
  1470. </xs:element>
  1471. <xs:annotation>
  1472. <xs:documentation>
  1473. ================ Forms ===============================================
  1474. </xs:documentation>
  1475. </xs:annotation>
  1476. <xs:element name="form">
  1477. <xs:complexType>
  1478. <xs:complexContent>
  1479. <xs:extension base="form.content">
  1480. <xs:attributeGroup ref="attrs"/>
  1481. <xs:attribute name="action" use="required" type="URI"/>
  1482. <xs:attribute name="method" default="get">
  1483. <xs:simpleType>
  1484. <xs:restriction base="xs:token">
  1485. <xs:enumeration value="get"/>
  1486. <xs:enumeration value="post"/>
  1487. </xs:restriction>
  1488. </xs:simpleType>
  1489. </xs:attribute>
  1490. <xs:attribute name="enctype" type="ContentType"
  1491. default="application/x-www-form-urlencoded"/>
  1492. <xs:attribute name="onsubmit" type="Script"/>
  1493. <xs:attribute name="onreset" type="Script"/>
  1494. <xs:attribute name="accept" type="ContentTypes"/>
  1495. <xs:attribute name="accept-charset" type="Charsets"/>
  1496. </xs:extension>
  1497. </xs:complexContent>
  1498. </xs:complexType>
  1499. </xs:element>
  1500. <xs:element name="label">
  1501. <xs:annotation>
  1502. <xs:documentation>
  1503. Each label must not contain more than ONE field
  1504. Label elements shouldn't be nested.
  1505. </xs:documentation>
  1506. </xs:annotation>
  1507. <xs:complexType mixed="true">
  1508. <xs:complexContent>
  1509. <xs:extension base="Inline">
  1510. <xs:attributeGroup ref="attrs"/>
  1511. <xs:attribute name="for" type="xs:IDREF"/>
  1512. <xs:attribute name="accesskey" type="Character"/>
  1513. <xs:attribute name="onfocus" type="Script"/>
  1514. <xs:attribute name="onblur" type="Script"/>
  1515. </xs:extension>
  1516. </xs:complexContent>
  1517. </xs:complexType>
  1518. </xs:element>
  1519. <xs:simpleType name="InputType">
  1520. <xs:restriction base="xs:token">
  1521. <xs:enumeration value="text"/>
  1522. <xs:enumeration value="password"/>
  1523. <xs:enumeration value="checkbox"/>
  1524. <xs:enumeration value="radio"/>
  1525. <xs:enumeration value="submit"/>
  1526. <xs:enumeration value="reset"/>
  1527. <xs:enumeration value="file"/>
  1528. <xs:enumeration value="hidden"/>
  1529. <xs:enumeration value="image"/>
  1530. <xs:enumeration value="button"/>
  1531. </xs:restriction>
  1532. </xs:simpleType>
  1533. <xs:element name="input">
  1534. <xs:annotation>
  1535. <xs:documentation>
  1536. form control
  1537. </xs:documentation>
  1538. </xs:annotation>
  1539. <xs:complexType>
  1540. <xs:attributeGroup ref="attrs"/>
  1541. <xs:attributeGroup ref="focus"/>
  1542. <xs:attribute name="type" default="text" type="InputType"/>
  1543. <xs:attribute name="name">
  1544. <xs:annotation>
  1545. <xs:documentation>
  1546. the name attribute is required for all but submit &amp; reset
  1547. </xs:documentation>
  1548. </xs:annotation>
  1549. </xs:attribute>
  1550. <xs:attribute name="value"/>
  1551. <xs:attribute name="checked">
  1552. <xs:simpleType>
  1553. <xs:restriction base="xs:token">
  1554. <xs:enumeration value="checked"/>
  1555. </xs:restriction>
  1556. </xs:simpleType>
  1557. </xs:attribute>
  1558. <xs:attribute name="disabled">
  1559. <xs:simpleType>
  1560. <xs:restriction base="xs:token">
  1561. <xs:enumeration value="disabled"/>
  1562. </xs:restriction>
  1563. </xs:simpleType>
  1564. </xs:attribute>
  1565. <xs:attribute name="readonly">
  1566. <xs:simpleType>
  1567. <xs:restriction base="xs:token">
  1568. <xs:enumeration value="readonly"/>
  1569. </xs:restriction>
  1570. </xs:simpleType>
  1571. </xs:attribute>
  1572. <xs:attribute name="size"/>
  1573. <xs:attribute name="maxlength" type="Number"/>
  1574. <xs:attribute name="src" type="URI"/>
  1575. <xs:attribute name="alt"/>
  1576. <xs:attribute name="usemap" type="URI"/>
  1577. <xs:attribute name="onselect" type="Script"/>
  1578. <xs:attribute name="onchange" type="Script"/>
  1579. <xs:attribute name="accept" type="ContentTypes"/>
  1580. </xs:complexType>
  1581. </xs:element>
  1582. <xs:element name="select">
  1583. <xs:annotation>
  1584. <xs:documentation>
  1585. option selector
  1586. </xs:documentation>
  1587. </xs:annotation>
  1588. <xs:complexType>
  1589. <xs:choice maxOccurs="unbounded">
  1590. <xs:element ref="optgroup"/>
  1591. <xs:element ref="option"/>
  1592. </xs:choice>
  1593. <xs:attributeGroup ref="attrs"/>
  1594. <xs:attribute name="name"/>
  1595. <xs:attribute name="size" type="Number"/>
  1596. <xs:attribute name="multiple">
  1597. <xs:simpleType>
  1598. <xs:restriction base="xs:token">
  1599. <xs:enumeration value="multiple"/>
  1600. </xs:restriction>
  1601. </xs:simpleType>
  1602. </xs:attribute>
  1603. <xs:attribute name="disabled">
  1604. <xs:simpleType>
  1605. <xs:restriction base="xs:token">
  1606. <xs:enumeration value="disabled"/>
  1607. </xs:restriction>
  1608. </xs:simpleType>
  1609. </xs:attribute>
  1610. <xs:attribute name="tabindex" type="tabindexNumber"/>
  1611. <xs:attribute name="onfocus" type="Script"/>
  1612. <xs:attribute name="onblur" type="Script"/>
  1613. <xs:attribute name="onchange" type="Script"/>
  1614. </xs:complexType>
  1615. </xs:element>
  1616. <xs:element name="optgroup">
  1617. <xs:annotation>
  1618. <xs:documentation>
  1619. option group
  1620. </xs:documentation>
  1621. </xs:annotation>
  1622. <xs:complexType>
  1623. <xs:sequence>
  1624. <xs:element maxOccurs="unbounded" ref="option"/>
  1625. </xs:sequence>
  1626. <xs:attributeGroup ref="attrs"/>
  1627. <xs:attribute name="disabled">
  1628. <xs:simpleType>
  1629. <xs:restriction base="xs:token">
  1630. <xs:enumeration value="disabled"/>
  1631. </xs:restriction>
  1632. </xs:simpleType>
  1633. </xs:attribute>
  1634. <xs:attribute name="label" use="required" type="Text"/>
  1635. </xs:complexType>
  1636. </xs:element>
  1637. <xs:element name="option">
  1638. <xs:annotation>
  1639. <xs:documentation>
  1640. selectable choice
  1641. </xs:documentation>
  1642. </xs:annotation>
  1643. <xs:complexType mixed="true">
  1644. <xs:attributeGroup ref="attrs"/>
  1645. <xs:attribute name="selected">
  1646. <xs:simpleType>
  1647. <xs:restriction base="xs:token">
  1648. <xs:enumeration value="selected"/>
  1649. </xs:restriction>
  1650. </xs:simpleType>
  1651. </xs:attribute>
  1652. <xs:attribute name="disabled">
  1653. <xs:simpleType>
  1654. <xs:restriction base="xs:token">
  1655. <xs:enumeration value="disabled"/>
  1656. </xs:restriction>
  1657. </xs:simpleType>
  1658. </xs:attribute>
  1659. <xs:attribute name="label" type="Text"/>
  1660. <xs:attribute name="value"/>
  1661. </xs:complexType>
  1662. </xs:element>
  1663. <xs:element name="textarea">
  1664. <xs:annotation>
  1665. <xs:documentation>
  1666. multi-line text field
  1667. </xs:documentation>
  1668. </xs:annotation>
  1669. <xs:complexType mixed="true">
  1670. <xs:attributeGroup ref="attrs"/>
  1671. <xs:attributeGroup ref="focus"/>
  1672. <xs:attribute name="name"/>
  1673. <xs:attribute name="rows" use="required" type="Number"/>
  1674. <xs:attribute name="cols" use="required" type="Number"/>
  1675. <xs:attribute name="disabled">
  1676. <xs:simpleType>
  1677. <xs:restriction base="xs:token">
  1678. <xs:enumeration value="disabled"/>
  1679. </xs:restriction>
  1680. </xs:simpleType>
  1681. </xs:attribute>
  1682. <xs:attribute name="readonly">
  1683. <xs:simpleType>
  1684. <xs:restriction base="xs:token">
  1685. <xs:enumeration value="readonly"/>
  1686. </xs:restriction>
  1687. </xs:simpleType>
  1688. </xs:attribute>
  1689. <xs:attribute name="onselect" type="Script"/>
  1690. <xs:attribute name="onchange" type="Script"/>
  1691. </xs:complexType>
  1692. </xs:element>
  1693. <xs:element name="fieldset">
  1694. <xs:annotation>
  1695. <xs:documentation>
  1696. The fieldset element is used to group form fields.
  1697. Only one legend element should occur in the content
  1698. and if present should only be preceded by whitespace.
  1699. NOTE: this content model is different from the XHTML 1.0 DTD,
  1700. closer to the intended content model in HTML4 DTD
  1701. </xs:documentation>
  1702. </xs:annotation>
  1703. <xs:complexType mixed="true">
  1704. <xs:sequence>
  1705. <xs:element ref="legend"/>
  1706. <xs:choice minOccurs="0" maxOccurs="unbounded">
  1707. <xs:group ref="block"/>
  1708. <xs:element ref="form"/>
  1709. <xs:group ref="inline"/>
  1710. <xs:group ref="misc"/>
  1711. </xs:choice>
  1712. </xs:sequence>
  1713. <xs:attributeGroup ref="attrs"/>
  1714. </xs:complexType>
  1715. </xs:element>
  1716. <xs:element name="legend">
  1717. <xs:annotation>
  1718. <xs:documentation>
  1719. fieldset label
  1720. </xs:documentation>
  1721. </xs:annotation>
  1722. <xs:complexType mixed="true">
  1723. <xs:complexContent>
  1724. <xs:extension base="Inline">
  1725. <xs:attributeGroup ref="attrs"/>
  1726. <xs:attribute name="accesskey" type="Character"/>
  1727. </xs:extension>
  1728. </xs:complexContent>
  1729. </xs:complexType>
  1730. </xs:element>
  1731. <xs:element name="button">
  1732. <xs:annotation>
  1733. <xs:documentation>
  1734. Content is "Flow" excluding a, form and form controls
  1735. </xs:documentation>
  1736. </xs:annotation>
  1737. <xs:complexType mixed="true">
  1738. <xs:complexContent>
  1739. <xs:extension base="button.content">
  1740. <xs:attributeGroup ref="attrs"/>
  1741. <xs:attributeGroup ref="focus"/>
  1742. <xs:attribute name="name"/>
  1743. <xs:attribute name="value"/>
  1744. <xs:attribute name="type" default="submit">
  1745. <xs:simpleType>
  1746. <xs:restriction base="xs:token">
  1747. <xs:enumeration value="button"/>
  1748. <xs:enumeration value="submit"/>
  1749. <xs:enumeration value="reset"/>
  1750. </xs:restriction>
  1751. </xs:simpleType>
  1752. </xs:attribute>
  1753. <xs:attribute name="disabled">
  1754. <xs:simpleType>
  1755. <xs:restriction base="xs:token">
  1756. <xs:enumeration value="disabled"/>
  1757. </xs:restriction>
  1758. </xs:simpleType>
  1759. </xs:attribute>
  1760. </xs:extension>
  1761. </xs:complexContent>
  1762. </xs:complexType>
  1763. </xs:element>
  1764. <xs:annotation>
  1765. <xs:documentation>
  1766. ======================= Tables =======================================
  1767. Derived from IETF HTML table standard, see [RFC1942]
  1768. </xs:documentation>
  1769. </xs:annotation>
  1770. <xs:simpleType name="TFrame">
  1771. <xs:annotation>
  1772. <xs:documentation>
  1773. The border attribute sets the thickness of the frame around the
  1774. table. The default units are screen pixels.
  1775. The frame attribute specifies which parts of the frame around
  1776. the table should be rendered. The values are not the same as
  1777. CALS to avoid a name clash with the valign attribute.
  1778. </xs:documentation>
  1779. </xs:annotation>
  1780. <xs:restriction base="xs:token">
  1781. <xs:enumeration value="void"/>
  1782. <xs:enumeration value="above"/>
  1783. <xs:enumeration value="below"/>
  1784. <xs:enumeration value="hsides"/>
  1785. <xs:enumeration value="lhs"/>
  1786. <xs:enumeration value="rhs"/>
  1787. <xs:enumeration value="vsides"/>
  1788. <xs:enumeration value="box"/>
  1789. <xs:enumeration value="border"/>
  1790. </xs:restriction>
  1791. </xs:simpleType>
  1792. <xs:simpleType name="TRules">
  1793. <xs:annotation>
  1794. <xs:documentation>
  1795. The rules attribute defines which rules to draw between cells:
  1796. If rules is absent then assume:
  1797. "none" if border is absent or border="0" otherwise "all"
  1798. </xs:documentation>
  1799. </xs:annotation>
  1800. <xs:restriction base="xs:token">
  1801. <xs:enumeration value="none"/>
  1802. <xs:enumeration value="groups"/>
  1803. <xs:enumeration value="rows"/>
  1804. <xs:enumeration value="cols"/>
  1805. <xs:enumeration value="all"/>
  1806. </xs:restriction>
  1807. </xs:simpleType>
  1808. <xs:attributeGroup name="cellhalign">
  1809. <xs:annotation>
  1810. <xs:documentation>
  1811. horizontal alignment attributes for cell contents
  1812. char alignment char, e.g. char=':'
  1813. charoff offset for alignment char
  1814. </xs:documentation>
  1815. </xs:annotation>
  1816. <xs:attribute name="align">
  1817. <xs:simpleType>
  1818. <xs:restriction base="xs:token">
  1819. <xs:enumeration value="left"/>
  1820. <xs:enumeration value="center"/>
  1821. <xs:enumeration value="right"/>
  1822. <xs:enumeration value="justify"/>
  1823. <xs:enumeration value="char"/>
  1824. </xs:restriction>
  1825. </xs:simpleType>
  1826. </xs:attribute>
  1827. <xs:attribute name="char" type="Character"/>
  1828. <xs:attribute name="charoff" type="Length"/>
  1829. </xs:attributeGroup>
  1830. <xs:attributeGroup name="cellvalign">
  1831. <xs:annotation>
  1832. <xs:documentation>
  1833. vertical alignment attributes for cell contents
  1834. </xs:documentation>
  1835. </xs:annotation>
  1836. <xs:attribute name="valign">
  1837. <xs:simpleType>
  1838. <xs:restriction base="xs:token">
  1839. <xs:enumeration value="top"/>
  1840. <xs:enumeration value="middle"/>
  1841. <xs:enumeration value="bottom"/>
  1842. <xs:enumeration value="baseline"/>
  1843. </xs:restriction>
  1844. </xs:simpleType>
  1845. </xs:attribute>
  1846. </xs:attributeGroup>
  1847. <xs:element name="table">
  1848. <xs:complexType>
  1849. <xs:sequence>
  1850. <xs:element minOccurs="0" ref="caption"/>
  1851. <xs:choice>
  1852. <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
  1853. <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
  1854. </xs:choice>
  1855. <xs:element minOccurs="0" ref="thead"/>
  1856. <xs:element minOccurs="0" ref="tfoot"/>
  1857. <xs:choice>
  1858. <xs:element maxOccurs="unbounded" ref="tbody"/>
  1859. <xs:element maxOccurs="unbounded" ref="tr"/>
  1860. </xs:choice>
  1861. </xs:sequence>
  1862. <xs:attributeGroup ref="attrs"/>
  1863. <xs:attribute name="summary" type="Text"/>
  1864. <xs:attribute name="width" type="Length"/>
  1865. <xs:attribute name="border" type="Pixels"/>
  1866. <xs:attribute name="frame" type="TFrame"/>
  1867. <xs:attribute name="rules" type="TRules"/>
  1868. <xs:attribute name="cellspacing" type="Length"/>
  1869. <xs:attribute name="cellpadding" type="Length"/>
  1870. </xs:complexType>
  1871. </xs:element>
  1872. <xs:element name="caption">
  1873. <xs:complexType mixed="true">
  1874. <xs:complexContent>
  1875. <xs:extension base="Inline">
  1876. <xs:attributeGroup ref="attrs"/>
  1877. </xs:extension>
  1878. </xs:complexContent>
  1879. </xs:complexType>
  1880. </xs:element>
  1881. <xs:annotation>
  1882. <xs:documentation>
  1883. Use thead to duplicate headers when breaking table
  1884. across page boundaries, or for static headers when
  1885. tbody sections are rendered in scrolling panel.
  1886. Use tfoot to duplicate footers when breaking table
  1887. across page boundaries, or for static footers when
  1888. tbody sections are rendered in scrolling panel.
  1889. Use multiple tbody sections when rules are needed
  1890. between groups of table rows.
  1891. </xs:documentation>
  1892. </xs:annotation>
  1893. <xs:element name="thead">
  1894. <xs:complexType>
  1895. <xs:sequence>
  1896. <xs:element maxOccurs="unbounded" ref="tr"/>
  1897. </xs:sequence>
  1898. <xs:attributeGroup ref="attrs"/>
  1899. <xs:attributeGroup ref="cellhalign"/>
  1900. <xs:attributeGroup ref="cellvalign"/>
  1901. </xs:complexType>
  1902. </xs:element>
  1903. <xs:element name="tfoot">
  1904. <xs:complexType>
  1905. <xs:sequence>
  1906. <xs:element maxOccurs="unbounded" ref="tr"/>
  1907. </xs:sequence>
  1908. <xs:attributeGroup ref="attrs"/>
  1909. <xs:attributeGroup ref="cellhalign"/>
  1910. <xs:attributeGroup ref="cellvalign"/>
  1911. </xs:complexType>
  1912. </xs:element>
  1913. <xs:element name="tbody">
  1914. <xs:complexType>
  1915. <xs:sequence>
  1916. <xs:element maxOccurs="unbounded" ref="tr"/>
  1917. </xs:sequence>
  1918. <xs:attributeGroup ref="attrs"/>
  1919. <xs:attributeGroup ref="cellhalign"/>
  1920. <xs:attributeGroup ref="cellvalign"/>
  1921. </xs:complexType>
  1922. </xs:element>
  1923. <xs:element name="colgroup">
  1924. <xs:annotation>
  1925. <xs:documentation>
  1926. colgroup groups a set of col elements. It allows you to group
  1927. several semantically related columns together.
  1928. </xs:documentation>
  1929. </xs:annotation>
  1930. <xs:complexType>
  1931. <xs:sequence>
  1932. <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
  1933. </xs:sequence>
  1934. <xs:attributeGroup ref="attrs"/>
  1935. <xs:attribute name="span" default="1" type="Number"/>
  1936. <xs:attribute name="width" type="MultiLength"/>
  1937. <xs:attributeGroup ref="cellhalign"/>
  1938. <xs:attributeGroup ref="cellvalign"/>
  1939. </xs:complexType>
  1940. </xs:element>
  1941. <xs:element name="col">
  1942. <xs:annotation>
  1943. <xs:documentation>
  1944. col elements define the alignment properties for cells in
  1945. one or more columns.
  1946. The width attribute specifies the width of the columns, e.g.
  1947. width=64 width in screen pixels
  1948. width=0.5* relative width of 0.5
  1949. The span attribute causes the attributes of one
  1950. col element to apply to more than one column.
  1951. </xs:documentation>
  1952. </xs:annotation>
  1953. <xs:complexType>
  1954. <xs:attributeGroup ref="attrs"/>
  1955. <xs:attribute name="span" default="1" type="Number"/>
  1956. <xs:attribute name="width" type="MultiLength"/>
  1957. <xs:attributeGroup ref="cellhalign"/>
  1958. <xs:attributeGroup ref="cellvalign"/>
  1959. </xs:complexType>
  1960. </xs:element>
  1961. <xs:element name="tr">
  1962. <xs:complexType>
  1963. <xs:choice maxOccurs="unbounded">
  1964. <xs:element ref="th"/>
  1965. <xs:element ref="td"/>
  1966. </xs:choice>
  1967. <xs:attributeGroup ref="attrs"/>
  1968. <xs:attributeGroup ref="cellhalign"/>
  1969. <xs:attributeGroup ref="cellvalign"/>
  1970. </xs:complexType>
  1971. </xs:element>
  1972. <xs:simpleType name="Scope">
  1973. <xs:annotation>
  1974. <xs:documentation>
  1975. Scope is simpler than headers attribute for common tables
  1976. </xs:documentation>
  1977. </xs:annotation>
  1978. <xs:restriction base="xs:token">
  1979. <xs:enumeration value="row"/>
  1980. <xs:enumeration value="col"/>
  1981. <xs:enumeration value="rowgroup"/>
  1982. <xs:enumeration value="colgroup"/>
  1983. </xs:restriction>
  1984. </xs:simpleType>
  1985. <xs:annotation>
  1986. <xs:documentation>
  1987. th is for headers, td for data and for cells acting as both
  1988. </xs:documentation>
  1989. </xs:annotation>
  1990. <xs:element name="th">
  1991. <xs:complexType mixed="true">
  1992. <xs:complexContent>
  1993. <xs:extension base="Flow">
  1994. <xs:attributeGroup ref="attrs"/>
  1995. <xs:attribute name="abbr" type="Text"/>
  1996. <xs:attribute name="axis"/>
  1997. <xs:attribute name="headers" type="xs:IDREFS"/>
  1998. <xs:attribute name="scope" type="Scope"/>
  1999. <xs:attribute name="rowspan" default="1" type="Number"/>
  2000. <xs:attribute name="colspan" default="1" type="Number"/>
  2001. <xs:attributeGroup ref="cellhalign"/>
  2002. <xs:attributeGroup ref="cellvalign"/>
  2003. </xs:extension>
  2004. </xs:complexContent>
  2005. </xs:complexType>
  2006. </xs:element>
  2007. <xs:element name="td">
  2008. <xs:complexType mixed="true">
  2009. <xs:complexContent>
  2010. <xs:extension base="Flow">
  2011. <xs:attributeGroup ref="attrs"/>
  2012. <xs:attribute name="abbr" type="Text"/>
  2013. <xs:attribute name="axis"/>
  2014. <xs:attribute name="headers" type="xs:IDREFS"/>
  2015. <xs:attribute name="scope" type="Scope"/>
  2016. <xs:attribute name="rowspan" default="1" type="Number"/>
  2017. <xs:attribute name="colspan" default="1" type="Number"/>
  2018. <xs:attributeGroup ref="cellhalign"/>
  2019. <xs:attributeGroup ref="cellvalign"/>
  2020. </xs:extension>
  2021. </xs:complexContent>
  2022. </xs:complexType>
  2023. </xs:element>
  2024. </xs:schema>