25

我对 , 和 的 simpletype类型simplecontent有些complextype困惑complexcontent

我对xsd几乎是新手。有人可以帮助消除给出具体例子的困惑。

4

4 回答 4

43

我知道这有点晚了,但我希望这篇文章对某人有所帮助。

简而言之:

<complexType>并且<simpleType>都定义了类型。复杂类型可以具有元素后代和属性,而简单类型则不能。

复杂类型可以有简单或复杂的内容。类型<complexContent>可以包含子元素,而那些<simpleContent>只能包含字符。

于 2014-10-29T08:26:37.780 回答
7

What is a Complex Element?

A complex element is an XML element that contains other elements and/or attributes. There are four kinds of complex elements:

  1. empty elements
  2. elements that contain only other elements
  3. elements that contain only text
  4. elements that contain both other elements and text

Note: Each of these elements may contain attributes as well!

Examples of Complex Elements

  1. A complex XML element, "product", which is empty:
<product pid="1345"/>
  1. A complex XML element, "employee", which contains only other elements:
<employee>
    <firstname>Deepam</firstname>
    <lastname>Gupta</lastname>
</employee>
  1. A complex XML element, "food", which contains only text:
<food type="dessert">Chapati</food>
  1. A complex XML element, "description", which contains both elements and text:
<description>
    It happened on <date lang="hindi">18.03.99</date> ....
</description>
于 2019-04-22T16:23:11.403 回答
1

另一个很好的XSD 教程在这里。

基本上

xs:simpleType 定义一个值类型,然后可以在元素或属性中使用该值(因此您可以定义带 2 个小数位的双精度数或 IP 地址格式的字符串)。

xs:complexTypes 描述元素的结构。它可以定义它的文本值、它的属性和它的子元素。文本值和属性值由 xs:simpleType's 描述。

于 2018-08-16T10:27:36.390 回答
1

SimpleType只能在结束标记内具有值,如下所示:

<SimpleType>Antony</SimpleType>

然而

ComplexType可以有具有如下属性的子级:

<complexType name="xx">
    <complexContent>
        <extension base="xx">
            <sequence>
                <element name="xx" type="xx" minOccurs="1" maxOccurs="1" />
            </sequence>
        </extension>
    </complexContent>
</complexType>
于 2018-08-14T16:18:46.823 回答