如果我们想要创建一个包含简单内容(因此是内置数据类型之一)和属性的元素,那么我们必须声明复杂类型并指定此复杂类型,而不是使用<simpleType>
元素。将包含简单的内容。我们使用<extension>
元素下的<simpleContent>
元素执行此操作。
a)这个新类(从<extension>
元素下的<simpleContent>
派生的基类型)是否以某种方式封装了基类型和属性的构建功能?
b)我们是否使用<complexType>
而不是<simpleType>
元素,因为派生类将是复杂类型,即使它包含简单内容?!
c)所有复杂类型是否都来自某个公共基类?
感谢名单
答案 0 :(得分:1)
请记住xml可以像消息一样处理,当我们可以将它序列化为对象时,对象主要包含属性。您似乎在询问有关对象行为的问题而不是消息行为。
a)复杂类型将包含扩展xsd的所有属性以及您添加的simpleContent节点的其他元素/属性。一旦序列化为一个对象,它将包含复杂和简单类型的所有属性。
b)simpleType只能包含属性或文本。它们不能包含其他xsd元素。这就是我们使用complexType的原因。要扩展具有更多元素的类型,必须使用complexType。
c)这听起来像“大多数O-O语言都有基础对象类吗?”在控制xsd时,您可以确定是否存在包含所有xsds所需的基本属性和元素的基本消息对象。
欲了解更多信息,请参阅: