Como fazer tipo depende do valor do atributo usando atribuição de tipo condicional

Eu tenho um arquivo XML como este

          

Eu gostaria de fazer um XSD, de modo que, se o valor do atributo “type” for 1, os elementos name e surname devem estar presentes e, quando for 2, o name e o id devem estar presentes. Eu tentei gerar o XSD no gerador de esquema XSD , mas ele fez o sobrenome e o elemento id minOccurs = 0. Como eu poderia fazer isso funcionar?

    Você pode fazer isso usando a Atribuição de Tipo Condicional do XSD 1.1:

     < ?xml version="1.0" encoding="UTF-8"?>