我对类型simpletype
,simplecontent
,complextype
和complexcontent
感到困惑。
我几乎是 xsd 的新手。有人可以帮助清除给出具体例子的困惑。
答案 0 :(得分:29)
我知道它有点迟了但我希望this article帮助某人。
简而言之:
<complexType>
和<simpleType>
都定义了类型。复杂类型可以包含元素后代和属性,而简单类型可以包含。
复杂类型可以包含简单或复杂的内容。 <complexContent>
的类型可以包含子元素,而<simpleContent>
的类型只能包含字符。
答案 1 :(得分:2)
什么是复杂元素?
复杂元素是包含其他元素和/或属性的XML元素。 复杂元素有四种:
注意:每个元素也可能包含属性!
复杂元素示例
一个复杂的XML元素“ product”,为空:
<product pid="1345"/>
一个复杂的XML元素“员工”,仅包含其他元素:
<employee>
<firstname>Deepam</firstname>
<lastname>Gupta</lastname>
</employee>
一个复杂的XML元素“食物”,仅包含文本:
<food type="dessert">Chapati</food>
一个复杂的XML元素“描述”,其中包含元素和文本:
<description>
It happened on <date lang="hindi">18.03.99</date> ....
</description>
答案 2 :(得分: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>
答案 3 :(得分:1)
这里还有另一种XSD tutorial。
基本上
xs:simpleType定义一个值类型,然后可以在元素或属性中使用此值(因此您可以定义一个带2个小数位的双精度数或一个IP地址格式的字符串)。
xs:complexTypes描述元素的结构。它可以定义其文本值,其属性和其子元素。文本值和属性值由xs:simpleType描述。