XML simpletype,simplecontent,complextype,complexcontent

问题描述 投票:14回答:4

我对simpletypesimplecontentcomplextypecomplexcontent这类型有些困惑。

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

xml xsd
4个回答
29
投票

我知道这有点晚了但我希望this article帮助某人。

简而言之:

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

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


2
投票

什么是复杂元素?

复杂元素是包含其他元素和/或属性的XML元素。有四种复杂的元素:

  1. 空元素
  2. 仅包含其他元素的元素
  3. 仅包含文本的元素
  4. 包含其他元素和文本的元素

注意:这些元素中的每一个都可能包含属性!

复杂元素的例子

  1. 一个复杂的XML元素“product”,它是空的: <product pid="1345"/>
  2. 一个复杂的XML元素“employee”,它只包含其他元素: <employee>   <firstname>Deepam</firstname>   <lastname>Gupta</lastname> </employee>
  3. 一个复杂的XML元素“food”,它只包含文本: <food type="dessert">Chapati</food>
  4. 复杂的XML元素“description”,包含元素和文本: <description> It happened on <date lang="hindi">18.03.99</date> .... </description>

1
投票
Simple type can only have value with in the closing tag as follows
<SimpleType>Antony</SimpleType>

Where as complextype will have chulds with attributes as follows

<complexType name="xx">
      <complexContent>
         <extension base="xx">
            <sequence>
               <element name="xx" type="xx" minOccurs="1"
                  maxOccurs="1" />
            </sequence>
         </extension>
      </complexContent>

1
投票

另一个好XSD tutorial在这里。

基本上

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

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

© www.soinside.com 2019 - 2024. All rights reserved.