2011-06-23 20 views
7

Tengo 2 archivos XSD.Uso de XSD.exe para generar clases de C# de múltiples esquemas XSD

Un archivo XSD permite decir que ABC.xsd contiene los elementos que forman parte de XML. El otro archivo XSD permite decir que XYZ.xsd contiene las definaciones de esos elementos.

Ahora en ABC.XSD (que contiene los elementos) etiqueta de esquema junto con otros espacios de nombres que se han mencionado la schemaLocation así

<xs:schema schemaLocation="XYZ.xsd"> 

Cuando Estoy ejecutando xsd.exe a genereate mis clases de C#. Está generando clases pero faltando algunas definaciones de XYZ.xsd.

Estoy ejecutando

xsd.exe "ABC.xsd" "XYZ.xsd" /c 

Cualquier ayuda sería appreicate

EDIT 1: @Felice, en mi XYZ.xsd tengo defination como esto

<xs:simpleType name="contactNumberType"> 
     <xs:annotation> 
      <xs:documentation>Contact phone or fax number with national or international format. Only numbers are allowed</xs:documentation> 
     </xs:annotation> 
     <xs:restriction base="xs:string"> 
      <xs:pattern value="\+?\p{N}{6,24}"/> 
     </xs:restriction> 
    </xs:simpleType> 

Ver el patrón definido aquí, no está apareciendo en la clase C#. Alguna ayuda. Lo siento, soy nuevo en esto. Gracias su respuesta funcionó

Respuesta

3

Pase solo el "xsd principal" como parámetro, asegúrese de que el otro esté en la misma ubicación que el principal, y debería funcionar.

+0

He editado por la pregunta. Ver Edit1. Por favor, – Shax

+0

@Shax las restricciones no afectan a la clase, solo la validación, mira aquí cómo validar: http://stackoverflow.com/questions/6451519/how-to-use-xsd2code-generated-c-classes/6451593# 6451593 –

+0

Lo siento, estoy perdido. Lo que pensé fue que al ejecutar XSD.exe generará las clases C# y pondrá todas las restricciones, etc., como parte del código C#. – Shax

Cuestiones relacionadas