|
| 1 | +<?xml version="1.0" encoding="UTF-8"?> |
| 2 | +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ser="http://eidas.europa.eu/metadata/servicelist" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" version="1.0" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://eidas.europa.eu/metadata/servicelist"> |
| 3 | + <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/> |
| 4 | + <xs:annotation> |
| 5 | + <xs:documentation>Document identifier: eidas-metadata-servicelist-1.0</xs:documentation> |
| 6 | + </xs:annotation> |
| 7 | + <xs:element name="MetadataServiceList" type="ser:MetadataServiceListType"/> |
| 8 | + <xs:complexType name="MetadataServiceListType"> |
| 9 | + <xs:annotation> |
| 10 | + <xs:documentation>The MetadataServiceListType is the root type for representing a metadata service list. It holds scheme information, metadata locations for each member state and optionally distribution point(s).</xs:documentation> |
| 11 | + </xs:annotation> |
| 12 | + <xs:sequence> |
| 13 | + <xs:element name="SchemeInformation" type="ser:SchemeInformationType"/> |
| 14 | + <xs:element name="MetadataList" type="ser:MetadataSchemeEndpointListType" minOccurs="0" maxOccurs="unbounded"/> |
| 15 | + <xs:element name="DistributionPoints" type="ser:DistributionPointsType"/> |
| 16 | + <xs:element ref="ds:Signature" minOccurs="0"/> |
| 17 | + </xs:sequence> |
| 18 | + <xs:attribute name="Version" type="xs:string" use="required"> |
| 19 | + <xs:annotation> |
| 20 | + <xs:documentation>The version of a metadata service list.</xs:documentation> |
| 21 | + </xs:annotation> |
| 22 | + </xs:attribute> |
| 23 | + <xs:attribute name="IssueDate" type="xs:dateTime" use="required"> |
| 24 | + <xs:annotation> |
| 25 | + <xs:documentation>Issuance time for a metadata service list.</xs:documentation> |
| 26 | + </xs:annotation> |
| 27 | + </xs:attribute> |
| 28 | + <xs:attribute name="NextUpdate" type="xs:dateTime"> |
| 29 | + <xs:annotation> |
| 30 | + <xs:documentation>Time when the next metadata service list will be published.</xs:documentation> |
| 31 | + </xs:annotation> |
| 32 | + </xs:attribute> |
| 33 | + <xs:attribute name="ID" type="xs:ID"> |
| 34 | + <xs:annotation> |
| 35 | + <xs:documentation>The unique ID for a metadata service list.</xs:documentation> |
| 36 | + </xs:annotation> |
| 37 | + </xs:attribute> |
| 38 | + </xs:complexType> |
| 39 | + <xs:complexType name="SchemeInformationType"> |
| 40 | + <xs:annotation> |
| 41 | + <xs:documentation>Scheme information about a published metadata service list, where the publisher and territory are included.</xs:documentation> |
| 42 | + </xs:annotation> |
| 43 | + <xs:sequence> |
| 44 | + <xs:element name="IssuerName" type="xs:string"/> |
| 45 | + <xs:element name="SchemeIdentifier" type="xs:anyURI"/> |
| 46 | + <xs:element name="SchemeTerritory" type="xs:string"/> |
| 47 | + </xs:sequence> |
| 48 | + </xs:complexType> |
| 49 | + <xs:complexType name="MetadataSchemeEndpointListType"> |
| 50 | + <xs:annotation> |
| 51 | + <xs:documentation>Defines the metadata location(s) for a specific member state (territory).</xs:documentation> |
| 52 | + </xs:annotation> |
| 53 | + <xs:sequence> |
| 54 | + <xs:element type="ser:MetadataLocationType" name="MetadataLocation" minOccurs="0" maxOccurs="unbounded"/> |
| 55 | + </xs:sequence> |
| 56 | + <xs:attribute name="Territory" type="xs:string" use="required"/> |
| 57 | + <xs:anyAttribute namespace="##any" processContents="lax"/> |
| 58 | + </xs:complexType> |
| 59 | + <xs:complexType name="DistributionPointsType"> |
| 60 | + <xs:annotation> |
| 61 | + <xs:documentation>A list of distribution points. URLs from where the metadata service list can be downloaded.</xs:documentation> |
| 62 | + </xs:annotation> |
| 63 | + <xs:sequence> |
| 64 | + <xs:element name="DistributionPoint" type="xs:anyURI" minOccurs="1" maxOccurs="unbounded"/> |
| 65 | + </xs:sequence> |
| 66 | + </xs:complexType> |
| 67 | + <xs:complexType name="MetadataLocationType"> |
| 68 | + <xs:sequence> |
| 69 | + <xs:element name="Endpoint" type="ser:MsEndpointType" minOccurs="0" maxOccurs="unbounded"> |
| 70 | + <xs:annotation> |
| 71 | + <xs:documentation>A list of eIDAS endpoints (nodes) for the current location.</xs:documentation> |
| 72 | + </xs:annotation> |
| 73 | + </xs:element> |
| 74 | + <xs:element ref="ds:KeyInfo" minOccurs="0"> |
| 75 | + <xs:annotation> |
| 76 | + <xs:documentation>Key material (usually a certificate) that should be used to verify the signature of the downloaded metadata for this metadata location.</xs:documentation> |
| 77 | + </xs:annotation> |
| 78 | + </xs:element> |
| 79 | + </xs:sequence> |
| 80 | + <xs:attribute name="Location" type="xs:anyURI" use="required"> |
| 81 | + <xs:annotation> |
| 82 | + <xs:documentation>The URL from where the metadata for the endpoint(s) can be obtained.</xs:documentation> |
| 83 | + </xs:annotation> |
| 84 | + </xs:attribute> |
| 85 | + <xs:anyAttribute namespace="##any" processContents="lax"/> |
| 86 | + </xs:complexType> |
| 87 | + <xs:complexType name="MsEndpointType"> |
| 88 | + <xs:annotation> |
| 89 | + <xs:documentation>Defines a member state "endpoint" (eIDAS node).</xs:documentation> |
| 90 | + </xs:annotation> |
| 91 | + <xs:attribute name="EndpointType" type="xs:anyURI" use="required"> |
| 92 | + <xs:annotation> |
| 93 | + <xs:documentation>The type of endpoint. Currently defined URI:s are: http://eidas.europa.eu/metadata/ept/ProxyService for an eIDAS Proxy Service, and, http://eidas.europa.eu/metadata/ept/Connector for an eIDAS Connector.</xs:documentation> |
| 94 | + </xs:annotation> |
| 95 | + </xs:attribute> |
| 96 | + <xs:attribute name="EntityID" type="xs:anyURI" use="required"> |
| 97 | + <xs:annotation> |
| 98 | + <xs:documentation>The SAML entityID of the endpoint. For an eIDAS connector this is the entityID for the SP-part of the node, and for an eIDAS Proxy Service this is the entityID for the IdP-part of the node.</xs:documentation> |
| 99 | + </xs:annotation> |
| 100 | + </xs:attribute> |
| 101 | + <xs:anyAttribute namespace="##any" processContents="lax"/> |
| 102 | + </xs:complexType> |
| 103 | +</xs:schema> |
0 commit comments