을 사용하는 동안 문제가 발생하는 동안 을 사용하여 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
에서 Name
및 Born
누락
여기 내 XSD입니다. 내 XSD가 올바르지 않거나 xsd.exe가 처리하는 방법을 알고 있지 않습니까?
xsd.exe이 처리 할 수없는 경우 다른 방법이 있습니까?
내가 이런 식으로 실행 :
xsd.exe foo.xsd /c
같은 문제가 있습니다. 솔루션을 찾을 수 있었습니까? –
@ParvSharma - 불행히도 아닙니다. 제 경우에는 대신 수동으로했습니다. – smoksnes