我对 XML Schema 完全陌生,并且正在尝试了解基础知识。这是 ComplexType 的模型。我不明白,我如何阅读内容部分。Questions 是 ComplexType 可以包含的元素)。
<complexType
abstract = Boolean : false
block = (#all | List of (extension | restriction))
final = (#all | List of (extension | restriction))
id = ID
mixed = Boolean : false
name = NCName
{any attributes with non-schema Namespace...}>
Content: (annotation?, (simpleContent | complexContent | ((group | all |
choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))))
</complexType>
complexType 中的模型语法中的以下符号或运算符
? = ( one or no of this element)
* = ( several or no of this element)
no operator = ( does mean one of this element)
| = ( is this e OR ? )
我尝试了以下组合,有可能:
annotation, simpleContent
simpleContent
annotation, complexContent
complexContent
在以下组合中,我们是否可以放置而不是序列,也可以放置元素、组、全部、选择(并且我忽略了 anyAttribut 元素)
annotation,sequence,attributeA,attributeB,attributeGroupeA
sequence,attributeA,attributeB,attributeGroupeA
attributeA,attributeB,attributeGroupeA
attributeA
attributeGroupeA
正如我们所看到的,可以有这种组合,attributeA,attributeB,attributeGroupeA,这是我的概念中的重点,我在 Model the Syntax 中不理解。
((attribute | attributeGroup)*, anyAttribute?))
因为 | 符号应该不可能有以下组合
attributeA,attributeB,attributeGroupeA
我读错了什么?
(attribute | attributeGroup)*
这种语法对我来说确实意味着。我有以下组合的可能性
attributeA,attributeB
attribute
attributeGroupeA,attriubteGroupeB
attributeGroupeA