2010-06-16 6 views
5

Je suis en train de générer une classe à partir d'un schéma XSD mais j'obtenir le message d'erreur suivant:Erreur lors de la génération d'une classe à partir du fichier de schéma XSD

Attention: ne peut pas générer des classes, car aucun élément de niveau supérieur avec un type complexe ont été trouvés.

Mon fichier xsd ressemble que:

<?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> 

Je génération de la classe avec la ligne de commande suivante:

xsd MonitoringConfiguration.xsd /languages:CS /Classes 

Remarque J'ai déjà défini un élément de niveau supérieur avec type complexe (MonitoringConfiguration).

Qu'est-ce qui ne va pas?

Merci

Répondre

7

Vous avez défini un type complexe de haut niveau - mais pas de haut niveau de l'élément .

Vous devez ajouter:

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

et tout devrait être très bien.

+0

En effet, cela fonctionne! –

+0

Le conseil n'a pas aidé dans MS VS Express 2012 pour Windows 8. – Alexander

Questions connexes