<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://trust.otentik.codes/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="VDSManifestResource" type="xs:anyURI"/>
  <xs:element name="VDSAuthorityID" type="xs:string"/>
  <xs:element name="VDSCertResource" type="xs:string"/>
  <xs:element name="ManifestType" type="xs:string"/>
  <xs:element name="IAC" type="xs:string"/>
  <xs:element name="Range">
    <xs:complexType>
      <xs:sequence>
        <xs:element type="xs:string" name="from"/>
        <xs:element type="xs:string" name="to"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TrustServiceStatusList">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SchemeInformation">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:byte" name="TSLVersionIdentifier"/>
              <xs:element type="xs:short" name="TSLSequenceNumber"/>
              <xs:element type="xs:anyURI" name="TSLType"/>
              <xs:element name="SchemeOperatorName">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Name" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute ref="xml:lang"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="SchemeOperatorAddress">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="PostalAddresses">
                      <xs:complexType>
                        <xs:choice maxOccurs="unbounded" minOccurs="0">
                          <xs:element name="PostalAddress">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element type="xs:string" name="StreetAddress"/>
                                <xs:element type="xs:string" name="Locality"/>
                                <xs:element type="xs:int" name="PostalCode"/>
                                <xs:element type="xs:string" name="CountryName"/>
                              </xs:sequence>
                              <xs:attribute ref="xml:lang"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:choice>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="ElectronicAddress">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="URI" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute ref="xml:lang"/>
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="SchemeName">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Name" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute ref="xml:lang"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="SchemeInformationURI">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="URI" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute ref="xml:lang"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element type="xs:anyURI" name="StatusDeterminationApproach"/>
              <xs:element name="SchemeTypeCommunityRules">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="URI">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:anyURI">
                            <xs:attribute ref="xml:lang"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="PolicyOrLegalNotice">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="TSLLegalNotice" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute ref="xml:lang"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element type="xs:int" name="HistoricalInformationPeriod"/>
              <xs:element type="xs:dateTime" name="ListIssueDateTime"/>
              <xs:element name="NextUpdate">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:dateTime" name="dateTime"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="DistributionPoints">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:anyURI" name="URI"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="PointersToOtherTSL">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="OtherTSLPointer" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:anyURI" name="TSLLocation"/>
                          <xs:element name="AdditionalInformation">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="OtherInformation">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="Extension">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element ref="xsd:ManifestScope" xmlns:xsd="http://trust.otentik.codes/xsd"/>
                                          </xs:sequence>
                                          <xs:attribute type="xs:string" name="Critical" use="optional"/>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute type="xs:string" name="Id"/>
      <xs:attribute type="xs:anyURI" name="TSLTag"/>
    </xs:complexType>
  </xs:element>
</xs:schema>