Re: C# code generation with xsd.exe "how to ?"

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Daniel Cazzulino [MVP XML] (kzuAT_at_NOaspnet2SPAMPLZ.com)
Date: 07/07/04


Date: Wed, 7 Jul 2004 09:41:27 -0300

1) You don't need to use third party software to get public properties or
strong typed collections instead of arrays. Check the article titled Code
Generation in the .NET Framework Using XML Schema on MSDN
(http://msdn.microsoft.com/xml/default.aspx?pull=/library/en-us/dnxmlnet/htm
l/xsdcodegen.asp).
Another quick trick you can use is this:
http://weblogs.asp.net/cazzu/archive/2003/08/26/25460.aspx

2) In order to get classes that inherit from others, you have to create
complex types that act as the base type for others. For example, you have to
define a Person complex type, and make the ExtendedPerson complex type
inherit from it. You'll get two classes, the later inheriting the former.

-- 
Daniel Cazzulino [MVP XML]
Clarius Consulting SA
http://weblogs.asp.net/cazzu
http://aspnet2.com
"Marek" <nospam@nospam.com> wrote in message
news:Km6Fc.89543$Ax1.1118454@news20.bellglobal.com...
> Actually, the very first question I should ask is "does it make sense at
> all?".
> For 2 days I've been trying to generate C# classes using XML schema and
> xsd.exe tool. So far the results are not exciting but I assume I am
> seriously short of knowledge, so  here I am - asking for help. My current
> situation is that I can define schemas that will generate very simple
> classes but I have two major problems:
>
> (1) I do not know how to write a schema, so that my classes can get
> properties with skeletons for getter and setter, as opposed to public
fields
> ? Right now, for every generated class, all the attributes defined in xsd,
> get converted into public fields, not properties.
>
> (2) How to write a schema to get class structure that exposes inheritance
> and incorporates interfaces ?
> I try to use "complexContent" with "extension" and "base" attributes but
> when compiling the schema with xsd.exe I am getting different kind of
errors
> (i.e. "cannot generate classes because no top-level elements with complex
> type  were found" or "cannot generate classes because no top-level
elements
> with complex type  were found" ). I even tried to compile an example from
> MSDN (Person->ExtendedPerson) but no success at all...
>
> My friend is strongly advocating gsl-gen (a third-party code generator)
but
> I would really like to be able getting that work done using .net
> infrastructure, without any additional pieces.
> I would appreciate any useful hints, especially some exmaples for my two
> problems that I mentioned above. Thank you very much,
>
> Marek
>
>
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.708 / Virus Database: 464 - Release Date: 19/06/2004


Relevant Pages

  • Re: Could anyone explain this schema structure?
    ... > XML schema language that element always has a complex type, ... This is inheiritance in the same vein as in OOP. ... I have to say though, you are right, I dont like it. ...
    (comp.text.xml)
  • promoting "type" attribute from XMLSchema-instance as a property f
    ... In Biztalk 2006, I have a message schema which defines two complex types, one ... The schema defines one element of the base complex ... derived complex type, as follows: ... the XPath to be the following: ...
    (microsoft.public.biztalk.general)
  • Extensible enumerations in XML Schema
    ... I have a complex type that has one ... The XML schema that I define ... items to the enumeration in an additional schema. ... includes the enum values of the original/parent simpleType. ...
    (comp.text.xml)
  • Re: Query on elementFormDefault & Restrictions (using AltovaXmlSpy)
    ... "The content model of complex type '' is not a valid ... Your restriction attempts to restrict that with an element declaration ... in the base schema document and 'unqualified' in yours, ...
    (comp.text.xml)
  • embedded schematron and chameleon design
    ... into a master schema. ... The modules have no target namespace, ... but `inherit' the namespace of the master schema -- this is ... these do not seem to inherit the target namespace of the ...
    (comp.text.xml)