XmlSchema和CLS所表示的类型系统是否同构?

9

请问有人可以解释一下这个问题吗?

XmlSchema和CLS所代表的类型系统是同构的吗?

链接

2个回答

8

XML Schema定义的每种类型都可以在CLS(.NET类型系统)中定义,反之亦然。

例如,如果我们在XML Schema中有xs:string,则在.NET中我们有System.String。如果我在C#中定义这个类:

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

我可以用XML Schema表示它:
<xs:complexType name="Foo">
    <xs:sequence>
      <xs:element name="Bar" type="xs:string" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
</xs:complexType>

哦,天啊,这是一个非常复杂的方式来问一个简单的问题!谢谢。 - Maxim Gershkovich
4
这个答案是不正确的。问题问的是类型系统是否同构(具有相同或相似的形式),它们并不是同构的。具体而言,问题旨在了解类型系统。XmlSchema所代表的类型系统是否与CLS中定义的类型系统完全相同。你可以在这里阅读更多信息。http://hyperthink.net/blog/why-xsd-is-not-a-type-system/http://msdn.microsoft.com/en-us/library/2hf02550(v=vs.71).aspx - felbus

3

编号。

这个问题的意思是,CLS中的每个成员是否在XmlSchema中有对应的成员。

虽然有很多匹配但也存在不匹配的情况,因此答案是否定的——它们不是同构的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接