<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="Core.xsd"></xs:include>
    <xs:element name="ProjectAssemblySet">
        <xs:complexType><xs:sequence>
            <xs:element name="ProjectAssembly" minOccurs="1" maxOccurs="unbounded" type="typeProjectAssembly">
                <xs:annotation>
                    <xs:documentation>
                        Locustag prefixes and assemblies
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="typeProjectAssembly"><xs:sequence>
        <xs:element name="Assembly" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
                <xs:documentation>
                    No more than one assembly may present if typeOfPairing is eUniqueLocusTagPerAssembly 
                </xs:documentation>
            </xs:annotation>
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="Replicon" minOccurs="0" maxOccurs="unbounded">
                        <xs:complexType>
                            <xs:complexContent>
                                <xs:extension base="typeReplicon">
                                    <xs:attribute name="accession" use="required"
                                        type="xs:string"/>
                                    <xs:attribute name="version" type="xs:int" use="optional">
                                    </xs:attribute>
                                </xs:extension>
                            </xs:complexContent>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
                <xs:attribute name="assemblyName" type="xs:string"></xs:attribute>
                <xs:attribute name="assemblyAccession" type="xs:string"><xs:annotation>
                    <xs:documentation>
                        Generated by Genome Collection. In the future may be changed to providing by archive with dedicated prefix (for instance ASMEA123 for EBI) 
                    </xs:documentation>
                </xs:annotation>
                </xs:attribute>
                <xs:attribute name="WGSprefix" type="xs:string" use="optional">
                </xs:attribute>
                <xs:attribute name="LocusTagPrefix" type="typeLocusTagPrefixText" use="optional">
                    <xs:annotation>
                        <xs:documentation>
                            Locustag prefix used for linking to specific locustag prefix in the project core XML. Uniquiness is not required since we may have multiple assemblies per one locustag prefix. Hovewer must be synchronized with locustag prefix in the project core XML.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:complexType>
        </xs:element>
        <xs:element type="typeArchiveID" name="ProjectIDRef">
            <xs:annotation>
                <xs:documentation>
                    For linking to specific project
                </xs:documentation>
            </xs:annotation>
        </xs:element>
    </xs:sequence>
        <xs:attribute name="typeOfPairing">
            <xs:annotation>
                <xs:documentation>
                    Attribute specifies how many assemblies per locustag prefix are allowed.
                    No more than one assembly in each Option element is permitted if type is eUniqueLocusTagPerAssembly.
                    Multiple assemblies are permitted if type is eSharedLocusTagMultiAssembly.
                    Used only for verification purposes.
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <xs:enumeration value="eUniqueLocusTagPerAssembly">
                    </xs:enumeration>
                    <xs:enumeration value="eSharedLocusTagMultiAssembly">
                    </xs:enumeration>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:schema>