У меня есть следующий сложный тип в моей схеме 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, следовательно, атрибут mixed является истинным.
Когда я запускаю это с помощью .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>
, либо на
<widget>
<foo>Hello World</foo>
</widget>
Оба из которых проверяют против схемы