私は XML スキーマにまったく慣れていないので、基本を理解しようとしています。これがComplexTypeのモデルです。コンテンツ部分の読み方がわかりません。質問は、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 を持つことが可能であることがわかります。これが、モデルの構文で理解できない私の概念のポイントです。
((attribute | attributeGroup)*, anyAttribute?))
|のせいで 以下の組み合わせはあってはならない記号
attributeA,attributeB,attributeGroupeA
私は何を間違って読んでいますか?
(attribute | attributeGroup)*
この構文は私にとって意味があります。私は次の組み合わせの可能性を持っています
attributeA,attributeB
attribute
attributeGroupeA,attriubteGroupeB
attributeGroupeA