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