我只是想知道什么时候和什么时候:
<xsd:simpleContent>
...
</xsd:simpleContent>
被使用。
答案 0 :(得分:6)
<xsd:simpleContent>
。换句话说,元素内容类型仅允许属性和文本内容。示例:<foo bar="baz">foobar</foo>
是使用<xsd:complexType>
和<xsd:simpleContent>
定义的元素。
确实使用<xsd:simpleContent>
涉及通过限制或扩展来创建类型,但实际上所有复杂类型都是隐式的限制或扩展。扩展或限制只是没有必要在代码中明确写出,因为有一个缩写语法允许将它们遗漏。
答案 1 :(得分:4)
如果你想要一个值为日期且具有属性的元素,如下所示:
<event type="birthday">2011-07-17</event>
然后你需要一个简单内容的复杂类型(CT-SC)。它是通过获取内容类型 - xs:date - 并使用“type”属性的属性定义来扩展它来定义的。
答案 2 :(得分:2)
基本上它允许你扩展complexType元素。如果你有一个“十进制”complexType,你可以通过添加一个像$或€这样的货币符号和一个代码,如美元或欧元,将simpleContent扩展为“货币”类型。 4.75作为小数将与这些扩展名成为4.75美元。
微软的文章有助于基本理解:http://msdn.microsoft.com/en-us/library/ms256106.aspx
答案 3 :(得分:0)
正如乔丹所说,它允许扩展complexType,例如:
<xsd:complexType name="SizeType">
<xsd:simpleContent>
<xsd:extension base="xsd:integer">
<xsd:attribute name="system" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
我建议看看这些例子,它们对我非常有用: