Я пытаюсь создать тип в схеме XML, чтобы обеспечить элемент с обоими:
В XML-документе элемент может выглядеть так:
<Operator Permutation = "true">
Equals
</Operator>
Где «Равно» будет одним из перечислений.
Это возможно? Если да, то как?
Я пробовал делать это в XMLSpy, но безуспешно. Если я сделаю простой тип, он разрешит только перечисления контента без атрибутов. Если я создаю сложный тип, он допускает только атрибуты без перечислений содержимого.
Редактировать: Спасибо, Дэвид. Это работает отлично, но я просто добавил это внутри ограничения, чтобы проверка игнорировала разрывы строк:
<xs:whiteSpace value = "collapse"/>




Как насчет
<xs:element name = "Operator" type = "MixedElement" />
<xs:complexType name = "MixedElement">
<xs:simpleContent>
<xs:extension base = "EnumType">
<xs:attribute name = "Permutation" type = "xs:boolean">
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name = "EnumType">
<xs:restriction base = "xs:string">
<xs:enumeration value = "Equals"/>
<xs:enumeration value = "NotEquals"/>
</xs:restriction>
</xs:simpleType>