Search code examples
.netprogramming-languagestypesxsd

Are the type system represented by XmlSchema and the CLS isomorphic


Can someone please explain this question to me?

Are the type system represented by XmlSchema and the CLS isomorphic?

Link


Solution

  • Means every type defined by XML Schema can be defined in CLS (.NET type system) and vice versa.

    For example, if we have xs:string in XML Schema, we have System.String in .NET. And If I define this class in C#:

    public class Foo
    {
       public string Bar{get;set;}
    }
    

    I can represent that in XML Schema:

    <xs:complexType name="Foo">
        <xs:sequence>
          <xs:element name="Bar" type="xs:string" minOccurs="1" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>