Я пытаюсь сделать отображение, и мне нужно использовать:
- Config.xxx.yyy.KeyPair [z] .normalAttribute
- Config.xxx.yyy.KeyPair[z] @ exteAttribute
KeyPair можно использовать от 0 до x раз
- Дополнительные атрибуты: KeyId, KeyType, ValidTo, Active
- Обычные атрибуты: PrivateKey, PublicKey
Но выдается ошибка, когда я пытаюсь загрузить xsd файл в C #:
System.Xml.Schema.XmlSchemaException: The type attribute cannot be present with either simpleType or complexType.
Здесь показана сокращенная версия какя сделал это, но это совсем не работает:
<xs:element name="Config">
<xs:complexType>
<xs:all>
<xs:element name="xxx">
<xs:complexType>
<xs:all>
<xs:element name="EncryptionKeys" type="yyy"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="yyy">
<xs:complexType>
<xs:sequence>
<xs:element name="KeyPair" type="KeyPairExtraTypes" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attributeGroup ref="KeyPairAttributes"/>
<xs:attributeGroup ref="KeyPairExtraTypes"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="KeyPairAttributes">
<xs:attribute name="PrivateKey" type="xs:string"/>
<xs:attribute name="PublicKey" type="xs:string"/>
</xs:attributeGroup>
<xs:complexType name="KeyPairExtraTypes">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="KeyId"/>
<xs:attribute type="xs:string" name="KeyType" use="required"/>
<xs:attribute type="xs:string" name="ValidTo" use="optional"/>
<xs:attribute type="xs:bool" name="Active" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>