使用简单的内容和属性创建元素

时间:2010-01-28 18:22:34

标签: xml xsd

如果我们想要创建一个包含简单内容(因此是内置数据类型之一)和属性的元素,那么我们必须声明复杂类型并指定此复杂类型,而不是使用<simpleType>元素。将包含简单的内容。我们使用<extension>元素下的<simpleContent>元素执行此操作。

a)这个新类(从<extension>元素下的<simpleContent>派生的基类型)是否以某种方式封装了基类型和属性的构建功能?

b)我们是否使用<complexType>而不是<simpleType>元素,因为派生类将是复杂类型,即使它包含简单内容?!

c)所有复杂类型是否都来自某个公共基类?

感谢名单

1 个答案:

答案 0 :(得分:1)

请记住xml可以像消息一样处理,当我们可以将它序列化为对象时,对象主要包含属性。您似乎在询问有关对象行为的问题而不是消息行为。

a)复杂类型将包含扩展xsd的所有属性以及您添加的simpleContent节点的其他元素/属性。一旦序列化为一个对象,它将包含复杂和简单类型的所有属性。

b)simpleType只能包含属性或文本。它们不能包含其他xsd元素。这就是我们使用complexType的原因。要扩展具有更多元素的类型,必须使用complexType。

c)这听起来像“大多数O-O语言都有基础对象类吗?”在控制xsd时,您可以确定是否存在包含所有xsds所需的基本属性和元素的基本消息对象。

欲了解更多信息,请参阅:

http://www.w3schools.com/schema/default.asp