2017-05-17 8 views
2

을 사용하는 동안 문제가 발생하는 동안 을 사용하여 attributeGroup을 사용하고 있습니다. C# 클래스를 생성하는 데 사용합니다.XSD.exe와 attributeGroup을 함께 사용하는 방법

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

    <xs:attributeGroup name="PersonBaseAttributes"> 
    <xs:attribute name="Name" type="xs:string" use="required" /> <!-- Missing in .CS --> 
    <xs:attribute name="Born" type="xs:dateTime" use="required" /> <!-- Missing in .CS --> 
    </xs:attributeGroup> 

    <xs:attributeGroup name="SalesAttributes"> 
    <xs:attributeGroup ref="PersonBaseAttributes" /> 
    <xs:attribute name="Sales" type="xs:int" use="required" /> 
    </xs:attributeGroup> 

    <xs:attributeGroup name="BossAttributes"> 
    <xs:attributeGroup ref="PersonBaseAttributes" /> 
    <xs:attribute name="Department" type="xs:string" use="required" /> 
    </xs:attributeGroup> 

    <xs:element name="Boss" nillable="true" type="BossPerson" /> 
    <xs:element name="Sales" nillable="true" type="SalesPerson" /> 
    <xs:complexType name="SalesPerson"> 
    <xs:attributeGroup ref="SalesAttributes" /> 
    </xs:complexType> 
    <xs:complexType name="BossPerson"> 
    <xs:attributeGroup ref="BossAttributes" /> 
    </xs:complexType> 
</xs:schema> 

그것은이 두 클래스를 생성 :

public partial class SalesPerson { 

    private int salesField; 

    /// <remarks/> 
    [System.Xml.Serialization.XmlAttributeAttribute()] 
    public int Sales { 
     get { 
      return this.salesField; 
     } 
     set { 
      this.salesField = value; 
     } 
    } 
} 

public partial class BossPerson { 

    private string departmentField; 

    /// <remarks/> 
    [System.Xml.Serialization.XmlAttributeAttribute()] 
    public string Department { 
     get { 
      return this.departmentField; 
     } 
     set { 
      this.departmentField = value; 
     } 
    } 
} 

생성 된 클래스는 필드를 PersonBaseAttributes에서 NameBorn 누락

여기 내 XSD입니다. 내 XSD가 올바르지 않거나 xsd.exe가 처리하는 방법을 알고 있지 않습니까?

xsd.exe이 처리 할 수없는 경우 다른 방법이 있습니까?

내가 이런 식으로 실행 :

xsd.exe foo.xsd /c 
+0

같은 문제가 있습니다. 솔루션을 찾을 수 있었습니까? –

+0

@ParvSharma - 불행히도 아닙니다. 제 경우에는 대신 수동으로했습니다. – smoksnes

답변

1

XML 스키마가, 나에게 NameBorn 스키마에 대한 잘못된 것입니다 속성이없는 요소 Boss 또는 Sales 제대로 표시 (예, 산소는 이러한 특성을 필요로하지 않습니다 스키마와 함께 제공 될 때).

생성 된 코드는 부분 클래스로 구성됩니다. 도구가 다른 속성을 생성 할 수 있습니까?

+0

불행히도 다른 클래스/파일이 생성되지 않습니다. – smoksnes