Online Flora XML Schema

From Hiscom
Jump to: navigation, search


An XML Schema for an on-line Flora:

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <!--W3C Schema generated by XMLSpy v2005 rel. 3 U (http://www.altova.com)-->
  3. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  4. 	<xs:element name="author">
  5. 		<xs:simpleType>
  6. 			<xs:restriction base="xs:string"/>
  7. 		</xs:simpleType>
  8. 	</xs:element>
  9. 	<xs:element name="chromosome">
  10. 		<xs:simpleType>
  11. 			<xs:restriction base="xs:string">
  12.  
  13. 			</xs:restriction>
  14. 		</xs:simpleType>
  15. 	</xs:element>
  16. 	<xs:complexType name="conservationType">
  17. 		<xs:sequence>
  18. 			<xs:element ref="conservation_status_description"/>
  19. 			<xs:element ref="conservation_status_code"/>
  20. 			<xs:element ref="conservation_legislative"/>
  21. 		</xs:sequence>
  22. 	</xs:complexType>
  23. 	<xs:element name="conservation_legislative">
  24. 		<xs:simpleType>
  25. 			<xs:restriction base="xs:string">
  26. 				<xs:enumeration value="EPBC Act"/>
  27. 				<xs:enumeration value="other Acts"/>
  28. 			</xs:restriction>
  29. 		</xs:simpleType>
  30. 	</xs:element>
  31. 	<xs:element name="conservation_status_code">
  32. 		<xs:simpleType>
  33. 			<xs:restriction base="xs:string">
  34. 				<xs:enumeration value="3W"/>
  35. 				<xs:enumeration value="Other codes"/>
  36. 			</xs:restriction>
  37. 		</xs:simpleType>
  38. 	</xs:element>
  39. 	<xs:element name="conservation_status_description">
  40. 		<xs:simpleType>
  41. 			<xs:restriction base="xs:string">
  42. 				<xs:enumeration value="Very rare"/>
  43. 				<xs:enumeration value="Other descriptors"/>
  44. 			</xs:restriction>
  45. 		</xs:simpleType>
  46. 	</xs:element>
  47. 	<xs:element name="contributor">
  48. 		<xs:simpleType>
  49. 			<xs:restriction base="xs:string">
  50. 			</xs:restriction>
  51. 		</xs:simpleType>
  52. 	</xs:element>
  53. 	<xs:element name="date">
  54. 		<xs:simpleType>
  55. 			<xs:restriction base="xs:string"/>
  56. 		</xs:simpleType>
  57. 	</xs:element>
  58. 	<xs:complexType name="descriptionType">
  59. 		<xs:sequence>
  60. 			<xs:element name="description_full" type="description_fullType"/>
  61. 			<xs:element name="description_elements" type="description_elementsType"/>
  62. 			<xs:element ref="description_diagnostic"/>
  63. 		</xs:sequence>
  64. 	</xs:complexType>
  65. 	<xs:element name="description_bark" type="xs:string"/>
  66. 	<xs:element name="description_diagnostic" type="xs:string"/>
  67. 	<xs:complexType name="description_elementsType">
  68. 		<xs:sequence>
  69. 			<xs:element ref="description_habit"/>
  70. 			<xs:element ref="description_leaves"/>
  71. 			<xs:element ref="description_inflorescence"/>
  72. 			<xs:element ref="description_fruit"/>
  73. 			<xs:element ref="description_flowers"/>
  74. 			<xs:element ref="description_ovary"/>
  75. 			<xs:element ref="description_roots"/>
  76. 			<xs:element ref="description_bark"/>
  77. 		</xs:sequence>
  78. 	</xs:complexType>
  79. 	<xs:element name="description_flowers" type="xs:string"/>
  80. 	<xs:element name="description_fruit" type="xs:string"/>
  81. 	<xs:complexType name="description_fullType" mixed="true">
  82. 		<xs:choice minOccurs="0" maxOccurs="unbounded">
  83. 			<xs:element ref="i"/>
  84. 		</xs:choice>
  85. 	</xs:complexType>
  86. 	<xs:element name="description_habit" type="xs:string"/>
  87. 	<xs:element name="description_inflorescence" type="xs:string"/>
  88. 	<xs:element name="description_leaves" type="xs:string"/>
  89. 	<xs:element name="description_ovary" type="xs:string"/>
  90. 	<xs:element name="description_roots" type="xs:string"/>
  91. 	<xs:complexType name="distributionType">
  92. 		<xs:sequence>
  93. 			<xs:element name="distribution_regional" type="distribution_regionalType"/>
  94. 			<xs:element ref="distribution_no_taxa"/>
  95. 		</xs:sequence>
  96. 	</xs:complexType>
  97. 	<xs:element name="distribution_no_taxa" type="xs:string"/>
  98. 	<xs:complexType name="distribution_regionalType" mixed="true">
  99. 		<xs:choice minOccurs="0" maxOccurs="unbounded">
  100. 			<xs:element ref="i"/>
  101. 		</xs:choice>
  102. 	</xs:complexType>
  103. 	<xs:element name="genus">
  104. 		<xs:simpleType>
  105. 			<xs:restriction base="xs:string"/>
  106. 		</xs:simpleType>
  107. 	</xs:element>
  108. 	<xs:element name="group">
  109. 		<xs:complexType>
  110. 			<xs:sequence>
  111. 				<xs:element name="taxon" type="taxonType"/>
  112. 			</xs:sequence>
  113. 			<xs:attribute name="name" use="required">
  114. 				<xs:simpleType>
  115. 					<xs:restriction base="xs:string">
  116.  
  117. 					</xs:restriction>
  118. 				</xs:simpleType>
  119. 			</xs:attribute>
  120. 		</xs:complexType>
  121. 	</xs:element>
  122. 	<xs:element name="habitat">
  123. 		<xs:simpleType>
  124. 			<xs:restriction base="xs:string">
  125.  
  126. 			</xs:restriction>
  127. 		</xs:simpleType>
  128. 	</xs:element>
  129. 	<xs:element name="i">
  130. 		<xs:simpleType>
  131. 			<xs:restriction base="xs:string">
  132. 			</xs:restriction>
  133. 		</xs:simpleType>
  134. 	</xs:element>
  135. 	<xs:complexType name="identificationType">
  136. 		<xs:sequence minOccurs="0">
  137. 			<xs:element ref="key_title" minOccurs="0"/>
  138. 			<xs:element ref="key_contributor" minOccurs="0"/>
  139. 			<xs:element ref="key_note_front" minOccurs="0" maxOccurs="unbounded"/>
  140. 			<xs:element name="key" type="keyType" minOccurs="0"/>
  141. 			<xs:element name="key_note_end" type="key_note_endType" minOccurs="0" maxOccurs="unbounded"/>
  142. 		</xs:sequence>
  143. 	</xs:complexType>
  144. 	<xs:element name="image_identifier" type="xs:string"/>
  145. 	<xs:element name="image_url" type="xs:string"/>
  146. 	<xs:complexType name="imagesType">
  147. 		<xs:sequence>
  148. 			<xs:element ref="image_identifier"/>
  149. 			<xs:element ref="image_url"/>
  150. 		</xs:sequence>
  151. 	</xs:complexType>
  152. 	<xs:element name="kd">
  153. 		<xs:simpleType>
  154. 			<xs:restriction base="xs:string">
  155. 			</xs:restriction>
  156. 		</xs:simpleType>
  157. 	</xs:element>
  158. 	<xs:complexType name="keyType">
  159. 		<xs:sequence minOccurs="0">
  160. 			<xs:element name="kr" type="krType" minOccurs="0" maxOccurs="unbounded"/>
  161. 		</xs:sequence>
  162. 	</xs:complexType>
  163. 	<xs:element name="key_contributor">
  164. 		<xs:simpleType>
  165. 			<xs:restriction base="xs:string">
  166.  
  167. 			</xs:restriction>
  168. 		</xs:simpleType>
  169. 	</xs:element>
  170. 	<xs:complexType name="key_note_endType" mixed="true">
  171. 		<xs:choice minOccurs="0" maxOccurs="unbounded">
  172. 			<xs:element ref="i"/>
  173. 		</xs:choice>
  174. 	</xs:complexType>
  175. 	<xs:element name="key_note_front">
  176. 		<xs:simpleType>
  177. 			<xs:restriction base="xs:string">
  178.  
  179. 			</xs:restriction>
  180. 		</xs:simpleType>
  181. 	</xs:element>
  182. 	<xs:element name="key_rank">
  183. 		<xs:simpleType>
  184. 			<xs:restriction base="xs:string">
  185. 				<xs:enumeration value="gen."/>
  186. 				<xs:enumeration value="sp."/>
  187. 			</xs:restriction>
  188. 		</xs:simpleType>
  189. 	</xs:element>
  190. 	<xs:element name="key_seq">
  191. 		<xs:simpleType>
  192. 			<xs:restriction base="xs:string">
  193.  
  194. 			</xs:restriction>
  195. 		</xs:simpleType>
  196. 	</xs:element>
  197. 	<xs:element name="key_title">
  198. 		<xs:simpleType>
  199. 			<xs:restriction base="xs:string">
  200.  
  201. 			</xs:restriction>
  202. 		</xs:simpleType>
  203. 	</xs:element>
  204. 	<xs:element name="key_to">
  205. 		<xs:simpleType>
  206. 			<xs:restriction base="xs:byte">
  207.  
  208. 			</xs:restriction>
  209. 		</xs:simpleType>
  210. 	</xs:element>
  211. 	<xs:element name="kn">
  212. 		<xs:simpleType>
  213. 			<xs:restriction base="xs:string">
  214.  
  215. 			</xs:restriction>
  216. 		</xs:simpleType>
  217. 	</xs:element>
  218. 	<xs:complexType name="krType">
  219. 		<xs:sequence minOccurs="0">
  220. 			<xs:element ref="kn" minOccurs="0"/>
  221. 			<xs:element ref="kd" minOccurs="0"/>
  222. 			<xs:element ref="key_to" minOccurs="0"/>
  223. 			<xs:element ref="key_seq" minOccurs="0"/>
  224. 			<xs:element ref="kt_symbol" minOccurs="0"/>
  225. 			<xs:element ref="key_rank" minOccurs="0"/>
  226. 			<xs:element ref="kt" minOccurs="0"/>
  227. 			<xs:element name="kt_extra" type="kt_extraType" minOccurs="0"/>
  228. 		</xs:sequence>
  229. 	</xs:complexType>
  230. 	<xs:element name="kt">
  231. 		<xs:simpleType>
  232. 			<xs:restriction base="xs:string">
  233.  
  234. 			</xs:restriction>
  235. 		</xs:simpleType>
  236. 	</xs:element>
  237. 	<xs:complexType name="kt_extraType">
  238. 		<xs:sequence minOccurs="0">
  239. 			<xs:element ref="i" minOccurs="0"/>
  240. 		</xs:sequence>
  241. 	</xs:complexType>
  242. 	<xs:element name="kt_symbol">
  243. 		<xs:simpleType>
  244. 			<xs:restriction base="xs:string">
  245. 				<xs:enumeration value="†"/>
  246. 			</xs:restriction>
  247. 		</xs:simpleType>
  248. 	</xs:element>
  249. 	<xs:element name="licence">
  250. 		<xs:simpleType>
  251. 			<xs:restriction base="xs:string">
  252.  
  253. 			</xs:restriction>
  254. 		</xs:simpleType>
  255. 	</xs:element>
  256. 	<xs:element name="name">
  257. 		<xs:simpleType>
  258. 			<xs:restriction base="xs:string"/>
  259. 		</xs:simpleType>
  260. 	</xs:element>
  261. 	<xs:complexType name="name_infoType">
  262. 		<xs:sequence>
  263. 			<xs:element ref="rank"/>
  264. 			<xs:element ref="parent" minOccurs="0"/>
  265. 			<xs:element ref="genus" minOccurs="0"/>
  266. 			<xs:element ref="rank_qualified" minOccurs="0"/>
  267. 			<xs:element ref="qualifier" minOccurs="0"/>
  268. 			<xs:element ref="name"/>
  269. 			<xs:element ref="author" minOccurs="0"/>
  270. 			<xs:element name="protologue" type="protologueType" minOccurs="0"/>
  271. 		</xs:sequence>
  272. 	</xs:complexType>
  273. 	<xs:complexType name="noteType" mixed="true">
  274. 		<xs:choice minOccurs="0" maxOccurs="unbounded">
  275. 			<xs:element ref="note_fire"/>
  276. 			<xs:element ref="i"/>
  277. 		</xs:choice>
  278. 		<xs:attribute name="kind" use="required">
  279. 			<xs:simpleType>
  280. 				<xs:restriction base="xs:string">
  281. 					<xs:enumeration value="agricultural"/>
  282. 					<xs:enumeration value="biology"/>
  283. 					<xs:enumeration value="contributor"/>
  284. 					<xs:enumeration value="ecology"/>
  285. 					<xs:enumeration value="habit"/>
  286. 					<xs:enumeration value="host_parasite"/>
  287. 					<xs:enumeration value="key"/>
  288. 					<xs:enumeration value="misc"/>
  289. 					<xs:enumeration value="morphology"/>
  290. 					<xs:enumeration value="name"/>
  291. 					<xs:enumeration value="protologue"/>
  292. 					<xs:enumeration value="taxonomic"/>
  293. 				</xs:restriction>
  294. 			</xs:simpleType>
  295. 		</xs:attribute>
  296. 	</xs:complexType>
  297. 	<xs:element name="note_fire" type="xs:string"/>
  298. 	<xs:element name="parent">
  299. 		<xs:simpleType>
  300. 			<xs:restriction base="xs:string"/>
  301. 		</xs:simpleType>
  302. 	</xs:element>
  303. 	<xs:element name="phenology">
  304. 		<xs:simpleType>
  305. 			<xs:restriction base="xs:string">
  306.  
  307. 			</xs:restriction>
  308. 		</xs:simpleType>
  309. 	</xs:element>
  310. 	<xs:complexType name="protologueType">
  311. 		<xs:sequence>
  312. 			<xs:element name="ref" type="refType"/>
  313. 			<xs:element ref="date"/>
  314. 			<xs:element name="protologue_note" type="protologue_noteType" minOccurs="0"/>
  315. 		</xs:sequence>
  316. 	</xs:complexType>
  317. 	<xs:complexType name="protologue_noteType" mixed="true">
  318. 		<xs:choice minOccurs="0" maxOccurs="unbounded">
  319. 			<xs:element ref="i"/>
  320. 		</xs:choice>
  321. 	</xs:complexType>
  322. 	<xs:element name="qualifier">
  323. 		<xs:simpleType>
  324. 			<xs:restriction base="xs:string">
  325. 				<xs:enumeration value="cf."/>
  326. 				<xs:enumeration value="?"/>
  327. 			</xs:restriction>
  328. 		</xs:simpleType>
  329. 	</xs:element>
  330. 	<xs:element name="rank">
  331. 		<xs:simpleType>
  332. 			<xs:restriction base="xs:string">
  333. 				<xs:enumeration value="fam."/>
  334. 				<xs:enumeration value="gen."/>
  335. 				<xs:enumeration value="sp."/>
  336. 			</xs:restriction>
  337. 		</xs:simpleType>
  338. 	</xs:element>
  339. 	<xs:element name="rank_qualified">
  340. 		<xs:simpleType>
  341. 			<xs:restriction base="xs:string">
  342. 				<xs:enumeration value="sp."/>
  343. 			</xs:restriction>
  344. 		</xs:simpleType>
  345. 	</xs:element>
  346. 	<xs:complexType name="refType" mixed="true">
  347. 		<xs:choice minOccurs="0" maxOccurs="unbounded">
  348. 			<xs:element ref="i"/>
  349. 		</xs:choice>
  350. 	</xs:complexType>
  351. 	<xs:element name="scope_geography">
  352. 		<xs:simpleType>
  353. 			<xs:restriction base="xs:string">
  354.  
  355. 			</xs:restriction>
  356. 		</xs:simpleType>
  357. 	</xs:element>
  358. 	<xs:element name="seq">
  359. 		<xs:simpleType>
  360. 			<xs:restriction base="xs:string">
  361.  
  362. 			</xs:restriction>
  363. 		</xs:simpleType>
  364. 	</xs:element>
  365. 	<xs:complexType name="sourceType" mixed="true">
  366. 		<xs:choice minOccurs="0" maxOccurs="unbounded">
  367. 			<xs:element ref="i"/>
  368. 		</xs:choice>
  369. 	</xs:complexType>
  370. 	<xs:element name="source_date">
  371. 		<xs:simpleType>
  372. 			<xs:restriction base="xs:string">
  373.  
  374. 			</xs:restriction>
  375. 		</xs:simpleType>
  376. 	</xs:element>
  377. 	<xs:complexType name="specimensType" mixed="true">
  378. 		<xs:choice minOccurs="0" maxOccurs="unbounded">
  379. 			<xs:element ref="i"/>
  380. 		</xs:choice>
  381. 	</xs:complexType>
  382. 	<xs:complexType name="taxonType">
  383. 		<xs:sequence>
  384. 			<xs:element name="taxon_description" type="taxon_descriptionType"/>
  385. 			<xs:element name="taxon" type="taxonType" minOccurs="0"/>
  386. 		</xs:sequence>
  387. 	</xs:complexType>
  388. 	<xs:complexType name="taxon_descriptionType" mixed="true">
  389. 		<xs:choice minOccurs="0" maxOccurs="unbounded">
  390. 			<xs:element ref="seq"/>
  391. 			<xs:element ref="title"/>
  392. 			<xs:element name="name_info" type="name_infoType"/>
  393. 			<xs:element ref="contributor"/>
  394. 			<xs:element name="description" type="descriptionType"/>
  395. 			<xs:element ref="habitat"/>
  396. 			<xs:element name="distribution" type="distributionType"/>
  397. 			<xs:element name="note" type="noteType"/>
  398. 			<xs:element name="identification" type="identificationType"/>
  399. 			<xs:element name="key_note_end" type="key_note_endType"/>
  400. 			<xs:element ref="chromosome"/>
  401. 			<xs:element name="conservation" type="conservationType"/>
  402. 			<xs:element name="images" type="imagesType"/>
  403. 			<xs:element ref="licence"/>
  404. 			<xs:element ref="phenology"/>
  405. 			<xs:element ref="scope_geography"/>
  406. 			<xs:element name="source" type="sourceType"/>
  407. 			<xs:element ref="source_date"/>
  408. 			<xs:element name="specimens" type="specimensType"/>
  409. 			<xs:element name="weed_status" type="weed_statusType"/>
  410. 		</xs:choice>
  411. 	</xs:complexType>
  412. 	<xs:element name="title">
  413. 		<xs:simpleType>
  414. 			<xs:restriction base="xs:string">
  415.  
  416. 			</xs:restriction>
  417. 		</xs:simpleType>
  418. 	</xs:element>
  419. 	<xs:element name="weed_legislative">
  420. 		<xs:simpleType>
  421. 			<xs:restriction base="xs:string">
  422. 				<xs:enumeration value="EPWC Act 2010"/>
  423. 				<xs:enumeration value="Other Acts"/>
  424. 			</xs:restriction>
  425. 		</xs:simpleType>
  426. 	</xs:element>
  427. 	<xs:element name="weed_legislative_code">
  428. 		<xs:simpleType>
  429. 			<xs:restriction base="xs:string">
  430. 				<xs:enumeration value="5H"/>
  431. 				<xs:enumeration value="Other codes"/>
  432. 			</xs:restriction>
  433. 		</xs:simpleType>
  434. 	</xs:element>
  435. 	<xs:complexType name="weed_statusType">
  436. 		<xs:sequence>
  437. 			<xs:element ref="weed_status_text"/>
  438. 			<xs:element ref="weed_legislative_code"/>
  439. 			<xs:element ref="weed_legislative"/>
  440. 		</xs:sequence>
  441. 	</xs:complexType>
  442. 	<xs:element name="weed_status_text">
  443. 		<xs:simpleType>
  444. 			<xs:restriction base="xs:string">
  445.  
  446. 			</xs:restriction>
  447. 		</xs:simpleType>
  448. 	</xs:element>
  449. </xs:schema>