Home All Groups Group Topic Archive Search About

Howto create instances of nested classes in autogenerated xsd clas

Author
5 Oct 2005 7:12 AM
JussiS
When I autogenerate class files from XSD schemas using XSD.EXE the generated
class doesn't generate instances of nested classes. Is there any way to
autocreate instances of nested classes also? I don't want to modify
autogenerated code because all changes would be lost when the class would be
regenerated.

Sample schema:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="XMLSchema1"
targetNamespace="http://tempuri.org/XMLSchema1.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/XMLSchema1.xsd"
xmlns:mstns="http://tempuri.org/XMLSchema1.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="element1">
<xs:complexType>
<xs:sequence>
<xs:element name="element2">
    <xs:complexType>
        <xs:sequence />
    </xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

Autogenerated class: [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/XMLSchema1.xsd")] [System.Xml.Serialization.XmlRootAttribute(Namespace="http://tempuri.org/XMLSchema1.xsd", IsNullable=false)]
public class element1 {

    /// <remarks/>
    public element1Element2 element2;
}

/// <remarks/> [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/XMLSchema1.xsd")]
public class element1Element2 {
}

Author
5 Oct 2005 7:49 PM
Ollie Riches
In the example you have given there isn't any other elements under the
element called 'element2' so therefore the class definition is correct.

HTH

Ollie Riches

Show quote
"JussiS" <Jus***@discussions.microsoft.com> wrote in message
news:B43859EF-33FF-42B5-BC5B-7EF868713869@microsoft.com...
> When I autogenerate class files from XSD schemas using XSD.EXE the
> generated
> class doesn't generate instances of nested classes. Is there any way to
> autocreate instances of nested classes also? I don't want to modify
> autogenerated code because all changes would be lost when the class would
> be
> regenerated.
>
> Sample schema:
> <?xml version="1.0" encoding="utf-8" ?>
> <xs:schema id="XMLSchema1"
> targetNamespace="http://tempuri.org/XMLSchema1.xsd"
> elementFormDefault="qualified"
> xmlns="http://tempuri.org/XMLSchema1.xsd"
> xmlns:mstns="http://tempuri.org/XMLSchema1.xsd"
> xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:element name="element1">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="element2">
> <xs:complexType>
> <xs:sequence />
> </xs:complexType>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
>
> Autogenerated class:
> [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/XMLSchema1.xsd")]
> [System.Xml.Serialization.XmlRootAttribute(Namespace="http://tempuri.org/XMLSchema1.xsd",
> IsNullable=false)]
> public class element1 {
>
>    /// <remarks/>
>    public element1Element2 element2;
> }
>
> /// <remarks/>
> [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/XMLSchema1.xsd")]
> public class element1Element2 {
> }
>

AddThis Social Bookmark Button