SPID validator non riconosce tag md:Extensions

Salve,

sto cercando di validare il seguente metadata utilizzando il servizio SPID Validator, tuttavia, quando vado a visualizzare gli errori di validazione sembrerebbe non vengano riconosciuti i tag md:Extensions. Dove sto sbagliando?

Metadata

<?xml version="1.0"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:spid="https://spid.gov.it/saml-extensions" xmlns:fpa="https://spid.gov.it/invoicing-extensions" validUntil="2030-06-01T14:25:08Z" cacheDuration="PT604800S" entityID="https://example.com" ID="pfxd5267c18-49aa-c7fb-b52c-c174d065a2b9">
    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        
  
        <ds:SignedInfo>
            <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
            
    
            <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
            
  
            <ds:Reference URI="#pfxd5267c18-49aa-c7fb-b52c-c174d065a2b9">
                <ds:Transforms>
                    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
                <ds:DigestValue>
                    dGsahtIqm5JMTsfyQJBgDw3ElD4psu2C0zDDKc+Jqx8=
                </ds:DigestValue>
            </ds:Reference>
        </ds:SignedInfo>
        <ds:SignatureValue>
            g7lCNSN4KzNPqYYoYLC0VMtsPm99c2x4MMFltcnJr8+JnEizZoBowummZZgQDZ/p8PxHO+nEsbALBdcBA2ouVRV5dCWqS6gwzNDtLLIVcHXPxkh21WKQaUGdC3tvIAGt/MW4xD94YacxIfY44DfL6CA1KdVJ05vwacDqLTT6rIcC2Q0INX//wwO5V+JjKKnGJL5V7BwWDrWVZkspGlYFuFHPetnZ1LgoLUG9T7EsfHOgIvP3d9hGWkwuv+r1qYfiT2YZPhd+KurgZvRfBIONdupBO+eKoawm3tzVadi4/wyrnVEUt/wzaZJ/xRtX25hEG79HuetyM+4RkLkHUwbTHlaIreXEEJU0MqoaB9FfeGcM++AMwoUYhguUwB90iJm7BJ3djiSws0+AoRGgLNY5x7bjxTbUaZjfWKw5KgLOG+TH1HY1gNgFh7cuvQHeDdfczNguaCAe0yowg0KonnZGah/dTjhRUEqvwj+dgPAXEZKmuWRK8qOOWD1p66JpUv6BbsunDIA9Kc3y7Cu39Tu/h4xpOCi4R1ccmPcWcx96giQMm7CW98keTYw5bd8Cu5YNho9ch9lxbNTxhtpivgvO4tyuvJi7apGOqRzM7iPZbirdf9fH93tCPkcxVWB5u8NgblxSMBb2cLNAYKeFpU4meAQW8Jr92W0XWrIYSzYT8Vc=
        </ds:SignatureValue>
        

        <ds:KeyInfo>
            <ds:X509Data>
                <ds:X509Certificate>
                    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
                </ds:X509Certificate>
            </ds:X509Data>
        </ds:KeyInfo>
    </ds:Signature>
    
  
    <md:SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
        
    
        <md:KeyDescriptor use="signing">
            
      
            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                
        
                <ds:X509Data>
                    
          
                    <ds:X509Certificate>
                        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
                    </ds:X509Certificate>
                    
        
                </ds:X509Data>
                
      
            </ds:KeyInfo>
            
    
        </md:KeyDescriptor>
        
    
        <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://example.com/logout"/>
        
    
        <md:NameIDFormat>
            urn:oasis:names:tc:SAML:2.0:nameid-format:transient
        </md:NameIDFormat>
        
    
        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://example.com/login" index="0" isDefault="true"/>
        
    
        <md:AttributeConsumingService index="0">
            
      
            <md:ServiceName xml:lang="en">
                Signup and Login
            </md:ServiceName>
            
      
            <md:RequestedAttribute Name="spidCode"/>
            
      
            <md:RequestedAttribute Name="name"/>
            
      
            <md:RequestedAttribute Name="familyName"/>
            
      
            <md:RequestedAttribute Name="fiscalNumber"/>
            
      
            <md:RequestedAttribute Name="mobilePhone"/>
            
      
            <md:RequestedAttribute Name="email"/>
            
    
        </md:AttributeConsumingService>
        
  
    </md:SPSSODescriptor>
    
  
    <md:Organization>
        
    
        <md:OrganizationName xml:lang="it">
            Acme
        </md:OrganizationName>
        
    
        <md:OrganizationDisplayName xml:lang="it">
            Acme
        </md:OrganizationDisplayName>
        
    
        <md:OrganizationURL xml:lang="it">
            https://example.com
        </md:OrganizationURL>
        
  
    </md:Organization>
    
  
    <md:ContactPerson contactType="other">
        
    
        <md:GivenName>
            Other Name
        </md:GivenName>
        
    
        <md:EmailAddress>
            other@example.com
        </md:EmailAddress>
        
    
        <md:Extensions xmlns:spid="https://spid.gov.it/saml-extensions">
            
      
            <spid:VATNumber xmlns:spid="https://spid.gov.it/saml-extensions">
                IT01234567890
            </spid:VATNumber>
            
      
            <spid:Private xmlns:spid="https://spid.gov.it/saml-extensions"/>
            
    
        </md:Extensions>
        
  
    </md:ContactPerson>
    
  
    <md:ContactPerson contactType="billing">
        
    
        <md:GivenName>
            Billing Name
        </md:GivenName>
        
    
        <md:EmailAddress>
            billing@example.com
        </md:EmailAddress>
        
    
        <md:Extensions xmlns:fpa="https://spid.gov.it/invoicing-extensions">
            
      
            <fpa:CessionarioCommittente xmlns:fpa="https://spid.gov.it/invoicing-extensions">
                
        
                <fpa:DatiAnagrafici>
                    
          
                    <fpa:IdFiscaleIVA>
                        
            
                        <fpa:IdPaese>
                            IT
                        </fpa:IdPaese>
                        
            
                        <fpa:IdCodice>
                            01234567890
                        </fpa:IdCodice>
                        
          
                    </fpa:IdFiscaleIVA>
                    
          
                    <fpa:Anagrafica>
                        
            
                        <fpa:Denominazione>
                            Acme Institute
                        </fpa:Denominazione>
                        
          
                    </fpa:Anagrafica>
                    
        
                </fpa:DatiAnagrafici>
                
        
                <fpa:Sede>
                    
          
                    <fpa:Indirizzo>
                        Street Number
                    </fpa:Indirizzo>
                    
          
                    <fpa:CAP>
                        40121
                    </fpa:CAP>
                    
          
                    <fpa:Comune>
                        Bologna
                    </fpa:Comune>
                    
          
                    <fpa:Nazione>
                        IT
                    </fpa:Nazione>
                    
        
                </fpa:Sede>
                
      
            </fpa:CessionarioCommittente>
            
    
        </md:Extensions>
        
  
    </md:ContactPerson>
    

</md:EntityDescriptor>

Errori del validatore (un esempio)

failure - value: failed validating <Element '{urn:oasis:names:tc:SAML:2.0:metadata}ContactPerson' at 0x7f8cd4d82590> with XsdGroup(model='sequence', occurs=[1, 1]): Reason: Unexpected child with tag 'md:Extensions' at position 3. Schema: <complexType xmlns="http://www.w3.org/2001/XMLSchema" name="ContactType"> <sequence> <element ref="md:Extensions" minOccurs="0" /> <element ref="md:Company" minOccurs="0" /> <element ref="md:GivenName" minOccurs="0" /> <element ref="md:SurName" minOccurs="0" /> <element ref="md:EmailAddress" minOccurs="0" maxOccurs="unbounded" /> <element ref="md:TelephoneNumber" minOccurs="0" maxOccurs="unbounded" /> </sequence> <attribute name="contactType" type="md:ContactTypeType" use="required" /> <anyAttribute namespace="##other" processContents="lax" /> </complexType> Instance: <md:ContactPerson xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:spid="https://spid.gov.it/saml-extensions" contactType="other"> <md:GivenName>Other Name</md:GivenName> <md:EmailAddress>other@example.com</md:EmailAddress> <md:Extensions> <spid:VATNumber>IT01234567890</spid:VATNumber> <spid:Private /> </md:Extensions> </md:ContactPerson> Path: /md:EntityDescriptor/md:ContactPerson[1] : failed validating <Element '{urn:oasis:names:tc:SAML:2.0:metadata}ContactPerson' at 0x7f8cd4d82590> with XsdGroup(model='sequence', occurs=[1, 1]): Reason: Unexpected child with tag 'md:Extensions' at position 3. Schema: <complexType xmlns="http://www.w3.org/2001/XMLSchema" name="ContactType"> <sequence> <element ref="md:Extensions" minOccurs="0" /> <element ref="md:Company" minOccurs="0" /> <element ref="md:GivenName" minOccurs="0" /> <element ref="md:SurName" minOccurs="0" /> <element ref="md:EmailAddress" minOccurs="0" maxOccurs="unbounded" /> <element ref="md:TelephoneNumber" minOccurs="0" maxOccurs="unbounded" /> </sequence> <attribute name="contactType" type="md:ContactTypeType" use="required" /> <anyAttribute namespace="##other" processContents="lax" /> </complexType> Instance: <md:ContactPerson xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:spid="https://spid.gov.it/saml-extensions" contactType="other"> <md:GivenName>Other Name</md:GivenName> <md:EmailAddress>other@example.com</md:EmailAddress> <md:Extensions> <spid:VATNumber>IT01234567890</spid:VATNumber> <spid:Private /> </md:Extensions> </md:ContactPerson> Path: /md:EntityDescriptor/md:ContactPerson[1]