尝试
<xs:element name="option" type="AttrElement" />
<xs:complexType name="AttrElement">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="value" type="xs:string">
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
...或内联等效项:
<xs:element name="option">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="value" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
complexType
中定义 simpleContent
真的很不直观。但话又说回来,它是 XSD,似乎没有什么是真正直观的。还是谢谢! :-)
我知道它不一样,但它对我有用:
<xsd:element name="option">
<xsd:complexType mixed="true">
<xsd:attribute name="value" use="optional" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
tns
绑定到架构文档的目标命名空间,您将使用type="tns:AttrElement"
来引用类型。)type="tns:AtrElement"
。通常在这种情况下定义和使用tns
。