У меня есть следующий сложный тип в моей XML-схеме:
<xs:complexType name="Widget" mixed="true">
<xs:sequence>
<xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
Элемент в производном XML может содержать строку или правильно сформированный XML, поэтому смешанный атрибут является истинным.
Когда я запускаю это через .NET XSD Tool, я получаю следующий код генерации:
public partial class Widget{
private System.Xml.XmlNode[] anyField;
/// <remarks/>
[System.Xml.Serialization.XmlTextAttribute()]
[System.Xml.Serialization.XmlAnyElementAttribute()]
public System.Xml.XmlNode[] Any {
get {
return this.anyField;
}
set {
this.anyField = value;
}
}
}
Вопрос, который у меня есть, заключается в том, что я не совсем уверен, как мне это использовать. В конечном итоге мне нужно иметь возможность установить значение виджета либо:
<widget>Hello World!</widget>
or
<widget>
<foo>Hello World</foo>
</widget>
Оба из которых проверяют схему