PageRenderTime 50ms CodeModel.GetById 14ms RepoModel.GetById 1ms app.codeStats 0ms

/bundles/plugins-trunk/XML/test_data/schema4schemas/datatypes.xsd

#
XML Schema | 1080 lines | 1070 code | 10 blank | 0 comment | 0 complexity | 7fb7b988dcdadd69e3e807840623af84 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <?xml version='1.0'?>
  2. <xs:schema xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema" blockDefault="#all"
  4. elementFormDefault="qualified" xml:lang="en"
  5. targetNamespace="http://www.w3.org/2001/XMLSchema"
  6. version="Id: datatypes.xsd,v 1.4 2004/05/29 10:26:33 ht Exp ">
  7. <xs:annotation>
  8. <xs:documentation source="../datatypes/datatypes-with-errata.html">
  9. The schema corresponding to this document is normative,
  10. with respect to the syntactic constraints it expresses in the
  11. XML Schema language. The documentation (within &lt;documentation>
  12. elements) below, is not normative, but rather highlights important
  13. aspects of the W3C Recommendation of which this is a part
  14. </xs:documentation>
  15. </xs:annotation>
  16. <xs:annotation>
  17. <xs:documentation>
  18. First the built-in primitive datatypes. These definitions are for
  19. information only, the real built-in definitions are magic.
  20. </xs:documentation>
  21. <xs:documentation>
  22. For each built-in datatype in this schema (both primitive and
  23. derived) can be uniquely addressed via a URI constructed
  24. as follows:
  25. 1) the base URI is the URI of the XML Schema namespace
  26. 2) the fragment identifier is the name of the datatype
  27. For example, to address the int datatype, the URI is:
  28. http://www.w3.org/2001/XMLSchema#int
  29. Additionally, each facet definition element can be uniquely
  30. addressed via a URI constructed as follows:
  31. 1) the base URI is the URI of the XML Schema namespace
  32. 2) the fragment identifier is the name of the facet
  33. For example, to address the maxInclusive facet, the URI is:
  34. http://www.w3.org/2001/XMLSchema#maxInclusive
  35. Additionally, each facet usage in a built-in datatype definition
  36. can be uniquely addressed via a URI constructed as follows:
  37. 1) the base URI is the URI of the XML Schema namespace
  38. 2) the fragment identifier is the name of the datatype, followed
  39. by a period (".") followed by the name of the facet
  40. For example, to address the usage of the maxInclusive facet in
  41. the definition of int, the URI is:
  42. http://www.w3.org/2001/XMLSchema#int.maxInclusive
  43. </xs:documentation>
  44. </xs:annotation>
  45. <xs:simpleType name="string" id="string">
  46. <xs:annotation>
  47. <xs:appinfo>
  48. <hfp:hasFacet name="length"/>
  49. <hfp:hasFacet name="minLength"/>
  50. <hfp:hasFacet name="maxLength"/>
  51. <hfp:hasFacet name="pattern"/>
  52. <hfp:hasFacet name="enumeration"/>
  53. <hfp:hasFacet name="whiteSpace"/>
  54. <hfp:hasProperty name="ordered" value="false"/>
  55. <hfp:hasProperty name="bounded" value="false"/>
  56. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  57. <hfp:hasProperty name="numeric" value="false"/>
  58. </xs:appinfo>
  59. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#string"/>
  60. </xs:annotation>
  61. <xs:restriction base="xs:anySimpleType">
  62. <xs:whiteSpace value="preserve" id="string.preserve"/>
  63. </xs:restriction>
  64. </xs:simpleType>
  65. <xs:simpleType name="boolean" id="boolean">
  66. <xs:annotation>
  67. <xs:appinfo>
  68. <hfp:hasFacet name="pattern"/>
  69. <hfp:hasFacet name="whiteSpace"/>
  70. <hfp:hasProperty name="ordered" value="false"/>
  71. <hfp:hasProperty name="bounded" value="false"/>
  72. <hfp:hasProperty name="cardinality" value="finite"/>
  73. <hfp:hasProperty name="numeric" value="false"/>
  74. </xs:appinfo>
  75. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
  76. </xs:annotation>
  77. <xs:restriction base="xs:anySimpleType">
  78. <xs:whiteSpace fixed="true" value="collapse" id="boolean.whiteSpace"/>
  79. </xs:restriction>
  80. </xs:simpleType>
  81. <xs:simpleType name="float" id="float">
  82. <xs:annotation>
  83. <xs:appinfo>
  84. <hfp:hasFacet name="pattern"/>
  85. <hfp:hasFacet name="enumeration"/>
  86. <hfp:hasFacet name="whiteSpace"/>
  87. <hfp:hasFacet name="maxInclusive"/>
  88. <hfp:hasFacet name="maxExclusive"/>
  89. <hfp:hasFacet name="minInclusive"/>
  90. <hfp:hasFacet name="minExclusive"/>
  91. <hfp:hasProperty name="ordered" value="partial"/>
  92. <hfp:hasProperty name="bounded" value="true"/>
  93. <hfp:hasProperty name="cardinality" value="finite"/>
  94. <hfp:hasProperty name="numeric" value="true"/>
  95. </xs:appinfo>
  96. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#float"/>
  97. </xs:annotation>
  98. <xs:restriction base="xs:anySimpleType">
  99. <xs:whiteSpace fixed="true" value="collapse" id="float.whiteSpace"/>
  100. </xs:restriction>
  101. </xs:simpleType>
  102. <xs:simpleType name="double" id="double">
  103. <xs:annotation>
  104. <xs:appinfo>
  105. <hfp:hasFacet name="pattern"/>
  106. <hfp:hasFacet name="enumeration"/>
  107. <hfp:hasFacet name="whiteSpace"/>
  108. <hfp:hasFacet name="maxInclusive"/>
  109. <hfp:hasFacet name="maxExclusive"/>
  110. <hfp:hasFacet name="minInclusive"/>
  111. <hfp:hasFacet name="minExclusive"/>
  112. <hfp:hasProperty name="ordered" value="partial"/>
  113. <hfp:hasProperty name="bounded" value="true"/>
  114. <hfp:hasProperty name="cardinality" value="finite"/>
  115. <hfp:hasProperty name="numeric" value="true"/>
  116. </xs:appinfo>
  117. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#double"/>
  118. </xs:annotation>
  119. <xs:restriction base="xs:anySimpleType">
  120. <xs:whiteSpace fixed="true" value="collapse" id="double.whiteSpace"/>
  121. </xs:restriction>
  122. </xs:simpleType>
  123. <xs:simpleType name="decimal" id="decimal">
  124. <xs:annotation>
  125. <xs:appinfo>
  126. <hfp:hasFacet name="totalDigits"/>
  127. <hfp:hasFacet name="fractionDigits"/>
  128. <hfp:hasFacet name="pattern"/>
  129. <hfp:hasFacet name="whiteSpace"/>
  130. <hfp:hasFacet name="enumeration"/>
  131. <hfp:hasFacet name="maxInclusive"/>
  132. <hfp:hasFacet name="maxExclusive"/>
  133. <hfp:hasFacet name="minInclusive"/>
  134. <hfp:hasFacet name="minExclusive"/>
  135. <hfp:hasProperty name="ordered" value="total"/>
  136. <hfp:hasProperty name="bounded" value="false"/>
  137. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  138. <hfp:hasProperty name="numeric" value="true"/>
  139. </xs:appinfo>
  140. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
  141. </xs:annotation>
  142. <xs:restriction base="xs:anySimpleType">
  143. <xs:whiteSpace fixed="true" value="collapse" id="decimal.whiteSpace"/>
  144. </xs:restriction>
  145. </xs:simpleType>
  146. <xs:simpleType name="duration" id="duration">
  147. <xs:annotation>
  148. <xs:appinfo>
  149. <hfp:hasFacet name="pattern"/>
  150. <hfp:hasFacet name="enumeration"/>
  151. <hfp:hasFacet name="whiteSpace"/>
  152. <hfp:hasFacet name="maxInclusive"/>
  153. <hfp:hasFacet name="maxExclusive"/>
  154. <hfp:hasFacet name="minInclusive"/>
  155. <hfp:hasFacet name="minExclusive"/>
  156. <hfp:hasProperty name="ordered" value="partial"/>
  157. <hfp:hasProperty name="bounded" value="false"/>
  158. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  159. <hfp:hasProperty name="numeric" value="false"/>
  160. </xs:appinfo>
  161. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#duration"/>
  162. </xs:annotation>
  163. <xs:restriction base="xs:anySimpleType">
  164. <xs:whiteSpace fixed="true" value="collapse" id="duration.whiteSpace"/>
  165. </xs:restriction>
  166. </xs:simpleType>
  167. <xs:simpleType name="dateTime" id="dateTime">
  168. <xs:annotation>
  169. <xs:appinfo>
  170. <hfp:hasFacet name="pattern"/>
  171. <hfp:hasFacet name="enumeration"/>
  172. <hfp:hasFacet name="whiteSpace"/>
  173. <hfp:hasFacet name="maxInclusive"/>
  174. <hfp:hasFacet name="maxExclusive"/>
  175. <hfp:hasFacet name="minInclusive"/>
  176. <hfp:hasFacet name="minExclusive"/>
  177. <hfp:hasProperty name="ordered" value="partial"/>
  178. <hfp:hasProperty name="bounded" value="false"/>
  179. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  180. <hfp:hasProperty name="numeric" value="false"/>
  181. </xs:appinfo>
  182. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
  183. </xs:annotation>
  184. <xs:restriction base="xs:anySimpleType">
  185. <xs:whiteSpace fixed="true" value="collapse" id="dateTime.whiteSpace"/>
  186. </xs:restriction>
  187. </xs:simpleType>
  188. <xs:simpleType name="time" id="time">
  189. <xs:annotation>
  190. <xs:appinfo>
  191. <hfp:hasFacet name="pattern"/>
  192. <hfp:hasFacet name="enumeration"/>
  193. <hfp:hasFacet name="whiteSpace"/>
  194. <hfp:hasFacet name="maxInclusive"/>
  195. <hfp:hasFacet name="maxExclusive"/>
  196. <hfp:hasFacet name="minInclusive"/>
  197. <hfp:hasFacet name="minExclusive"/>
  198. <hfp:hasProperty name="ordered" value="partial"/>
  199. <hfp:hasProperty name="bounded" value="false"/>
  200. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  201. <hfp:hasProperty name="numeric" value="false"/>
  202. </xs:appinfo>
  203. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#time"/>
  204. </xs:annotation>
  205. <xs:restriction base="xs:anySimpleType">
  206. <xs:whiteSpace fixed="true" value="collapse" id="time.whiteSpace"/>
  207. </xs:restriction>
  208. </xs:simpleType>
  209. <xs:simpleType name="date" id="date">
  210. <xs:annotation>
  211. <xs:appinfo>
  212. <hfp:hasFacet name="pattern"/>
  213. <hfp:hasFacet name="enumeration"/>
  214. <hfp:hasFacet name="whiteSpace"/>
  215. <hfp:hasFacet name="maxInclusive"/>
  216. <hfp:hasFacet name="maxExclusive"/>
  217. <hfp:hasFacet name="minInclusive"/>
  218. <hfp:hasFacet name="minExclusive"/>
  219. <hfp:hasProperty name="ordered" value="partial"/>
  220. <hfp:hasProperty name="bounded" value="false"/>
  221. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  222. <hfp:hasProperty name="numeric" value="false"/>
  223. </xs:appinfo>
  224. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#date"/>
  225. </xs:annotation>
  226. <xs:restriction base="xs:anySimpleType">
  227. <xs:whiteSpace fixed="true" value="collapse" id="date.whiteSpace"/>
  228. </xs:restriction>
  229. </xs:simpleType>
  230. <xs:simpleType name="gYearMonth" id="gYearMonth">
  231. <xs:annotation>
  232. <xs:appinfo>
  233. <hfp:hasFacet name="pattern"/>
  234. <hfp:hasFacet name="enumeration"/>
  235. <hfp:hasFacet name="whiteSpace"/>
  236. <hfp:hasFacet name="maxInclusive"/>
  237. <hfp:hasFacet name="maxExclusive"/>
  238. <hfp:hasFacet name="minInclusive"/>
  239. <hfp:hasFacet name="minExclusive"/>
  240. <hfp:hasProperty name="ordered" value="partial"/>
  241. <hfp:hasProperty name="bounded" value="false"/>
  242. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  243. <hfp:hasProperty name="numeric" value="false"/>
  244. </xs:appinfo>
  245. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
  246. </xs:annotation>
  247. <xs:restriction base="xs:anySimpleType">
  248. <xs:whiteSpace fixed="true" value="collapse" id="gYearMonth.whiteSpace"/>
  249. </xs:restriction>
  250. </xs:simpleType>
  251. <xs:simpleType name="gYear" id="gYear">
  252. <xs:annotation>
  253. <xs:appinfo>
  254. <hfp:hasFacet name="pattern"/>
  255. <hfp:hasFacet name="enumeration"/>
  256. <hfp:hasFacet name="whiteSpace"/>
  257. <hfp:hasFacet name="maxInclusive"/>
  258. <hfp:hasFacet name="maxExclusive"/>
  259. <hfp:hasFacet name="minInclusive"/>
  260. <hfp:hasFacet name="minExclusive"/>
  261. <hfp:hasProperty name="ordered" value="partial"/>
  262. <hfp:hasProperty name="bounded" value="false"/>
  263. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  264. <hfp:hasProperty name="numeric" value="false"/>
  265. </xs:appinfo>
  266. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
  267. </xs:annotation>
  268. <xs:restriction base="xs:anySimpleType">
  269. <xs:whiteSpace fixed="true" value="collapse" id="gYear.whiteSpace"/>
  270. </xs:restriction>
  271. </xs:simpleType>
  272. <xs:simpleType name="gMonthDay" id="gMonthDay">
  273. <xs:annotation>
  274. <xs:appinfo>
  275. <hfp:hasFacet name="pattern"/>
  276. <hfp:hasFacet name="enumeration"/>
  277. <hfp:hasFacet name="whiteSpace"/>
  278. <hfp:hasFacet name="maxInclusive"/>
  279. <hfp:hasFacet name="maxExclusive"/>
  280. <hfp:hasFacet name="minInclusive"/>
  281. <hfp:hasFacet name="minExclusive"/>
  282. <hfp:hasProperty name="ordered" value="partial"/>
  283. <hfp:hasProperty name="bounded" value="false"/>
  284. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  285. <hfp:hasProperty name="numeric" value="false"/>
  286. </xs:appinfo>
  287. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
  288. </xs:annotation>
  289. <xs:restriction base="xs:anySimpleType">
  290. <xs:whiteSpace fixed="true" value="collapse" id="gMonthDay.whiteSpace"/>
  291. </xs:restriction>
  292. </xs:simpleType>
  293. <xs:simpleType name="gDay" id="gDay">
  294. <xs:annotation>
  295. <xs:appinfo>
  296. <hfp:hasFacet name="pattern"/>
  297. <hfp:hasFacet name="enumeration"/>
  298. <hfp:hasFacet name="whiteSpace"/>
  299. <hfp:hasFacet name="maxInclusive"/>
  300. <hfp:hasFacet name="maxExclusive"/>
  301. <hfp:hasFacet name="minInclusive"/>
  302. <hfp:hasFacet name="minExclusive"/>
  303. <hfp:hasProperty name="ordered" value="partial"/>
  304. <hfp:hasProperty name="bounded" value="false"/>
  305. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  306. <hfp:hasProperty name="numeric" value="false"/>
  307. </xs:appinfo>
  308. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
  309. </xs:annotation>
  310. <xs:restriction base="xs:anySimpleType">
  311. <xs:whiteSpace fixed="true" value="collapse" id="gDay.whiteSpace"/>
  312. </xs:restriction>
  313. </xs:simpleType>
  314. <xs:simpleType name="gMonth" id="gMonth">
  315. <xs:annotation>
  316. <xs:appinfo>
  317. <hfp:hasFacet name="pattern"/>
  318. <hfp:hasFacet name="enumeration"/>
  319. <hfp:hasFacet name="whiteSpace"/>
  320. <hfp:hasFacet name="maxInclusive"/>
  321. <hfp:hasFacet name="maxExclusive"/>
  322. <hfp:hasFacet name="minInclusive"/>
  323. <hfp:hasFacet name="minExclusive"/>
  324. <hfp:hasProperty name="ordered" value="partial"/>
  325. <hfp:hasProperty name="bounded" value="false"/>
  326. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  327. <hfp:hasProperty name="numeric" value="false"/>
  328. </xs:appinfo>
  329. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
  330. </xs:annotation>
  331. <xs:restriction base="xs:anySimpleType">
  332. <xs:whiteSpace fixed="true" value="collapse" id="gMonth.whiteSpace"/>
  333. </xs:restriction>
  334. </xs:simpleType>
  335. <xs:simpleType name="hexBinary" id="hexBinary">
  336. <xs:annotation>
  337. <xs:appinfo>
  338. <hfp:hasFacet name="length"/>
  339. <hfp:hasFacet name="minLength"/>
  340. <hfp:hasFacet name="maxLength"/>
  341. <hfp:hasFacet name="pattern"/>
  342. <hfp:hasFacet name="enumeration"/>
  343. <hfp:hasFacet name="whiteSpace"/>
  344. <hfp:hasProperty name="ordered" value="false"/>
  345. <hfp:hasProperty name="bounded" value="false"/>
  346. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  347. <hfp:hasProperty name="numeric" value="false"/>
  348. </xs:appinfo>
  349. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#binary"/>
  350. </xs:annotation>
  351. <xs:restriction base="xs:anySimpleType">
  352. <xs:whiteSpace fixed="true" value="collapse" id="hexBinary.whiteSpace"/>
  353. </xs:restriction>
  354. </xs:simpleType>
  355. <xs:simpleType name="base64Binary" id="base64Binary">
  356. <xs:annotation>
  357. <xs:appinfo>
  358. <hfp:hasFacet name="length"/>
  359. <hfp:hasFacet name="minLength"/>
  360. <hfp:hasFacet name="maxLength"/>
  361. <hfp:hasFacet name="pattern"/>
  362. <hfp:hasFacet name="enumeration"/>
  363. <hfp:hasFacet name="whiteSpace"/>
  364. <hfp:hasProperty name="ordered" value="false"/>
  365. <hfp:hasProperty name="bounded" value="false"/>
  366. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  367. <hfp:hasProperty name="numeric" value="false"/>
  368. </xs:appinfo>
  369. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
  370. </xs:annotation>
  371. <xs:restriction base="xs:anySimpleType">
  372. <xs:whiteSpace fixed="true" value="collapse" id="base64Binary.whiteSpace"/>
  373. </xs:restriction>
  374. </xs:simpleType>
  375. <xs:simpleType name="anyURI" id="anyURI">
  376. <xs:annotation>
  377. <xs:appinfo>
  378. <hfp:hasFacet name="length"/>
  379. <hfp:hasFacet name="minLength"/>
  380. <hfp:hasFacet name="maxLength"/>
  381. <hfp:hasFacet name="pattern"/>
  382. <hfp:hasFacet name="enumeration"/>
  383. <hfp:hasFacet name="whiteSpace"/>
  384. <hfp:hasProperty name="ordered" value="false"/>
  385. <hfp:hasProperty name="bounded" value="false"/>
  386. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  387. <hfp:hasProperty name="numeric" value="false"/>
  388. </xs:appinfo>
  389. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
  390. </xs:annotation>
  391. <xs:restriction base="xs:anySimpleType">
  392. <xs:whiteSpace fixed="true" value="collapse" id="anyURI.whiteSpace"/>
  393. </xs:restriction>
  394. </xs:simpleType>
  395. <xs:simpleType name="QName" id="QName">
  396. <xs:annotation>
  397. <xs:appinfo>
  398. <hfp:hasFacet name="length"/>
  399. <hfp:hasFacet name="minLength"/>
  400. <hfp:hasFacet name="maxLength"/>
  401. <hfp:hasFacet name="pattern"/>
  402. <hfp:hasFacet name="enumeration"/>
  403. <hfp:hasFacet name="whiteSpace"/>
  404. <hfp:hasProperty name="ordered" value="false"/>
  405. <hfp:hasProperty name="bounded" value="false"/>
  406. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  407. <hfp:hasProperty name="numeric" value="false"/>
  408. </xs:appinfo>
  409. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#QName"/>
  410. </xs:annotation>
  411. <xs:restriction base="xs:anySimpleType">
  412. <xs:whiteSpace fixed="true" value="collapse" id="QName.whiteSpace"/>
  413. </xs:restriction>
  414. </xs:simpleType>
  415. <xs:simpleType name="NOTATION" id="NOTATION">
  416. <xs:annotation>
  417. <xs:appinfo>
  418. <hfp:hasFacet name="length"/>
  419. <hfp:hasFacet name="minLength"/>
  420. <hfp:hasFacet name="maxLength"/>
  421. <hfp:hasFacet name="pattern"/>
  422. <hfp:hasFacet name="enumeration"/>
  423. <hfp:hasFacet name="whiteSpace"/>
  424. <hfp:hasProperty name="ordered" value="false"/>
  425. <hfp:hasProperty name="bounded" value="false"/>
  426. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  427. <hfp:hasProperty name="numeric" value="false"/>
  428. </xs:appinfo>
  429. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
  430. <xs:documentation>
  431. NOTATION cannot be used directly in a schema; rather a type
  432. must be derived from it by specifying at least one enumeration
  433. facet whose value is the name of a NOTATION declared in the
  434. schema.
  435. </xs:documentation>
  436. </xs:annotation>
  437. <xs:restriction base="xs:anySimpleType">
  438. <xs:whiteSpace fixed="true" value="collapse" id="NOTATION.whiteSpace"/>
  439. </xs:restriction>
  440. </xs:simpleType>
  441. <xs:annotation>
  442. <xs:documentation>
  443. Now the derived primitive types
  444. </xs:documentation>
  445. </xs:annotation>
  446. <xs:simpleType name="normalizedString" id="normalizedString">
  447. <xs:annotation>
  448. <xs:documentation
  449. source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
  450. </xs:annotation>
  451. <xs:restriction base="xs:string">
  452. <xs:whiteSpace value="replace" id="normalizedString.whiteSpace"/>
  453. </xs:restriction>
  454. </xs:simpleType>
  455. <xs:simpleType name="token" id="token">
  456. <xs:annotation>
  457. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#token"/>
  458. </xs:annotation>
  459. <xs:restriction base="xs:normalizedString">
  460. <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
  461. </xs:restriction>
  462. </xs:simpleType>
  463. <xs:simpleType name="language" id="language">
  464. <xs:annotation>
  465. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#language"/>
  466. </xs:annotation>
  467. <xs:restriction base="xs:token">
  468. <xs:pattern value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"
  469. id="language.pattern">
  470. <xs:annotation>
  471. <xs:documentation source="http://www.ietf.org/rfc/rfc3066.txt">
  472. pattern specifies the content of section 2.12 of XML 1.0e2
  473. and RFC 3066 (Revised version of RFC 1766).
  474. </xs:documentation>
  475. </xs:annotation>
  476. </xs:pattern>
  477. </xs:restriction>
  478. </xs:simpleType>
  479. <xs:simpleType name="IDREFS" id="IDREFS">
  480. <xs:annotation>
  481. <xs:appinfo>
  482. <hfp:hasFacet name="length"/>
  483. <hfp:hasFacet name="minLength"/>
  484. <hfp:hasFacet name="maxLength"/>
  485. <hfp:hasFacet name="enumeration"/>
  486. <hfp:hasFacet name="whiteSpace"/>
  487. <hfp:hasFacet name="pattern"/>
  488. <hfp:hasProperty name="ordered" value="false"/>
  489. <hfp:hasProperty name="bounded" value="false"/>
  490. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  491. <hfp:hasProperty name="numeric" value="false"/>
  492. </xs:appinfo>
  493. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
  494. </xs:annotation>
  495. <xs:restriction>
  496. <xs:simpleType>
  497. <xs:list itemType="xs:IDREF"/>
  498. </xs:simpleType>
  499. <xs:minLength value="1" id="IDREFS.minLength"/>
  500. </xs:restriction>
  501. </xs:simpleType>
  502. <xs:simpleType name="ENTITIES" id="ENTITIES">
  503. <xs:annotation>
  504. <xs:appinfo>
  505. <hfp:hasFacet name="length"/>
  506. <hfp:hasFacet name="minLength"/>
  507. <hfp:hasFacet name="maxLength"/>
  508. <hfp:hasFacet name="enumeration"/>
  509. <hfp:hasFacet name="whiteSpace"/>
  510. <hfp:hasFacet name="pattern"/>
  511. <hfp:hasProperty name="ordered" value="false"/>
  512. <hfp:hasProperty name="bounded" value="false"/>
  513. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  514. <hfp:hasProperty name="numeric" value="false"/>
  515. </xs:appinfo>
  516. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
  517. </xs:annotation>
  518. <xs:restriction>
  519. <xs:simpleType>
  520. <xs:list itemType="xs:ENTITY"/>
  521. </xs:simpleType>
  522. <xs:minLength value="1" id="ENTITIES.minLength"/>
  523. </xs:restriction>
  524. </xs:simpleType>
  525. <xs:simpleType name="NMTOKEN" id="NMTOKEN">
  526. <xs:annotation>
  527. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
  528. </xs:annotation>
  529. <xs:restriction base="xs:token">
  530. <xs:pattern value="\c+" id="NMTOKEN.pattern">
  531. <xs:annotation>
  532. <xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
  533. pattern matches production 7 from the XML spec
  534. </xs:documentation>
  535. </xs:annotation>
  536. </xs:pattern>
  537. </xs:restriction>
  538. </xs:simpleType>
  539. <xs:simpleType name="NMTOKENS" id="NMTOKENS">
  540. <xs:annotation>
  541. <xs:appinfo>
  542. <hfp:hasFacet name="length"/>
  543. <hfp:hasFacet name="minLength"/>
  544. <hfp:hasFacet name="maxLength"/>
  545. <hfp:hasFacet name="enumeration"/>
  546. <hfp:hasFacet name="whiteSpace"/>
  547. <hfp:hasFacet name="pattern"/>
  548. <hfp:hasProperty name="ordered" value="false"/>
  549. <hfp:hasProperty name="bounded" value="false"/>
  550. <hfp:hasProperty name="cardinality" value="countably infinite"/>
  551. <hfp:hasProperty name="numeric" value="false"/>
  552. </xs:appinfo>
  553. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
  554. </xs:annotation>
  555. <xs:restriction>
  556. <xs:simpleType>
  557. <xs:list itemType="xs:NMTOKEN"/>
  558. </xs:simpleType>
  559. <xs:minLength value="1" id="NMTOKENS.minLength"/>
  560. </xs:restriction>
  561. </xs:simpleType>
  562. <xs:simpleType name="Name" id="Name">
  563. <xs:annotation>
  564. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#Name"/>
  565. </xs:annotation>
  566. <xs:restriction base="xs:token">
  567. <xs:pattern value="\i\c*" id="Name.pattern">
  568. <xs:annotation>
  569. <xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Name">
  570. pattern matches production 5 from the XML spec
  571. </xs:documentation>
  572. </xs:annotation>
  573. </xs:pattern>
  574. </xs:restriction>
  575. </xs:simpleType>
  576. <xs:simpleType name="NCName" id="NCName">
  577. <xs:annotation>
  578. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
  579. </xs:annotation>
  580. <xs:restriction base="xs:Name">
  581. <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
  582. <xs:annotation>
  583. <xs:documentation
  584. source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
  585. pattern matches production 4 from the Namespaces in XML spec
  586. </xs:documentation>
  587. </xs:annotation>
  588. </xs:pattern>
  589. </xs:restriction>
  590. </xs:simpleType>
  591. <xs:simpleType name="ID" id="ID">
  592. <xs:annotation>
  593. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ID"/>
  594. </xs:annotation>
  595. <xs:restriction base="xs:NCName"/>
  596. </xs:simpleType>
  597. <xs:simpleType name="IDREF" id="IDREF">
  598. <xs:annotation>
  599. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
  600. </xs:annotation>
  601. <xs:restriction base="xs:NCName"/>
  602. </xs:simpleType>
  603. <xs:simpleType name="ENTITY" id="ENTITY">
  604. <xs:annotation>
  605. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
  606. </xs:annotation>
  607. <xs:restriction base="xs:NCName"/>
  608. </xs:simpleType>
  609. <xs:simpleType name="integer" id="integer">
  610. <xs:annotation>
  611. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#integer"/>
  612. </xs:annotation>
  613. <xs:restriction base="xs:decimal">
  614. <xs:fractionDigits fixed="true" value="0" id="integer.fractionDigits"/>
  615. <xs:pattern value="[\-+]?[0-9]+"/>
  616. </xs:restriction>
  617. </xs:simpleType>
  618. <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
  619. <xs:annotation>
  620. <xs:documentation
  621. source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
  622. </xs:annotation>
  623. <xs:restriction base="xs:integer">
  624. <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
  625. </xs:restriction>
  626. </xs:simpleType>
  627. <xs:simpleType name="negativeInteger" id="negativeInteger">
  628. <xs:annotation>
  629. <xs:documentation
  630. source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
  631. </xs:annotation>
  632. <xs:restriction base="xs:nonPositiveInteger">
  633. <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
  634. </xs:restriction>
  635. </xs:simpleType>
  636. <xs:simpleType name="long" id="long">
  637. <xs:annotation>
  638. <xs:appinfo>
  639. <hfp:hasProperty name="bounded" value="true"/>
  640. <hfp:hasProperty name="cardinality" value="finite"/>
  641. </xs:appinfo>
  642. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#long"/>
  643. </xs:annotation>
  644. <xs:restriction base="xs:integer">
  645. <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
  646. <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
  647. </xs:restriction>
  648. </xs:simpleType>
  649. <xs:simpleType name="int" id="int">
  650. <xs:annotation>
  651. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#int"/>
  652. </xs:annotation>
  653. <xs:restriction base="xs:long">
  654. <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
  655. <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
  656. </xs:restriction>
  657. </xs:simpleType>
  658. <xs:simpleType name="short" id="short">
  659. <xs:annotation>
  660. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#short"/>
  661. </xs:annotation>
  662. <xs:restriction base="xs:int">
  663. <xs:minInclusive value="-32768" id="short.minInclusive"/>
  664. <xs:maxInclusive value="32767" id="short.maxInclusive"/>
  665. </xs:restriction>
  666. </xs:simpleType>
  667. <xs:simpleType name="byte" id="byte">
  668. <xs:annotation>
  669. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#byte"/>
  670. </xs:annotation>
  671. <xs:restriction base="xs:short">
  672. <xs:minInclusive value="-128" id="byte.minInclusive"/>
  673. <xs:maxInclusive value="127" id="byte.maxInclusive"/>
  674. </xs:restriction>
  675. </xs:simpleType>
  676. <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
  677. <xs:annotation>
  678. <xs:documentation
  679. source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
  680. </xs:annotation>
  681. <xs:restriction base="xs:integer">
  682. <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
  683. </xs:restriction>
  684. </xs:simpleType>
  685. <xs:simpleType name="unsignedLong" id="unsignedLong">
  686. <xs:annotation>
  687. <xs:appinfo>
  688. <hfp:hasProperty name="bounded" value="true"/>
  689. <hfp:hasProperty name="cardinality" value="finite"/>
  690. </xs:appinfo>
  691. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
  692. </xs:annotation>
  693. <xs:restriction base="xs:nonNegativeInteger">
  694. <xs:maxInclusive value="18446744073709551615"
  695. id="unsignedLong.maxInclusive"/>
  696. </xs:restriction>
  697. </xs:simpleType>
  698. <xs:simpleType name="unsignedInt" id="unsignedInt">
  699. <xs:annotation>
  700. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
  701. </xs:annotation>
  702. <xs:restriction base="xs:unsignedLong">
  703. <xs:maxInclusive value="4294967295" id="unsignedInt.maxInclusive"/>
  704. </xs:restriction>
  705. </xs:simpleType>
  706. <xs:simpleType name="unsignedShort" id="unsignedShort">
  707. <xs:annotation>
  708. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
  709. </xs:annotation>
  710. <xs:restriction base="xs:unsignedInt">
  711. <xs:maxInclusive value="65535" id="unsignedShort.maxInclusive"/>
  712. </xs:restriction>
  713. </xs:simpleType>
  714. <xs:simpleType name="unsignedByte" id="unsignedByte">
  715. <xs:annotation>
  716. <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
  717. </xs:annotation>
  718. <xs:restriction base="xs:unsignedShort">
  719. <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
  720. </xs:restriction>
  721. </xs:simpleType>
  722. <xs:simpleType name="positiveInteger" id="positiveInteger">
  723. <xs:annotation>
  724. <xs:documentation
  725. source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
  726. </xs:annotation>
  727. <xs:restriction base="xs:nonNegativeInteger">
  728. <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
  729. </xs:restriction>
  730. </xs:simpleType>
  731. <xs:simpleType name="derivationControl">
  732. <xs:annotation>
  733. <xs:documentation>
  734. A utility type, not for public use</xs:documentation>
  735. </xs:annotation>
  736. <xs:restriction base="xs:NMTOKEN">
  737. <xs:enumeration value="substitution"/>
  738. <xs:enumeration value="extension"/>
  739. <xs:enumeration value="restriction"/>
  740. <xs:enumeration value="list"/>
  741. <xs:enumeration value="union"/>
  742. </xs:restriction>
  743. </xs:simpleType>
  744. <xs:group name="simpleDerivation">
  745. <xs:choice>
  746. <xs:element ref="xs:restriction"/>
  747. <xs:element ref="xs:list"/>
  748. <xs:element ref="xs:union"/>
  749. </xs:choice>
  750. </xs:group>
  751. <xs:simpleType name="simpleDerivationSet">
  752. <xs:annotation>
  753. <xs:documentation>
  754. #all or (possibly empty) subset of {restriction, union, list}
  755. </xs:documentation>
  756. <xs:documentation>
  757. A utility type, not for public use</xs:documentation>
  758. </xs:annotation>
  759. <xs:union>
  760. <xs:simpleType>
  761. <xs:restriction base="xs:token">
  762. <xs:enumeration value="#all"/>
  763. </xs:restriction>
  764. </xs:simpleType>
  765. <xs:simpleType>
  766. <xs:list>
  767. <xs:simpleType>
  768. <xs:restriction base="xs:derivationControl">
  769. <xs:enumeration value="list"/>
  770. <xs:enumeration value="union"/>
  771. <xs:enumeration value="restriction"/>
  772. </xs:restriction>
  773. </xs:simpleType>
  774. </xs:list>
  775. </xs:simpleType>
  776. </xs:union>
  777. </xs:simpleType>
  778. <xs:complexType name="simpleType" abstract="true">
  779. <xs:complexContent>
  780. <xs:extension base="xs:annotated">
  781. <xs:group ref="xs:simpleDerivation"/>
  782. <xs:attribute name="final" type="xs:simpleDerivationSet"/>
  783. <xs:attribute name="name" type="xs:NCName">
  784. <xs:annotation>
  785. <xs:documentation>
  786. Can be restricted to required or forbidden
  787. </xs:documentation>
  788. </xs:annotation>
  789. </xs:attribute>
  790. </xs:extension>
  791. </xs:complexContent>
  792. </xs:complexType>
  793. <xs:complexType name="topLevelSimpleType">
  794. <xs:complexContent>
  795. <xs:restriction base="xs:simpleType">
  796. <xs:sequence>
  797. <xs:element ref="xs:annotation" minOccurs="0"/>
  798. <xs:group ref="xs:simpleDerivation"/>
  799. </xs:sequence>
  800. <xs:attribute name="name" type="xs:NCName" use="required">
  801. <xs:annotation>
  802. <xs:documentation>
  803. Required at the top level
  804. </xs:documentation>
  805. </xs:annotation>
  806. </xs:attribute>
  807. <xs:anyAttribute namespace="##other" processContents="lax"/>
  808. </xs:restriction>
  809. </xs:complexContent>
  810. </xs:complexType>
  811. <xs:complexType name="localSimpleType">
  812. <xs:complexContent>
  813. <xs:restriction base="xs:simpleType">
  814. <xs:sequence>
  815. <xs:element ref="xs:annotation" minOccurs="0"/>
  816. <xs:group ref="xs:simpleDerivation"/>
  817. </xs:sequence>
  818. <xs:attribute name="name" use="prohibited">
  819. <xs:annotation>
  820. <xs:documentation>
  821. Forbidden when nested
  822. </xs:documentation>
  823. </xs:annotation>
  824. </xs:attribute>
  825. <xs:attribute name="final" use="prohibited"/>
  826. <xs:anyAttribute namespace="##other" processContents="lax"/>
  827. </xs:restriction>
  828. </xs:complexContent>
  829. </xs:complexType>
  830. <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
  831. <xs:annotation>
  832. <xs:documentation
  833. source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
  834. </xs:annotation>
  835. </xs:element>
  836. <xs:group name="facets">
  837. <xs:annotation>
  838. <xs:documentation>
  839. We should use a substitution group for facets, but
  840. that's ruled out because it would allow users to
  841. add their own, which we're not ready for yet.
  842. </xs:documentation>
  843. </xs:annotation>
  844. <xs:choice>
  845. <xs:element ref="xs:minExclusive"/>
  846. <xs:element ref="xs:minInclusive"/>
  847. <xs:element ref="xs:maxExclusive"/>
  848. <xs:element ref="xs:maxInclusive"/>
  849. <xs:element ref="xs:totalDigits"/>
  850. <xs:element ref="xs:fractionDigits"/>
  851. <xs:element ref="xs:length"/>
  852. <xs:element ref="xs:minLength"/>
  853. <xs:element ref="xs:maxLength"/>
  854. <xs:element ref="xs:enumeration"/>
  855. <xs:element ref="xs:whiteSpace"/>
  856. <xs:element ref="xs:pattern"/>
  857. </xs:choice>
  858. </xs:group>
  859. <xs:group name="simpleRestrictionModel">
  860. <xs:sequence>
  861. <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
  862. <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
  863. </xs:sequence>
  864. </xs:group>
  865. <xs:element name="restriction" id="restriction">
  866. <xs:complexType>
  867. <xs:annotation>
  868. <xs:documentation
  869. source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
  870. base attribute and simpleType child are mutually
  871. exclusive, but one or other is required
  872. </xs:documentation>
  873. </xs:annotation>
  874. <xs:complexContent>
  875. <xs:extension base="xs:annotated">
  876. <xs:group ref="xs:simpleRestrictionModel"/>
  877. <xs:attribute name="base" type="xs:QName" use="optional"/>
  878. </xs:extension>
  879. </xs:complexContent>
  880. </xs:complexType>
  881. </xs:element>
  882. <xs:element name="list" id="list">
  883. <xs:complexType>
  884. <xs:annotation>
  885. <xs:documentation
  886. source="http://www.w3.org/TR/xmlschema-2/#element-list">
  887. itemType attribute and simpleType child are mutually
  888. exclusive, but one or other is required
  889. </xs:documentation>
  890. </xs:annotation>
  891. <xs:complexContent>
  892. <xs:extension base="xs:annotated">
  893. <xs:sequence>
  894. <xs:element name="simpleType" type="xs:localSimpleType"
  895. minOccurs="0"/>
  896. </xs:sequence>
  897. <xs:attribute name="itemType" type="xs:QName" use="optional"/>
  898. </xs:extension>
  899. </xs:complexContent>
  900. </xs:complexType>
  901. </xs:element>
  902. <xs:element name="union" id="union">
  903. <xs:complexType>
  904. <xs:annotation>
  905. <xs:documentation
  906. source="http://www.w3.org/TR/xmlschema-2/#element-union">
  907. memberTypes attribute must be non-empty or there must be
  908. at least one simpleType child
  909. </xs:documentation>
  910. </xs:annotation>
  911. <xs:complexContent>
  912. <xs:extension base="xs:annotated">
  913. <xs:sequence>
  914. <xs:element name="simpleType" type="xs:localSimpleType"
  915. minOccurs="0" maxOccurs="unbounded"/>
  916. </xs:sequence>
  917. <xs:attribute name="memberTypes" use="optional">
  918. <xs:simpleType>
  919. <xs:list itemType="xs:QName"/>
  920. </xs:simpleType>
  921. </xs:attribute>
  922. </xs:extension>
  923. </xs:complexContent>
  924. </xs:complexType>
  925. </xs:element>
  926. <xs:complexType name="facet">
  927. <xs:complexContent>
  928. <xs:extension base="xs:annotated">
  929. <xs:attribute name="value" use="required"/>
  930. <xs:attribute name="fixed" type="xs:boolean" default="false"
  931. use="optional"/>
  932. </xs:extension>
  933. </xs:complexContent>
  934. </xs:complexType>
  935. <xs:complexType name="noFixedFacet">
  936. <xs:complexContent>
  937. <xs:restriction base="xs:facet">
  938. <xs:sequence>
  939. <xs:element ref="xs:annotation" minOccurs="0"/>
  940. </xs:sequence>
  941. <xs:attribute name="fixed" use="prohibited"/>
  942. <xs:anyAttribute namespace="##other" processContents="lax"/>
  943. </xs:restriction>
  944. </xs:complexContent>
  945. </xs:complexType>
  946. <xs:element name="minExclusive" type="xs:facet" id="minExclusive">
  947. <xs:annotation>
  948. <xs:documentation
  949. source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
  950. </xs:annotation>
  951. </xs:element>
  952. <xs:element name="minInclusive" type="xs:facet" id="minInclusive">
  953. <xs:annotation>
  954. <xs:documentation
  955. source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
  956. </xs:annotation>
  957. </xs:element>
  958. <xs:element name="maxExclusive" type="xs:facet" id="maxExclusive">
  959. <xs:annotation>
  960. <xs:documentation
  961. source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
  962. </xs:annotation>
  963. </xs:element>
  964. <xs:element name="maxInclusive" type="xs:facet" id="maxInclusive">
  965. <xs:annotation>
  966. <xs:documentation
  967. source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
  968. </xs:annotation>
  969. </xs:element>
  970. <xs:complexType name="numFacet">
  971. <xs:complexContent>
  972. <xs:restriction base="xs:facet">
  973. <xs:sequence>
  974. <xs:element ref="xs:annotation" minOccurs="0"/>
  975. </xs:sequence>
  976. <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
  977. <xs:anyAttribute namespace="##other" processContents="lax"/>
  978. </xs:restriction>
  979. </xs:complexContent>
  980. </xs:complexType>
  981. <xs:element name="totalDigits" id="totalDigits">
  982. <xs:annotation>
  983. <xs:documentation
  984. source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
  985. </xs:annotation>
  986. <xs:complexType>
  987. <xs:complexContent>
  988. <xs:restriction base="xs:numFacet">
  989. <xs:sequence>
  990. <xs:element ref="xs:annotation" minOccurs="0"/>
  991. </xs:sequence>
  992. <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
  993. <xs:anyAttribute namespace="##other" processContents="lax"/>
  994. </xs:restriction>
  995. </xs:complexContent>
  996. </xs:complexType>
  997. </xs:element>
  998. <xs:element name="fractionDigits" type="xs:numFacet" id="fractionDigits">
  999. <xs:annotation>
  1000. <xs:documentation
  1001. source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
  1002. </xs:annotation>
  1003. </xs:element>
  1004. <xs:element name="length" type="xs:numFacet" id="length">
  1005. <xs:annotation>
  1006. <xs:documentation
  1007. source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
  1008. </xs:annotation>
  1009. </xs:element>
  1010. <xs:element name="minLength" type="xs:numFacet" id="minLength">
  1011. <xs:annotation>
  1012. <xs:documentation
  1013. source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
  1014. </xs:annotation>
  1015. </xs:element>
  1016. <xs:element name="maxLength" type="xs:numFacet" id="maxLength">
  1017. <xs:annotation>
  1018. <xs:documentation
  1019. source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
  1020. </xs:annotation>
  1021. </xs:element>
  1022. <xs:element name="enumeration" type="xs:noFixedFacet" id="enumeration">
  1023. <xs:annotation>
  1024. <xs:documentation
  1025. source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
  1026. </xs:annotation>
  1027. </xs:element>
  1028. <xs:element name="whiteSpace" id="whiteSpace">
  1029. <xs:annotation>
  1030. <xs:documentation
  1031. source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
  1032. </xs:annotation>
  1033. <xs:complexType>
  1034. <xs:complexContent>
  1035. <xs:restriction base="xs:facet">
  1036. <xs:sequence>
  1037. <xs:element ref="xs:annotation" minOccurs="0"/>
  1038. </xs:sequence>
  1039. <xs:attribute name="value" use="required">
  1040. <xs:simpleType>
  1041. <xs:restriction base="xs:NMTOKEN">
  1042. <xs:enumeration value="preserve"/>
  1043. <xs:enumeration value="replace"/>
  1044. <xs:enumeration value="collapse"/>
  1045. </xs:restriction>
  1046. </xs:simpleType>
  1047. </xs:attribute>
  1048. <xs:anyAttribute namespace="##other" processContents="lax"/>
  1049. </xs:restriction>
  1050. </xs:complexContent>
  1051. </xs:complexType>
  1052. </xs:element>
  1053. <xs:element name="pattern" id="pattern">
  1054. <xs:annotation>
  1055. <xs:documentation
  1056. source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
  1057. </xs:annotation>
  1058. <xs:complexType>
  1059. <xs:complexContent>
  1060. <xs:restriction base="xs:noFixedFacet">
  1061. <xs:sequence>
  1062. <xs:element ref="xs:annotation" minOccurs="0"/>
  1063. </xs:sequence>
  1064. <xs:attribute name="value" type="xs:string" use="required"/>
  1065. <xs:anyAttribute namespace="##other" processContents="lax"/>
  1066. </xs:restriction>
  1067. </xs:complexContent>
  1068. </xs:complexType>
  1069. </xs:element>
  1070. </xs:schema>