我有一个XML模式,其中包含类似下面的行。
这些测试线是什么意思?
他们以某种方式描述文件吗?
...
<xs:element name="Document"
type="BaseDocument">
<xs:alternative test="(@doc_face eq 'init')
and
(@doc_op eq 'included')"
type="SystemInit"/>
<xs:alternative test="(@doc_face eq 'Z')"
type="Zreport"/>
</xs:element>
...
答案 0 :(得分:1)
元素声明可以使用类型替代来指定条件({test}),在该条件下,特定类型({类型定义})用作管理类型定义·用于由该元素声明管理的元素信息项
答案 1 :(得分:1)
他们(正如Alexander Petrov已经指出的那样)在XSD 1.1架构中的类型替代品。 test
属性按顺序进行评估:
Document
元素具有doc_face
和doc_op
属性,其值为&#39; init&#39;分别包含&#39;,然后第一个测试评估为true,Document
元素的管理类型是默认名称空间中名为SystemInit
的类型(或没有名称空间值) ,如果没有)。 Document
元素的doc_face
属性值为&#39; Z&#39;,则Document
元素的管理类型为ZReport
类型{1}}在默认命名空间中(或者没有命名空间值,如果没有)。 BaseDocument
(或无))将成为Document
元素的管理类型