2010-06-16 102 views
5

Estoy intentando generar una clase de un esquema XSD pero obtener el siguiente mensaje de error:error al generar una clase de archivo de esquema XSD

Advertencia: No se puede generar clases porque no hay elementos de nivel superior con tipo complejo fueron encontrados.

Mi archivo xsd que parece:

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema id="MonitoringConfiguration" 
    targetNamespace="urn:MonitoringConfiguration-1.0" 
    elementFormDefault="qualified" 
    xmlns="urn:MonitoringConfiguration-1.0" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
> 

    <xs:complexType name="MonitoringConfiguration"> 
    <xs:sequence> 
     <xs:element name="Machine" type="Machine" minOccurs="0" /> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="Machine"> 
    <xs:sequence> 
     <xs:element name="Component" type="Component" maxOccurs="unbounded" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="Component"> 
    <xs:attribute name="Name" type="xs:string" use="required"/> 
    <xs:attribute name="Type" type="xs:string" use="optional"/> 
    </xs:complexType> 
</xs:schema> 

estoy generando la clase con la siguiente línea de comandos:

xsd MonitoringConfiguration.xsd /languages:CS /Classes 

Nota Ya he definido un elemento de nivel superior con tipo complejo (MonitoringConfiguration).

¿Qué pasa?

Gracias

Respuesta

7

ha definido un tipo complejo de alto nivel - pero no de alto nivel elemento.

es necesario agregar:

<xs:element name="MonitoringConfigurationElement" 
      type="MonitoringConfiguration" /> 

y entonces todo debería estar bien.

+0

¡De hecho, funciona! –

+0

La sugerencia no ayudó en MS VS Express 2012 para Windows 8. – Alexander

Cuestiones relacionadas