<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Mac McLennan (Landcare Research) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="NameRecord">
		<xs:annotation>
			<xs:documentation>Container for all elements of a name record</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="NameRecordType"/>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="SimpleCitationType">
		<xs:sequence>
			<xs:element name="ArticleType">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="Book"/>
						<xs:enumeration value="ChapterInBook"/>
						<xs:enumeration value="ArticleInJournal"/>
						<xs:enumeration value="BookInSeries"/>
						<xs:enumeration value="Undetermined"/>
						<xs:enumeration value="Freeform"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FreeFormCitation" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>for article type equals freeform. Many name citations will be of this form</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CitationURL" type="xs:anyURI" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The web-based location of the article</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="SeriesTitle" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Series are occasional book publications under a single editor/institution/title</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="SeriesTitleEnglish" type="xs:string" minOccurs="0"/>
			<xs:element name="SeriesEditor" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="BookTitle" type="xs:string" minOccurs="0"/>
			<xs:element name="BookLanguage" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>ISO Language</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="BookTitleEnglish" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Maybe imperialistic? Need a mechanism for multi-language translations.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="BookEditorAuthor" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="BookVolPartInSeries" type="xs:string" minOccurs="0"/>
			<xs:element name="BookPagination" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Includes forward, appendices, index and plates/figures</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="BookPublicationYear" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>year on the publication</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="BookPublicationDate" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>date of publication, or year of publication if different to stated year. Need ABCD vague date format.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="BookPublisher" type="xs:string" minOccurs="0"/>
			<xs:element name="BookPublicationPlace" type="xs:string" minOccurs="0"/>
			<xs:element name="BookISBN" type="xs:string" minOccurs="0"/>
			<xs:element name="ChapterTitle" type="xs:string" minOccurs="0"/>
			<xs:element name="ChapterLanguage" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>ISO Language</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ChapterTitleEnglish" type="xs:string" minOccurs="0"/>
			<xs:element name="ChapterNumber" type="xs:string" minOccurs="0"/>
			<xs:element name="ChapterPagination" type="xs:string" minOccurs="0"/>
			<xs:element name="JournalTitle" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>We really need BPH and TL2 as standard disctionaries to drive these titles</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="JournalPublishers" type="xs:string" minOccurs="0"/>
			<xs:element name="JournalPublicationPlace" type="xs:string" minOccurs="0"/>
			<xs:element name="JournalISSN" type="xs:string" minOccurs="0"/>
			<xs:element name="ArticleAuthor" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ArticleTitle" type="xs:string" minOccurs="0"/>
			<xs:element name="ArticleLanguage" type="xs:string" minOccurs="0"/>
			<xs:element name="ArticleTitleEnglish" type="xs:string" minOccurs="0"/>
			<xs:element name="ArticlePublicationYear" type="xs:string" minOccurs="0"/>
			<xs:element name="ArticlePublicationDate" type="xs:string" minOccurs="0"/>
			<xs:element name="ArticlePagination" type="xs:string" minOccurs="0"/>
			<xs:element name="ArticleJournalVolume" type="xs:string" minOccurs="0"/>
			<xs:element name="ArticleJournalPart" type="xs:string" minOccurs="0"/>
			<xs:element name="ArticleDOI" type="xs:anyURI" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="NameRecordType">
		<xs:sequence>
			<xs:element name="FullName" type="xs:string">
				<xs:annotation>
					<xs:documentation>The full name at any rank excluding the authors. Could be generated from hierarchical components. NB no point following ABCD in splitting name components for each code as I believe that is only necessitated because ABCD is for capturing the slacker use of names attached to specimens. Name providers have no excuse!</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CanonicalName" type="xs:string">
				<xs:annotation>
					<xs:documentation>the correct spelling of the terminal element(s) at this rank. Normally a supra-specific mononomial, or an specific/infraspecific epithet but could be many words, e.g. hybrid formula, viral species name.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="OriginalOrthograpy" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>the spelling given by the author to terminal element if not accepted under code</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="BreedCultivarTradeName" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>These can occur at any rank and are therefore treated as an extra 'label' attached at any rank. We should develop this more fully. ABCD is also lacking in this respect. We would be doing the multi-million dollar horticultural industry a favour by capturing trade names appropriately - and the model here and in ABCD is too simplistic. Trade Names are allocated by a registering authority on a country-basis and thus the same trade name can be applied to different taxa in different countries.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Rank" type="xs:string">
				<xs:annotation>
					<xs:documentation>It would be desirable to have this controlled by a vocabulary together with a sort code. Not sure that is achievable in an open system?  ranks are included </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Hierarchy">
				<xs:annotation>
					<xs:documentation>two alternate mechanims. Either explicit flat hierarchy, or parent chain. Also allows infra-specific names to be captured explicity. This doesn't work elegantly. It would be better if names at all ranks were treated as part of a hierarchical chain but most systems aren't designed like that (except ours in NZ of course).</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice>
						<xs:element name="FlatHierarchy">
							<xs:annotation>
								<xs:documentation>Option: fill all or principal ranks and optionally provide keys</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Empire" type="xs:string" minOccurs="0"/>
									<xs:element name="EmpireURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Kingdom" type="xs:string"/>
									<xs:element name="KingdomURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="SubKingdom" type="xs:string" minOccurs="0"/>
									<xs:element name="SubKingdomURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="InfraKingdom" type="xs:string" minOccurs="0"/>
									<xs:element name="InfraKingdomURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="SuperPhylum" type="xs:string" minOccurs="0"/>
									<xs:element name="SuperPhylumURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="PhylumDivision" type="xs:string"/>
									<xs:element name="PhylumDivisionURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="SubPhylum" type="xs:string" minOccurs="0"/>
									<xs:element name="SubPhylumURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="InfraPhylum" type="xs:string" minOccurs="0"/>
									<xs:element name="InfraPhylumURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Superclass" type="xs:string" minOccurs="0"/>
									<xs:element name="SuperclassURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Class" type="xs:string"/>
									<xs:element name="ClassURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="SubClass" type="xs:string" minOccurs="0"/>
									<xs:element name="SubClassURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="SuperOrder" type="xs:string" minOccurs="0"/>
									<xs:element name="SuperOrderURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Order" type="xs:string"/>
									<xs:element name="OrderURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="SubOrder" type="xs:string" minOccurs="0"/>
									<xs:element name="SubOrderURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="SuperFamily" type="xs:string" minOccurs="0"/>
									<xs:element name="SuperFamilyURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Family" type="xs:string"/>
									<xs:element name="FamilyURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="SubFamily" type="xs:string" minOccurs="0"/>
									<xs:element name="SubFamilyURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Tribe" type="xs:string" minOccurs="0"/>
									<xs:element name="TribeURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Genus" type="xs:string"/>
									<xs:element name="GenusURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Subgenus" type="xs:string" minOccurs="0"/>
									<xs:element name="SubgenusURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Species" type="xs:string" minOccurs="0"/>
									<xs:element name="SpeciesURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Infra-1Species" type="xs:string" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Strictly varieties are not subordinate to species which means that successive infra-specific ranks cannot fit into a unique hiearchy. In addition the use of ranks below subspecies happens but is not governed by the codes. For bacteria and plant pathogenic fungi these tri-quadri-nomials are important. The mechanism here allows 3 level of hierarchy to species, eg puccinia alba subsp. alba var. deformans forma urticae. Might be a case here for including authors?</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Infra-1SpeciesRank" type="xs:string" minOccurs="0"/>
									<xs:element name="Infra-1SpeciesURI" type="xs:anyURI" minOccurs="0"/>
									<xs:element name="Infra-2Species" type="xs:string" minOccurs="0"/>
									<xs:element name="Infra-2SpeciesRank" type="xs:string" minOccurs="0"/>
									<xs:element name="Infra-2SpeciesURI" type="xs:anyURI" minOccurs="0"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="ParentName" type="NameParentType">
							<xs:annotation>
								<xs:documentation>Option: provide a parent linking key. Not sure if I'v egot the recursive mechanism correct here?</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="ProtonymAuthors" type="xs:string">
				<xs:annotation>
					<xs:documentation>The authors of the original name, B-P abrreviated or not for plant names, without brackets. I am usng Richard Pyles term 'protonym' for cross-code basionym equivalent.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProtonymYear" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Necessary duplication with data in citation if present. In an ideal world ... </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProtonymPageInLit" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The page/plate in which the protologue STARTS, i.e. it is not a pagination.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProtonymIsInCitation" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>name authors not same as lit authors </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProtonymCitation" type="SimpleCitationType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Zoologists frequently have just original reference, and not combining reference. Will be duplicated if protonym reference given. Not sure how to handle this potential duplication?</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProtonymURI" type="xs:anyURI" minOccurs="0">
				<xs:annotation>
					<xs:documentation>All these URI's need to be allocated by a central service. However, to be pragmatic, I suggest we use a semi-semantic URI of the form, say, provider.organization.country/localkey. Where localkey should itself preferably be non-semantic to the provider. Protonym URI Provides the link required to pull together MOST unambiguous synonyms. In the case of ICBN where Protonym equals Basionym there are some subtle rules for using nom. novs. 1) the original name is illegitimate in which case the nom. nov. has itself as a basionym and the replaced name is the illegitimate name. 2) a combination would result in a homonym or tautonym, in which case the nom. nov. has itself as a basionym and the replaced name is the original valid name. 3) a combination would result in a homonym or tautonym and the author selects the next available epithet in the priginal circumscription. In this case the basionym is that later name (even tho it is heterotypic!) and the replaced nam
 e is the original name. NB In this rare case linking names on the basionym INCLUDES AMBIGUOUS SYNONYMS.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProtonymLocalKey" type="xs:string">
				<xs:annotation>
					<xs:documentation>Local primary keys are probably the only thing most providers have (at least I hope they do!). This allows a data-set to be internally linked and checked for self-consistency. In the absence of a provider-driven URI, the central aggregator can issue appropriate URI's for return to the provider. I think this mechanism would also be appropriate for issuing TaxonConcept URI's where, again, most providers won't have them, but they can be generated automatically on aggregation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="IsNovum" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Name is a nom. nov.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ReplacedNameURI" type="xs:anyURI" minOccurs="0">
				<xs:annotation>
					<xs:documentation>In the case of nom. novs. a reference for the type bearing name - this required to fully group all objective synonyms</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ReplacedNameLocalKey" type="xs:string" minOccurs="0"/>
			<xs:element name="CombinationAuthors" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The authors of the original name, BP abrreviated or not for plant names, and without brackets</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CombinationYear" type="xs:integer" minOccurs="0"/>
			<xs:element name="CombinationPageInLit" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>May also be a plate/figure</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CombinationIsInCitation" type="xs:boolean" minOccurs="0"/>
			<xs:element name="CombinationCitation" type="SimpleCitationType" minOccurs="0"/>
			<xs:element name="Nomenclature">
				<xs:annotation>
					<xs:documentation>The nomenclatural status of this name</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="NomenclaturalCode">
							<xs:annotation>
								<xs:documentation>The code to which name has been submitted for scrutiny. Do I need to make this 1 to many to cover ambiregnal names? Also, don't have the official abbreviations at hand.</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="ICBN"/>
									<xs:enumeration value="ICZN"/>
									<xs:enumeration value="ICVN"/>
									<xs:enumeration value="Bacteriological code"/>
									<xs:enumeration value="Cultivated code"/>
									<xs:enumeration value="trade name"/>
									<xs:enumeration value="Non-code name"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="NomenclaturalStatus">
							<xs:annotation>
								<xs:documentation>See attributes</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="Rejected"/>
									<xs:enumeration value="Fails"/>
									<xs:enumeration value="Conserved"/>
									<xs:enumeration value="Sanctioned"/>
									<xs:enumeration value="Accepted"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="RuleConsidered" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The article in the code in question that is commented on below</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="StatusQualification" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>possibly need some vocabulary here, e.g. superfluous</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="CodeEdition" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Article numbering changes according to edition of the code</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="BlockingNames" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The names having priority which block the use of this name</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence maxOccurs="unbounded">
									<xs:element name="NameURI" type="xs:anyURI"/>
									<xs:element name="NameLocalKey" type="xs:string"/>
									<xs:element name="BlockingString" type="xs:string">
										<xs:annotation>
											<xs:documentation>placeholder for blocking name(s) if not referenced</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="NomenclaturalNote" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>nom. conf. etc</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="NomenclaturalSources" type="SimpleCitationType" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The literature used to determine the nomenclatural status.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="EditorialStatus">
				<xs:annotation>
					<xs:documentation>The current status of the record from an editorial persepective</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="LiteratureSources" type="SimpleCitationType" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The sources of literarature used to compile the record other than protologue and those mentioned against nomenclatural status</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Editors" type="xs:string" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The people who compiled the data</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="EditorialNotes" type="xs:string" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Notes on compilation</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Status">
							<xs:annotation>
								<xs:documentation>what sources were checked in compilation</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="PrimaryChecked"/>
									<xs:enumeration value="SecondaryAuthoritative"/>
									<xs:enumeration value="OtherSource"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="TypeCollection" minOccurs="0">
				<xs:annotation>
					<xs:documentation>not really nomenclatural - but useful. Should only be populated if this record is a protonym record. Not sure how to XML code that? </xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="InstitutionCode" type="xs:string">
							<xs:annotation>
								<xs:documentation>The IndexHerbariorum or equivalent unique designation of the collection</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="AccessionNumber" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The accession number of the type in the institute</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="TypeStatus" minOccurs="0">
							<xs:annotation>
								<xs:documentation>See attributes. Need to be careful here. We only need type desigantions that say something about nomenclatural status - any many don't, e.g. kelptotype etc.</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="holotype"/>
									<xs:enumeration value="isotype"/>
									<xs:enumeration value="lectotype"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="CountryOfOrigin" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>ISO country. Where the type was collected. Strictly a job for collection databases but many name dbs hold this data so let's use it.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="IsProParte" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This name is based on part of the same type as another name - possibly referenced below</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProParteOfNameURI" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation> NB pro-parte names have this nomenclatural type-linkage that needs storing in a nomenclatural record.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProParteOfNameLocalKey" type="xs:string" minOccurs="0"/>
			<xs:element name="IsAutonym" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>i.e. this name doesn't really exist but many name providers will have them acting as placeholders for attaching data. Unfortunately an autonym is a Taxon Concept as it implies a different circumsciption to the parent name. I am not including misapplications here for the same reason, but I don't see how to avoid registering autonyms because it is a different 'string'!</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="IsHybridGraft" type="xs:boolean" minOccurs="0"/>
			<xs:element name="HybridGraftNames" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Plant hybrids and grafts may be referred to by a 'nothotaxon' name for the hybrid formula. there is a need to capture the grammar of this formula, i.e. to  specify the sex and order of component names which constitute the hybrid (effectively the 'partial' objective synonyms for the hybrid).</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="IsNothoTaxonName" type="xs:boolean">
							<xs:annotation>
								<xs:documentation>This name is a nothotaxon name</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="HybridFormula" minOccurs="0">
							<xs:complexType>
								<xs:sequence maxOccurs="unbounded">
									<xs:element name="Sex" minOccurs="0">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:enumeration value="male"/>
												<xs:enumeration value="formula"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:element>
									<xs:element name="NameURI" type="xs:anyURI"/>
									<xs:element name="Level" type="xs:integer" minOccurs="0">
										<xs:annotation>
											<xs:documentation>provides mechanisms of grouping inter-hybrid names</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="IsAnamorph" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Name applies to an anamorphic taxon: art 59 ICBN. Whilst the ICBN continues to allow two names for the same organism then we must provide a linking mechanism.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TeleomorphNameURI" type="xs:anyURI" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Unambiguous link between anamorph/teleomoprh names for same taxon currently allowed under ICBN</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TeleomorphNameLocalKey" type="xs:string" minOccurs="0"/>
			<xs:element name="SimpleBiostatus" type="SimpleBiostatusType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Not nomenclature but probably best placed here and many providers will have this data attached to 'names' and not concepts, largely because the national/international lists deal with names and not concepts.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="VernacularNames" type="VernacularNameType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Not nomenclature but also probably best placed here.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ThisNameURI" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="ThisNameLocalKey" type="xs:string"/>
			<xs:element name="ThisNameProvider" type="xs:string">
				<xs:annotation>
					<xs:documentation>The nomenclator source of information. I suggest this refelects the non-semantic part of the providers URI. We need a mechanism for registering these.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="RecordCreatedDate" type="xs:date"/>
			<xs:element name="RecordUpdatedDate" type="xs:date"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="NameParentType">
		<xs:sequence>
			<xs:element name="NameURI" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="NameLocalKey" type="xs:string"/>
			<xs:element name="Parent" type="NameParentType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SimpleBiostatusType">
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="Indigenous" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This needs coding better - it's not saying what I want. There is a simple hierarchy of terms here.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="IsEndemic" type="xs:boolean"/>
					</xs:sequence>
					<xs:attribute name="IsIndigenous" type="xs:boolean"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Alien" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AlienStatus">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="Casual"/>
									<xs:enumeration value="Established"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="IsAlien" type="xs:boolean"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="IsExtinct" type="xs:boolean" minOccurs="0"/>
			<xs:element name="ListStatus" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Status in a published list, eg CITES</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListCitation" type="SimpleCitationType" minOccurs="0"/>
			<xs:element name="Region" type="xs:string">
				<xs:annotation>
					<xs:documentation>ISO Country</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="VernacularNameType">
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="CountryOfApplication" type="xs:string"/>
			<xs:element name="ISOCountryOfApplication" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>ISO Country</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProvinceOfApplication" type="xs:string" minOccurs="0"/>
			<xs:element name="ISOProvinceOfApplication" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>ISO 2nd level</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="OriginalName" type="xs:string">
				<xs:annotation>
					<xs:documentation>Vernacular name in the original language</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="OriginalLanguage" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>ISO Language</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="EnglishTranslation" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>I guess we really need a many-language mechanism. This is a bit imperalistic! But then the international language of science is english?</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="RomanTransliteration" type="xs:string" minOccurs="0"/>
			<xs:element name="Qualifier" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
