xsd的含义:simpleContent

时间:2011-07-12 07:46:40

标签: xml xsd

我只是想知道什么时候和什么时候:

<xsd:simpleContent>
...
</xsd:simpleContent>

被使用。

4 个答案:

答案 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>

我建议看看这些例子,它们对我非常有用:

  

http://www.datypic.com/books/defxmlschema/examples.html