Xsd 这两种模式是等价的吗?

Xsd 这两种模式是等价的吗?,xsd,xml-validation,xsd-validation,Xsd,Xml Validation,Xsd Validation,一, 二, 上述两种模式是否等效 请帮忙不!他们不一样 在第一个模式中:元素下可以有0个或多个具有/任何名称的元素,这是因为您在元素元组的定义下添加了带有minOccurs=“0”和maxOccurs=“Unbounded”的标记 另外,由于您已在下指定了processContents=“skip”,因此它不会对其子元素产生任何影响 例如: <xsd:element name="tuple"/> 这意味着它允许元组下的任何元素和属性。示例XML如下所示: <xsd:

一,


二,


上述两种模式是否等效

请帮忙

不!他们不一样

在第一个模式中:元素
下可以有0个或多个具有/任何名称的元素,这是因为您在
元素
元组
的定义下添加了
带有
minOccurs=“0”
maxOccurs=“Unbounded”
的标记
另外,由于您已在
下指定了
processContents=“skip”
,因此它不会对其子元素产生任何影响

例如:

<xsd:element name="tuple"/>
这意味着它允许元组下的任何元素和属性。示例XML如下所示:

<xsd:element name="tuple" type="xs:anyType"/>

数据
您可以看到,与第一个示例XML不同,它在
下也有属性

两个示例XSD代码之间的另一个重要区别是: 在第1段代码中,您将processContents指定为“跳过”:因为XML处理器不会尝试验证指定名称空间中的任何元素

在第二段代码中,对于anyType,processContents将是“lax”:因此XML处理器尝试获取所需名称空间的模式并验证元素


希望有帮助。

通常你的答案应该被否决;我希望你能纠正它。虽然第一行是正确的,但解释在许多层面上都是错误的<代码>元组
在2中。是指它可以有任何属性,任何元素,是混合的,处理内容是松散的;在1。元组支持只包含元素内容,不包含属性,不混合,并且processingContents是skip。@PetruGardea,谢谢验证我的答案。我承认,我在定义案例二时犯了错误。由于某些原因,在Vis Studio中,XSD验证的行为有所不同。。它不会将“无类型”视为“任何类型”。。实际上,我在发布解决方案之前验证了一次,但也应该与在线验证器进行检查。谢谢,我知道任何类型,但到目前为止我一直对
没有类型有错误的印象。我已经用processContents信息更新了答案。
<tuple>
  <foo>data</foo>
  <bar foobarattribute="foobardata">data</bar>
</tuple>
<xsd:element name="tuple" type="xs:anyType"/>
<tuple foo="bar">
   <foobar attrb="value">data</foobar>
</tuple>