Давайте посмотрим на мой тест .xsd:начальный XML Schema: элемент с атрибутом + Тип
<!-- lot of stuff... -->
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="target:child"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="child">
<xsd:complexType>
<xsd:attribute name="childAttribute" type="myType"/>
</xsd:complexType>
</xsd:element>
<!-- lot of stuff... -->
Ну вот все в порядке. Есть только одна проблема: мой «дочерний» элемент не получил тип! Я не знаю, как дать элементу тип. Я попытался с:
<xsd:element name="child" type="xsd:myType2">
<xsd:complexType>
<xsd:attribute name="childAttribute" type="myType"/>
</xsd:complexType>
</xsd:element>
или
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="target:child" type="xsd:myType2"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Но это не будет работать. Всегда есть сообщение об ошибке: «Элемент« дочерний »не может иметь как атрибут типа, так и тип простого типа/complexType child [xml]]]«
Как исправить эту проблему? Я имею в виду без типа валидатор не позволит XML-как это:
Hello World
просто пустой ребенок может с одним атрибутом
Somebody любая идея? Спасибо!