﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="XMLSchema1"
    targetNamespace="http://software.speciesfile.org/ws/TaxaPage.xsd"
    elementFormDefault="qualified"
    xmlns="http://software.speciesfile.org/ws/TaxaPage.xsd"
    xmlns:mstns="http://software.speciesfile.org/ws/TaxaPage.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
	<xs:element name="TaxaPage">
		<xs:annotation>
			<xs:documentation>
				This provides the information necessary to reproduce the "Taxa Page" for a taxonomic name 
				contained in a species file.  Users have extensive control over what items are shown on a page.
				The data provided here are less extensive page than seen by users of the species file with
				default display choices.  There are also some additional simplifications.
				Note that all blocks of HTML code must have "&lt;" and "&gt;" restored.  The initial development
				will lack some needed CSS formating.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="CSS" type="xs:string">
					<xs:annotation>
						<xs:documentation>Two lines for cascading style sheets.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="PageContent">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Header" type="xs:string">
								<xs:annotation>
									<xs:documentation>A block of HTML code to produce the header.</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="Ancestry" minOccurs="3" maxOccurs="3">
								<xs:annotation>
									<xs:documentation>
										A block of HTML code to produce the lines for great grandparent, grandparent and parent.
									</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="CurrentTaxon">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="TaxonNameLine" type="xs:string">
											<xs:annotation>
												<xs:documentation>
													The full name includes rank (if valid or temporary) or status (if not),
													the scientific name, the dagger (if extinct), the authority (if at a rank
													where authority is used), and "[temporary name]" (if name is temporary).
												</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="TaxonDetails" minOccurs="0" maxOccurs="1"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Child" minOccurs="0" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>
										A line of HTML code to produce the list item for a synonym or subordinate taxon.
									</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
