Al igual que la herramienta Xml/inferir esquema en Visual Studio, cada vez que he usado XSD.exe he terminado reparando parte del código generado. XSD.exe hace una buena aproximación pero no funciona del todo.
Al generar el código fuente de un documento de esquema XML , Xsd.exe ignora los minOcurrencias atributo aplican a la elección <>, < secuencia>, < grupo>, < todo>, y < cualquier> elementos.
Para el elemento, Xsd.exe ignora los minOccurs atributo si el valor del atributo maxOccurs es mayor que 1, o sin límites. En este caso , la herramienta produce una matriz de del tipo correspondiente al tipo de datos XSD . Xsd.exe utiliza el valor del atributo maxOccurs para determinar si se debe generar una sola instancia o una matriz.
Para el elemento, Xsd.exe también ignora el atributo minOccurs si se aplica a un tipo de datos de esquema que se convierte en un .NET Framework tipo referencia.
Sólo cuando todas las condiciones siguientes son verdaderas hace Xsd.exe utilizar el valor del atributo minOcurrencias:
El elemento está involucrado.
El atributo maxOccurs dicta una instancia única de .
El tipo de datos se convierte en un tipo de valor .